2023-09-08 09:56:36 +08:00
|
|
|
|
/*
|
|
|
|
|
活动名称:幸运抽奖(超级无线)
|
|
|
|
|
活动链接:https://lzkj-isv.isvjcloud.com/prod/cc/interactsaas/index?activityType=<10020/10021/10026/10041/10042/10046/10062/10063/10073/10080>&templateId=<模板id>&activityId=<活动id>&nodeId=<nodeid>&prd=cjwx
|
|
|
|
|
环境变量:jd_lzkj_loreal_draw_url // 活动链接
|
|
|
|
|
jd_lzkj_loreal_draw_Notify // 是否推送通知(true/false),默认不推送
|
|
|
|
|
jd_lzkj_loreal_draw_opencard // 是否入会(true/false),默认不入会
|
|
|
|
|
jd_lzkj_loreal_draw_break // 493后继续执行,默认退出运行(true/false)
|
|
|
|
|
jd_lzkj_loreal_draw_Interval // 自定义抽奖间隔(正整数),默认1秒
|
|
|
|
|
jd_lzkj_loreal_draw_Number // 连续无次数跳出,默认 7 次,火爆账号请设置黑名单,否则也会占用次数
|
|
|
|
|
jd_lzkj_loreal_draw_MaxMiss // 最大连续未抽中次数(正整数),达到此次数后会跳过运行对应账号,默认不启用此功能
|
|
|
|
|
|
|
|
|
|
注释:
|
2023-07-28 21:29:02 +08:00
|
|
|
|
请使用本地IP环境 请使用本地IP环境 请使用本地IP环境
|
2023-09-08 09:56:36 +08:00
|
|
|
|
需要链接中的三个必要参数才能正常访问活动页,运行脚本至少需要提供 activityId 参数
|
|
|
|
|
只有在没有抽奖次数的前提下才会做任务,做任务静默运行没有打印日志
|
2023-07-27 16:14:01 +08:00
|
|
|
|
|
|
|
|
|
cron:1 1 1 1 *
|
|
|
|
|
============Quantumultx===============
|
|
|
|
|
[task_local]
|
2023-09-08 09:56:36 +08:00
|
|
|
|
#幸运抽奖(超级无线)
|
|
|
|
|
1 1 1 1 * jd_lzkj_loreal_draw.js, tag=幸运抽奖(超级无线), enabled=true
|
2023-07-28 23:36:10 +08:00
|
|
|
|
|
2023-09-08 09:56:36 +08:00
|
|
|
|
*/
|
|
|
|
|
const $ = new Env('幸运抽奖(超级无线)');
|
2023-09-09 19:27:10 +08:00
|
|
|
|
var version_='jsjiami.com.v7';const IlIIllil=I11lili1;(function(Iii,l1lIlII1,IlliI1I1,iIiiii1I,iIlI1lli,l1lIlli1,iIi1IIii){return Iii=Iii>>0x6,l1lIlli1='hs',iIi1IIii='hs',function(liIiiil1,iiIllIil,i11illIl,l1lil,iilillI){const ilill11l=I11lili1;l1lil='tfi',l1lIlli1=l1lil+l1lIlli1,iilillI='up',iIi1IIii+=iilillI,l1lIlli1=i11illIl(l1lIlli1),iIi1IIii=i11illIl(iIi1IIii),i11illIl=0x0;const lI1i1lIi=liIiiil1();while(!![]&&--iIiiii1I+iiIllIil){try{l1lil=parseInt(ilill11l(0x4af,'*X#$'))/0x1+parseInt(ilill11l(0x196,'f1cA'))/0x2+parseInt(ilill11l(0x13c,'QprG'))/0x3*(-parseInt(ilill11l(0x168,'pPhH'))/0x4)+-parseInt(ilill11l(0x139,'zY*Y'))/0x5+-parseInt(ilill11l(0x4de,'32Hg'))/0x6+-parseInt(ilill11l(0x1de,'[jDK'))/0x7+-parseInt(ilill11l(0x42d,'FP4b'))/0x8*(-parseInt(ilill11l(0x174,'r&5Q'))/0x9);}catch(l1lIiiIi){l1lil=i11illIl;}finally{iilillI=lI1i1lIi[l1lIlli1]();if(Iii<=iIiiii1I)i11illIl?iIlI1lli?l1lil=iilillI:iIlI1lli=iilillI:i11illIl=iilillI;else{if(i11illIl==iIlI1lli['replace'](/[KhOUNnXMlLAESHuQqPWVt=]/g,'')){if(l1lil===iiIllIil){lI1i1lIi['un'+l1lIlli1](iilillI);break;}lI1i1lIi[iIi1IIii](iilillI);}}}}}(IlliI1I1,l1lIlII1,function(IIiiIiiI,llIiili,I1llIi1I,IlIlI1,ii11Il1l,lIIllI,li11i1I){return llIiili='\x73\x70\x6c\x69\x74',IIiiIiiI=arguments[0x0],IIiiIiiI=IIiiIiiI[llIiili](''),I1llIi1I=`\x72\x65\x76\x65\x72\x73\x65`,IIiiIiiI=IIiiIiiI[I1llIi1I]('\x76'),IlIlI1=`\x6a\x6f\x69\x6e`,(0x13d669,IIiiIiiI[IlIlI1](''));});}(0x3200,0xde5c8,lIilii11,0xca),lIilii11)&&(version_=lIilii11);const i11I1iI1=$[IlIIllil(0x2d4,'vuuN')]()?require('./jdCookie'):'',ll1iiIil=require('./function/jdCommon'),l1I1liIl=require(IlIIllil(0x261,']Cz0')),liI1li11=require(IlIIllil(0x47b,'Huu*')),l11l1l11=require(IlIIllil(0x21c,'(upJ')),{loreal_savePrize:iiIilI1}=require('./function/krsavePrize'),lIi1ll1l=require(IlIIllil(0x4f3,'s0fy'));function I11lili1(_0xdc685e,_0x5d77e3){const _0x3a39e2=lIilii11();return I11lili1=function(_0x285d3e,_0x3ebac2){_0x285d3e=_0x285d3e-0x8c;let _0x1def11=_0x3a39e2[_0x285d3e];if(I11lili1['tBoZXi']===undefined){var _0x555233=function(_0x40cada){const _0x6bb5a9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5db888='',_0x31b8d0='';for(let _0x5d41f1=0x0,_0x3e6db6,_0x22c962,_0x580e13=0x0;_0x22c962=_0x40cada['charAt'](_0x580e13++);~_0x22c962&&(_0x3e6db6=_0x5d41f1%0x4?_0x3e6db6*0x40+_0x22c962:_0x22c962,_0x5d41f1++%0x4)?_0x5db888+=String['fromCharCode'](0xff&_0x3e6db6>>(-0x2*_0x5d41f1&0x6)):0x0){_0x22c962=_0x6bb5a9['indexOf'](_0x22c962);}for(let _0x18e9a2=0x0,_0xf492f9=_0x5db888['length'];_0x18e9a2<_0xf492f9;_0x18e9a2++){_0x31b8d0+='%'+('00'+_0x5db888['charCodeAt'](_0x18e9a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31b8d0);};const _0x4445f2=function(_0xefd118,_0x820815){let _0x1a19c0=[],_0x1b4054=0x0,_0x14f0ee,_0x20af52='';_0xefd118=_0x555233(_0xefd118);let _0x9d8e86;for(_0x9d8e86=0x0;_0x9d8e86<0x100;_0x9d8e86++){_0x1a19c0[_0x9d8e86]=_0x9d8e86;}for(_0x9d8e86=0x0;_0x9d8e86<0x100;_0x9d8e86++){_0x1b4054=(_0x1b4054+_0x1a19c0[_0x9d8e86]+_0x820815['charCodeAt'](_0x9d8e86%_0x820815['length']))%0x100,_0x14f0ee=_0x1a19c0[_0x9d8e86],_0x1a19c0[_0x9d8e86]=_0x1a19c0[_0x1b4054],_0x1a19c0[_0x1b4054]=_0x14f0ee;}_0x9d8e86=0x0,_0x1b4054=0x0;for(let _0x18153d=0x0;_0x18153d<_0xefd118['length'];_0x18153d++){_0x9d8e86=(_0x9d8e86+0x1)%0x100,_0x1b4054=(_0x1b4054+_0x1a19c0[_0x9d8e86])%0x100,_0x14f0ee=_0x1a19c0[_0x9d8e86],_0x1a19c0[_0x9d8e86]=_0x1a19c0[_0x1b4054],_0x1a19c0[_0x1b4054]=_0x14f0ee,_0x20af52+=String['fromCharCode'](_0xefd118['charCodeAt'](_0x18153d)^_0x1a19c0[(_0x1a19c0[_0x9d8e86]+_0x1a19c0[_0x1b4054])%0x100]);}return _0x20af52;};I11lili1['Uszqxu']=_0x4445f2,_0xdc685e=arguments,I11lili1['tBoZXi']=!![];}const _0x31608a=_0x3a39e2[0x0],_0xa347bc=_0x285d3e+_0x31608a,_0x5c5072=_0xdc685e[_0xa347bc];return!_0x5c5072?(I11lili1['tVYtqA']===undefined&&(I11lili1['tVYtqA']=!![]),_0x1def11=I11lili1['Uszqxu'](_0x1def11,_0x3ebac2),_0xdc685e[_0xa347bc]=_0x1def11):_0x1def11=_0x5c5072,_0x1def11;},I11lili1(_0xdc685e,_0x5d77e3);}let Iill11l1=[];const l11I1llI=process['env'][IlIIllil(0x338,'75(o')]||'',iIiI1lI=process[IlIIlli
|
2023-07-27 16:14:01 +08:00
|
|
|
|
// prettier-ignore
|
2023-09-08 09:56:36 +08:00
|
|
|
|
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.d
|