From f0e51c2dd82af27a94b4b56db4ef2c15bd7e03f7 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 12 Nov 2020 12:15:52 +0800 Subject: [PATCH 0001/1259] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E7=9F=AD=E6=9C=9F=E4=BB=BB=E5=8A=A1=EF=BC=8C=E5=90=A6?= =?UTF-8?q?=E5=88=99docker=E9=BB=98=E8=AE=A4=E7=9A=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BC=9A=E4=B8=80=E7=9B=B4=E8=BF=90=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index a76cd488..3b2a449c 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -6,13 +6,7 @@ ##############短期活动############## - -# 手机狂欢城 -0 0-18/6,9 * * * node /scripts/jd_818.js >> /scripts/logs/jd_818.log 2>&1 -# 星推官 -#0,10 0 * * * node /scripts/jd_xtg.js >> /scripts/logs/jd_xtg.log 2>&1 -# 京东全民营业领金币 -0 */1 * * * node /scripts/jd_collectProduceScore.js >> /scripts/logs/jd_collectProduceScore.log 2>&1 +# 暂无 ##############长期活动############## From 51df830cc92a8e4c15df3a6a741bbd931b561460 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 12 Nov 2020 16:04:37 +0800 Subject: [PATCH 0002/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=A0=E6=B1=AA?= =?UTF-8?q?=E6=B1=AA=E8=8E=B7=E5=8F=96token=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_run.js | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 821e3d96..9f3f4255 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -9,27 +9,30 @@ 1、微信搜索'来客有礼'小程序,登陆京东账号,点击底部的'我的'或者'发现'两处地方,即可获取Token,脚本运行提示token失效后,继续按此方法获取即可 2、或者每天去'来客有礼'小程序->宠汪汪里面,领狗粮->签到领京豆 也可获取Token(此方法每天只能获取一次) 脚本里面有内置提供的friendPin,如果你没有修改脚本或者BoxJs处填写自己的互助码,会默认给脚本内置的助力。 - [MITM] - hostname = draw.jdfcloud.com - surge - [Script] - 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js - 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=\w+&, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js - 宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=\w+&, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js - 圈X - [task_local] - # 宠汪汪邀请助力与赛跑助力 - 15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true - [rewrite_local] - # 宠汪汪助力更新Token - ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=\w+& url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js - # 宠汪汪助力获取Token - ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=\w+& url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js - LOON: - [Script] - cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 - http-response ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token - http-request ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +[MITM] +hostname = draw.jdfcloud.com + +Surge +[Script] +宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js + +圈X +[task_local] +# 宠汪汪邀请助力与赛跑助力 +15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +[rewrite_local] +# 宠汪汪助力更新Token +^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +# 宠汪汪助力获取Token +^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js + +*****Loon**** +[Script] +cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 +http-response ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token +http-request ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token **/ const isRequest = typeof $request != "undefined" const $ = new Env('来客有礼宠汪汪'); @@ -101,7 +104,7 @@ if ($.isNode()) { function getToken() { const url = $request.url; $.log(`${$.name}url\n${url}\n`) - if (isURL(url, /^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=\w+&/)) { + if (isURL(url, /^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=/)) { const body = JSON.parse($response.body); const LKYLToken = body.data.token; $.log(`${$.name} token\n${LKYLToken}\n`) @@ -112,7 +115,7 @@ function getToken() { } $.setdata(LKYLToken, 'jdJoyRunToken'); $.done({ body: JSON.stringify(body) }) - } else if (isURL(url, /^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=\w+&/)){ + } else if (isURL(url, /^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=/)){ if ($request && $request.method !== 'OPTIONS') { const LKYLToken = $request.headers['LKYLToken']; //if ($.getdata('jdJoyRunToken')) { From b371e577696a15f79d96f152b53970853885a6cf Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 13 Nov 2020 01:19:27 +0800 Subject: [PATCH 0003/1259] Update jd_joy_run.js --- jd_joy_run.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 9f3f4255..afb2df76 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -15,8 +15,8 @@ hostname = draw.jdfcloud.com Surge [Script] 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js -宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js -宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js 圈X [task_local] @@ -24,15 +24,15 @@ Surge 15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true [rewrite_local] # 宠汪汪助力更新Token -^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js # 宠汪汪助力获取Token -^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js *****Loon**** [Script] cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 -http-response ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token -http-request ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +http-response ^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token +http-request ^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token **/ const isRequest = typeof $request != "undefined" const $ = new Env('来客有礼宠汪汪'); @@ -104,7 +104,7 @@ if ($.isNode()) { function getToken() { const url = $request.url; $.log(`${$.name}url\n${url}\n`) - if (isURL(url, /^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=/)) { + if (isURL(url, /^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=/)) { const body = JSON.parse($response.body); const LKYLToken = body.data.token; $.log(`${$.name} token\n${LKYLToken}\n`) @@ -115,7 +115,7 @@ function getToken() { } $.setdata(LKYLToken, 'jdJoyRunToken'); $.done({ body: JSON.stringify(body) }) - } else if (isURL(url, /^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=/)){ + } else if (isURL(url, /^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=/)){ if ($request && $request.method !== 'OPTIONS') { const LKYLToken = $request.headers['LKYLToken']; //if ($.getdata('jdJoyRunToken')) { From a5edcce4df5c216de249c9e6fd39f0a56146462e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 13 Nov 2020 08:52:08 +0800 Subject: [PATCH 0004/1259] Update jd_petTreasureBox.js --- jd_petTreasureBox.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_petTreasureBox.js b/jd_petTreasureBox.js index 89911b86..3d089103 100644 --- a/jd_petTreasureBox.js +++ b/jd_petTreasureBox.js @@ -10,15 +10,15 @@ hostname = jdjoy.jd.com,draw.jdfcloud.com surge [Script] -聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js +聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js Qx [rewrite_local] -^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js +^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js LOON: [Script] -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 **/ let body = $response.body From 85b8ab45d8d8b32ae1e82a56888d1a548304d75e Mon Sep 17 00:00:00 2001 From: Akira-Work Date: Fri, 13 Nov 2020 11:29:50 +0800 Subject: [PATCH 0005/1259] =?UTF-8?q?=E9=95=9C=E5=83=8F=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=B8=80=E4=B8=AAmoreutils=E5=8C=85=E8=B0=83=E6=95=B4=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=BE=93=E5=87=BA=E6=A0=BC=E5=BC=8F=20-=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=80=E4=B8=AAcrontab=5Flist=5Fts.sh=E6=98=AF?= =?UTF-8?q?=E4=B8=BA=E4=BA=86=E7=85=A7=E9=A1=BE=E6=9C=AA=E5=8F=8A=E6=97=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=95=9C=E5=83=8F=E7=9A=84=E5=B0=8F=E4=BC=99?= =?UTF-8?q?=E4=BC=B4=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E4=B8=8D=E5=87=BA?= =?UTF-8?q?=E9=94=99=20-=20=E5=88=A0=E9=99=A4=E4=B8=89=E4=B8=AAPNG?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E6=94=B9=E4=B8=BAGITHUB=E5=9B=BE=E5=BA=8A?= =?UTF-8?q?=EF=BC=8C=E8=AE=A9=E7=9B=AE=E5=BD=95=E7=9C=8B=E8=B5=B7=E6=9D=A5?= =?UTF-8?q?=E6=B2=A1=E9=82=A3=E4=B9=88=E4=B9=B1=20-=20=E8=B0=83=E6=95=B4RE?= =?UTF-8?q?ADME=E8=B0=83=E6=95=B4docker-compose.yml=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E4=BD=BF=E7=94=A8=E4=BB=93=E5=BA=93=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E5=9C=A8=E4=BC=A0CRONTAB=5FLIST=5FF?= =?UTF-8?q?ILE=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Dockerfile | 8 ++--- docker/Readme.md | 63 ++++++++++++++++++++++---------------- docker/crontab_list_ts.sh | 55 +++++++++++++++++++++++++++++++++ docker/dir.png | Bin 49677 -> 0 bytes docker/docker-compose.yml | 4 +-- docker/import.png | Bin 119559 -> 0 bytes docker/info.png | Bin 205953 -> 0 bytes 7 files changed, 98 insertions(+), 32 deletions(-) create mode 100644 docker/crontab_list_ts.sh delete mode 100644 docker/dir.png delete mode 100644 docker/import.png delete mode 100644 docker/info.png diff --git a/docker/Dockerfile b/docker/Dockerfile index b0221f47..47d99203 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -3,7 +3,7 @@ MAINTAINER Akira RUN set -ex \ && apk update && apk upgrade\ - && apk add --no-cache tzdata git nodejs npm\ + && apk add --no-cache tzdata moreutils git nodejs npm\ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone @@ -14,10 +14,10 @@ RUN git clone https://github.com/lxk0301/jd_scripts /scripts \ && cd ~ \ && npm install request -ENV CDN_JD_DAILYBONUS true +ENV CRONTAB_LIST_FILE crontab_list_ts.sh -RUN crontab /scripts/docker/crontab_list.sh +RUN crontab /scripts/docker/crontab_list_ts.sh WORKDIR /scripts -CMD ["node"] +CMD ["node"] \ No newline at end of file diff --git a/docker/Readme.md b/docker/Readme.md index 7a8bf85f..0e4681f8 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -22,55 +22,63 @@ jd_scripts - `jd_scripts/docker-compose.yml` 参考内容如下: - `jd_scripts/docker-compose.yml`里面的环境变量(`environment:`)配置[参考这里](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) ```yaml +jd_scripts: jd_scripts: image: akyakya/jd_scripts container_name: jd_scripts restart: always - #如果需要自定定义定时任务的需要自己写好`my_crontab_list.sh`文件 ,取消下面的注释 ,通过 `volumes`挂载进去。 + #如果需要自定定义定时任务的需要自己写好`my_crontab_list.sh`文件 ,取消下面的挂载注释 ,通过 `volumes`挂载进去。 volumes: + # - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh - ./logs:/scripts/logs - # - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh tty: true environment: - # 注意环境变量填写值的时候一律不需要引号(")下面这些只是事例,根据自己的需求增加删除 + # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 #jd cookies - - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; + # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX + - JD_COOKIE= #微信server酱通 - - PUSH_KEY="" + - PUSH_KEY= #Bark App通知 - - BARK_PUSH="" + - BARK_PUSH= #telegram机器人通知 - - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - - TG_USER_ID=12xxxx206 + - TG_BOT_TOKEN= + - TG_USER_ID= #钉钉机器人通知 - - DD_BOT_TOKEN="" - - DD_BOT_SECRET="" + - DD_BOT_TOKEN= + - DD_BOT_SECRET= #京东种豆得豆 - - PLANT_BEAN_SHARECODES="" + - PLANT_BEAN_SHARECODES= #京东农场 - - FRUITSHARECODES="" + # 例: FRUITSHARECODES=京东农场的互助码 + - FRUITSHARECODES= #京东萌宠 - - PETSHARECODES="" - - JOY_FEED_COUNT="" + # 例: PETSHARECODES=东东萌宠的互助码 + - PETSHARECODES= + # 宠汪汪的喂食数量 + - JOY_FEED_COUNT= #京小超 - - SUPERMARKET_SHARECODES="" - #兑换多少数量的京豆(1-20之间,或者1000),0默认兑换不兑换,如需兑换把0改成1-20之间的数字或者1000即可 - - MARKET_COIN_TO_BEANS="" + # - SUPERMARKET_SHARECODES= + #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) + # 例: MARKET_COIN_TO_BEANS=1000 + - MARKET_COIN_TO_BEANS= #是否开启debug模式打印日志 - - JD_DEBUG="" - #该字段必须配置是否使用了自定义定时任务列表,使用了需要把这个名字改成my_crontab_list.sh - - CRONTAB_LIST_FILE=crontab_list.sh + # 例: JD_DEBUG=false + - JD_DEBUG= + #如果使用自定义定时任务,取消下面一行的注释 + #- CRONTAB_LIST_FILE=my_crontab_list.sh command: - /bin/sh - -c - | - #crontab /scripts/docker/my_crontab_list.sh #如果挂载了自定义任务文件 需要在 crond 的上面加行 + #crontab /scripts/docker/my_crontab_list.sh #如果挂载了自定义任务文件,取消此条注释即可 crond + git -C /scripts/ pull node ``` -- `jd_scripts/my_crontab_list.sh` 参考内容如下: +- `jd_scripts/my_crontab_list.sh` 参考内容如下(输出日志的最后加上 `|ts` 可在日志每一行前面显示时间): ```shell -0 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1 +0 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1|ts 2 0 * * * node /scripts/jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 2 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1 2 0 * * * node /scripts/jd_club_lottery.js >> /scripts/logs/jd_club_lottery.log 2>&1 @@ -98,6 +106,9 @@ jd_scripts: - 如果是群晖用户,在docker注册表搜jd_scripts,双击下载映像。 不需要docker-compose.yml,只需建个logs/目录,调整`jd_scripts.syno.json`里面对应的配置值,然后导入json配置新建容器。 若要自定义my_crontab_list.sh,再建个my_crontab_list.sh文件,配置参考`jd_scripts.my_crontab_list.syno.json`。 -![image](./info.png) -![image](./dir.png) -![image](./import.png) +![image](https://user-images.githubusercontent.com/6993269/99024743-32ac1480-25a2-11eb-8c0f-3cb3be90d54c.png) + +![image](https://user-images.githubusercontent.com/6993269/99024803-4ce5f280-25a2-11eb-9693-60e8910c182c.png) + +![image](https://user-images.githubusercontent.com/6993269/99024832-6424e000-25a2-11eb-8e31-287771f42ad2.png) + diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh new file mode 100644 index 00000000..1d0f2109 --- /dev/null +++ b/docker/crontab_list_ts.sh @@ -0,0 +1,55 @@ +0 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1|ts +2 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} +3 */1 * * * npm install --prefix /scripts >> /scripts/logs/npm_install.log 2>&1|ts +# 每3天的23:50分清理一次日志 +50 23 */3 * * rm -rf /scripts/logs/*.log + + +##############短期活动############## +# 暂无 + + +##############长期活动############## + +# 签到 +0 0,12,18 * * * node /scripts/jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1|ts +# 京小超兑换奖品 +0 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1|ts +# 摇京豆 +0 0 * * * node /scripts/jd_club_lottery.js >> /scripts/logs/jd_club_lottery.log 2>&1|ts +# 东东农场 +5 6-18/6 * * * node /scripts/jd_fruit.js >> /scripts/logs/jd_fruit.log 2>&1|ts +# 宠汪汪 +15 */2 * * * node /scripts/jd_joy.js >> /scripts/logs/jd_joy.log 2>&1|ts +# 宠汪汪喂食 +15 */1 * * * node /scripts/jd_joy_feedPets.js >> /scripts/logs/jd_joy_feedPets.log 2>&1|ts +# 宠汪汪积分兑换奖品 +0 0-16/8 * * * node /scripts/jd_joy_reward.js >> /scripts/logs/jd_joy_reward.log 2>&1|ts +# 宠汪汪偷好友积分与狗粮 +0 0,6 * * * node /scripts/jd_joy_steal.js >> /scripts/logs/jd_joy_steal.log 2>&1|ts +# 摇钱树 +0 */2 * * * node /scripts/jd_moneyTree.js >> /scripts/logs/jd_moneyTree.log 2>&1|ts +# 东东萌宠 +5 6-18/6 * * * node /scripts/jd_pet.js >> /scripts/logs/jd_pet.log 2>&1|ts +# 京东种豆得豆 +0 7-22/1 * * * node /scripts/jd_plantBean.js >> /scripts/logs/jd_plantBean.log 2>&1|ts +# 京东全民开红包 +1 1 * * * node /scripts/jd_redPacket.js >> /scripts/logs/jd_redPacket.log 2>&1|ts +# 进店领豆 +10 0 * * * node /scripts/jd_shop.js >> /scripts/logs/jd_shop.log 2>&1|ts +# 京东天天加速 +8 */3 * * * node /scripts/jd_speed.js >> /scripts/logs/jd_speed.log 2>&1|ts +# 东东超市 +11 1-23/5 * * * node /scripts/jd_superMarket.js >> /scripts/logs/jd_superMarket.log 2>&1|ts +# 取关京东店铺商品 +55 23 * * * node /scripts/jd_unsubscribe.js >> /scripts/logs/jd_unsubscribe.log 2>&1|ts +# 京豆变动通知 +0 2 * * * node /scripts/jd_bean_change.js >> /scripts/logs/jd_bean_change.log 2>&1|ts +# 京东抽奖机 +11 1 * * * node /scripts/jd_lotteryMachine.js >> /scripts/logs/jd_lotteryMachine.log 2>&1|ts +# 京东排行榜 +11 9 * * * node /scripts/jd_rankingList.js >> /scripts/logs/jd_rankingList.log 2>&1|ts +# 天天提鹅 +18 */3 * * * node /scripts/jd_daily_egg.js >> /scripts/logs/jd_daily_egg.log 2>&1|ts +# 金融养猪 +12 13 * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1|ts diff --git a/docker/dir.png b/docker/dir.png deleted file mode 100644 index 91b973eb1f0f02a00fccf7546e7099f27aad0db2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49677 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%0AvPKwtCAQnf`M9 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 DHys8e diff --git a/docker/info.png b/docker/info.png deleted file mode 100644 index ace2bd88efe946b680f04ee5e4ced52ae1fa6cbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205953 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 z 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%0AejeMPqjgT>tcwnM=&I;g{4al?uuuCfA~Um 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 g|Ko@{tN8}+dC0@AE8|~cx3E7oWlg0b1 From ac241e6ee62143b9b197fd3bf671ee3b0565ae5a Mon Sep 17 00:00:00 2001 From: Akira-Work Date: Fri, 13 Nov 2020 13:24:17 +0800 Subject: [PATCH 0006/1259] =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=85=8D=E7=BD=AE=20|ts=20=20=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E5=86=99=E9=94=99=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Readme.md | 7 ++++-- docker/crontab_list_ts.sh | 46 +++++++++++++++++++-------------------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/docker/Readme.md b/docker/Readme.md index 0e4681f8..8e7c7094 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -76,9 +76,10 @@ jd_scripts: git -C /scripts/ pull node ``` -- `jd_scripts/my_crontab_list.sh` 参考内容如下(输出日志的最后加上 `|ts` 可在日志每一行前面显示时间): +- `jd_scripts/my_crontab_list.sh` 参考内容如下: + ```shell -0 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1|ts +0 */1 * * * git -C /scripts/ pull |ts >> /scripts/logs/pull.log 2>&1 2 0 * * * node /scripts/jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 2 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1 2 0 * * * node /scripts/jd_club_lottery.js >> /scripts/logs/jd_club_lottery.log 2>&1 @@ -95,6 +96,8 @@ jd_scripts: 15 * * * * node /scripts/jd_superMarket.js >> /scripts/logs/jd_superMarket.log 2>&1 55 23 * * * node /scripts/jd_unsubscribe.js >> /scripts/logs/jd_unsubscribe.log 2>&1 ``` +> 定时任务命之后,也就是 `>>` 符号之前加上 `|ts` 可在日志每一行前面显示时间,如下图: +> ![image](https://user-images.githubusercontent.com/6993269/99031839-09e04b00-25b3-11eb-8e47-0b6515a282bb.png) - 目录文件配置好之后在 `jd_scripts`目录执行 `docker-compose up -d` 启动; `docker-compose logs` 打印日志; diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 1d0f2109..ba02c1e0 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -1,6 +1,6 @@ -0 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1|ts +0 */1 * * * git -C /scripts/ pull |ts >> /scripts/logs/pull.log 2>&1 2 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} -3 */1 * * * npm install --prefix /scripts >> /scripts/logs/npm_install.log 2>&1|ts +3 */1 * * * npm install --prefix /scripts |ts >> /scripts/logs/npm_install.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log @@ -12,44 +12,44 @@ ##############长期活动############## # 签到 -0 0,12,18 * * * node /scripts/jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1|ts +0 0,12,18 * * * node /scripts/jd_bean_sign.js |ts >> /scripts/logs/jd_bean_sign.log 2>&1 # 京小超兑换奖品 -0 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1|ts +0 0 * * * node /scripts/jd_blueCoin.js |ts >> /scripts/logs/jd_blueCoin.log 2>&1 # 摇京豆 -0 0 * * * node /scripts/jd_club_lottery.js >> /scripts/logs/jd_club_lottery.log 2>&1|ts +0 0 * * * node /scripts/jd_club_lottery.js |ts >> /scripts/logs/jd_club_lottery.log 2>&1 # 东东农场 -5 6-18/6 * * * node /scripts/jd_fruit.js >> /scripts/logs/jd_fruit.log 2>&1|ts +5 6-18/6 * * * node /scripts/jd_fruit.js |ts >> /scripts/logs/jd_fruit.log 2>&1 # 宠汪汪 -15 */2 * * * node /scripts/jd_joy.js >> /scripts/logs/jd_joy.log 2>&1|ts +15 */2 * * * node /scripts/jd_joy.js |ts >> /scripts/logs/jd_joy.log 2>&1 # 宠汪汪喂食 -15 */1 * * * node /scripts/jd_joy_feedPets.js >> /scripts/logs/jd_joy_feedPets.log 2>&1|ts +15 */1 * * * node /scripts/jd_joy_feedPets.js |ts >> /scripts/logs/jd_joy_feedPets.log 2>&1 # 宠汪汪积分兑换奖品 -0 0-16/8 * * * node /scripts/jd_joy_reward.js >> /scripts/logs/jd_joy_reward.log 2>&1|ts +0 0-16/8 * * * node /scripts/jd_joy_reward.js |ts >> /scripts/logs/jd_joy_reward.log 2>&1 # 宠汪汪偷好友积分与狗粮 -0 0,6 * * * node /scripts/jd_joy_steal.js >> /scripts/logs/jd_joy_steal.log 2>&1|ts +0 0,6 * * * node /scripts/jd_joy_steal.js |ts >> /scripts/logs/jd_joy_steal.log 2>&1 # 摇钱树 -0 */2 * * * node /scripts/jd_moneyTree.js >> /scripts/logs/jd_moneyTree.log 2>&1|ts +0 */2 * * * node /scripts/jd_moneyTree.js |ts >> /scripts/logs/jd_moneyTree.log 2>&1 # 东东萌宠 -5 6-18/6 * * * node /scripts/jd_pet.js >> /scripts/logs/jd_pet.log 2>&1|ts +5 6-18/6 * * * node /scripts/jd_pet.js |ts >> /scripts/logs/jd_pet.log 2>&1 # 京东种豆得豆 -0 7-22/1 * * * node /scripts/jd_plantBean.js >> /scripts/logs/jd_plantBean.log 2>&1|ts +0 7-22/1 * * * node /scripts/jd_plantBean.js |ts >> /scripts/logs/jd_plantBean.log 2>&1 # 京东全民开红包 -1 1 * * * node /scripts/jd_redPacket.js >> /scripts/logs/jd_redPacket.log 2>&1|ts +1 1 * * * node /scripts/jd_redPacket.js |ts >> /scripts/logs/jd_redPacket.log 2>&1 # 进店领豆 -10 0 * * * node /scripts/jd_shop.js >> /scripts/logs/jd_shop.log 2>&1|ts +10 0 * * * node /scripts/jd_shop.js |ts >> /scripts/logs/jd_shop.log 2>&1 # 京东天天加速 -8 */3 * * * node /scripts/jd_speed.js >> /scripts/logs/jd_speed.log 2>&1|ts +8 */3 * * * node /scripts/jd_speed.js |ts >> /scripts/logs/jd_speed.log 2>&1 # 东东超市 -11 1-23/5 * * * node /scripts/jd_superMarket.js >> /scripts/logs/jd_superMarket.log 2>&1|ts +11 1-23/5 * * * node /scripts/jd_superMarket.js |ts >> /scripts/logs/jd_superMarket.log 2>&1 # 取关京东店铺商品 -55 23 * * * node /scripts/jd_unsubscribe.js >> /scripts/logs/jd_unsubscribe.log 2>&1|ts +55 23 * * * node /scripts/jd_unsubscribe.js |ts >> /scripts/logs/jd_unsubscribe.log 2>&1 # 京豆变动通知 -0 2 * * * node /scripts/jd_bean_change.js >> /scripts/logs/jd_bean_change.log 2>&1|ts +0 2 * * * node /scripts/jd_bean_change.js |ts >> /scripts/logs/jd_bean_change.log 2>&1 # 京东抽奖机 -11 1 * * * node /scripts/jd_lotteryMachine.js >> /scripts/logs/jd_lotteryMachine.log 2>&1|ts +11 1 * * * node /scripts/jd_lotteryMachine.js |ts >> /scripts/logs/jd_lotteryMachine.log 2>&1 # 京东排行榜 -11 9 * * * node /scripts/jd_rankingList.js >> /scripts/logs/jd_rankingList.log 2>&1|ts +11 9 * * * node /scripts/jd_rankingList.js |ts >> /scripts/logs/jd_rankingList.log 2>&1 # 天天提鹅 -18 */3 * * * node /scripts/jd_daily_egg.js >> /scripts/logs/jd_daily_egg.log 2>&1|ts +18 */3 * * * node /scripts/jd_daily_egg.js |ts >> /scripts/logs/jd_daily_egg.log 2>&1 # 金融养猪 -12 13 * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1|ts +12 13 * * * node /scripts/jd_pigPet.js |ts >> /scripts/logs/jd_pigPet.log 2>&1 From 2b54141261a5e1ef1890d1c2c516d522b091f67a Mon Sep 17 00:00:00 2001 From: Tinafang Date: Fri, 13 Nov 2020 18:45:18 +0800 Subject: [PATCH 0007/1259] Create serverless.yml --- serverless.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 serverless.yml diff --git a/serverless.yml b/serverless.yml new file mode 100644 index 00000000..69c157e2 --- /dev/null +++ b/serverless.yml @@ -0,0 +1,24 @@ +# serverless.yml + +#组件信息 +component: scf # (必选) 组件名称,在该实例中为scf +name: jdscript # (必选) 组件实例名称。 + +#组件参数配置 +inputs: + name: scf-${name} # 云函数名称,默认为 ${name}-${stage}-${app} + enableRoleAuth: true # 默认会尝试创建 SCF_QcsRole 角色,如果不需要配置成 false 即可 + src: ./ + handler: index.main_handler #入口 + runtime: Nodejs12.16 # 运行环境 默认 Nodejs10.15 + region: ap-guangzhou # 函数所在区域 + description: This is a function in ${app} application. + memorySize: 64 # 内存大小,单位MB + timeout: 900 # 超时时间,单位秒 + events: # 触发器 + - timer: # 定时触发器 + parameters: + # name: timer # 触发器名称,默认timer-${name}-${stage} + cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 + enable: true + argument: argument # 额外的参数 From c71612bf1d04a60a74588f75f6a8a39cb9f867e0 Mon Sep 17 00:00:00 2001 From: Tinafang Date: Fri, 13 Nov 2020 18:45:40 +0800 Subject: [PATCH 0008/1259] Create index.js --- index.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 index.js diff --git a/index.js b/index.js new file mode 100644 index 00000000..82e1aedb --- /dev/null +++ b/index.js @@ -0,0 +1,5 @@ +'use strict'; +exports.main_handler = async (event, context, callback) => { + require('./jd_xtg.js') //这里写你想要的脚本 + require('./jd_fruit.js') //这里写你想要的脚本 +} From cf433bfae7b1802f9cf1985218b03d9e49baddcb Mon Sep 17 00:00:00 2001 From: Tinafang Date: Fri, 13 Nov 2020 18:46:13 +0800 Subject: [PATCH 0009/1259] Create tencentscf.md --- tencentscf.md | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 tencentscf.md diff --git a/tencentscf.md b/tencentscf.md new file mode 100644 index 00000000..642a6368 --- /dev/null +++ b/tencentscf.md @@ -0,0 +1,95 @@ + +# 云函数快速部署京东脚本 + +## 1. 安装 Node.js 环境 + +Node.js 环境 [下载地址](https://nodejs.org/zh-tw/download/ ) ,根据自己的操作系统下载和安装。 + +## 2. 下载代码 + +点击红框处下载压缩包 +![下载代码](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/./1605262233829-download.png) + +## 3. 安装依赖,配置 cookie + +### 3.1 安装依赖 + +压缩包解压后进入项目文件夹 + +- Windows 用户按住 **shift** 点击右键,点击 **在此处打开命令窗口** +- Mac 用户通过终端,自行进入该文件夹 + +在命令行内输入 `npm i `,等待运行完成。 + +此时,项目文件夹内会多出一个 `node_modules`文件夹 + +### 3.2 配置 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' +] +``` + +> 注:获取京东 cookie 教程参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) + + +## 4. 部署到云函数 + +### 4.1 开通服务 + +依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole** + +> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。 + +### 4.2 工具部署 + +下载 Serverless 工具,快速部署函数 +``` +npm install -g serverless +``` + +执行部署命令 +``` +serverless deploy +``` + +如果已经配置了永久秘钥,则可以直接部署,如果没有,可以直接微信扫码登录腾讯云,并且授权部署。 + +过几秒后,查看输出,可以看到函数和定时触发器都已经配置完成。 +``` +serverless ⚡framework +Action: "deploy" - Stage: "dev" - App: "jdscript" - Instance: "jdscript" + +functionName: scf-jdscript +description: This is a function in jdscript application. +namespace: default +runtime: Nodejs12.16 +handler: index.main_handler +memorySize: 64 +lastVersion: $LATEST +traffic: 1 +triggers: + timer: + - timer-jdscript-dev + +36s › jdscript › Success +``` + +## 5. 查看和测试 + +登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 + +在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 + +![测试函数](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/./1605263963294-test.png) + +> 如果需要配置永久秘钥,则可以在[访问秘钥页面](https://console.cloud.tencent.com/cam/capi)获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY,并配置在代码根目录 .env 文件中。 From a87b55547ac12af34b386891d0300f58336659b2 Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 13 Nov 2020 22:50:07 +0800 Subject: [PATCH 0010/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=89=E5=8D=93?= =?UTF-8?q?=E5=92=8CMacOS=E8=BF=90=E8=A1=8C=E8=84=9A=E6=9C=AC=E7=9A=84?= =?UTF-8?q?=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ab39d7ba..92ab6d8a 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,13 @@ ### 方法一:本地安装Node.js,下载本库脚本 - - 教程请见:[EvineDeng/jd-base](https://github.com/EvineDeng/jd-base) + - 教程请见:[EvineDeng/jd-base](https://github.com/EvineDeng/jd-base),适用于以下系统: + + 1. Armbian/OpenWrt/Debian/Ubuntu/CentOS/Fedora/RedHat等Linux系统 + + 2. Android + + 3. MacOS ### 方法二:云服务器、腾讯云函数等等 @@ -65,7 +71,7 @@ ### 方法三:Docker(NAS或VPS用户) - - 可以精确控制任务运行时间,有三种办法:[docker办法一](https://github.com/lxk0301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js有点类似)](https://github.com/EvineDeng/jd-base)、[docker办法三](https://github.com/chinnkarahoi/jd-scripts-docker) + - 可以精确控制任务运行时间,有三种办法:[docker办法一](https://github.com/lxk0301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js类似)](https://github.com/EvineDeng/jd-base)、[docker办法三](https://github.com/chinnkarahoi/jd-scripts-docker) - [环境变量](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) #### 注:以上三种运行机制都是Node.js,故您需仔细阅读下面几点 From 4707ed1aef0d7bef30e451905afdbd6d528cfc9c Mon Sep 17 00:00:00 2001 From: deepdark111 <67956668+deepdark111@users.noreply.github.com> Date: Sun, 15 Nov 2020 15:18:02 +0800 Subject: [PATCH 0011/1259] Update crontab_list_ts.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复养猪cron时间 --- docker/crontab_list_ts.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index ba02c1e0..7ffb506d 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -52,4 +52,4 @@ # 天天提鹅 18 */3 * * * node /scripts/jd_daily_egg.js |ts >> /scripts/logs/jd_daily_egg.log 2>&1 # 金融养猪 -12 13 * * * node /scripts/jd_pigPet.js |ts >> /scripts/logs/jd_pigPet.log 2>&1 +12 * * * * node /scripts/jd_pigPet.js |ts >> /scripts/logs/jd_pigPet.log 2>&1 From d4a2fff99883a3b4c5bbe6fd5f434db2a73f5fbb Mon Sep 17 00:00:00 2001 From: Tinafang Date: Mon, 16 Nov 2020 11:35:38 +0800 Subject: [PATCH 0012/1259] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 92ab6d8a..85ca3795 100644 --- a/README.md +++ b/README.md @@ -65,8 +65,8 @@ ### 方法二:云服务器、腾讯云函数等等 - 需自行有云服务器,云函数等 - - - 腾云云函数使用 [教程说明](iCloud.md) + - 腾讯云云函数 [快速部署教程](tencentscf.md)(免费) + - 腾讯云云函数控制台使用 [教程说明](iCloud.md) ### 方法三:Docker(NAS或VPS用户) From 5d0d0b3ee0c1cd1a01f7e391cb4a10d0898e2b27 Mon Sep 17 00:00:00 2001 From: Tinafang Date: Mon, 16 Nov 2020 11:38:00 +0800 Subject: [PATCH 0013/1259] Update tencentscf.md --- tencentscf.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tencentscf.md b/tencentscf.md index 642a6368..49b1858a 100644 --- a/tencentscf.md +++ b/tencentscf.md @@ -3,12 +3,12 @@ ## 1. 安装 Node.js 环境 -Node.js 环境 [下载地址](https://nodejs.org/zh-tw/download/ ) ,根据自己的操作系统下载和安装。 +Node.js 环境 [下载地址](https://nodejs.org/zh-tw/download/) ,根据自己的操作系统下载和安装。 ## 2. 下载代码 点击红框处下载压缩包 -![下载代码](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/./1605262233829-download.png) +![下载代码](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/1605497672397-zip.png) ## 3. 安装依赖,配置 cookie @@ -62,7 +62,7 @@ npm install -g serverless serverless deploy ``` -如果已经配置了永久秘钥,则可以直接部署,如果没有,可以直接微信扫码登录腾讯云,并且授权部署。 +如果已经配置了永久秘钥,则可以直接部署,如果没有,可以直接**微信扫码**登录腾讯云,并且授权部署。 过几秒后,查看输出,可以看到函数和定时触发器都已经配置完成。 ``` From 2deef6d3e58c9c00bdd66f42ad4bd521093131e7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 16 Nov 2020 16:38:36 +0800 Subject: [PATCH 0014/1259] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E9=A2=91=E7=8E=87=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdPlantBeanShareCodes.js | 2 +- jd_moneyTree.js | 20 +++----------------- jd_plantBean.js | 2 +- lxk0301.boxjs.json | 7 ------- 4 files changed, 5 insertions(+), 26 deletions(-) diff --git a/jdPlantBeanShareCodes.js b/jdPlantBeanShareCodes.js index 356cc89f..3894909b 100644 --- a/jdPlantBeanShareCodes.js +++ b/jdPlantBeanShareCodes.js @@ -8,7 +8,7 @@ // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let PlantBeanShareCodes = [ - '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba',//账号一的好友shareCode,不同好友中间用@符号隔开 + '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba@olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy',//账号一的好友shareCode,不同好友中间用@符号隔开 '4npkonnsy7xi3p6pjfxg6ct5gll42gmvnz7zgoy@6dygkptofggtp6ffhbowku3xgu@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy',//账号二的好友shareCode,不同好友中间用@符号隔开 ] // 判断github action里面是否有东东萌宠互助码 diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 0cac2758..843d25a1 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -1,6 +1,6 @@ /* 京东摇钱树 :https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js -更新时间:2020-11-07 +更新时间:2020-11-16 京东摇钱树支持京东双账号 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save */ @@ -30,7 +30,6 @@ if ($.isNode()) { cookiesArr.push($.getdata('CookieJD2')); } -const Notice = $.getdata('jdMoneyTreeNoticeTimes') * 1 || 2;//设置运行多少次才通知。默认运行两次脚本通知,其他设置请在BoxJs进行设置 let jdNotify = true;//是否开启静默运行,默认true开启 const JD_API_HOST = 'https://ms.jr.jd.com/gw/generic/uc/h5/m'; let userInfo = null, taskInfo = [], message = '', subTitle = '', fruitTotal = 0; @@ -80,16 +79,10 @@ async function jd_moneyTree() { await stealFriendFruit() await msgControl(); - console.log(`运行脚本次数和设置的次数是否相等::${($.getdata($.treeMsgTime) * 1) === Notice}`); - jdNotify = $.getdata('jdMoneyTreeNotify') ? $.getdata('jdMoneyTreeNotify') : jdNotify; - console.log(`box订阅静默运行-是否打开::${jdNotify || jdNotify === 'true'}`); - console.log(`是否弹窗通知::${(($.getdata($.treeMsgTime) * 1) === Notice) && (!jdNotify || jdNotify === 'false')}`); $.log(`\n${message}\n`); if (!jdNotify || jdNotify === 'false') { - if (($.getdata($.treeMsgTime) * 1) === Notice) { - $.msg($.name, subTitle, message); - $.setdata('0', $.treeMsgTime); - } + $.msg($.name, subTitle, message); + $.setdata('0', $.treeMsgTime); } } function user_info() { @@ -121,13 +114,6 @@ function user_info() { if (userInfo.realName) { // console.log(`助力码sharePin为::${userInfo.sharePin}`); $.treeMsgTime = userInfo.sharePin; - if ($.getdata($.treeMsgTime)) { - if ($.getdata($.treeMsgTime) >= Notice) { - $.setdata('0', $.treeMsgTime); - } - } else { - $.setdata('0', $.treeMsgTime); - } subTitle = `【${userInfo.nick}】${userInfo.treeInfo.treeName}`; // message += `【我的金果数量】${userInfo.treeInfo.fruit}\n`; // message += `【我的金币数量】${userInfo.treeInfo.coin}\n`; diff --git a/jd_plantBean.js b/jd_plantBean.js index 917bbb20..b69b8937 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -36,7 +36,7 @@ let shareCodes = [ // IOS本地脚本用户这个列表填入你要助力的好 //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba@e7lhibzb3zek32e72n4xesxmgc2m76eju62zk3y', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - '4npkonnsy7xi3p6pjfxg6ct5gll42gmvnz7zgoy@6dygkptofggtp6ffhbowku3xgu@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy', + 'olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy@4npkonnsy7xi3p6pjfxg6ct5gll42gmvnz7zgoy@6dygkptofggtp6ffhbowku3xgu@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy', ] let currentRoundId = null;//本期活动id let lastRoundId = null;//上期id diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index a1ae6c06..e3095126 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -540,13 +540,6 @@ "val": true, "type": "boolean", "desc": "运行京东摇钱树脚本时不发出系统弹窗通知" - }, - { - "id": "jdMoneyTreeNoticeTimes", - "name": "通知频率", - "val": 2, - "type": "number", - "desc": "脚本运行多少次后弹窗通知(默认2次,如果开启静默运行,此设置失效)" } ], "author": "@lxk0301", From 71c94df1fcbeb69deacecff93df4e45fa6a4e59d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 16 Nov 2020 16:42:26 +0800 Subject: [PATCH 0015/1259] =?UTF-8?q?=E6=94=B9=E6=AD=A3=E5=AE=A0=E6=B1=AA?= =?UTF-8?q?=E6=B1=AA=E5=B0=8F=E7=A8=8B=E5=BA=8F=E8=8E=B7=E5=8F=96token?= =?UTF-8?q?=E7=9A=84=E9=A1=B6=E9=83=A8=E6=B3=A8=E9=87=8A=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 10 ++++++---- jd_joy_help.js | 6 +++--- jd_joy_run.js | 14 +++++++------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 678fa1fb..4907c871 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -67,17 +67,19 @@ cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 #宠汪汪助力更新Token -http-response ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/addUser\?code=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token #宠汪汪助力获取Token -http-request ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/api\/user\/user\/detail\?openId=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token # 宠汪汪强制为别人助力 -http-request ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 #聚宝盆投狗粮辅助(github@Zero-S1搬的) -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 #小米运动 cron "25 17 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 + +# 小米运动获取Token http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token \ No newline at end of file diff --git a/jd_joy_help.js b/jd_joy_help.js index b46c5426..7fe86137 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -15,15 +15,15 @@ hostname = draw.jdfcloud.com ======================Surge===================== [Script] -宠汪汪强制为别人助力= type=http-request,pattern= ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js +宠汪汪强制为别人助力= type=http-request,pattern= ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js ===================圈x===================== [rewrite_local] -^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js =====================LOON===================== [Script] -http-request ^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 你也可从下面链接拿好友的friendPin(复制链接到有京东ck的浏览器打开即可) diff --git a/jd_joy_run.js b/jd_joy_run.js index afb2df76..6858d5f5 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -1,6 +1,6 @@ /** 宠汪汪邀请助力与赛跑助力脚本,感谢github@Zero-S1提供帮助 - 更新时间:2020-11-12(宠汪汪助力更新Token的配置正则表达式已改) + 更新时间:2020-11-16(宠汪汪助力更新Token的配置正则表达式已改) token时效很短,几个小时就失效了,闲麻烦的放弃就行 每天拿到token后,可一次性运行完毕即可。 @@ -15,8 +15,8 @@ hostname = draw.jdfcloud.com Surge [Script] 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js -宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js -宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js 圈X [task_local] @@ -24,15 +24,15 @@ Surge 15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true [rewrite_local] # 宠汪汪助力更新Token -^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js # 宠汪汪助力获取Token -^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js *****Loon**** [Script] cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 -http-response ^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token -http-request ^https:\/\/draw\.jdfcloud\.com\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token **/ const isRequest = typeof $request != "undefined" const $ = new Env('来客有礼宠汪汪'); From a11b6277378016d64472de73f1d2f055124f8540 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 16 Nov 2020 16:57:10 +0800 Subject: [PATCH 0016/1259] =?UTF-8?q?=E4=BF=AE=E6=AD=A3loon=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=92=8Csurge=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 8 ++++---- Surge/lxk0301_Task.sgmodule.sgmodule | 7 ++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 4907c871..8947fa10 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -66,6 +66,9 @@ cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip #宠汪汪邀请助力与赛跑助力 cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 +#小米运动 +cron "25 17 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 + #宠汪汪助力更新Token http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token @@ -73,13 +76,10 @@ http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?c http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token # 宠汪汪强制为别人助力 -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 #聚宝盆投狗粮辅助(github@Zero-S1搬的) http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 -#小米运动 -cron "25 17 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 - # 小米运动获取Token http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token \ No newline at end of file diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 2f467688..d60bdb50 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -1,4 +1,4 @@ -#!name=lxk0301 iOS Tasks Module +#!name=lxk0301 iOS Tasks&Cookies Module #!desc=iOS Tasks 模块配置 #!system=ios @@ -31,3 +31,8 @@ cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, timeout=650, wake-system=1, tag=京豆变动通知 # cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, wake-system=1, tag=京东全民营业领金币 +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=1, tag=宠汪汪助力更新Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=1, tag=宠汪汪助力获取Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=1, tag=宠汪汪强制为别人助力 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=1, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=1, tag=小米运动获取Token From 2596ba8659b1ef766307735c048a08be275219ad Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 16 Nov 2020 16:59:25 +0800 Subject: [PATCH 0017/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9Esurge=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E9=87=8C=E9=9D=A2=E7=9A=84mitm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Surge/lxk0301_Task.sgmodule.sgmodule | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index d60bdb50..ff1c37e1 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -36,3 +36,6 @@ http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detai http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=1, tag=宠汪汪强制为别人助力 http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=1, tag=聚宝盆投狗粮辅助 http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=1, tag=小米运动获取Token +http-request https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmly_speed_ccokie.js , requires-body=1, tag=喜马拉雅极速版Cookie +[MITM] +hostname = %APPEND% m.ximalaya.com, api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com From 10cb3a5134d6980a519b3923aacda3137bc109fc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 16 Nov 2020 17:17:35 +0800 Subject: [PATCH 0018/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0Loon=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 8947fa10..01290593 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -70,10 +70,10 @@ cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "25 17 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 #宠汪汪助力更新Token -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token #宠汪汪助力获取Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 From 1a400f2062e1fc48ccd2b3eb69b38d8381212a41 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 16 Nov 2020 17:26:23 +0800 Subject: [PATCH 0019/1259] update --- jd_joy_run.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jd_joy_run.js b/jd_joy_run.js index 6858d5f5..7d1fe411 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -133,6 +133,8 @@ function getToken() { // $.done({ body: JSON.stringify(body) }) $.done({ url: url }) } + } else { + $.done({}) } } async function main() { From c5b2edac3bd9f4d0e0ee75894a23901bd2d76f21 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 16 Nov 2020 17:47:32 +0800 Subject: [PATCH 0020/1259] update --- Surge/lxk0301_Task.sgmodule.sgmodule | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index ff1c37e1..15a7c191 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -30,12 +30,3 @@ cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script # cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, timeout=550, wake-system=1, tag=京东星推官 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, timeout=650, wake-system=1, tag=京豆变动通知 # cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, wake-system=1, tag=京东全民营业领金币 - -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=1, tag=宠汪汪助力更新Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=\w+& script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=1, tag=宠汪汪助力获取Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=1, tag=宠汪汪强制为别人助力 -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=1, tag=聚宝盆投狗粮辅助 -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=1, tag=小米运动获取Token -http-request https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmly_speed_ccokie.js , requires-body=1, tag=喜马拉雅极速版Cookie -[MITM] -hostname = %APPEND% m.ximalaya.com, api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com From 49af1fc2bb9edd816b13bcc216f3e32da6ba2000 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 17 Nov 2020 09:38:49 +0800 Subject: [PATCH 0021/1259] update --- jd_joy_help.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_joy_help.js b/jd_joy_help.js index 7fe86137..090ad076 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -15,15 +15,15 @@ hostname = draw.jdfcloud.com ======================Surge===================== [Script] -宠汪汪强制为别人助力= type=http-request,pattern= ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js +宠汪汪强制为别人助力= type=http-request,pattern= ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js ===================圈x===================== [rewrite_local] -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js =====================LOON===================== [Script] -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/mirror\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 你也可从下面链接拿好友的friendPin(复制链接到有京东ck的浏览器打开即可) From 417eac37862a4ed2f1a6afd91e06a39cc4211d83 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 17 Nov 2020 10:22:27 +0800 Subject: [PATCH 0022/1259] =?UTF-8?q?jd=5Fbean=5Fsign.js=E4=BA=AC=E8=B1=86?= =?UTF-8?q?=E7=AD=BE=E5=88=B0=E5=85=BC=E5=AE=B9=E8=85=BE=E8=AE=AF=E4=BA=91?= =?UTF-8?q?=E5=87=BD=E6=95=B0=EF=BC=8C=E6=84=9F=E8=B0=A2github@ykrank?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=E7=9A=84=E5=B8=AE=E5=8A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_sign.js | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index a013c92d..f972afdc 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -1,7 +1,7 @@ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 -更新时间:2020-11-09 +更新时间:2020-11-17 从 github @ruicky改写而来 version v0.0.1 create by ruicky @@ -14,8 +14,9 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; const exec = require('child_process').execSync const fs = require('fs') const download = require('download'); -const path = "./result.txt"; -const JD_DailyBonusPath = "./JD_DailyBonus.js"; +let resultPath = "./result.txt"; +let JD_DailyBonusPath = "./JD_DailyBonus.js"; +let outPutUrl = './'; let cookiesArr = [], cookie = ''; if ($.isNode()) { @@ -29,9 +30,10 @@ if ($.isNode()) { $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } + await requireConfig(); // 下载最新代码 await downFile(); - const content = await fs.readFileSync('./JD_DailyBonus.js', 'utf8') + const content = await fs.readFileSync(JD_DailyBonusPath, 'utf8') for (let i =0; i < cookiesArr.length; i++) { cookie = cookiesArr[i]; if (cookie) { @@ -40,7 +42,7 @@ if ($.isNode()) { $.nickName = ''; await TotalBean(); console.log(`*****************开始京东账号${$.index} ${$.nickName || $.UserName}京豆签到*******************\n`); - console.log(`⚠⚠⚠⚠⚠⚠⚠⚠ 如遇到Bark APP推送通知消息失败的,请换用其他通知方式,Bark对推送内容长度有限制 ⚠⚠⚠⚠⚠⚠⚠⚠⚠\n`) + console.log(`⚠️⚠️⚠️⚠️目前Bark APP推送通知消息失败的,请换用其他通知方式,Bark对推送内容长度有限制 ⚠️⚠️⚠️⚠️\n`) await changeFile(content); await execSign(); } @@ -52,11 +54,11 @@ async function execSign() { console.log(`\n开始执行脚本签到,请稍等`) try { if (notify.SCKEY || notify.BARK_PUSH || notify.DD_BOT_TOKEN || (notify.TG_BOT_TOKEN && notify.TG_USER_ID) || notify.IGOT_PUSH_KEY) { - await exec("node JD_DailyBonus.js >> result.txt"); + await exec(`${process.execPath} ${JD_DailyBonusPath} >> ${resultPath}`); } else { // 如果没有提供通知推送,则打印日志 console.log('没有提供通知推送,则打印脚本执行日志') - await exec(`node JD_DailyBonus.js`, { stdio: "inherit" }); + await exec(`${process.execPath} ${JD_DailyBonusPath}`, { stdio: "inherit" }); } // await exec("node JD_DailyBonus.js", { stdio: "inherit" }); // console.log('执行完毕', new Date(new Date().getTime() + 8 * 60 * 60 * 1000).toLocaleDateString()) @@ -64,8 +66,8 @@ async function execSign() { if ($.isNode()) { let notifyContent = ""; let BarkContent = ''; - if (fs.existsSync(path)) { - notifyContent = await fs.readFileSync(path, "utf8"); + if (fs.existsSync(resultPath)) { + notifyContent = await fs.readFileSync(resultPath, "utf8"); const barkContentStart = notifyContent.indexOf('【签到概览】') const barkContentEnd = notifyContent.length; if (process.env.JD_BEAN_SIGN_STOP_NOTIFY === 'true') return @@ -90,7 +92,7 @@ async function execSign() { } //运行完成后,删除下载的文件 console.log('运行完成后,删除下载的文件\n') - await deleteFile(path);//删除result.txt + await deleteFile(resultPath);//删除result.txt await deleteFile(JD_DailyBonusPath);//删除JD_DailyBonus.js console.log(`*****************京东账号${$.index} ${$.nickName || $.UserName}京豆签到完成*******************\n`); } catch (e) { @@ -112,7 +114,12 @@ async function downFile () { } else { url = 'https://cdn.jsdelivr.net/gh/NobyDa/Script@master/JD-DailyBonus/JD_DailyBonus.js'; } - await download(url, './') + try { + await download(url, outPutUrl); + console.log('文件下载完毕'); + } catch (e) { + console.log("文件下载异常:" + e); + } } async function changeFile (content) { @@ -200,7 +207,17 @@ function downloadUrl(url = 'https://raw.githubusercontent.com/NobyDa/Script/mast }) }) } - +function requireConfig() { + return new Promise(resolve => { + const file = 'jd_bean_sign.js'; + fs.access(file, fs.constants.W_OK, (err) => { + resultPath = err ? './tmp/result.txt' : resultPath; + JD_DailyBonusPath = err ? './tmp/JD_DailyBonus.js' : JD_DailyBonusPath; + outPutUrl = err ? './tmp/' : outPutUrl; + resolve() + }); + }) +} function timeFormat(time) { let date; if (time) { From efd92679193b658e72bd96be010ff14ab5bcbda3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 17 Nov 2020 10:38:10 +0800 Subject: [PATCH 0023/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_sign.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index f972afdc..9a76a58d 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -211,9 +211,9 @@ function requireConfig() { return new Promise(resolve => { const file = 'jd_bean_sign.js'; fs.access(file, fs.constants.W_OK, (err) => { - resultPath = err ? './tmp/result.txt' : resultPath; - JD_DailyBonusPath = err ? './tmp/JD_DailyBonus.js' : JD_DailyBonusPath; - outPutUrl = err ? './tmp/' : outPutUrl; + resultPath = err ? '/tmp/result.txt' : resultPath; + JD_DailyBonusPath = err ? '/tmp/JD_DailyBonus.js' : JD_DailyBonusPath; + outPutUrl = err ? '/tmp/' : outPutUrl; resolve() }); }) From 5e436d590416a0e4cd4267fdeaf4a0ddafbad793 Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 17 Nov 2020 10:59:34 +0800 Subject: [PATCH 0024/1259] Update Dockerfile --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 47d99203..5615cde9 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -11,7 +11,7 @@ RUN git clone https://github.com/lxk0301/jd_scripts /scripts \ && cd /scripts \ && mkdir logs \ && npm install \ - && cd ~ \ + && cd /tmp \ && npm install request ENV CRONTAB_LIST_FILE crontab_list_ts.sh @@ -20,4 +20,4 @@ RUN crontab /scripts/docker/crontab_list_ts.sh WORKDIR /scripts -CMD ["node"] \ No newline at end of file +CMD ["node"] From 816f7a15754597a41d1a5a6f6d3836d62b2cad0c Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 17 Nov 2020 11:02:18 +0800 Subject: [PATCH 0025/1259] Update crontab_list.sh --- docker/crontab_list.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 3b2a449c..8b18f28e 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,6 +1,7 @@ 0 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1 2 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} 3 */1 * * * npm install --prefix /scripts >> /scripts/logs/npm_install.log 2>&1 +4 */1 * * * npm install request --prefix /tmp >> /scripts/logs/npm_install_request.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log @@ -44,7 +45,7 @@ # 取关京东店铺商品 55 23 * * * node /scripts/jd_unsubscribe.js >> /scripts/logs/jd_unsubscribe.log 2>&1 # 京豆变动通知 -0 2 * * * node /scripts/jd_bean_change.js >> /scripts/logs/jd_bean_change.log 2>&1 +0 10 * * * node /scripts/jd_bean_change.js >> /scripts/logs/jd_bean_change.log 2>&1 # 京东抽奖机 11 1 * * * node /scripts/jd_lotteryMachine.js >> /scripts/logs/jd_lotteryMachine.log 2>&1 # 京东排行榜 From a35a39073315afc3fe344d9b520b866f94e18aee Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 17 Nov 2020 11:02:51 +0800 Subject: [PATCH 0026/1259] Update crontab_list_ts.sh --- docker/crontab_list_ts.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 7ffb506d..a3fcad6c 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -1,6 +1,7 @@ 0 */1 * * * git -C /scripts/ pull |ts >> /scripts/logs/pull.log 2>&1 2 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} 3 */1 * * * npm install --prefix /scripts |ts >> /scripts/logs/npm_install.log 2>&1 +4 */1 * * * npm install request --prefix /tmp |ts >> /scripts/logs/npm_install_request.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log From 53b0c32490780482cbbb820ac59a4b456c9319be Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 17 Nov 2020 11:03:39 +0800 Subject: [PATCH 0027/1259] Update crontab_list_ts.sh --- docker/crontab_list_ts.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index a3fcad6c..3f14ea7d 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -45,7 +45,7 @@ # 取关京东店铺商品 55 23 * * * node /scripts/jd_unsubscribe.js |ts >> /scripts/logs/jd_unsubscribe.log 2>&1 # 京豆变动通知 -0 2 * * * node /scripts/jd_bean_change.js |ts >> /scripts/logs/jd_bean_change.log 2>&1 +0 10 * * * node /scripts/jd_bean_change.js |ts >> /scripts/logs/jd_bean_change.log 2>&1 # 京东抽奖机 11 1 * * * node /scripts/jd_lotteryMachine.js |ts >> /scripts/logs/jd_lotteryMachine.log 2>&1 # 京东排行榜 From f59562a590d8617eedcc4194b2aed72b8f7b365b Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 17 Nov 2020 13:09:15 +0800 Subject: [PATCH 0028/1259] =?UTF-8?q?crontab=20=E6=94=AF=E6=8C=81=E7=BB=84?= =?UTF-8?q?=E5=90=88=E5=91=BD=E4=BB=A4=EF=BC=8C=E8=B0=83=E6=95=B4=E7=AD=BE?= =?UTF-8?q?=E5=88=B0=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E8=B0=83=E6=95=B4?= =?UTF-8?q?=EF=BC=8C=E6=97=A0=E9=9C=80=E5=85=B3=E5=BF=83=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=88=B0=E9=82=A3=E4=B8=AA=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `crontab` 支持组合命令,调整签到定时任务调整,无需关心签到 `js` 文件下载到那个目录了 --- docker/crontab_list.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 8b18f28e..af32d579 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,7 +1,6 @@ 0 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1 2 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} 3 */1 * * * npm install --prefix /scripts >> /scripts/logs/npm_install.log 2>&1 -4 */1 * * * npm install request --prefix /tmp >> /scripts/logs/npm_install_request.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log @@ -13,7 +12,7 @@ ##############长期活动############## # 签到 -0 0,12,18 * * * node /scripts/jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 +0 0,12,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 # 京小超兑换奖品 0 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1 # 摇京豆 From 06802290aa1e0fc90186ed457b32f4efe347ad1b Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 17 Nov 2020 13:10:57 +0800 Subject: [PATCH 0029/1259] =?UTF-8?q?=20`crontab`=20=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E7=BB=84=E5=90=88=E5=91=BD=E4=BB=A4=EF=BC=8C=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E7=AD=BE=E5=88=B0=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `crontab` 支持组合命令,调整签到定时任务调整,无需关心签到 `js` 文件下载到那个目录了 --- docker/crontab_list_ts.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 3f14ea7d..449d43c4 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -1,7 +1,6 @@ 0 */1 * * * git -C /scripts/ pull |ts >> /scripts/logs/pull.log 2>&1 2 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} 3 */1 * * * npm install --prefix /scripts |ts >> /scripts/logs/npm_install.log 2>&1 -4 */1 * * * npm install request --prefix /tmp |ts >> /scripts/logs/npm_install_request.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log @@ -13,7 +12,7 @@ ##############长期活动############## # 签到 -0 0,12,18 * * * node /scripts/jd_bean_sign.js |ts >> /scripts/logs/jd_bean_sign.log 2>&1 +0 0,12,18 * * * cd /scripts && node jd_bean_sign.js |ts >> /scripts/logs/jd_bean_sign.log 2>&1 # 京小超兑换奖品 0 0 * * * node /scripts/jd_blueCoin.js |ts >> /scripts/logs/jd_blueCoin.log 2>&1 # 摇京豆 From 2530db404e6b9e1d10763e7fbefae02da59fe7ad Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 17 Nov 2020 13:19:52 +0800 Subject: [PATCH 0030/1259] Update Readme.md --- docker/Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Readme.md b/docker/Readme.md index 8e7c7094..7b5d8247 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -76,11 +76,11 @@ jd_scripts: git -C /scripts/ pull node ``` -- `jd_scripts/my_crontab_list.sh` 参考内容如下: +- `jd_scripts/my_crontab_list.sh` 参考内容如下,自己根据需要调整增加删除,不熟悉用户推荐使用默认配置: ```shell 0 */1 * * * git -C /scripts/ pull |ts >> /scripts/logs/pull.log 2>&1 -2 0 * * * node /scripts/jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 +2 0 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 2 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1 2 0 * * * node /scripts/jd_club_lottery.js >> /scripts/logs/jd_club_lottery.log 2>&1 20 6-18/6 * * * node /scripts/jd_fruit.js >> /scripts/logs/jd_fruit.log 2>&1 From f13f09592ba66132badedf5e36ab7df19867ff7d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 17 Nov 2020 16:52:08 +0800 Subject: [PATCH 0031/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BD=BF=E7=94=A8=E5=8A=A0=E7=AD=BE=E5=8D=A1?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index c42003bb..471d3c98 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,6 +1,6 @@ /* 东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js -更新时间:2020-11-10 +更新时间:2020-11-17 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -335,15 +335,24 @@ async function doTenWaterAgain() { await myCardInfoForFarm(); const { fastCard, doubleCard, beanCard, signCard } = $.myCardInfoRes; console.log(`背包已有道具:\n快速浇水卡:${fastCard === -1 ? '未解锁': fastCard + '张'}\n水滴翻倍卡:${doubleCard === -1 ? '未解锁': doubleCard + '张'}\n水滴换京豆卡:${beanCard === -1 ? '未解锁' : beanCard + '张'}\n加签卡:${signCard === -1 ? '未解锁' : signCard + '张'}\n`) - if (totalEnergy >= 100 && $.myCardInfoRes.doubleCard > 0) { + if (totalEnergy >= 100 && doubleCard > 0) { //使用翻倍水滴卡 - for (let i = 0; i < new Array($.myCardInfoRes.doubleCard).fill('').length; i++) { + for (let i = 0; i < new Array(doubleCard).fill('').length; i++) { await userMyCardForFarm('doubleCard'); console.log(`使用翻倍水滴卡结果:${JSON.stringify($.userMyCardRes)}`); } await initForFarm(); totalEnergy = $.farmInfo.farmUserPro.totalEnergy; } + if (signCard > 0) { + //使用加签卡 + for (let i = 0; i < new Array(signCard).fill('').length; i++) { + await userMyCardForFarm('signCard'); + console.log(`使用加签卡结果:${JSON.stringify($.userMyCardRes)}`); + } + await initForFarm(); + totalEnergy = $.farmInfo.farmUserPro.totalEnergy; + } jdFruitBeanCard = $.getdata('jdFruitBeanCard') ? $.getdata('jdFruitBeanCard') : jdFruitBeanCard; if ($.isNode() && process.env.FRUIT_BEAN_CARD) { jdFruitBeanCard = process.env.FRUIT_BEAN_CARD; @@ -362,17 +371,6 @@ async function doTenWaterAgain() { console.log(`您目前水滴:${totalEnergy}g,水滴换豆卡${$.myCardInfoRes.beanCard}张,暂不满足水滴换豆的条件,为您继续浇水`) } } - // if (Date.now() < new Date(activeEndTime).getTime()) { - // if (totalEnergy >= 100 && $.myCardInfoRes.beanCard > 0) { - // //使用水滴换豆卡 - // await userMyCardForFarm('beanCard'); - // console.log(`使用水滴换豆卡结果:${JSON.stringify($.userMyCardRes)}`); - // if ($.userMyCardRes.code === '0') { - // message += `【水滴换豆卡】获得${$.userMyCardRes.beanCount}个京豆\n`; - // } - // } - // return - // } // if (totalEnergy > 100 && $.myCardInfoRes.fastCard > 0) { // //使用快速浇水卡 // await userMyCardForFarm('fastCard'); From 2ba601b1f4022ccaed71eb7c1b1ecf474051e8c0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 17 Nov 2020 18:13:52 +0800 Subject: [PATCH 0032/1259] fix bug --- jd_pigPet.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jd_pigPet.js b/jd_pigPet.js index 98c15486..3d1a6bf3 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -91,7 +91,7 @@ function pigPetUserBag() { console.log(`${item.goodsName} ${item.count}g`); } for (let item of data.resultData.resultData.goods) { - if (item.count > 20) { + if (item.count >= 20) { console.log(`10秒后开始喂食${item.goodsName},当前数量为${item.count}g`) await $.wait(10000); await pigPetAddFood(item.sku); @@ -120,7 +120,7 @@ function pigPetUserBag() { function pigPetAddFood(skuId) { return new Promise(async resolve => { console.log(`skuId::::${skuId}`) - const body = {"source":0,"channelLV":"yqs","riskDeviceParam":"{}","t":1605073588888, skuId ,"category":"1001"} + const body = {"source":0,"channelLV":"yqs","riskDeviceParam":"{}","t":Date.now(), skuId ,"category":"1001"} $.post(taskUrl('pigPetAddFood', body), (err, resp, data) => { try { if (err) { @@ -128,7 +128,7 @@ function pigPetAddFood(skuId) { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - // console.log(data) + console.log(`喂食结果:${data}`) data = JSON.parse(data); } else { console.log(`京东服务器返回空数据`) @@ -199,7 +199,7 @@ function pigPetLotteryIndex() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(data) + // console.log(data) data = JSON.parse(data); if (data.resultCode === 0) { if (data.resultData.resultCode === 0) { @@ -240,13 +240,13 @@ function pigPetLotteryPlay() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(data) + // console.log(data) data = JSON.parse(data); if (data.resultCode === 0) { if (data.resultData.resultCode === 0) { if (data.resultData.resultData) { // console.log(`当前大转盘剩余免费抽奖次数::${data.resultData.resultData.currentCount}`); - $.currentCount = data.resultData.resultData.currentCount; + $.currentCount = data.resultData.resultData.currentCount;//抽奖后剩余的抽奖次数 } } else { console.log(`其他情况:${JSON.stringify(data)}`) From 516721d16509425c86cdfaf3f08282e71ccbf9df Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 18 Nov 2020 13:19:50 +0800 Subject: [PATCH 0033/1259] add issue template --- .github/ISSUE_TEMPLATE/bug_report.md | 79 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 44 +++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..d169e192 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,79 @@ +--- +name: Bug 反馈 +about: 运行js脚本时出现bug +title: '' +labels: '' +assignees: '' + +--- + + + + + + + + + + + + +## 1.关于你要提交的问题 + +Q:是否搜索了issue(包括已关闭的issue) +- [ ] 没有类似的issue + +Q:是否仔细阅读了教程 +- [ ] 已仔细阅读教程 + +## 2. 你使用的哪种部署方法 + + + + + + +- [ ] 方法一:本地安装Node.js +- [ ] 方法二:腾讯云函数 +- [ ] 方法三:Docker办法一 +- [ ] 方法三:Docker办法二 +- [ ] 方法三:Docker办法三 +- [ ] 方法四:iOS系统的代理软件 + + +## 3. 详细叙述 +### (1) 具体问题 +A: + +### (2) 详细日志 +A: + + + + + +## 4.软件版本和 npm install 结果 +### (1) Node.js版本 + +A: + +### (2) npm版本 + +A: + +### (3)npm install的日志 + +A: diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..d741913c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,44 @@ +--- +name: 功能建议 +about: 请求实现新功能或改进已有功能 +title: '' +labels: '' +assignees: '' + +--- + + + + + + + + + + + + +## 期望增加的功能 + +A: + + + + + +## 入口 + +A: From 79449b7868567ab518d33b4a6314b45c6a6e5a56 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 18 Nov 2020 13:42:51 +0800 Subject: [PATCH 0034/1259] Delete pull.yml --- .github/pull.yml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .github/pull.yml diff --git a/.github/pull.yml b/.github/pull.yml deleted file mode 100644 index bbadc61e..00000000 --- a/.github/pull.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: "1" -rules: # Array of rules - - base: master # Required. Target branch - upstream: lxk0301:master # Required. Must be in the same fork network. - mergeMethod: hardreset # Optional, one of [none, merge, squash, rebase, hardreset], Default: none. - mergeUnstable: true # Optional, merge pull request even when the mergeable_state is not clean. Default: false From c7d4f29446a591c0882b3c0ac624e3358f9f3ac3 Mon Sep 17 00:00:00 2001 From: Akira-Work Date: Wed, 18 Nov 2020 15:20:05 +0800 Subject: [PATCH 0035/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E9=85=8D=E7=BD=AE=E8=B0=83=E6=95=B4=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E8=8A=82=E7=82=B9=E4=B8=BA=E9=A6=99=E6=B8=AF=E6=96=B9?= =?UTF-8?q?=E4=BE=BFTG=E7=94=A8=E6=88=B7=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverless.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 69c157e2..1db2fb8b 100644 --- a/serverless.yml +++ b/serverless.yml @@ -11,10 +11,10 @@ inputs: src: ./ handler: index.main_handler #入口 runtime: Nodejs12.16 # 运行环境 默认 Nodejs10.15 - region: ap-guangzhou # 函数所在区域 + region: ap-hongkong # 函数所在区域 description: This is a function in ${app} application. - memorySize: 64 # 内存大小,单位MB - timeout: 900 # 超时时间,单位秒 + memorySize: 128 # 内存大小,单位MB + timeout: 6000 # 超时时间,单位秒 events: # 触发器 - timer: # 定时触发器 parameters: @@ -22,3 +22,6 @@ inputs: cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 enable: true argument: argument # 额外的参数 + environment: # 环境变量 + variables: # 环境变量对象 + AAA: BBB # 不要删除,用来格式化对齐追加的变量的 \ No newline at end of file From a12657c42f8458f07052a14b45d070615cedeb4a Mon Sep 17 00:00:00 2001 From: Akira-Work Date: Wed, 18 Nov 2020 15:22:41 +0800 Subject: [PATCH 0036/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E5=88=B0=E8=85=BE=E8=AE=AF=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=BB=BB=E5=8A=A1=EF=BC=8C=E6=89=8B=E5=8A=A8=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=20=E4=B8=BA=E9=85=8D=E7=BD=AE=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E5=92=8C=E8=A7=A6=E5=8F=91=EF=BC=8C=E5=A6=82=E6=9C=89=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E5=8F=AF=E9=85=8D=E7=BD=AEmaster=E5=88=86=E6=94=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=A6=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 71 ++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/deploy_tencent_scf.yml diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml new file mode 100644 index 00000000..b5d314b6 --- /dev/null +++ b/.github/workflows/deploy_tencent_scf.yml @@ -0,0 +1,71 @@ +name: 部署到腾讯云函数 + +on: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + if: github.event.repository.owner.id == github.event.sender.id + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + repository: ${{ github.repository }} + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: "安装依赖和serverless工具" + run: | + npm install + sudo npm install serverless -g + + - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" + run: | + sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE }}" serverless.yml + sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml + sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml + sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml + sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml + sed -i "/variables/a\ JD_DEBUG: ${{ secrets.JD_DEBUG}}" serverless.yml + sed -i "/variables/a\ PUSH_KEY: ${{ secrets.PUSH_KEY}}" serverless.yml + sed -i "/variables/a\ BARK_PUSH: ${{ secrets.BARK_PUSH}}" serverless.yml + sed -i "/variables/a\ BARK_SOUND: ${{ secrets.BARK_SOUND}}" serverless.yml + sed -i "/variables/a\ TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}}" serverless.yml + sed -i "/variables/a\ TG_USER_ID: ${{ secrets.TG_USER_ID}}" serverless.yml + sed -i "/variables/a\ DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}}" serverless.yml + sed -i "/variables/a\ DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}}" serverless.yml + sed -i "/variables/a\ IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}}" serverless.yml + sed -i "/variables/a\ PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}}" serverless.yml + sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}}" serverless.yml + sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}}" serverless.yml + sed -i "/variables/a\ JD_818_SHAREID_NOTIFY: ${{ secrets.JD_818_SHAREID_NOTIFY}}" serverless.yml + sed -i "/variables/a\ JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}}" serverless.yml + sed -i "/variables/a\ JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}}" serverless.yml + sed -i "/variables/a\ JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}}" serverless.yml + sed -i "/variables/a\ JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}}" serverless.yml + sed -i "/variables/a\ MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}}" serverless.yml + sed -i "/variables/a\ MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}}" serverless.yml + sed -i "/variables/a\ SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}}" serverless.yml + sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}}" serverless.yml + sed -i "/variables/a\ SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}}" serverless.yml + sed -i "/variables/a\ FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}}" serverless.yml + sed -i "/variables/a\ UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}}" serverless.yml + sed -i "/variables/a\ FruitShareCodes: ${{ secrets.FruitShareCodes}}" serverless.yml + sed -i "/variables/a\ PETSHARECODES: ${{ secrets.PETSHARECODES}}" serverless.yml + sed -i "/variables/a\ PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}}" serverless.yml + sed -i "/variables/a\ SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}}" serverless.yml + sed -i "/variables/a\ TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}}" serverless.yml + sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml + cat serverless.yml + + - name: "部署到腾讯云函数" + run: serverless deploy + env: + STAGE: dev + SERVERLESS_PLATFORM_VENDOR: tencent + TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }} + TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }} From 749259a85ef5bc0ce6004aa447d59a74b22fdf3a Mon Sep 17 00:00:00 2001 From: Akira-Work Date: Wed, 18 Nov 2020 15:42:30 +0800 Subject: [PATCH 0037/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + tencentscf.md | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/README.md b/README.md index 85ca3795..44a6eb50 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,7 @@ - 需自行有云服务器,云函数等 - 腾讯云云函数 [快速部署教程](tencentscf.md)(免费) - 腾讯云云函数控制台使用 [教程说明](iCloud.md) + - 腾讯云云函数 [GitHub Action部署教程](tencentscf.md)(免费) ### 方法三:Docker(NAS或VPS用户) diff --git a/tencentscf.md b/tencentscf.md index 49b1858a..389abb81 100644 --- a/tencentscf.md +++ b/tencentscf.md @@ -1,6 +1,10 @@ # 云函数快速部署京东脚本 +# 两种方式 +- 本地安装依赖使用serverless部署,[点这里]() +- Github Action 部署[点这里]() + ## 1. 安装 Node.js 环境 Node.js 环境 [下载地址](https://nodejs.org/zh-tw/download/) ,根据自己的操作系统下载和安装。 @@ -93,3 +97,18 @@ triggers: ![测试函数](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/./1605263963294-test.png) > 如果需要配置永久秘钥,则可以在[访问秘钥页面](https://console.cloud.tencent.com/cam/capi)获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY,并配置在代码根目录 .env 文件中。 + + +# Github Action 部署 +## 1. 开通服务 + +依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole** + +> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。 + +## 2. 在这里新建一个访问密钥[新建密钥](https://console.cloud.tencent.com/cam/capi) +> 将SecretId和SecretKey分别配置在仓库的secrets变量里面, TENCENT_SECRET_ID对应你的SecretId的值,TENCENT_SECRET_KEY对应你的SecretKey的值 + +## 3. 配置自己需要secrets变量[参考这里](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) + +## 4.执行action workflow进行部署,workflow未报错即部署成功 \ No newline at end of file From d46c278cac79c71a5eaf524edc39e3f7d6e0204d Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 15:49:15 +0800 Subject: [PATCH 0038/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index b5d314b6..fe7c6baf 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -26,7 +26,6 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE }}" serverless.yml - sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml From d7b02694c4a55428f68644fa48d1df54acfc5171 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 15:53:18 +0800 Subject: [PATCH 0039/1259] Update serverless.yml --- serverless.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverless.yml b/serverless.yml index 1db2fb8b..393d4c14 100644 --- a/serverless.yml +++ b/serverless.yml @@ -14,7 +14,7 @@ inputs: region: ap-hongkong # 函数所在区域 description: This is a function in ${app} application. memorySize: 128 # 内存大小,单位MB - timeout: 6000 # 超时时间,单位秒 + timeout: 900 # 超时时间,单位秒 events: # 触发器 - timer: # 定时触发器 parameters: @@ -24,4 +24,4 @@ inputs: argument: argument # 额外的参数 environment: # 环境变量 variables: # 环境变量对象 - AAA: BBB # 不要删除,用来格式化对齐追加的变量的 \ No newline at end of file + AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From dd06cf60ad14a9bcee3bbf367e8418c64206ee22 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 16:35:17 +0800 Subject: [PATCH 0040/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 58 ++++++++++++++---------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index fe7c6baf..916442df 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -25,29 +25,41 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | - sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE }}" serverless.yml - sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml - sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml - sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml - sed -i "/variables/a\ JD_DEBUG: ${{ secrets.JD_DEBUG}}" serverless.yml - sed -i "/variables/a\ PUSH_KEY: ${{ secrets.PUSH_KEY}}" serverless.yml - sed -i "/variables/a\ BARK_PUSH: ${{ secrets.BARK_PUSH}}" serverless.yml - sed -i "/variables/a\ BARK_SOUND: ${{ secrets.BARK_SOUND}}" serverless.yml - sed -i "/variables/a\ TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}}" serverless.yml - sed -i "/variables/a\ TG_USER_ID: ${{ secrets.TG_USER_ID}}" serverless.yml - sed -i "/variables/a\ DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}}" serverless.yml - sed -i "/variables/a\ DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}}" serverless.yml - sed -i "/variables/a\ IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}}" serverless.yml - sed -i "/variables/a\ PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}}" serverless.yml - sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}}" serverless.yml - sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}}" serverless.yml - sed -i "/variables/a\ JD_818_SHAREID_NOTIFY: ${{ secrets.JD_818_SHAREID_NOTIFY}}" serverless.yml - sed -i "/variables/a\ JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}}" serverless.yml - sed -i "/variables/a\ JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}}" serverless.yml - sed -i "/variables/a\ JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}}" serverless.yml - sed -i "/variables/a\ JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}}" serverless.yml - sed -i "/variables/a\ MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}}" serverless.yml - sed -i "/variables/a\ MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}}" serverless.yml + if [${{ secrets.JD_COOKIE }}]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE }}" serverless.yml; fi; + if [${{ secrets.JD_COOKIE}}]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml; fi; + if [${{ secrets.JD_BEAN_STOP}}]; then sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml; fi; + if [${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml; fi; + if [${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml; fi; + if [${{ secrets.JD_DEBUG}}]; then sed -i "/variables/a\ JD_DEBUG: ${{ secrets.JD_DEBUG}}" serverless.yml; fi; + if [${{ secrets.PUSH_KEY}}]; then sed -i "/variables/a\ PUSH_KEY: ${{ secrets.PUSH_KEY}}" serverless.yml; fi; + if [${{ secrets.BARK_PUSH}}]; then sed -i "/variables/a\ BARK_PUSH: ${{ secrets.BARK_PUSH}}" serverless.yml; fi; + if [${{ secrets.BARK_SOUND}}]; then sed -i "/variables/a\ BARK_SOUND: ${{ secrets.BARK_SOUND}}" serverless.yml; fi; + if [${{ secrets.TG_BOT_TOKEN}}]; then sed -i "/variables/a\ TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}}" serverless.yml; fi; + if [${{ secrets.TG_USER_ID}}]; then sed -i "/variables/a\ TG_USER_ID: ${{ secrets.TG_USER_ID}}" serverless.yml; fi; + if [${{ secrets.DD_BOT_TOKEN}}]; then sed -i "/variables/a\ DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}}" serverless.yml; fi; + if [${{ secrets.DD_BOT_SECRET}}]; then sed -i "/variables/a\ DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}}" serverless.yml; fi; + if [${{ secrets.IGOT_PUSH_KEY}}]; then sed -i "/variables/a\ IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}}" serverless.yml; fi; + if [${{ secrets.PET_NOTIFY_CONTROL}}]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}}" serverless.yml; fi; + if [${{ secrets.FRUIT_NOTIFY_CONTROL}}]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}}" serverless.yml; fi; + if [${{ secrets.JD_JOY_REWARD_NOTIFY}}]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}}" serverless.yml; fi; + if [${{ secrets.JD_818_SHAREID_NOTIFY}}]; then sed -i "/variables/a\ JD_818_SHAREID_NOTIFY: ${{ secrets.JD_818_SHAREID_NOTIFY}}" serverless.yml; fi; + if [${{ secrets.JOY_FEED_COUNT}}]; then sed -i "/variables/a\ JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}}" serverless.yml; fi; + if [${{ secrets.JOY_HELP_FEED}}]; then sed -i "/variables/a\ JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}}" serverless.yml; fi; + if [${{ secrets.JOY_RUN_FLAG}}]; then sed -i "/variables/a\ JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}}" serverless.yml; fi; + if [${{ secrets.JD_JOY_REWARD_NAME}}]; then sed -i "/variables/a\ JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}}" serverless.yml; fi; + if [${{ secrets.MARKET_COIN_TO_BEANS}}]; then sed -i "/variables/a\ MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}}" serverless.yml; fi; + if [${{ secrets.MARKET_REWARD_NOTIFY}}]; then sed -i "/variables/a\ MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}}" serverless.yml; fi; + if [${{ secrets.SUPERMARKET_UPGRADE}}]; then sed -i "/variables/a\ SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}}" serverless.yml; fi; + if [${{ secrets.BUSINESS_CIRCLE_JUMP}}]; then sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}}" serverless.yml; fi; + if [${{ secrets.SUPERMARKET_LOTTERY}}]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}}" serverless.yml; fi; + if [${{ secrets.FRUIT_BEAN_CARD}}]; then sed -i "/variables/a\ FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}}" serverless.yml; fi; + if [${{ secrets.UN_SUBSCRIBES}}]; then sed -i "/variables/a\ UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}}" serverless.yml; fi; + if [${{ secrets.FruitShareCodes}}]; then sed -i "/variables/a\ FruitShareCodes: ${{ secrets.FruitShareCodes}}" serverless.yml; fi; + if [${{ secrets.PETSHARECODES}}]; then sed -i "/variables/a\ PETSHARECODES: ${{ secrets.PETSHARECODES}}" serverless.yml; fi; + if [${{ secrets.PLANT_BEAN_SHARECODES}}]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}}" serverless.yml; fi; + if [${{ secrets.SUPERMARKET_SHARECODES}}]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}}" serverless.yml; fi; + if [${{ secrets.TG_PROXY_HOST}}]; then sed -i "/variables/a\ TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}}" serverless.yml; fi; + if [${{ secrets.TG_PROXY_PORT}}]; then sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml; fi; sed -i "/variables/a\ SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}}" serverless.yml sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}}" serverless.yml sed -i "/variables/a\ SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}}" serverless.yml From a0e67ae6ee532d0a2e91736cc6ad3bd60fd98d9c Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 16:35:59 +0800 Subject: [PATCH 0041/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 916442df..584b9893 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -26,7 +26,6 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | if [${{ secrets.JD_COOKIE }}]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE }}" serverless.yml; fi; - if [${{ secrets.JD_COOKIE}}]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml; fi; if [${{ secrets.JD_BEAN_STOP}}]; then sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml; fi; if [${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml; fi; if [${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml; fi; @@ -60,17 +59,6 @@ jobs: if [${{ secrets.SUPERMARKET_SHARECODES}}]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}}" serverless.yml; fi; if [${{ secrets.TG_PROXY_HOST}}]; then sed -i "/variables/a\ TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}}" serverless.yml; fi; if [${{ secrets.TG_PROXY_PORT}}]; then sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml; fi; - sed -i "/variables/a\ SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}}" serverless.yml - sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}}" serverless.yml - sed -i "/variables/a\ SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}}" serverless.yml - sed -i "/variables/a\ FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}}" serverless.yml - sed -i "/variables/a\ UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}}" serverless.yml - sed -i "/variables/a\ FruitShareCodes: ${{ secrets.FruitShareCodes}}" serverless.yml - sed -i "/variables/a\ PETSHARECODES: ${{ secrets.PETSHARECODES}}" serverless.yml - sed -i "/variables/a\ PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}}" serverless.yml - sed -i "/variables/a\ SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}}" serverless.yml - sed -i "/variables/a\ TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}}" serverless.yml - sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml cat serverless.yml - name: "部署到腾讯云函数" From 4fe5a49966468e8d0bf8ed7b1f052f89e54bbc43 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 16:50:40 +0800 Subject: [PATCH 0042/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 69 ++++++++++++------------ 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 584b9893..5e37b089 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -25,40 +25,41 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | - if [${{ secrets.JD_COOKIE }}]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE }}" serverless.yml; fi; - if [${{ secrets.JD_BEAN_STOP}}]; then sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml; fi; - if [${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml; fi; - if [${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml; fi; - if [${{ secrets.JD_DEBUG}}]; then sed -i "/variables/a\ JD_DEBUG: ${{ secrets.JD_DEBUG}}" serverless.yml; fi; - if [${{ secrets.PUSH_KEY}}]; then sed -i "/variables/a\ PUSH_KEY: ${{ secrets.PUSH_KEY}}" serverless.yml; fi; - if [${{ secrets.BARK_PUSH}}]; then sed -i "/variables/a\ BARK_PUSH: ${{ secrets.BARK_PUSH}}" serverless.yml; fi; - if [${{ secrets.BARK_SOUND}}]; then sed -i "/variables/a\ BARK_SOUND: ${{ secrets.BARK_SOUND}}" serverless.yml; fi; - if [${{ secrets.TG_BOT_TOKEN}}]; then sed -i "/variables/a\ TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}}" serverless.yml; fi; - if [${{ secrets.TG_USER_ID}}]; then sed -i "/variables/a\ TG_USER_ID: ${{ secrets.TG_USER_ID}}" serverless.yml; fi; - if [${{ secrets.DD_BOT_TOKEN}}]; then sed -i "/variables/a\ DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}}" serverless.yml; fi; - if [${{ secrets.DD_BOT_SECRET}}]; then sed -i "/variables/a\ DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}}" serverless.yml; fi; - if [${{ secrets.IGOT_PUSH_KEY}}]; then sed -i "/variables/a\ IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}}" serverless.yml; fi; - if [${{ secrets.PET_NOTIFY_CONTROL}}]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}}" serverless.yml; fi; - if [${{ secrets.FRUIT_NOTIFY_CONTROL}}]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}}" serverless.yml; fi; - if [${{ secrets.JD_JOY_REWARD_NOTIFY}}]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}}" serverless.yml; fi; - if [${{ secrets.JD_818_SHAREID_NOTIFY}}]; then sed -i "/variables/a\ JD_818_SHAREID_NOTIFY: ${{ secrets.JD_818_SHAREID_NOTIFY}}" serverless.yml; fi; - if [${{ secrets.JOY_FEED_COUNT}}]; then sed -i "/variables/a\ JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}}" serverless.yml; fi; - if [${{ secrets.JOY_HELP_FEED}}]; then sed -i "/variables/a\ JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}}" serverless.yml; fi; - if [${{ secrets.JOY_RUN_FLAG}}]; then sed -i "/variables/a\ JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}}" serverless.yml; fi; - if [${{ secrets.JD_JOY_REWARD_NAME}}]; then sed -i "/variables/a\ JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}}" serverless.yml; fi; - if [${{ secrets.MARKET_COIN_TO_BEANS}}]; then sed -i "/variables/a\ MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}}" serverless.yml; fi; - if [${{ secrets.MARKET_REWARD_NOTIFY}}]; then sed -i "/variables/a\ MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}}" serverless.yml; fi; - if [${{ secrets.SUPERMARKET_UPGRADE}}]; then sed -i "/variables/a\ SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}}" serverless.yml; fi; - if [${{ secrets.BUSINESS_CIRCLE_JUMP}}]; then sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}}" serverless.yml; fi; - if [${{ secrets.SUPERMARKET_LOTTERY}}]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}}" serverless.yml; fi; - if [${{ secrets.FRUIT_BEAN_CARD}}]; then sed -i "/variables/a\ FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}}" serverless.yml; fi; - if [${{ secrets.UN_SUBSCRIBES}}]; then sed -i "/variables/a\ UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}}" serverless.yml; fi; - if [${{ secrets.FruitShareCodes}}]; then sed -i "/variables/a\ FruitShareCodes: ${{ secrets.FruitShareCodes}}" serverless.yml; fi; - if [${{ secrets.PETSHARECODES}}]; then sed -i "/variables/a\ PETSHARECODES: ${{ secrets.PETSHARECODES}}" serverless.yml; fi; - if [${{ secrets.PLANT_BEAN_SHARECODES}}]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}}" serverless.yml; fi; - if [${{ secrets.SUPERMARKET_SHARECODES}}]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}}" serverless.yml; fi; - if [${{ secrets.TG_PROXY_HOST}}]; then sed -i "/variables/a\ TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}}" serverless.yml; fi; - if [${{ secrets.TG_PROXY_PORT}}]; then sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml; fi; + if [ ${{ secrets.JD_COOKIE }} ]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE }}" serverless.yml; fi; + if [ ${{ secrets.JD_COOKIE}} ]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml; fi; + if [ ${{ secrets.JD_BEAN_STOP}} ]; then sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml; fi; + if [ ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml; fi; + if [ ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml; fi; + if [ ${{ secrets.JD_DEBUG}} ]; then sed -i "/variables/a\ JD_DEBUG: ${{ secrets.JD_DEBUG}}" serverless.yml; fi; + if [ ${{ secrets.PUSH_KEY}} ]; then sed -i "/variables/a\ PUSH_KEY: ${{ secrets.PUSH_KEY}}" serverless.yml; fi; + if [ ${{ secrets.BARK_PUSH}} ]; then sed -i "/variables/a\ BARK_PUSH: ${{ secrets.BARK_PUSH}}" serverless.yml; fi; + if [ ${{ secrets.BARK_SOUND}} ]; then sed -i "/variables/a\ BARK_SOUND: ${{ secrets.BARK_SOUND}}" serverless.yml; fi; + if [ ${{ secrets.TG_BOT_TOKEN}} ]; then sed -i "/variables/a\ TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}}" serverless.yml; fi; + if [ ${{ secrets.TG_USER_ID}} ]; then sed -i "/variables/a\ TG_USER_ID: ${{ secrets.TG_USER_ID}}" serverless.yml; fi; + if [ ${{ secrets.DD_BOT_TOKEN}} ]; then sed -i "/variables/a\ DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}}" serverless.yml; fi; + if [ ${{ secrets.DD_BOT_SECRET}} ]; then sed -i "/variables/a\ DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}}" serverless.yml; fi; + if [ ${{ secrets.IGOT_PUSH_KEY}} ]; then sed -i "/variables/a\ IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}}" serverless.yml; fi; + if [ ${{ secrets.PET_NOTIFY_CONTROL}} ]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}}" serverless.yml; fi; + if [ ${{ secrets.FRUIT_NOTIFY_CONTROL}} ]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}}" serverless.yml; fi; + if [ ${{ secrets.JD_JOY_REWARD_NOTIFY}} ]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}}" serverless.yml; fi; + if [ ${{ secrets.JD_818_SHAREID_NOTIFY}} ]; then sed -i "/variables/a\ JD_818_SHAREID_NOTIFY: ${{ secrets.JD_818_SHAREID_NOTIFY}}" serverless.yml; fi; + if [ ${{ secrets.JOY_FEED_COUNT}} ]; then sed -i "/variables/a\ JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}}" serverless.yml; fi; + if [ ${{ secrets.JOY_HELP_FEED}} ]; then sed -i "/variables/a\ JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}}" serverless.yml; fi; + if [ ${{ secrets.JOY_RUN_FLAG}} ]; then sed -i "/variables/a\ JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}}" serverless.yml; fi; + if [ ${{ secrets.JD_JOY_REWARD_NAME}} ]; then sed -i "/variables/a\ JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}}" serverless.yml; fi; + if [ ${{ secrets.MARKET_COIN_TO_BEANS}} ]; then sed -i "/variables/a\ MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}}" serverless.yml; fi; + if [ ${{ secrets.MARKET_REWARD_NOTIFY}} ]; then sed -i "/variables/a\ MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}}" serverless.yml; fi; + if [ ${{ secrets.SUPERMARKET_UPGRADE}} ]; then sed -i "/variables/a\ SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}}" serverless.yml; fi; + if [ ${{ secrets.BUSINESS_CIRCLE_JUMP}} ]; then sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}}" serverless.yml; fi; + if [ ${{ secrets.SUPERMARKET_LOTTERY}} ]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}}" serverless.yml; fi; + if [ ${{ secrets.FRUIT_BEAN_CARD}} ]; then sed -i "/variables/a\ FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}}" serverless.yml; fi; + if [ ${{ secrets.UN_SUBSCRIBES}} ]; then sed -i "/variables/a\ UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}}" serverless.yml; fi; + if [ ${{ secrets.FruitShareCodes}} ]; then sed -i "/variables/a\ FruitShareCodes: ${{ secrets.FruitShareCodes}}" serverless.yml; fi; + if [ ${{ secrets.PETSHARECODES}} ]; then sed -i "/variables/a\ PETSHARECODES: ${{ secrets.PETSHARECODES}}" serverless.yml; fi; + if [ ${{ secrets.PLANT_BEAN_SHARECODES}} ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}}" serverless.yml; fi; + if [ ${{ secrets.SUPERMARKET_SHARECODES}} ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}}" serverless.yml; fi; + if [ ${{ secrets.TG_PROXY_HOST}} ]; then sed -i "/variables/a\ TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}}" serverless.yml; fi; + if [ ${{ secrets.TG_PROXY_PORT}} ]; then sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml; fi; cat serverless.yml - name: "部署到腾讯云函数" From 89599f0c668a062cfb22a0a6f748adf40bef89e8 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 16:57:26 +0800 Subject: [PATCH 0043/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 5e37b089..d40a8346 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -25,7 +25,6 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | - if [ ${{ secrets.JD_COOKIE }} ]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE }}" serverless.yml; fi; if [ ${{ secrets.JD_COOKIE}} ]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml; fi; if [ ${{ secrets.JD_BEAN_STOP}} ]; then sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml; fi; if [ ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml; fi; From f3fd698e771f24c3386b45bddec202b27ecc6f49 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 17:09:11 +0800 Subject: [PATCH 0044/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index d40a8346..5f817b4b 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -25,7 +25,7 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | - if [ ${{ secrets.JD_COOKIE}} ]; then sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml; fi; + sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml if [ ${{ secrets.JD_BEAN_STOP}} ]; then sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml; fi; if [ ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml; fi; if [ ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml; fi; From 22dfd325c3fb95315b2ba0a815a44f37d13bd304 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 17:13:51 +0800 Subject: [PATCH 0045/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 5f817b4b..b46c786f 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -22,6 +22,8 @@ jobs: run: | npm install sudo npm install serverless -g + env: + TG_USER_ID: ${{ secrets.TG_USER_ID}} - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | @@ -34,7 +36,7 @@ jobs: if [ ${{ secrets.BARK_PUSH}} ]; then sed -i "/variables/a\ BARK_PUSH: ${{ secrets.BARK_PUSH}}" serverless.yml; fi; if [ ${{ secrets.BARK_SOUND}} ]; then sed -i "/variables/a\ BARK_SOUND: ${{ secrets.BARK_SOUND}}" serverless.yml; fi; if [ ${{ secrets.TG_BOT_TOKEN}} ]; then sed -i "/variables/a\ TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}}" serverless.yml; fi; - if [ ${{ secrets.TG_USER_ID}} ]; then sed -i "/variables/a\ TG_USER_ID: ${{ secrets.TG_USER_ID}}" serverless.yml; fi; + if [ $TG_USER_ID ]; then sed -i "/variables/a\ TG_USER_ID: $TG_USER_ID" serverless.yml; fi; if [ ${{ secrets.DD_BOT_TOKEN}} ]; then sed -i "/variables/a\ DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}}" serverless.yml; fi; if [ ${{ secrets.DD_BOT_SECRET}} ]; then sed -i "/variables/a\ DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}}" serverless.yml; fi; if [ ${{ secrets.IGOT_PUSH_KEY}} ]; then sed -i "/variables/a\ IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}}" serverless.yml; fi; From fa5ab69088d84cce79ab9fbb1b4cba78bb9a66e0 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 17:17:42 +0800 Subject: [PATCH 0046/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index b46c786f..a53c9dd6 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -62,6 +62,7 @@ jobs: if [ ${{ secrets.TG_PROXY_HOST}} ]; then sed -i "/variables/a\ TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}}" serverless.yml; fi; if [ ${{ secrets.TG_PROXY_PORT}} ]; then sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml; fi; cat serverless.yml + env - name: "部署到腾讯云函数" run: serverless deploy From a7eb3bd09db4b63f9c1377fab9d1226604e020ed Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 17:21:15 +0800 Subject: [PATCH 0047/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index a53c9dd6..2787462c 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -22,6 +22,7 @@ jobs: run: | npm install sudo npm install serverless -g + env env: TG_USER_ID: ${{ secrets.TG_USER_ID}} @@ -63,6 +64,8 @@ jobs: if [ ${{ secrets.TG_PROXY_PORT}} ]; then sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml; fi; cat serverless.yml env + env: + TG_USER_ID: ${{ secrets.TG_USER_ID}} - name: "部署到腾讯云函数" run: serverless deploy From 02f67ed9b80d5652d6fcc967719336de34a24fde Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 18 Nov 2020 17:21:55 +0800 Subject: [PATCH 0048/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug,=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=AF=8F=E6=97=A5=E7=AD=BE=E5=88=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_pigPet.js | 151 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 146 insertions(+), 5 deletions(-) diff --git a/jd_pigPet.js b/jd_pigPet.js index 3d1a6bf3..3aedd669 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -59,6 +59,10 @@ if ($.isNode()) { $.done(); }) async function jdPigPet() { + await pigPetLogin(); + if (!$.hasPig) return + await pigPetSignIndex(); + await pigPetSign(); await pigPetOpenBox(); await pigPetLotteryIndex(); await pigPetLottery(); @@ -71,6 +75,53 @@ async function pigPetLottery() { } } } +async function pigPetSign() { + if (!$.sign) { + await pigPetSignOne(); + } else { + console.log(`第${$.no}天已签到\n`) + } +} +function pigPetSignOne() { + return new Promise(async resolve => { + const body = { + "source":2, + "channelLV":"juheye", + "riskDeviceParam": "{}", + "no": $.no + } + $.post(taskUrl('pigPetSignOne', 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.resultCode === 0) { + // if (data.resultData.resultData) { + // console.log(`当前大转盘剩余免费抽奖次数::${data.resultData.resultData.currentCount}`); + // $.sign = data.resultData.resultData.sign; + // $.no = data.resultData.resultData.today; + // } + // } else { + // console.log(`查询签到情况异常:${JSON.stringify(data)}`) + // } + // } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} //查询背包食物 function pigPetUserBag() { return new Promise(async resolve => { @@ -120,7 +171,19 @@ function pigPetUserBag() { function pigPetAddFood(skuId) { return new Promise(async resolve => { console.log(`skuId::::${skuId}`) - const body = {"source":0,"channelLV":"yqs","riskDeviceParam":"{}","t":Date.now(), skuId ,"category":"1001"} + const body = { + "source": 0, + "channelLV":"yqs", + "riskDeviceParam":"{}", + "skuId": skuId.toString(), + "category":"1001", + } + // const body = { + // "source": 2, + // "channelLV":"juheye", + // "riskDeviceParam":"{}", + // "skuId": skuId.toString(), + // } $.post(taskUrl('pigPetAddFood', body), (err, resp, data) => { try { if (err) { @@ -142,6 +205,43 @@ function pigPetAddFood(skuId) { }) }) } +function pigPetLogin() { + return new Promise(async resolve => { + const body = { + "source":2, + "channelLV":"juheye", + "riskDeviceParam":"{}", + } + $.post(taskUrl('pigPetLogin', body), 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.resultCode === 0) { + if (data.resultData.resultCode === 0) { + $.hasPig = data.resultData.resultData.hasPig; + if (!$.hasPig) { + console.log(`\n京东账号${$.index} ${$.nickName} 未开启养猪活动,请手动去京东金融APP开启此活动\n`) + } + } else { + console.log(`Login其他情况:${JSON.stringify(data)}`) + } + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} //开宝箱 function pigPetOpenBox() { return new Promise(async resolve => { @@ -223,6 +323,46 @@ function pigPetLotteryIndex() { }) }) } +//查询签到情况 +function pigPetSignIndex() { + $.sign = true; + return new Promise(async resolve => { + const body = { + "source":2, + "channelLV":"juheye", + "riskDeviceParam": "{}" + } + $.post(taskUrl('pigPetSignIndex', 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.resultCode === 0) { + if (data.resultData.resultData) { + $.sign = data.resultData.resultData.sign; + $.no = data.resultData.resultData.today; + } + } else { + console.log(`查询签到情况异常:${JSON.stringify(data)}`) + } + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} //抽奖 function pigPetLotteryPlay() { return new Promise(async resolve => { @@ -309,15 +449,16 @@ function taskUrl(function_id, body) { url: `${JD_API_HOST}/${function_id}?_=${Date.now()}`, body: `reqData=${encodeURIComponent(JSON.stringify(body))}`, headers: { - 'Accept' : `application/json`, - 'Origin' : `https://uua.jr.jd.com`, + 'Accept' : `*/*`, + 'Origin' : `https://u.jr.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' : `jdapp;iPhone;9.0.0;13.4.1;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;ADID/F75E8AED-CB48-4EAC-A213-E8CE4018F214;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167237;supportBestPay/0;jdSupportDarkMode/0;pv/1287.19;apprpd/MyJD_GameMain;ref/https%3A%2F%2Fuua.jr.jd.com%2Fuc-fe-wxgrowing%2Fmoneytree%2Findex%2F%3Fchannel%3Dyxhd%26lng%3D113.325843%26lat%3D23.204628%26sid%3D2d98e88cf7d182f60d533476c2ce777w%26un_area%3D19_1601_50258_51885;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|3485;jdv/0|kong|t_1000170135|tuiguang|notset|1593059927172|1593059927;adk/;app_device/IOS;pap/JA2015_311210|9.0.0|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Referer' : `https://uua.jr.jd.com`, + // 'User-Agent' : `jdapp;iPhone;9.0.0;13.4.1;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;ADID/F75E8AED-CB48-4EAC-A213-E8CE4018F214;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167237;supportBestPay/0;jdSupportDarkMode/0;pv/1287.19;apprpd/MyJD_GameMain;ref/https%3A%2F%2Fuua.jr.jd.com%2Fuc-fe-wxgrowing%2Fmoneytree%2Findex%2F%3Fchannel%3Dyxhd%26lng%3D113.325843%26lat%3D23.204628%26sid%3D2d98e88cf7d182f60d533476c2ce777w%26un_area%3D19_1601_50258_51885;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|3485;jdv/0|kong|t_1000170135|tuiguang|notset|1593059927172|1593059927;adk/;app_device/IOS;pap/JA2015_311210|9.0.0|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, + 'User-Agent' : `jdapp;android;8.5.12;9;network/wifi;model/GM1910;addressid/1302541636;aid/ac31e03386ddbec6;oaid/;osVer/28;appBuild/73078;adk/;ads/;pap/JA2015_311210|8.5.12|ANDROID 9;osv/9;pv/117.24;jdv/0|kong|t_1000217905_|jingfen|644e9b005c8542c1ac273da7763971d8|1589905791552|1589905794;ref/com.jingdong.app.mall.WebActivity;partner/oppo;apprpd/Home_Main;Mozilla/5.0 (Linux; Android 9; GM1910 Build/PKQ1.190110.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36 Edg/86.0.4240.111`, + 'Referer' : `https://u.jr.jd.com/`, 'Accept-Language' : `zh-cn` } } From a21f63cdf33baa895e4d07bcdf65b1a715d90056 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 17:30:43 +0800 Subject: [PATCH 0049/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 104 +++++++++++++++-------- 1 file changed, 67 insertions(+), 37 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 2787462c..b7ecdd65 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -22,50 +22,80 @@ jobs: run: | npm install sudo npm install serverless -g - env - env: - TG_USER_ID: ${{ secrets.TG_USER_ID}} - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | - sed -i "/variables/a\ JD_COOKIE: ${{ secrets.JD_COOKIE}}" serverless.yml - if [ ${{ secrets.JD_BEAN_STOP}} ]; then sed -i "/variables/a\ JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}}" serverless.yml; fi; - if [ ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}}" serverless.yml; fi; - if [ ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}}" serverless.yml; fi; - if [ ${{ secrets.JD_DEBUG}} ]; then sed -i "/variables/a\ JD_DEBUG: ${{ secrets.JD_DEBUG}}" serverless.yml; fi; - if [ ${{ secrets.PUSH_KEY}} ]; then sed -i "/variables/a\ PUSH_KEY: ${{ secrets.PUSH_KEY}}" serverless.yml; fi; - if [ ${{ secrets.BARK_PUSH}} ]; then sed -i "/variables/a\ BARK_PUSH: ${{ secrets.BARK_PUSH}}" serverless.yml; fi; - if [ ${{ secrets.BARK_SOUND}} ]; then sed -i "/variables/a\ BARK_SOUND: ${{ secrets.BARK_SOUND}}" serverless.yml; fi; - if [ ${{ secrets.TG_BOT_TOKEN}} ]; then sed -i "/variables/a\ TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}}" serverless.yml; fi; + if [ $JD_COOKIE ]; then sed -i "/variables/a\ JD_COOKIE: $JD_COOKIE" serverless.yml; fi; + if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; + if [ $JD_BEAN_SIGN_STOP_NOTIFY ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: $JD_BEAN_SIGN_STOP_NOTIFY" serverless.yml; fi; + if [ $JD_BEAN_SIGN_NOTIFY_SIMPLE ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: $JD_BEAN_SIGN_NOTIFY_SIMPLE" serverless.yml; fi; + if [ $JD_DEBUG ]; then sed -i "/variables/a\ JD_DEBUG: $JD_DEBUG" serverless.yml; fi; + if [ $PUSH_KEY ]; then sed -i "/variables/a\ PUSH_KEY: $PUSH_KEY" serverless.yml; fi; + if [ $BARK_PUSH ]; then sed -i "/variables/a\ BARK_PUSH: $BARK_PUSH" serverless.yml; fi; + if [ $BARK_SOUND ]; then sed -i "/variables/a\ BARK_SOUND: $BARK_SOUND" serverless.yml; fi; + if [ $TG_BOT_TOKEN ]; then sed -i "/variables/a\ TG_BOT_TOKEN: $TG_BOT_TOKEN" serverless.yml; fi; if [ $TG_USER_ID ]; then sed -i "/variables/a\ TG_USER_ID: $TG_USER_ID" serverless.yml; fi; - if [ ${{ secrets.DD_BOT_TOKEN}} ]; then sed -i "/variables/a\ DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}}" serverless.yml; fi; - if [ ${{ secrets.DD_BOT_SECRET}} ]; then sed -i "/variables/a\ DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}}" serverless.yml; fi; - if [ ${{ secrets.IGOT_PUSH_KEY}} ]; then sed -i "/variables/a\ IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}}" serverless.yml; fi; - if [ ${{ secrets.PET_NOTIFY_CONTROL}} ]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}}" serverless.yml; fi; - if [ ${{ secrets.FRUIT_NOTIFY_CONTROL}} ]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}}" serverless.yml; fi; - if [ ${{ secrets.JD_JOY_REWARD_NOTIFY}} ]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}}" serverless.yml; fi; - if [ ${{ secrets.JD_818_SHAREID_NOTIFY}} ]; then sed -i "/variables/a\ JD_818_SHAREID_NOTIFY: ${{ secrets.JD_818_SHAREID_NOTIFY}}" serverless.yml; fi; - if [ ${{ secrets.JOY_FEED_COUNT}} ]; then sed -i "/variables/a\ JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}}" serverless.yml; fi; - if [ ${{ secrets.JOY_HELP_FEED}} ]; then sed -i "/variables/a\ JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}}" serverless.yml; fi; - if [ ${{ secrets.JOY_RUN_FLAG}} ]; then sed -i "/variables/a\ JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}}" serverless.yml; fi; - if [ ${{ secrets.JD_JOY_REWARD_NAME}} ]; then sed -i "/variables/a\ JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}}" serverless.yml; fi; - if [ ${{ secrets.MARKET_COIN_TO_BEANS}} ]; then sed -i "/variables/a\ MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}}" serverless.yml; fi; - if [ ${{ secrets.MARKET_REWARD_NOTIFY}} ]; then sed -i "/variables/a\ MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}}" serverless.yml; fi; - if [ ${{ secrets.SUPERMARKET_UPGRADE}} ]; then sed -i "/variables/a\ SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}}" serverless.yml; fi; - if [ ${{ secrets.BUSINESS_CIRCLE_JUMP}} ]; then sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}}" serverless.yml; fi; - if [ ${{ secrets.SUPERMARKET_LOTTERY}} ]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}}" serverless.yml; fi; - if [ ${{ secrets.FRUIT_BEAN_CARD}} ]; then sed -i "/variables/a\ FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}}" serverless.yml; fi; - if [ ${{ secrets.UN_SUBSCRIBES}} ]; then sed -i "/variables/a\ UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}}" serverless.yml; fi; - if [ ${{ secrets.FruitShareCodes}} ]; then sed -i "/variables/a\ FruitShareCodes: ${{ secrets.FruitShareCodes}}" serverless.yml; fi; - if [ ${{ secrets.PETSHARECODES}} ]; then sed -i "/variables/a\ PETSHARECODES: ${{ secrets.PETSHARECODES}}" serverless.yml; fi; - if [ ${{ secrets.PLANT_BEAN_SHARECODES}} ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}}" serverless.yml; fi; - if [ ${{ secrets.SUPERMARKET_SHARECODES}} ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}}" serverless.yml; fi; - if [ ${{ secrets.TG_PROXY_HOST}} ]; then sed -i "/variables/a\ TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}}" serverless.yml; fi; - if [ ${{ secrets.TG_PROXY_PORT}} ]; then sed -i "/variables/a\ TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}}" serverless.yml; fi; + if [ $DD_BOT_TOKEN ]; then sed -i "/variables/a\ DD_BOT_TOKEN: $DD_BOT_TOKEN" serverless.yml; fi; + if [ $DD_BOT_SECRET ]; then sed -i "/variables/a\ DD_BOT_SECRET: $DD_BOT_SECRET" serverless.yml; fi; + if [ $IGOT_PUSH_KEY ]; then sed -i "/variables/a\ IGOT_PUSH_KEY: $IGOT_PUSH_KEY" serverless.yml; fi; + if [ $PET_NOTIFY_CONTROL ]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: $PET_NOTIFY_CONTROL" serverless.yml; fi; + if [ $FRUIT_NOTIFY_CONTROL ]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: $FRUIT_NOTIFY_CONTROL" serverless.yml; fi; + if [ $JD_JOY_REWARD_NOTIFY ]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: $JD_JOY_REWARD_NOTIFY" serverless.yml; fi; + if [ $JD_818_SHAREID_NOTIFY ]; then sed -i "/variables/a\ JD_818_SHAREID_NOTIFY: $JD_818_SHAREID_NOTIFY" serverless.yml; fi; + if [ $JOY_FEED_COUNT ]; then sed -i "/variables/a\ JOY_FEED_COUNT: $JOY_FEED_COUNT" serverless.yml; fi; + if [ $JOY_HELP_FEED ]; then sed -i "/variables/a\ JOY_HELP_FEED: $JOY_HELP_FEED" serverless.yml; fi; + if [ $JOY_RUN_FLAG ]; then sed -i "/variables/a\ JOY_RUN_FLAG: $JOY_RUN_FLAG" serverless.yml; fi; + if [ $JD_JOY_REWARD_NAME ]; then sed -i "/variables/a\ JD_JOY_REWARD_NAME: $JD_JOY_REWARD_NAME" serverless.yml; fi; + if [ $MARKET_COIN_TO_BEANS ]; then sed -i "/variables/a\ MARKET_COIN_TO_BEANS: $MARKET_COIN_TO_BEANS" serverless.yml; fi; + if [ $MARKET_REWARD_NOTIFY ]; then sed -i "/variables/a\ MARKET_REWARD_NOTIFY: $MARKET_REWARD_NOTIFY" serverless.yml; fi; + if [ $SUPERMARKET_UPGRADE ]; then sed -i "/variables/a\ SUPERMARKET_UPGRADE: $SUPERMARKET_UPGRADE" serverless.yml; fi; + if [ $BUSINESS_CIRCLE_JUMP ]; then sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: $BUSINESS_CIRCLE_JUMP" serverless.yml; fi; + if [ $SUPERMARKET_LOTTERY ]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: $SUPERMARKET_LOTTERY" serverless.yml; fi; + if [ $FRUIT_BEAN_CARD ]; then sed -i "/variables/a\ FRUIT_BEAN_CARD: $FRUIT_BEAN_CARD" serverless.yml; fi; + if [ $UN_SUBSCRIBES ]; then sed -i "/variables/a\ UN_SUBSCRIBES: $UN_SUBSCRIBES" serverless.yml; fi; + if [ $FruitShareCodes ]; then sed -i "/variables/a\ FruitShareCodes: $FruitShareCodes" serverless.yml; fi; + if [ $PETSHARECODES ]; then sed -i "/variables/a\ PETSHARECODES: $PETSHARECODES" serverless.yml; fi; + if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; + if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; + if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; + if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; cat serverless.yml env - env: + env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 + JD_COOKIE: ${{ secrets.JD_COOKIE}} + JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} + JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} + JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} + JD_DEBUG: ${{ secrets.JD_DEBUG}} + PUSH_KEY: ${{ secrets.PUSH_KEY}} + BARK_PUSH: ${{ secrets.BARK_PUSH}} + BARK_SOUND: ${{ secrets.BARK_SOUND}} + TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}} TG_USER_ID: ${{ secrets.TG_USER_ID}} + DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}} + DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}} + IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}} + PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}} + FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}} + JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}} + JD_818_SHAREID_NOTIFY: ${{ secrets.JD_818_SHAREID_NOTIFY}} + JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}} + JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}} + JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}} + JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}} + MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}} + MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}} + SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}} + BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}} + SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}} + FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}} + UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}} + FruitShareCodes: ${{ secrets.FruitShareCodes}} + PETSHARECODES: ${{ secrets.PETSHARECODES}} + PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}} + SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}} + TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} + TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} - name: "部署到腾讯云函数" run: serverless deploy From c8376a7a5581fa9dc4e1b07c5f6e42679238c094 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 17:34:17 +0800 Subject: [PATCH 0050/1259] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 44a6eb50..04d49abf 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ - 需自行有云服务器,云函数等 - 腾讯云云函数 [快速部署教程](tencentscf.md)(免费) - 腾讯云云函数控制台使用 [教程说明](iCloud.md) - - 腾讯云云函数 [GitHub Action部署教程](tencentscf.md)(免费) + - 腾讯云云函数 [GitHub Action部署教程](tencentscf.md#github-action-部署) ### 方法三:Docker(NAS或VPS用户) From c6410f04856c060ffb26f1b44d3c6c1915591a44 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 17:45:27 +0800 Subject: [PATCH 0051/1259] Update tencentscf.md --- tencentscf.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tencentscf.md b/tencentscf.md index 389abb81..e5a7084b 100644 --- a/tencentscf.md +++ b/tencentscf.md @@ -1,9 +1,8 @@ # 云函数快速部署京东脚本 - -# 两种方式 -- 本地安装依赖使用serverless部署,[点这里]() -- Github Action 部署[点这里]() +> +> - 本地安装依赖使用serverless部署,[点这里](tencentscf.md#1-安装-nodejs-环境) +> - Github Action 部署[点这里](tencentscf.md#github-action-部署) ## 1. 安装 Node.js 环境 @@ -109,6 +108,14 @@ triggers: ## 2. 在这里新建一个访问密钥[新建密钥](https://console.cloud.tencent.com/cam/capi) > 将SecretId和SecretKey分别配置在仓库的secrets变量里面, TENCENT_SECRET_ID对应你的SecretId的值,TENCENT_SECRET_KEY对应你的SecretKey的值 -## 3. 配置自己需要secrets变量[参考这里](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) +## 3. 配置自己需要secrets变量[参考这里](githubAction.md#下方提供使用到的-secrets全集合) -## 4.执行action workflow进行部署,workflow未报错即部署成功 \ No newline at end of file +## 4.执行action workflow进行部署,workflow未报错即部署成功 +![image](https://user-images.githubusercontent.com/6993269/99513289-6a152980-29c5-11eb-9266-3f56ba13d3b2.png) +## 5. 查看和测试 +登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 + +在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 + +![测试函数](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/./1605263963294-test.png) +## 6. 设置触发器[看这里](iCloud.md#5设置触发器) From 4e731fa08b075cc9727f7680a494c02a18bb5dab Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 18 Nov 2020 17:55:07 +0800 Subject: [PATCH 0052/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_reward.js | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index a8f331a7..c6fa4f43 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -1,9 +1,7 @@ /* 宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 -更新时间:2020-11-05 +更新时间:2020-11-18 兑换规则:一个账号一天只能兑换一次京豆。 -1-20级:340积分兑换20京豆, 21-25级:320积分换20京豆 -再往上的等级兑换规则目前不知,欢迎大家提供信息 兑换奖品成功后才会有系统弹窗通知 每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 支持京东双账号 @@ -141,6 +139,8 @@ async function joyReward() { } else { console.log(`兑奖异常:${JSON.stringify($.exchangeRes)}`) } + } else { + console.log(`兑换京豆异常:${JSON.stringify($.exchangeRes)}`) } } else { console.log(`兑换${rewardNum}京豆失败,原因:京豆库存不足,已抢完,请下一场再兑换`) @@ -153,7 +153,7 @@ async function joyReward() { console.log('您设置了不兑换京豆,如需兑换京豆,请去BoxJs重新设置或修改第20行代码') } } else { - console.log(`${$.name}异常,${JSON.stringify($.getExchangeRewardsRes)}`) + console.log(`${$.name}getExchangeRewards异常,${JSON.stringify($.getExchangeRewardsRes)}`) } } function getExchangeRewards() { @@ -175,10 +175,15 @@ function getExchangeRewards() { } $.get(option, (err, resp, data) => { try { - if (data) { - $.getExchangeRewardsRes = JSON.parse(data); + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) } else { - console.log(`${$.name}京豆api返回数据为空,请检查自身原因`) + if (data) { + $.getExchangeRewardsRes = JSON.parse(data); + } else { + console.log(`${$.name}api返回数据为空,请检查自身原因`) + } } } catch (e) { $.logErr(e, resp); @@ -210,11 +215,15 @@ function exchange(saleInfoId, orderSource) { } $.post(option, (err, resp, data) => { try { - // console.log('exchange', data) - if (data) { - $.exchangeRes = JSON.parse(data); + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) } else { - console.log(`${$.name}京豆api返回数据为空,请检查自身原因`) + if (data) { + $.exchangeRes = JSON.parse(data); + } else { + console.log(`${$.name}api返回数据为空,请检查自身原因`) + } } } catch (e) { $.logErr(e, resp); From 8337188b255c88def9f72c03b3ef5266c11b625d Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 20:12:10 +0800 Subject: [PATCH 0053/1259] Update index.js --- index.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 82e1aedb..cc1358ff 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,10 @@ 'use strict'; exports.main_handler = async (event, context, callback) => { - require('./jd_xtg.js') //这里写你想要的脚本 - require('./jd_fruit.js') //这里写你想要的脚本 + for (const v of event["Message"].split("\r\n")) { + console.log(v); + var request = require('request'); + request('https://gitee.com/lxk0301/jd_scripts/raw/master/'+v+'.js', function (error, response, body) { + eval(response.body) + }) + } } From 7e9465994b74d05bcbd771b17008f44fbbc54163 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 20:15:40 +0800 Subject: [PATCH 0054/1259] Update serverless.yml --- serverless.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/serverless.yml b/serverless.yml index 393d4c14..0f64e4e6 100644 --- a/serverless.yml +++ b/serverless.yml @@ -18,10 +18,16 @@ inputs: events: # 触发器 - timer: # 定时触发器 parameters: - # name: timer # 触发器名称,默认timer-${name}-${stage} + name: jd_bean_sign # 触发器名称 cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 enable: true - argument: argument # 额外的参数 + argument: jd_bean_sign # 额外的参数 + - timer: # 定时触发器 + parameters: + name: jd_blueCoin + cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 + enable: true + argument: jd_blueCoin,jd_club_lottery # 额外的参数 environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From dc15805f18fafcaeb3b7774b4ffc8eb3918aa1af Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 20:18:50 +0800 Subject: [PATCH 0055/1259] Update serverless.yml --- serverless.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/serverless.yml b/serverless.yml index 0f64e4e6..de6970ed 100644 --- a/serverless.yml +++ b/serverless.yml @@ -27,7 +27,9 @@ inputs: name: jd_blueCoin cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 enable: true - argument: jd_blueCoin,jd_club_lottery # 额外的参数 + argument: + - jd_blueCoin + - jd_club_lottery # 额外的参数 environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 0156655b24ab2898756b1b8babc5cc7aafb6abe0 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 20:26:09 +0800 Subject: [PATCH 0056/1259] Update serverless.yml --- serverless.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index de6970ed..3207b24a 100644 --- a/serverless.yml +++ b/serverless.yml @@ -27,9 +27,7 @@ inputs: name: jd_blueCoin cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 enable: true - argument: - - jd_blueCoin - - jd_club_lottery # 额外的参数 + argument: [jd_blueCoin,jd_club_lottery] # 额外的参数 environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 6e2d2af445cec26d98bc4b86037918f29b1d465e Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 20:29:18 +0800 Subject: [PATCH 0057/1259] Update serverless.yml --- serverless.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverless.yml b/serverless.yml index 3207b24a..4aa6be55 100644 --- a/serverless.yml +++ b/serverless.yml @@ -27,7 +27,7 @@ inputs: name: jd_blueCoin cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 enable: true - argument: [jd_blueCoin,jd_club_lottery] # 额外的参数 + argument: jd_blueCoin jd_club_lottery,JD2&JD3|JD4 # 额外的参数 environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 86196d90503b4c7e3678e5e3040a4b4576e8164d Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 20:36:07 +0800 Subject: [PATCH 0058/1259] Update serverless.yml --- serverless.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverless.yml b/serverless.yml index 4aa6be55..04c543e4 100644 --- a/serverless.yml +++ b/serverless.yml @@ -27,7 +27,7 @@ inputs: name: jd_blueCoin cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 enable: true - argument: jd_blueCoin jd_club_lottery,JD2&JD3|JD4 # 额外的参数 + argument: jd_blueCoin|jd_club_lottery|JD2\nJD3\nJD4 # 额外的参数 environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From aaa8154b0441de2d7567f1777b7c2aa415842cce Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 21:08:53 +0800 Subject: [PATCH 0059/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=85=A5=E5=8F=A3=E6=89=A7=E8=A1=8C=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index cc1358ff..3e7b6c72 100644 --- a/index.js +++ b/index.js @@ -1,10 +1,25 @@ 'use strict'; exports.main_handler = async (event, context, callback) => { - for (const v of event["Message"].split("\r\n")) { - console.log(v); - var request = require('request'); - request('https://gitee.com/lxk0301/jd_scripts/raw/master/'+v+'.js', function (error, response, body) { + try { + //如果想在一个定时触发器里面执行多个js文件需要在定时触发器的【附加信息】里面填写对应的名称,用 & 链接 + //例如我想一个定时触发器里执行jd_speed.js和jd_bean_change.js,在定时触发器的【附加信息】里面就填写 jd_speed&jd_bean_change + for (const v of event["Message"].split("&")) { + console.log(v); + var request = require('request'); + //1.执行自己上传的js文件 + //require('./'+v+'.js') + + //2.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 + //request('https://gitee.com/lxk0301/jd_scripts/raw/master/'+v+'.js', function (error, response, body) { + // eval(response.body) + //}) + + //3.执行github远端的js文件 + request('https://raw.githubusercontent.com/lxk0301/jd_scripts/master/'+v+'.js', function (error, response, body) { eval(response.body) - }) - } + }) + } + } catch (e) { + console.error(e) + } } From 8de7163a3bb303b1bbf2ee572fda3347bf4b5b19 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 21:19:51 +0800 Subject: [PATCH 0060/1259] Update serverless.yml --- serverless.yml | 128 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 121 insertions(+), 7 deletions(-) diff --git a/serverless.yml b/serverless.yml index 04c543e4..31c4ff76 100644 --- a/serverless.yml +++ b/serverless.yml @@ -16,18 +16,132 @@ inputs: memorySize: 128 # 内存大小,单位MB timeout: 900 # 超时时间,单位秒 events: # 触发器 - - timer: # 定时触发器 + - timer: # 签到 parameters: - name: jd_bean_sign # 触发器名称 - cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 + name: jd_bean_sign + cronExpression: "0 0 0,12,18 * * *" enable: true - argument: jd_bean_sign # 额外的参数 - - timer: # 定时触发器 + argument: jd_bean_sign + - timer: # 京小超兑换奖品 parameters: name: jd_blueCoin - cronExpression: "0 0 0 */1 * * *" # 每天零点执行一次 + cronExpression: "0 0 0 * * *" enable: true - argument: jd_blueCoin|jd_club_lottery|JD2\nJD3\nJD4 # 额外的参数 + argument: jd_blueCoin + - timer: # 摇京豆 + parameters: + name: jd_club_lottery + cronExpression: "0 0 0 * * *" + enable: true + argument: jd_club_lottery + - timer: # 东东农场 + parameters: + name: jd_fruit + cronExpression: "0 5 6-18/6 * * *" + enable: true + argument: jd_fruit + - timer: # 宠汪汪 + parameters: + name: jd_joy + cronExpression: "0 15 */2 * * *" + enable: true + argument: jd_joy + - timer: # 宠汪汪喂食 + parameters: + name: jd_joy_feedPets + cronExpression: "0 15 */1 * * *" + enable: true + argument: jd_joy_feedPets + - timer: # 宠汪汪积分兑换奖品 + parameters: + name: jd_joy_reward + cronExpression: "0 0 0-16/8 * * *" + enable: true + argument: jd_joy_reward + - timer: # 宠汪汪偷好友积分与狗 + parameters: + name: jd_joy_steal + cronExpression: "0 0 0,6 * * *" + enable: true + argument: jd_joy_steal + - timer: # 摇钱树 + parameters: + name: jd_moneyTree + cronExpression: "0 0 */2 * * *" + enable: true + argument: jd_moneyTree + - timer: # 东东萌宠 + parameters: + name: jd_pet + cronExpression: "0 5 6-18/6 * * *" + enable: true + argument: jd_pet + - timer: # 京东种豆得豆 + parameters: + name: jd_plantBean + cronExpression: "0 0 7-22/1 * * *" + enable: true + argument: jd_plantBean + - timer: # 京东全民开红包 + parameters: + name: jd_redPacket + cronExpression: "0 1 1 * * *" + enable: true + argument: jd_redPacket + - timer: # 进店领豆 + parameters: + name: jd_shop + cronExpression: "0 10 0 * * *" + enable: true + argument: jd_shop + - timer: # 京东天天加速 + parameters: + name: jd_speed + cronExpression: "0 8 */3 * * *" + enable: true + argument: jd_speed + - timer: # 东东超市 + parameters: + name: jd_superMarket + cronExpression: "0 11 1-23/5 * * *" + enable: true + argument: jd_superMarket + - timer: # 取关京东店铺商品 + parameters: + name: jd_unsubscribe + cronExpression: "0 55 23 * * *" + enable: true + argument: jd_unsubscribe + - timer: # 京豆变动通知 + parameters: + name: jd_bean_change + cronExpression: "0 0 10 * * *" + enable: true + argument: jd_bean_change + - timer: # 京东抽奖机 + parameters: + name: jd_lotteryMachine + cronExpression: "0 11 1 * * *" + enable: true + argument: jd_lotteryMachine + - timer: # 京东排行榜 + parameters: + name: jd_rankingList + cronExpression: "0 11 9 * * *" + enable: true + argument: jd_rankingList + - timer: # 天天提鹅 + parameters: + name: jd_daily_egg + cronExpression: "0 18 */3 * * *" + enable: true + argument: jd_daily_egg + - timer: # 金融养猪 + parameters: + name: jd_pigPet + cronExpression: "0 12 * * * *" + enable: true + argument: jd_pigPet environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From d39dde2cfc14268f6c1ee56f1fa95e7fe71eaca0 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 21:43:44 +0800 Subject: [PATCH 0061/1259] Update serverless.yml --- serverless.yml | 100 ++++++++++--------------------------------------- 1 file changed, 20 insertions(+), 80 deletions(-) diff --git a/serverless.yml b/serverless.yml index 31c4ff76..154e3a78 100644 --- a/serverless.yml +++ b/serverless.yml @@ -16,84 +16,48 @@ inputs: memorySize: 128 # 内存大小,单位MB timeout: 900 # 超时时间,单位秒 events: # 触发器 - - timer: # 签到 + - timer: # 签到 # 摇京豆 parameters: - name: jd_bean_sign + name: jd_bean_sign&jd_club_lottery cronExpression: "0 0 0,12,18 * * *" enable: true - argument: jd_bean_sign + argument: jd_bean_sign&jd_club_lottery - timer: # 京小超兑换奖品 parameters: name: jd_blueCoin cronExpression: "0 0 0 * * *" enable: true argument: jd_blueCoin - - timer: # 摇京豆 + - timer: # 东东农场# 东东萌宠 parameters: - name: jd_club_lottery - cronExpression: "0 0 0 * * *" - enable: true - argument: jd_club_lottery - - timer: # 东东农场 - parameters: - name: jd_fruit + name: jd_fruit&jd_pet cronExpression: "0 5 6-18/6 * * *" enable: true - argument: jd_fruit - - timer: # 宠汪汪 + argument: jd_fruit&jd_pet + - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树 parameters: - name: jd_joy - cronExpression: "0 15 */2 * * *" - enable: true - argument: jd_joy - - timer: # 宠汪汪喂食 - parameters: - name: jd_joy_feedPets + name: jd_joy_feedPets&jd_joy&jd_moneyTree cronExpression: "0 15 */1 * * *" enable: true - argument: jd_joy_feedPets - - timer: # 宠汪汪积分兑换奖品 + argument: jd_joy_feedPets&jd_joy&jd_moneyTree + - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗 parameters: - name: jd_joy_reward + name: jd_joy_reward&jd_joy_steal cronExpression: "0 0 0-16/8 * * *" enable: true - argument: jd_joy_reward - - timer: # 宠汪汪偷好友积分与狗 - parameters: - name: jd_joy_steal - cronExpression: "0 0 0,6 * * *" - enable: true - argument: jd_joy_steal - - timer: # 摇钱树 - parameters: - name: jd_moneyTree - cronExpression: "0 0 */2 * * *" - enable: true - argument: jd_moneyTree - - timer: # 东东萌宠 - parameters: - name: jd_pet - cronExpression: "0 5 6-18/6 * * *" - enable: true - argument: jd_pet + argument: jd_joy_reward&jd_joy_steal - timer: # 京东种豆得豆 parameters: name: jd_plantBean cronExpression: "0 0 7-22/1 * * *" enable: true argument: jd_plantBean - - timer: # 京东全民开红包 + - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机 parameters: - name: jd_redPacket - cronExpression: "0 1 1 * * *" - enable: true - argument: jd_redPacket - - timer: # 进店领豆 - parameters: - name: jd_shop + name: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine cronExpression: "0 10 0 * * *" enable: true - argument: jd_shop + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine - timer: # 京东天天加速 parameters: name: jd_speed @@ -106,42 +70,18 @@ inputs: cronExpression: "0 11 1-23/5 * * *" enable: true argument: jd_superMarket - - timer: # 取关京东店铺商品 - parameters: - name: jd_unsubscribe - cronExpression: "0 55 23 * * *" - enable: true - argument: jd_unsubscribe - - timer: # 京豆变动通知 + - timer: # 京豆变动通知 # 京东排行榜 parameters: name: jd_bean_change cronExpression: "0 0 10 * * *" enable: true - argument: jd_bean_change - - timer: # 京东抽奖机 + argument: jd_bean_change&jd_rankingList + - timer: # 金融养猪# 天天提鹅 parameters: - name: jd_lotteryMachine - cronExpression: "0 11 1 * * *" - enable: true - argument: jd_lotteryMachine - - timer: # 京东排行榜 - parameters: - name: jd_rankingList - cronExpression: "0 11 9 * * *" - enable: true - argument: jd_rankingList - - timer: # 天天提鹅 - parameters: - name: jd_daily_egg - cronExpression: "0 18 */3 * * *" - enable: true - argument: jd_daily_egg - - timer: # 金融养猪 - parameters: - name: jd_pigPet + name: jd_pigPet&jd_daily_egg cronExpression: "0 12 * * * *" enable: true - argument: jd_pigPet + argument: jd_pigPet&jd_daily_egg environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From f2c8fc5f6d54a6cd70d3cc1b0ff1d5fdc58b7854 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 21:48:34 +0800 Subject: [PATCH 0062/1259] Update serverless.yml --- serverless.yml | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/serverless.yml b/serverless.yml index 154e3a78..d915b25b 100644 --- a/serverless.yml +++ b/serverless.yml @@ -18,7 +18,7 @@ inputs: events: # 触发器 - timer: # 签到 # 摇京豆 parameters: - name: jd_bean_sign&jd_club_lottery + name: jd_bean_sign_jd_club_lottery cronExpression: "0 0 0,12,18 * * *" enable: true argument: jd_bean_sign&jd_club_lottery @@ -30,31 +30,25 @@ inputs: argument: jd_blueCoin - timer: # 东东农场# 东东萌宠 parameters: - name: jd_fruit&jd_pet + name: jd_fruit_jd_pet cronExpression: "0 5 6-18/6 * * *" enable: true argument: jd_fruit&jd_pet - - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树 + - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆 parameters: - name: jd_joy_feedPets&jd_joy&jd_moneyTree + name: jd_joy_feedPets_jd_joy_jd_moneyTree_jd_plantBean cronExpression: "0 15 */1 * * *" enable: true - argument: jd_joy_feedPets&jd_joy&jd_moneyTree + argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗 parameters: - name: jd_joy_reward&jd_joy_steal + name: jd_joy_reward_jd_joy_steal cronExpression: "0 0 0-16/8 * * *" enable: true argument: jd_joy_reward&jd_joy_steal - - timer: # 京东种豆得豆 - parameters: - name: jd_plantBean - cronExpression: "0 0 7-22/1 * * *" - enable: true - argument: jd_plantBean - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机 parameters: - name: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine + name: jd_redPacket_jd_shop_jd_unsubscribe_jd_lotteryMachine cronExpression: "0 10 0 * * *" enable: true argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine @@ -78,7 +72,7 @@ inputs: argument: jd_bean_change&jd_rankingList - timer: # 金融养猪# 天天提鹅 parameters: - name: jd_pigPet&jd_daily_egg + name: jd_pigPet_jd_daily_egg cronExpression: "0 12 * * * *" enable: true argument: jd_pigPet&jd_daily_egg From d75a72f3843c97139bb0dacb6e3904b4d787c8ea Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 21:53:48 +0800 Subject: [PATCH 0063/1259] Update serverless.yml --- serverless.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/serverless.yml b/serverless.yml index d915b25b..aa2cd7cf 100644 --- a/serverless.yml +++ b/serverless.yml @@ -19,61 +19,61 @@ inputs: - timer: # 签到 # 摇京豆 parameters: name: jd_bean_sign_jd_club_lottery - cronExpression: "0 0 0,12,18 * * *" + cronExpression: "0 0 0,12,18 * * * *" enable: true argument: jd_bean_sign&jd_club_lottery - timer: # 京小超兑换奖品 parameters: name: jd_blueCoin - cronExpression: "0 0 0 * * *" + cronExpression: "0 0 0 * * * *" enable: true argument: jd_blueCoin - timer: # 东东农场# 东东萌宠 parameters: name: jd_fruit_jd_pet - cronExpression: "0 5 6-18/6 * * *" + cronExpression: "0 5 6-18/6 * * * *" enable: true argument: jd_fruit&jd_pet - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆 parameters: name: jd_joy_feedPets_jd_joy_jd_moneyTree_jd_plantBean - cronExpression: "0 15 */1 * * *" + cronExpression: "0 15 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗 parameters: name: jd_joy_reward_jd_joy_steal - cronExpression: "0 0 0-16/8 * * *" + cronExpression: "0 0 0-16/8 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机 parameters: name: jd_redPacket_jd_shop_jd_unsubscribe_jd_lotteryMachine - cronExpression: "0 10 0 * * *" + cronExpression: "0 10 0 * * * *" enable: true argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine - timer: # 京东天天加速 parameters: name: jd_speed - cronExpression: "0 8 */3 * * *" + cronExpression: "0 8 */3 * * * *" enable: true argument: jd_speed - timer: # 东东超市 parameters: name: jd_superMarket - cronExpression: "0 11 1-23/5 * * *" + cronExpression: "0 11 1-23/5 * * * *" enable: true argument: jd_superMarket - timer: # 京豆变动通知 # 京东排行榜 parameters: name: jd_bean_change - cronExpression: "0 0 10 * * *" + cronExpression: "0 0 10 * * * *" enable: true argument: jd_bean_change&jd_rankingList - timer: # 金融养猪# 天天提鹅 parameters: name: jd_pigPet_jd_daily_egg - cronExpression: "0 12 * * * *" + cronExpression: "0 12 * * * * *" enable: true argument: jd_pigPet&jd_daily_egg environment: # 环境变量 From 558312d31cf39dcd3019e23ab899918139b5e14a Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 21:58:54 +0800 Subject: [PATCH 0064/1259] Update serverless.yml --- serverless.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/serverless.yml b/serverless.yml index aa2cd7cf..51578670 100644 --- a/serverless.yml +++ b/serverless.yml @@ -58,6 +58,12 @@ inputs: cronExpression: "0 8 */3 * * * *" enable: true argument: jd_speed + - timer: # 京东天天加速1 + parameters: + name: jd_speed1 + cronExpression: "0 8 */3 * * * *" + enable: true + argument: jd_speed - timer: # 东东超市 parameters: name: jd_superMarket From 23233fc044938e7a6147e24c13e5d7cc495f944e Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 18 Nov 2020 22:03:36 +0800 Subject: [PATCH 0065/1259] Update serverless.yml --- serverless.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/serverless.yml b/serverless.yml index 51578670..aa2cd7cf 100644 --- a/serverless.yml +++ b/serverless.yml @@ -58,12 +58,6 @@ inputs: cronExpression: "0 8 */3 * * * *" enable: true argument: jd_speed - - timer: # 京东天天加速1 - parameters: - name: jd_speed1 - cronExpression: "0 8 */3 * * * *" - enable: true - argument: jd_speed - timer: # 东东超市 parameters: name: jd_superMarket From 716718acd6fd85002f4c63dac0573d398c83f512 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 19 Nov 2020 14:22:12 +0800 Subject: [PATCH 0066/1259] update --- jd_daily_egg.js | 6 ++++++ jd_pigPet.js | 6 ++++++ tencentscf.md | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/jd_daily_egg.js b/jd_daily_egg.js index 60dd668a..5f8dfae3 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -1,3 +1,9 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-10 14:10:27 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-19 14:11:01 + */ /* 京东金融-天天提鹅 定时收鹅蛋,兑换金币 diff --git a/jd_pigPet.js b/jd_pigPet.js index 3aedd669..d535dbcc 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -1,3 +1,9 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-10 14:07:07 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-19 14:10:19 + */ /* 京东金融养猪猪 一键开完所有的宝箱功能。耗时70秒 diff --git a/tencentscf.md b/tencentscf.md index e5a7084b..394e2598 100644 --- a/tencentscf.md +++ b/tencentscf.md @@ -93,7 +93,7 @@ triggers: 在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 -![测试函数](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/./1605263963294-test.png) +![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) > 如果需要配置永久秘钥,则可以在[访问秘钥页面](https://console.cloud.tencent.com/cam/capi)获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY,并配置在代码根目录 .env 文件中。 From 09c9f3aa1ad389c034ffe018aa0646ad3a0f1331 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 19 Nov 2020 15:07:31 +0800 Subject: [PATCH 0067/1259] =?UTF-8?q?=E5=8E=BB=E6=8E=89debug=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index b7ecdd65..ef4b6676 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -29,7 +29,6 @@ jobs: if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; if [ $JD_BEAN_SIGN_STOP_NOTIFY ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: $JD_BEAN_SIGN_STOP_NOTIFY" serverless.yml; fi; if [ $JD_BEAN_SIGN_NOTIFY_SIMPLE ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: $JD_BEAN_SIGN_NOTIFY_SIMPLE" serverless.yml; fi; - if [ $JD_DEBUG ]; then sed -i "/variables/a\ JD_DEBUG: $JD_DEBUG" serverless.yml; fi; if [ $PUSH_KEY ]; then sed -i "/variables/a\ PUSH_KEY: $PUSH_KEY" serverless.yml; fi; if [ $BARK_PUSH ]; then sed -i "/variables/a\ BARK_PUSH: $BARK_PUSH" serverless.yml; fi; if [ $BARK_SOUND ]; then sed -i "/variables/a\ BARK_SOUND: $BARK_SOUND" serverless.yml; fi; @@ -66,7 +65,6 @@ jobs: JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} - JD_DEBUG: ${{ secrets.JD_DEBUG}} PUSH_KEY: ${{ secrets.PUSH_KEY}} BARK_PUSH: ${{ secrets.BARK_PUSH}} BARK_SOUND: ${{ secrets.BARK_SOUND}} From baab116ab63867e4e64d31e7d764f503402ccfa7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 19 Nov 2020 15:16:31 +0800 Subject: [PATCH 0068/1259] =?UTF-8?q?jdCookie.js=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E8=85=BE=E8=AE=AF=E4=BA=91=E5=92=8Cdocker?= =?UTF-8?q?=E8=A2=AB=E8=BD=AC=E4=B9=89=E5=90=8E=E7=9A=84\\n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdCookie.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jdCookie.js b/jdCookie.js index 8395dece..cdc9397c 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -15,8 +15,12 @@ if (process.env.JD_COOKIE) { } else if (process.env.JD_COOKIE.indexOf('\n') > -1) { console.log(`您的cookie选择的是用换行隔开\n`) CookieJDs = process.env.JD_COOKIE.split('\n'); + } else if (process.env.JD_COOKIE.indexOf('\\n') > -1) { + //环境变量兼容腾讯云和docker下\n会被转义成\\n + console.log(`您的cookie选择的是用换行隔开\\n`) + CookieJDs = process.env.JD_COOKIE.split('\\n'); } else { - CookieJDs = process.env.JD_COOKIE.split(); + CookieJDs = process.env.JD_COOKIE; } 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`) From bd28af30f271b158bbede3d1060632ac97ce9275 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 19 Nov 2020 15:53:26 +0800 Subject: [PATCH 0069/1259] fix --- jdCookie.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdCookie.js b/jdCookie.js index cdc9397c..3cc93984 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -20,7 +20,7 @@ if (process.env.JD_COOKIE) { console.log(`您的cookie选择的是用换行隔开\\n`) CookieJDs = process.env.JD_COOKIE.split('\\n'); } else { - CookieJDs = process.env.JD_COOKIE; + CookieJDs = process.env.JD_COOKIE.split(); } 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`) From 97af8c11cdb30ddae223fcca77b757c53ca4691e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 19 Nov 2020 16:06:05 +0800 Subject: [PATCH 0070/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8E=BB=E9=87=8Dcookie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdCookie.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jdCookie.js b/jdCookie.js index 3cc93984..4eb2bb76 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -20,8 +20,9 @@ if (process.env.JD_COOKIE) { console.log(`您的cookie选择的是用换行隔开\\n`) CookieJDs = process.env.JD_COOKIE.split('\\n'); } else { - CookieJDs = process.env.JD_COOKIE.split(); + CookieJDs = [process.env.JD_COOKIE]; } + CookieJDs = [...new Set(CookieJDs)] 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`) // console.log(`\n==================脚本执行来自 github action=====================\n`) From ad85e3198060151c5956ce94cd572d0b9d53228a Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 19 Nov 2020 17:18:48 +0800 Subject: [PATCH 0071/1259] Update iCloud.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加解决云函数热启动问题的说明 --- iCloud.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/iCloud.md b/iCloud.md index 1db8479f..3d140c02 100644 --- a/iCloud.md +++ b/iCloud.md @@ -36,6 +36,8 @@ ```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') //这里写你想要的脚本 @@ -44,8 +46,7 @@ exports.main_handler = async (event, context, callback) => { ``` 此时,同一时间点下,会同时执行多个脚本,触发器触发后,index.js文件中require()下的所有脚本都会被执行 -**优点**:同一时间下可以同时执行多个脚本,适合脚本种类少的repository,对脚本数量少的repository推荐使用此方案 -**缺点**:多个脚本不同时间点运行无法满足 +**优点**:同一时间下可以同时执行多个脚本,适合脚本种类少的repository,对脚本数量少的repository推荐使用此方案
**缺点**:多个脚本不同时间点运行无法满足 方案二:同一个仓库下不同的时间点,分别执行不同的脚本(类似GitHub Action执行机制) @@ -57,6 +58,8 @@ exports.main_handler = async (event, context, callback) => { '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`) } @@ -66,14 +69,12 @@ exports.main_handler = async (event, context, callback) => { 此时触发管理按照下图中进行设置,附加信息选择“是”,内容填写需要传递执行的具体脚本文件名,以回车键换行。触发器触发后,附加信息栏内的脚本会被执行,设置多个不同时间点的触发器达到类似GitHub Action的效果 -**优点**:可以满足个性化需求,同一个repository下只需要设置不同的触发器,可以实现不同时间点分别执行不同的脚本 -**缺点**:repository下脚本过多,如果需要设置多个触发器,实现个性化运行效果,由于云函数的限制,最多只能设置10个 +**优点**:可以满足个性化需求,同一个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文件中使用,同一个仓库下,二者只能选择其一。目前由于云函数热启动问题的存在,频繁的触发器启动,虽然日志显示“调用成功”,但实际内容却没有执行,方案一与方案二暂时无法规避此问题,期待之后能解决** - +**注意:方案一与方案二不能混合到同一个index.js文件中使用,同一个仓库下,二者只能选择其一。感谢[issues#115](https://github.com/lxk0301/jd_scripts/issues/115)中的解决方案,目前云函数连续测试已经可以规避热启动问题了** **增加cookie** From 9a12f93db23522b36ce89a4fd5aa9cfeb9d75393 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 19 Nov 2020 17:57:12 +0800 Subject: [PATCH 0072/1259] update --- jd_pigPet.js | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 202 insertions(+), 1 deletion(-) diff --git a/jd_pigPet.js b/jd_pigPet.js index d535dbcc..522bac01 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -7,14 +7,17 @@ /* 京东金融养猪猪 一键开完所有的宝箱功能。耗时70秒 -抽奖 +大转盘抽奖 喂食 +每日签到 +完成分享任务得猪粮 12 * * * * */ const $ = new Env('金融养猪'); let cookiesArr = [], cookie = ''; const JD_API_HOST = 'https://ms.jr.jd.com/gw/generic/uc/h5/m'; +const MISSION_BASE_API = `https://ms.jr.jd.com/gw/generic/mission/h5/m`; const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; @@ -72,6 +75,8 @@ async function jdPigPet() { await pigPetOpenBox(); await pigPetLotteryIndex(); await pigPetLottery(); + await pigPetMissionList(); + await missions(); await pigPetUserBag(); } async function pigPetLottery() { @@ -410,6 +415,202 @@ function pigPetLotteryPlay() { }) }) } +async function missions() { + for (let item of $.missions) { + if (item.status === 4) { + console.log(`\n${item.missionName}任务已做完,开始领取奖励`) + await pigPetDoMission(item.mid); + } else if (item.status === 5){ + console.log(`\n${item.missionName}已领取`) + } else if (item.status === 3){ + console.log(`\n${item.missionName}未完成`) + if (item.mid === 'CPD01') { + await pigPetDoMission(item.mid); + } else { + //TODO + // await pigPetDoMission(item.mid); + // await queryMissionReceiveAfterStatus(item.mid); + // await finishReadMission(item.mid); + } + } + } +} +//领取做完任务的奖品 +function pigPetDoMission(mid) { + return new Promise(async resolve => { + const body = { + "source":0, + "channelLV":"", + "riskDeviceParam":"{}", + mid + } + $.post(taskUrl('pigPetDoMission', body), (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (data) { + console.log('pigPetDoMission',data) + data = JSON.parse(data); + if (data.resultCode === 0) { + if (data.resultData.resultCode === 0) { + if (data.resultData.resultData) { + if (data.resultData.resultData.award) { + console.log(`奖励${data.resultData.resultData.award.name},数量:${data.resultData.resultData.award.count}`) + } + } + } else { + console.log(`其他情况:${JSON.stringify(data)}`) + } + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +//查询任务列表 +function pigPetMissionList() { + return new Promise(async resolve => { + const body = { + "source":0, + "channelLV":"", + "riskDeviceParam":"{}", + } + $.post(taskUrl('pigPetMissionList', 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.resultCode === 0) { + if (data.resultData.resultData) { + $.missions = data.resultData.resultData.missions;//抽奖后剩余的抽奖次数 + } + } else { + console.log(`其他情况:${JSON.stringify(data)}`) + } + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function queryMissionReceiveAfterStatus(missionId) { + return new Promise(resolve => { + const body = {"missionId": missionId.toString()}; + const options = { + "url": `${MISSION_BASE_API}/queryMissionReceiveAfterStatus?reqData=%7B%2522missionId%2522:%2522${Number(missionId)}%2522%7D`, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-CN,zh;q=0.9", + "Connection": "keep-alive", + "Host": "ms.jr.jd.com", + "Cookie": cookie, + "Origin": "https://jdjoy.jd.com", + "Referer": "https://jdjoy.jd.com/", + "User-Agent": "jdapp;android;8.5.12;9;network/wifi;model/GM1910;addressid/1302541636;aid/ac31e03386ddbec6;oaid/;osVer/28;appBuild/73078;adk/;ads/;pap/JA2015_311210|8.5.12|ANDROID 9;osv/9;pv/117.24;jdv/0|kong|t_1000217905_|jingfen|644e9b005c8542c1ac273da7763971d8|1589905791552|1589905794;ref/com.jingdong.app.mall.WebActivity;partner/oppo;apprpd/Home_Main;Mozilla/5.0 (Linux; Android 9; GM1910 Build/PKQ1.190110.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36 Edg/86.0.4240.111" + } + } + $.get(options, (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (data) { + console.log('queryMissionReceiveAfterStatus',data) + // data = JSON.parse(data); + // if (data.resultCode === 0) { + // if (data.resultData.resultCode === 0) { + // if (data.resultData.resultData) { + // // console.log(`当前大转盘剩余免费抽奖次数::${data.resultData.resultData.currentCount}`); + // $.currentCount = data.resultData.resultData.currentCount;//抽奖后剩余的抽奖次数 + // } + // } else { + // console.log(`其他情况:${JSON.stringify(data)}`) + // } + // } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +//做完浏览任务发送信息API +function finishReadMission(missionId) { + return new Promise(async resolve => { + const body = {"missionId": missionId.toString(),"readTime":10}; + const options = { + "url": `${MISSION_BASE_API}/finishReadMission?reqData=%7B%2522missionId%2522:%2522${Number(missionId)}%2522,%2522readTime%2522:10%7D`, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-CN,zh;q=0.9", + "Connection": "keep-alive", + "Host": "ms.jr.jd.com", + "Cookie": cookie, + "Origin": "https://jdjoy.jd.com", + "Referer": "https://jdjoy.jd.com/", + "User-Agent": "jdapp;android;8.5.12;9;network/wifi;model/GM1910;addressid/1302541636;aid/ac31e03386ddbec6;oaid/;osVer/28;appBuild/73078;adk/;ads/;pap/JA2015_311210|8.5.12|ANDROID 9;osv/9;pv/117.24;jdv/0|kong|t_1000217905_|jingfen|644e9b005c8542c1ac273da7763971d8|1589905791552|1589905794;ref/com.jingdong.app.mall.WebActivity;partner/oppo;apprpd/Home_Main;Mozilla/5.0 (Linux; Android 9; GM1910 Build/PKQ1.190110.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36 Edg/86.0.4240.111" + } + } + $.get(options, (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (data) { + console.log('finishReadMission',data) + // data = JSON.parse(data); + // if (data.resultCode === 0) { + // if (data.resultData.resultCode === 0) { + // if (data.resultData.resultData) { + // // console.log(`当前大转盘剩余免费抽奖次数::${data.resultData.resultData.currentCount}`); + // $.currentCount = data.resultData.resultData.currentCount;//抽奖后剩余的抽奖次数 + // } + // } else { + // console.log(`其他情况:${JSON.stringify(data)}`) + // } + // } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} function TotalBean() { return new Promise(async resolve => { const options = { From cb53a037ce6f56076e7d96e0dd66738e6b66d75b Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 19 Nov 2020 19:26:49 +0800 Subject: [PATCH 0073/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=99=E7=A8=8B?= =?UTF-8?q?=E6=89=80=E9=9C=80=E7=9A=84=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加教程所需的图片 --- icon/iCloud5.png | Bin 0 -> 38109 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon/iCloud5.png diff --git a/icon/iCloud5.png b/icon/iCloud5.png new file mode 100644 index 0000000000000000000000000000000000000000..b78f1cdf2ff7ee1c00330d9b8f64fbd69b827e53 GIT binary patch literal 38109 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%0A?_uW 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�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 Date: Thu, 19 Nov 2020 19:41:14 +0800 Subject: [PATCH 0074/1259] Update iCloud.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加云函数触发器参考设置 --- iCloud.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/iCloud.md b/iCloud.md index 3d140c02..7f9988c7 100644 --- a/iCloud.md +++ b/iCloud.md @@ -111,11 +111,9 @@ let CookieJDs = [ ![iCloud2](./icon/iCloud2.png) -函数名称:可以自定义,比如为jd。 -运行环境:选择 “Nodejs 12.16”。 -创建方式:选择 “空白函数”。 +**函数名称**:可以自定义,比如为jd。
**运行环境**:选择 “Nodejs 12.16”。
**创建方式**:选择 “空白函数”。 -确保环境为Nodejs 12.16,执行方法改为:index.main_handler,提交方式建议选本地文件夹,然后从GitHub项目克隆Zip压缩包,解压成文件夹,然后点击这个上传把文件夹上传进来(记得node_modules文件夹一并上传),完了后点击下面的高级设置。 +确保环境为Nodejs 12.16,执行方法改为:index.main_handler,提交方式建议选本地文件夹,然后从GitHub项目克隆Zip压缩包,解压成文件夹,然后点击这个上传把文件夹上传进来(记得node_modules文件夹一并上传或者将node_modules文件夹上传到“层”,之后选择“函数管理”-“层管理”绑定上传好的层),完了后点击下面的高级设置。 ![iCloud3](./icon/iCloud3.png) @@ -139,8 +137,10 @@ let CookieJDs = [ 关于触发周期中的自定义触发周期,使用的是 Cron表达式,这个自行学习下吧 + [Corn文档](https://cloud.tencent.com/document/product/583/9708#cron-.E8.A1.A8.E8.BE.BE.E5.BC.8F) - +目前repo中按照每个脚本一个定时器的方式设置到云函数中,大约需要触发器10多个,由于云函数触发器限制最多10个,需要对触发器进行整合,整合后触发器共8个,以下设置仅供参考 +![iCloud5](./icon/iCloud5.png) 点击提交,所有流程就结束了。 From a303f83aee2c7d0debf7ce783343aa4d35860dd0 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 19 Nov 2020 19:42:45 +0800 Subject: [PATCH 0075/1259] Update iCloud.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix排版 --- iCloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iCloud.md b/iCloud.md index 7f9988c7..64ac846a 100644 --- a/iCloud.md +++ b/iCloud.md @@ -140,7 +140,7 @@ let CookieJDs = [ [Corn文档](https://cloud.tencent.com/document/product/583/9708#cron-.E8.A1.A8.E8.BE.BE.E5.BC.8F) -目前repo中按照每个脚本一个定时器的方式设置到云函数中,大约需要触发器10多个,由于云函数触发器限制最多10个,需要对触发器进行整合,整合后触发器共8个,以下设置仅供参考 +目前repo中按照每个脚本一个定时器的方式设置到云函数中,大约需要触发器10多个,由于云函数触发器限制最多10个,需要对触发器进行整合,整合后触发器共8个,以下设置仅供参考
![iCloud5](./icon/iCloud5.png) 点击提交,所有流程就结束了。 From 631daec8f3ce7b8e9950380484744bee2dd7f92d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 09:49:17 +0800 Subject: [PATCH 0076/1259] update --- jd_moneyTree.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 843d25a1..ad429dbc 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -77,12 +77,10 @@ async function jd_moneyTree() { await sell(); await myWealth(); await stealFriendFruit() - await msgControl(); $.log(`\n${message}\n`); if (!jdNotify || jdNotify === 'false') { $.msg($.name, subTitle, message); - $.setdata('0', $.treeMsgTime); } } function user_info() { From 5f3fe2a558941ab5b7bf7bedd473b09fb1c483be Mon Sep 17 00:00:00 2001 From: EvineDeng <30263136+EvineDeng@users.noreply.github.com> Date: Fri, 20 Nov 2020 10:38:25 +0800 Subject: [PATCH 0077/1259] Update bug_report.md --- .github/ISSUE_TEMPLATE/bug_report.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index d169e192..00a9d7ec 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -34,15 +34,15 @@ assignees: '' ## 1.关于你要提交的问题 Q:是否搜索了issue(包括已关闭的issue) -- [ ] 没有类似的issue +- [ ] 没有类似的issue Q:是否仔细阅读了教程 -- [ ] 已仔细阅读教程 +- [ ] 已仔细阅读教程 ## 2. 你使用的哪种部署方法 - - - + + + From 3d16a68ee7f25c18c8fb937caacc6fadad7b6898 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 12:06:06 +0800 Subject: [PATCH 0078/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=82=B9=E7=82=B9?= =?UTF-8?q?=E5=88=B8=E8=84=9A=E6=9C=AC=EF=BC=8C=E7=82=B9=E7=82=B9=E5=88=B8?= =?UTF-8?q?=EF=BC=8C=E5=8F=AF=E4=BB=A5=E5=85=91=E6=8D=A2=E6=97=A0=E9=97=A8?= =?UTF-8?q?=E6=A7=9B=E7=BA=A2=E5=8C=85=EF=BC=881=E5=85=83=EF=BC=8C5?= =?UTF-8?q?=E5=85=83=EF=BC=8C10=E5=85=83=EF=BC=8C100=E5=85=83=EF=BC=8C?= =?UTF-8?q?=E9=83=A8=E5=88=86=E7=BA=A2=E5=8C=85=E9=9C=80=E6=8A=A2=E8=B4=AD?= =?UTF-8?q?=EF=BC=89=20APP=E6=B4=BB=E5=8A=A8=E5=85=A5=E5=8F=A3=EF=BC=9A?= =?UTF-8?q?=E2=80=9C=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?APP=20>=E9=A2=86=E5=88=B8=E4=B8=AD=E5=BF=83/=E5=88=B8=E5=90=8E9?= =?UTF-8?q?.9>=E9=A2=86=E7=82=B9=E7=82=B9=E5=88=B8=E2=80=9D=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 + Surge/lxk0301_Task.sgmodule.sgmodule | 1 + docker/crontab_list.sh | 2 + docker/crontab_list_ts.sh | 2 + jd_necklace.js | 309 +++++++++++++++++++++++++++ 5 files changed, 317 insertions(+) create mode 100644 jd_necklace.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 01290593..070a997e 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -60,6 +60,9 @@ cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script #京豆变动通知 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 +#点点券 +cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, tag=点点券 + #京东全民营业领金币 cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, tag=京东全民营业领金币 diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 15a7c191..68fbcc78 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -29,4 +29,5 @@ cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js, wake-system=1, tag=京东全民开红包 # cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, timeout=550, wake-system=1, tag=京东星推官 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, timeout=650, wake-system=1, tag=京豆变动通知 +cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, timeout=650, wake-system=1, tag=点点券 # cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, wake-system=1, tag=京东全民营业领金币 diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index af32d579..7be87b71 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -53,3 +53,5 @@ 18 */3 * * * node /scripts/jd_daily_egg.js >> /scripts/logs/jd_daily_egg.log 2>&1 # 金融养猪 12 13 * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1 +# 点点券 +20 0,20 * * * node /scripts/jd_necklace.js >> /scripts/logs/jd_necklace.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 449d43c4..68e37d36 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -53,3 +53,5 @@ 18 */3 * * * node /scripts/jd_daily_egg.js |ts >> /scripts/logs/jd_daily_egg.log 2>&1 # 金融养猪 12 * * * * node /scripts/jd_pigPet.js |ts >> /scripts/logs/jd_pigPet.log 2>&1 +# 点点券 +20 0,20 * * * node /scripts/jd_necklace.js |ts >> /scripts/logs/jd_necklace.log 2>&1 \ No newline at end of file diff --git a/jd_necklace.js b/jd_necklace.js new file mode 100644 index 00000000..f5175b2d --- /dev/null +++ b/jd_necklace.js @@ -0,0 +1,309 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-20 11:42:03 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-20 11:42:03 + */ +/* +点点券,可以兑换无门槛红包(1元,5元,10元,100元,部分红包需抢购) +APP活动入口:“最新版本京东APP >领券中心/券后9.9>领点点券”页面 +网页入口:https://h5.m.jd.com/babelDiy/Zeus/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +===============Quantumultx=============== +[task_local] +#点点券 +10 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, tag=点点券, enabled=true + +================Loon============== +[Script] +cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js,tag=点点券 + +===============Surge================= +点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js + +============小火箭========= +东东农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, cronexpr="10 0,20 * * *", 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 = ''; +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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} + +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; + } + $.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 = ''; + 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 JD818(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) +async function JD818() { + await necklace_homePage(); + await doTask(); + await necklace_homePage(); + await receiveBubbles(); + await sign(); + await necklace_homePage(); + await showMsg(); +} +function showMsg() { + return new Promise(resolve => { + $.msg($.name, '', `京东账号 ${$.index} ${$.nickName}\n当前${$.name}${$.totalScore}个`) + }) +} +async function doTask() { + for (let item of $.taskConfigVos) { + if (item.taskStage === 0) { + console.log(`${item.taskName}未完成`); + await necklace_startTask(item.id); + await $.wait(2000); + await necklace_startTask(item.id); + } else if (item.taskStage === 2) { + console.log(`${item.taskName}任务已做完,奖励未领取`); + } else if (item.taskStage === 3) { + console.log(`${item.taskName}奖励已领取`); + } + } +} +async function receiveBubbles() { + for (let item of $.bubbles) { + console.log(`开始领取点点券\n`); + await necklace_chargeScores(item.id) + } +} +async function sign() { + if ($.signInfo.todayCurrentSceneSignStatus === 1) { + await necklace_sign(); + } else { + console.log(`当前${new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString()}已签到`) + } +} +//每日签到福利 +function necklace_sign() { + return new Promise(resolve => { + 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 { + console.log(data); + 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; + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +//领取奖励 +function necklace_chargeScores(bubleId) { + return new Promise(resolve => { + 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 { + console.log(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; + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function necklace_startTask(taskId) { + return new Promise(resolve => { + const body = { + taskId, + currentDate: $.lastRequestTime.replace(/:/g, "%3A"), + } + $.post(taskPostUrl("necklace_startTask", body), async (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.rtn_code === 0) { + if (data.data.biz_code === 0) { + // $.taskConfigVos = data.data.result.taskConfigVos; + // $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function necklace_homePage() { + 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(); + } + }) + }) +} +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=jd_mp_h5&loginType=2&client=jd_mp_h5&t=${time}&body=${escape(JSON.stringify(body))}`, + headers: { + "Cookie": cookie, + "User-Agent": `jdapp;iPhone;9.1.0;14.0;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167348;supportBestPay/0;jdSupportDarkMode/0;pv/255.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|701;jdv/0|kong|t_2010957099_|jingfen|3b5422e836e74037862fea3dcf1a6802|1600647811440|1600647814;adk/;app_device/IOS;pap/JA2015_311210|9.1.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": "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 + } + $.nickName = data['base'].nickname; + } 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){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 From 3211ae34b055e621f5b48231978daca5146de695 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 12:36:17 +0800 Subject: [PATCH 0079/1259] fix bug --- jd_necklace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_necklace.js b/jd_necklace.js index f5175b2d..9c058abf 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -48,7 +48,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } - $.temp = []; for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -89,7 +88,8 @@ async function JD818() { } function showMsg() { return new Promise(resolve => { - $.msg($.name, '', `京东账号 ${$.index} ${$.nickName}\n当前${$.name}${$.totalScore}个`) + $.msg($.name, '', `京东账号 ${$.index} ${$.nickName}\n当前${$.name}${$.totalScore}个`); + resolve() }) } async function doTask() { From 0422ccc77214486002c2c30d7f3e7ae1c88d570f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 13:43:42 +0800 Subject: [PATCH 0080/1259] update --- jd_daily_egg.js | 8 +------- jd_joy_reward.js | 4 +--- jd_pigPet.js | 7 +------ 3 files changed, 3 insertions(+), 16 deletions(-) diff --git a/jd_daily_egg.js b/jd_daily_egg.js index 5f8dfae3..07150e7f 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-10 14:10:27 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-19 14:11:01 + * @Last Modified time: 2020-11-20 14:11:01 */ /* 京东金融-天天提鹅 @@ -14,7 +14,6 @@ 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') : ''; -let jdNotify = false;//是否开启推送互助码 //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { @@ -49,11 +48,6 @@ if ($.isNode()) { } continue } - message = ''; - subTitle = ''; - goodsUrl = ''; - taskInfoKey = []; - option = {}; await jdDailyEgg(); } } diff --git a/jd_joy_reward.js b/jd_joy_reward.js index c6fa4f43..7a6c1d77 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -1,6 +1,6 @@ /* 宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 -更新时间:2020-11-18 +更新时间:2020-11-20 兑换规则:一个账号一天只能兑换一次京豆。 兑换奖品成功后才会有系统弹窗通知 每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 @@ -57,8 +57,6 @@ const JD_API_HOST = 'https://jdjoy.jd.com'; } continue } - message = ''; - subTitle = ''; await joyReward(); // $.msg($.name, '兑换脚本暂不能使用', `请停止使用,等待后期更新\n如果新版本兑换您有兑换机会,请抓包兑换\n再把抓包数据发送telegram用户@lxk0301`); } diff --git a/jd_pigPet.js b/jd_pigPet.js index 522bac01..2578660b 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-10 14:07:07 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-19 14:10:19 + * @Last Modified time: 2020-11-20 14:10:19 */ /* 京东金融养猪猪 @@ -52,11 +52,6 @@ if ($.isNode()) { } continue } - message = ''; - subTitle = ''; - goodsUrl = ''; - taskInfoKey = []; - option = {}; await jdPigPet(); } } From 0ed5de22062327d5487564007762ba44a2cfe38c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 13:46:31 +0800 Subject: [PATCH 0081/1259] update --- jd_joy_run.js | 2 -- jd_unsubscribe.js | 2 -- 2 files changed, 4 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 7d1fe411..a0118ef8 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -155,8 +155,6 @@ async function main() { $.inviteReward = 0; $.runReward = 0; console.log(`\n开始【京东账号${$.index}】${UserName}\n`); - message = ''; - subTitle = ''; $.jdLogin = true; $.LKYLLogin = true; console.log(`=============【开始邀请助力】===============`) diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 38093437..1fa2cce4 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -61,8 +61,6 @@ const JD_API_HOST = 'https://wq.jd.com/fav'; } continue } - message = ''; - subTitle = ''; await requireConfig(); await jdUnsubscribe(); await showMsg(); From 82b4d264c80571b421981070225697e989477699 Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 20 Nov 2020 14:23:04 +0800 Subject: [PATCH 0082/1259] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E9=99=A4=E9=A2=86=E7=BA=A2=E5=8C=85=E7=9A=84?= =?UTF-8?q?=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 978 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 765 insertions(+), 213 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 29b6119e..1e2b59f0 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,265 +1,817 @@ /* 京东京喜工厂 -未完,待续 */ -const $hammer = (() => { - const isRequest = "undefined" != typeof $request, - isSurge = "undefined" != typeof $httpClient, - isQuanX = "undefined" != typeof $task; - const log = (...n) => { for (let i in n) console.log(n[i]) }; - const alert = (title, body = "", subtitle = "", link = "", option) => { - if (isSurge) return $notification.post(title, subtitle, body, link); - if (isQuanX) return $notify(title, subtitle, (link && !body ? link : body), option); - log("==============📣系统通知📣=============="); - log("title:", title, "subtitle:", subtitle, "body:", body, "link:", link); + +const $ = new Env('京喜工厂'); +const JD_API_HOST = 'https://m.jingxi.com'; + +let ele, factoryId; + +let message = '', subTitle = '', option = {}; +const notify = $.isNode() ? require('./sendNotify') : ''; +let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 + +let cookiesArr = [], cookie = ''; +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 = () => { }; - const read = key => { - if (isSurge) return $persistentStore.read(key); - if (isQuanX) return $prefs.valueForKey(key); - }, - write = (key, val) => { - if (isSurge) return $persistentStore.write(key, val); - if (isQuanX) return $prefs.setValueForKey(key, val); - }; - const request = (method, params, callback) => { - /** - * - * params(): {url: , headers: , body: } | - * - * callback( - * error, - * {status: , headers: , body: } | "" - * ) - * - */ - let options = {}; - if (typeof params == "string") { - options.url = params; - } else { - options.url = params.url; - if (typeof params == "object") { - params.headers && (options.headers = params.headers); - params.body && (options.body = params.body); - } - } - method = method.toUpperCase(); - - const writeRequestErrorLog = function (m, u) { - return err => { - log("=== request error -s--"); - log(`${m} ${u}`, err); - log("=== request error -e--"); - }; - }(method, options.url); - - if (isSurge) { - const _runner = method == "GET" ? $httpClient.get : $httpClient.post; - return _runner(options, (error, response, body) => { - if (error == null || error == "") { - response.body = body; - callback("", response); - } else { - writeRequestErrorLog(error); - callback(error, ""); - } - }); - } - if (isQuanX) { - options.method = method; - $task.fetch(options).then( - response => { - response.status = response.statusCode; - delete response.statusCode; - callback("", response); - }, - reason => { - writeRequestErrorLog(reason.error); - callback(reason.error, ""); - } - ); - } - }; - const done = (value = {}) => { - if (isQuanX) return isRequest ? $done(value) : null; - if (isSurge) return isRequest ? $done(value) : $done(); - }; - return { isRequest, isSurge, isQuanX, log, alert, read, write, request, done }; -})(); - - -//京东接口地址 -const JD_API_HOST = 'https://wq.jd.com'; - -//直接用NobyDa的jd cookie -// const cookie = $hammer.read('CookieJD'); -const cookie = 'unpl=V2_ZzNtbUAHRRx0DxZVch9aBWIBRllLAhMSfQtDUnxLWVdnBhpcclRCFnQUR1JnGFUUZAMZXURcQhJFOEZVehhdDWMEGllyZ0sdGwgLVBUaMgUqTl9tQVdzFEUIQlx%252bGlwAZAAXW0tRRhZ9DU5TfRpsNWcFIl1DVkIUcgBBVnkaVDU8VnxbEgJDESFYRFNyHllQVwIiXHJWc0MbCEdVehteBmYAEhBCU0sQdghDV3gcWgxhBhFVR19EE3Y4R2R4; PPRD_P=CT.138912.3.26-UUID.1594174344038855825195; __jda=122270672.1594174344038855825195.1594174344.1594619829.1594628524.29; __jdb=122270672.4.1594174344038855825195|29.1594628524; __jdc=122270672; __jdv=122270672%7Ckong%7Ct_1000170136%7Ctuiguang%7Cnotset%7C1594569450665; __wga=1594631325352.1594630264664.1594619828892.1594619828892.3.2; _tj_rvurl=https%3A//wq.jd.com/cube/front/activePublish/dream_factory_report/380556.html%3Fptag%3D138912.3.26%26lng%3D113.321134%26lat%3D23.139617%26sid%3D6c732f3e20be25526c2e67df89e488dw%26un_area%3D19_1601_50258_51885; cid=8; mba_muid=1594174344038855825195.33.1594631325409; mba_sid=33.18; retina=1; shshshfp=3f7499d014a4f06d56edfb5378a934ee; shshshfpb=w5O9mqDoHWvVwOS9jAYB%20zg%3D%3D; shshshsID=ed6e17a13e5b4921d09de669e2b06c89_3_1594631325584; wqmnx1=MDEyNjM1M3B3am1ncmZyZHR0My4mMTImMjlzYzNlNjdld2ExMDIxNjg1NnBoOTsuNWE0ZWVjYmRla2lEQS0tLS1ENXV0ZTNVL3NpTzFlaDFkczAzaFA7dTEzcGV5ZG9yZXYxcE1HYWVKZXJDbzs0Ly9hOTBjZmEyMTswZzAwdGFvfDUwMTY7O2RlO0o1Mi5JMztsLlA7IG4gX2tjWHBiNi5LLGVrby80cEpLMWY3bjI0MllPT1UhSCU%3D; wxa_level=1; pt_key=app_openAAJfBSQbAEBjl86WMnH-4g3Is6PISRQsx5CU-pQolK0klfaTVHmW5nfZL7DkOGhtRWp6ttQKfdDSiHZ1el6DX2SEjWkotlT2; pt_pin=%E8%A2%AB%E6%8A%98%E5%8F%A0%E7%9A%84%E8%AE%B0%E5%BF%8633; pwdt_id=%E8%A2%AB%E6%8A%98%E5%8F%A0%E7%9A%84%E8%AE%B0%E5%BF%8633; sid=6c732f3e20be25526c2e67df89e488dw; wq_area=19_1601_3633%7C3; visitkey=270851475495567; jxsid=15946198288819114076; sc_width=414; webp=0; shshshfpa=b134218e-f14e-6005-fa8e-52d2bc02126f-1594364440'; -let shareCodes = [ - 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', -]; -let factoryId, productionId, userTaskStatusList, dailyTask = [], produceTask = []; -const name = '京喜工厂'; -let message = ''; -let subTitle = ''; -const Task = step() -Task.next(); -function* step() { - const startTime = Date.now(); - yield userInfo(); - yield collectElectricity(); - yield investElectric(); - yield taskList(); - //yield produceTaskFun();//生产任务 - const end = ((Date.now() - startTime) / 1000).toFixed(2); - console.log(`\n完成${name}脚本耗时: ${end} 秒\n`); - $hammer.alert(name, message, subTitle); +} else { + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) } +!(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 = ''; + 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/"}); -function produceTaskFun() { - for (let item of produceTask) { - if (item.awardStatus !== 1) { - if (item.completedTimes >= item.targetTimes) { - const url = `/newtasksys/newtasksys_front/Award?source=dreamfactory&bizCode=dream_factory&taskId=${item.taskId}&sceneval=2&g_login_type=1`; - request(url).then((res) => { - console.log(`每日任务完成结果${JSON.stringify(res)}}`); - try { - if (res.ret === 0) { - console.log(`${item.taskName}任务完成`) - } - } catch (e) { - console.log(`${item.taskName}任务异常`) - } - }) + 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 } + message = ''; + subTitle = ''; + goodsUrl = ''; + taskInfoKey = []; + option = {}; + await jdDreamFactory(); } } - Task.next(); +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +function msleep(n) { + Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, n); } +function sleep(n) { + msleep(n * 1000); +} + +async function jdDreamFactory() { + ele = 0; + await userInfo(); + await getUserElectricity(); + await taskList(); + await investElectric(); + // await assistFriend('gB99tYLjvPcEFloDgamoBw=='); + await hireAward(); + await stealFriend(); + await showMsg(); +} + + // 收取发电机的电力 -function collectElectricity() { - const url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${factoryId}&doubleflag=1&sceneval=2`; - request(url).then((res) => { - try { - if (res.ret === 0) { - console.log(`成功从发电机收取${res.data.CollectElectricity}电力`); - } - Task.next(); - } catch (e) { - console.log('收集电力异常') - } - }) -} -// 投入电力 -function investElectric() { - const url = `/dreamfactory/userinfo/InvestElectric?zone=dream_factory&productionId=${productionId}&sceneval=2&g_login_type=1`; - request(url).then((res) => { - try { - if (res.ret === 0) { - console.log(`成功投入电力${res.data.investElectric}电力`); - message += `【投入电力】${res.data.investElectric}`; - } else { - console.log(`投入失败,${res.message}`); - } - Task.next(); - } catch (e) { - console.log('收集电力异常') - } - }) -} -// 初始化任务 -function taskList() { - const url = `/newtasksys/newtasksys_front/GetUserTaskStatusList?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1`; - request(url).then((res) => { - try { - //console.log(`${JSON.stringify(res)}`) - //console.log(res) - if (res.ret === 0) { - userTaskStatusList = res.data.userTaskStatusList; - for (let item of res.data.userTaskStatusList) { - if (item.dateType === 2) { - dailyTask.push(item); - } - if (item.dateType === 1) { - produceTask.push(item); +function collectElectricity(factoryId = factoryId, help = false) { + return new Promise(async resolve => { + const url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${factoryId}&doubleflag=1&sceneval=2&g_login_type=1`; + + $.get(taskurl(url), (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (data) { + data = JSON.parse(data); + if (data['ret'] === 0) { + if (help) { + ele += Number(data.data['loginPinCollectElectricity']) + console.log(`帮助好友收取 ${data.data['CollectElectricity']} 电力,获得 ${data.data['loginPinCollectElectricity']} 电力`); + message += `【帮助好友】帮助成功,获得 ${data.data['loginPinCollectElectricity']} 电力\n` + } else { + + ele += Number(data.data['CollectElectricity']) + console.log(`收取 ${data.data['loginPinCollectElectricity']} 电力`); + message += `【收取发电站】收取成功,获得 ${data.data['CollectElectricity']} 电力\n` + } + + } else { + // console.log(data) + } + } else { + console.log(`京东服务器返回空数据`) } } - Task.next(); + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); } - } catch (e) { - console.log('初始化任务异常') - } - }).catch((error) => { - console.log(error) + }) }) } -//初始化个人信息 + +// 投入电力 +function investElectric() { + return new Promise(async resolve => { + const url = `/dreamfactory/userinfo/InvestElectric?zone=dream_factory&productionId=${productionId}&sceneval=2&g_login_type=1`; + $.get(taskurl(url), (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.ret === 0) { + console.log(`成功投入电力${data.data.investElectric}电力`); + message += `【投入电力】投入成功,共计 ${data.data.investElectric} 电力\n`; + } else { + console.log(`投入失败,${data.msg}`); + message += `【投入电力】投入失败,${data.msg}\n`; + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 初始化任务 +function taskList() { + return new Promise(async resolve => { + const url = `/newtasksys/newtasksys_front/GetUserTaskStatusList?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1`; + $.get(taskurl(url), async (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); + 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) + sleep(1); + } 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) + sleep(1); + } + break + case 4: // 招工 + break + case 5: + // 收集类 + break + case 1: // 登陆领奖 + default: + break + } + } + } + } + console.log(`完成任务:共领取${ele}电力`) + message += `【每日任务】领奖成功,共计 ${ele} 电力\n`; + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 获得用户电力情况 +function getUserElectricity() { + return new Promise(async resolve => { + const url = `/dreamfactory/generator/QueryCurrentElectricityQuantity?zone=dream_factory&factoryid=${factoryId}&sceneval=2&g_login_type=1` + $.get(taskurl(url), async (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['ret'] === 0) { + console.log(`发电机:当前 ${data.data.currentElectricityQuantity} 电力,最大值 ${data.data.maxElectricityQuantity} 电力`) + if (data.data.currentElectricityQuantity === data.data.maxElectricityQuantity + && data.data.doubleElectricityFlag) { + console.log(`发电机:电力可翻倍并收获`) + await collectElectricity() + } else { + message += `【发电机电力】当前 ${data.data.currentElectricityQuantity} 电力,未达到收获标准\n` + } + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 收取招工电力 +function hireAward() { + return new Promise(async resolve => { + const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` + $.get(taskurl(url), 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['ret'] === 0) { + console.log(`打工电力:收取成功`) + message += `【打工电力】:收取成功\n` + } else { + console.log(`打工电力:收取失败,${data.msg}`) + message += `【打工电力】:收取失败,${data.msg}\n` + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 帮助用户 +function assistFriend(sharepin) { + + return new Promise(async resolve => { + const url = `/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${sharepin}&sceneval=2&g_login_type=1` + $.get(taskurl(url), 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['ret'] === 0) { + console.log(`助力朋友:${sharepin}成功`) + } else { + console.log(`助力朋友:${data.msg}`) + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 任务领奖 +function completeTask(taskId, taskName) { + return new Promise(async resolve => { + const url = `/newtasksys/newtasksys_front/Award?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; + $.get(taskurl(url), (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); + 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 + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 完成任务 +function doTask(taskId) { + return new Promise(async resolve => { + const url = `/newtasksys/newtasksys_front/DoTask?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; + $.get(taskurl(url), (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.ret === 0) { + console.log("做任务完成!") + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 初始化个人信息 function userInfo() { - const url = `/dreamfactory/userinfo/GetUserInfo?zone=dream_factory&pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=&sceneval=2`; - request(url).then((response) => { - try { - // taskInfo = res.data.result.taskInfos; - if (response.ret === 0) { - const { data } = response; - // !data.productionList && !data.factoryList + return new Promise(async resolve => { + const url = `/dreamfactory/userinfo/GetUserInfo?zone=dream_factory&pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=&sceneval=2`; + $.get(taskurl(url), (err, resp, data) => { + data = JSON.parse(data); + if (data['ret'] === 0) { + data = data['data']; if (data.factoryList && data.productionList) { const production = data.productionList[0]; const factory = data.factoryList[0]; factoryId = factory.factoryId;//工厂ID productionId = production.productionId;//商品ID subTitle = data.user.pin; - console.log(`\n我的分享码\n${data.user.encryptPin}\n`); - // console.log(`进度:${(production.investedElectric/production.needElectric).toFixed(2) * 100}%\n`); + console.log(`当前电力:${data.user.electric}`) + console.log(`分享码: ${data.user.encryptPin}`); + console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; - Task.next(); } else { - return $hammer.alert(name, '\n【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); + console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n') } - } else { - Task.return(); } - } catch (e) { - console.log(e); - console.log('初始化任务异常'); - } + resolve() + }) }) } -//等待一下 -function sleep(s) { - return new Promise((resolve, reject) => { - setTimeout(() => { - resolve(); - }, s * 1000); + +function stealFriend() { + return new Promise(async resolve => { + const url = `//dreamfactory/friend/QueryFactoryManagerList?zone=dream_factory&sceneval=2`; + $.get(taskurl(url), (err, resp, data) => { + data = JSON.parse(data); + if (data['ret'] === 0) { + data = data['data']; + for (let i = 0; i < data.list.length; ++i) { + let pin = data.list[i]['encryptPin']; + getFactoryIdByPin(pin).then(async (facId) => { + await collectElectricity(facId,true) + }).catch(err => { + + }) + } + } + resolve() + }) }) } -async function request(url, body = {}) { - await sleep(2); //歇口气儿, 不然会报操作频繁 +function getFactoryIdByPin(pin) { return new Promise((resolve, reject) => { - $hammer.request('GET', taskurl(url, body), (error, response) => { - if(error){ - $hammer.log("Error:", error); - }else{ - //console.log(response.body) - resolve(JSON.parse(response.body)); + const url = `/dreamfactory/userinfo/GetUserInfoByPin?zone=dream_factory&pin=${pin}&sceneval=2`; + $.get(taskurl(url), (err, resp, data) => { + data = JSON.parse(data); + if (data['ret'] === 0) { + resolve(data['data']['factoryList'][0]['factoryId']) + } else { + reject() } }) }) } +async function showMsg() { + let ctrTemp; + if ($.isNode() && process.env.DREAMFACTORY_NOTIFY_CONTROL) { + ctrTemp = `${process.env.DREAMFACTORY_NOTIFY_CONTROL}` === 'false'; + } else if ($.getdata('jdDreamFactory')) { + ctrTemp = $.getdata('jdDreamFactory') === 'false'; + } else { + ctrTemp = `${jdNotify}` === 'false'; + } + if (ctrTemp) { + $.msg($.name, subTitle, message, option); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${subTitle}\n${message}`); + } + } else { + $.log(`\n${message}\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": "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 + } + $.nickName = data['base'].nickname; + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 生成url function taskurl(url, body) { return { url: `${JD_API_HOST}${url}`, headers: { - 'Cookie' : cookie, - 'Host': 'wq.jd.com', + 'Cookie': cookie, + 'Host': 'm.jingxi.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': 'jdapp;iPhone;9.0.4;13.5.1;;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': 'jdpingou;iPhone;3.14.4;14.0;ae75259f6ca8378672006fc41079cd8c90c53be8;network/wifi;model/iPhone10,2;appBuild/100351;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/62;pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'Accept-Language': 'zh-cn', 'Referer': 'https://wqsd.jd.com/pingou/dream_factory/index.html', 'Accept-Encoding': 'gzip, deflate, br', } } -} \ No newline at end of file +} + +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; +} + +// 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, o) => { + 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.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 o = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); + o = o ? 1 * o : 20, o = e && e.timeout ? e.timeout : o; + const [r, h] = i.split("@"), a = { + url: `http://${h}/v1/scripting/evaluate`, + body: {script_text: t, mock_type: "cron", timeout: o}, + headers: {"X-Key": r, 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), o = JSON.stringify(this.data); + s ? this.fs.writeFileSync(t, o) : i ? this.fs.writeFileSync(e, o) : this.fs.writeFileSync(t, o) + } + } + + lodash_get(t, e, s) { + const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); + let o = t; + for (const t of i) if (o = Object(o)[t], void 0 === o) return s; + return o + } + + 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), o = s ? this.getval(s) : ""; + if (o) try { + const t = JSON.parse(o); + e = t ? this.lodash_get(t, i, "") : e + } catch (t) { + e = "" + } + } + return e + } + + setdata(t, e) { + let s = !1; + if (/^@/.test(e)) { + const [, i, o] = /^@(.*?)\.(.*?)$/.exec(e), r = this.getval(i), h = i ? "null" === r ? null : r || "{}" : "{}"; + try { + const e = JSON.parse(h); + this.lodash_set(e, o, t), s = this.setval(JSON.stringify(e), i) + } catch (e) { + const r = {}; + this.lodash_set(r, o, t), s = this.setval(JSON.stringify(r), 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() ? $httpClient.get(t, (t, s, i) => { + !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) + }) : this.isQuanX() ? $task.fetch(t).then(t => { + const {statusCode: s, statusCode: i, headers: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t)) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { + try { + 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: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t))) + } + + 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()) $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", $task.fetch(t).then(t => { + const {statusCode: s, statusCode: i, headers: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, 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: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t)) + } + } + + 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 = "", o) { + const r = t => { + if (!t || !this.isLoon() && this.isSurge()) return t; + if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : void 0; + if ("object" == typeof t) { + if (this.isLoon()) { + let e = t.openUrl || t["open-url"], s = t.mediaUrl || t["media-url"]; + return {openUrl: e, mediaUrl: s} + } + if (this.isQuanX()) { + let e = t["open-url"] || t.openUrl, s = t["media-url"] || t.mediaUrl; + return {"open-url": e, "media-url": s} + } + } + }; + this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, r(o)) : this.isQuanX() && $notify(e, s, i, r(o))); + 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) +} From eb7b202c76195a394e5e0043c369497a80d83e01 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 15:04:56 +0800 Subject: [PATCH 0083/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 1e2b59f0..e4bb3a35 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -85,7 +85,7 @@ async function jdDreamFactory() { // 收取发电机的电力 -function collectElectricity(factoryId = factoryId, help = false) { +function collectElectricity(help = false) { return new Promise(async resolve => { const url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${factoryId}&doubleflag=1&sceneval=2&g_login_type=1`; From 7a2b48312716f55a3d809ad61470a9b0a6406b35 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 16:01:00 +0800 Subject: [PATCH 0084/1259] update --- jd_dreamFactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e4bb3a35..d7f73629 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -85,9 +85,9 @@ async function jdDreamFactory() { // 收取发电机的电力 -function collectElectricity(help = false) { +function collectElectricity(facId = factoryId, help = false) { return new Promise(async resolve => { - const url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${factoryId}&doubleflag=1&sceneval=2&g_login_type=1`; + const url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${facId}&doubleflag=1&sceneval=2&g_login_type=1`; $.get(taskurl(url), (err, resp, data) => { try { From 7d192f2b1ffb3809e628b203ca246bd2f75c96df Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 16:16:48 +0800 Subject: [PATCH 0085/1259] =?UTF-8?q?docker=20crontab=5Flist.sh=E5=92=8C?= =?UTF-8?q?=20crontab=5Flist=5Fts.sh=E6=B7=BB=E5=8A=A0=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 3 +++ docker/crontab_list_ts.sh | 4 +++- jd_dreamFactory.js | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 7be87b71..6734381b 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -55,3 +55,6 @@ 12 13 * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1 # 点点券 20 0,20 * * * node /scripts/jd_necklace.js >> /scripts/logs/jd_necklace.log 2>&1 + +# 京喜工厂 +20 * * * * node /scripts/jd_dreamFactory.js >> /scripts/logs/jd_dreamFactory.log 2>&1 \ No newline at end of file diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 68e37d36..369d2949 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -54,4 +54,6 @@ # 金融养猪 12 * * * * node /scripts/jd_pigPet.js |ts >> /scripts/logs/jd_pigPet.log 2>&1 # 点点券 -20 0,20 * * * node /scripts/jd_necklace.js |ts >> /scripts/logs/jd_necklace.log 2>&1 \ No newline at end of file +20 0,20 * * * node /scripts/jd_necklace.js |ts >> /scripts/logs/jd_necklace.log 2>&1 +# 京喜工厂 +20 * * * * node /scripts/jd_dreamFactory.js |ts >> /scripts/logs/jd_dreamFactory.log 2>&1 \ No newline at end of file diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index d7f73629..8a2c2654 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,5 +1,6 @@ /* 京东京喜工厂 +cron 15 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js */ From d42e95e7f0db08013a1e24b0c08e52f93849138c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 16:36:17 +0800 Subject: [PATCH 0086/1259] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E7=AD=89=E5=BE=85=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 8a2c2654..ceb67013 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -7,7 +7,7 @@ cron 15 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_d const $ = new Env('京喜工厂'); const JD_API_HOST = 'https://m.jingxi.com'; -let ele, factoryId; +let ele, factoryId, productionId; let message = '', subTitle = '', option = {}; const notify = $.isNode() ? require('./sendNotify') : ''; @@ -64,13 +64,6 @@ if ($.isNode()) { $.done(); }) -function msleep(n) { - Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, n); -} - -function sleep(n) { - msleep(n * 1000); -} async function jdDreamFactory() { ele = 0; @@ -179,7 +172,7 @@ function taskList() { if (vo.completedTimes >= vo.targetTimes) { console.log(`任务:${vo.description}可完成`) await completeTask(vo.taskId, vo.taskName) - sleep(1); + await $.wait(1000);//延迟等待一秒 } else { switch (vo.taskType) { case 2: // 逛一逛任务 @@ -189,7 +182,7 @@ function taskList() { console.log(`去做任务:${vo.taskName}`) await doTask(vo.taskId) await completeTask(vo.taskId, vo.taskName) - sleep(1); + await $.wait(1000);//延迟等待一秒 } break case 4: // 招工 From 75ee9d4889ef91d98c4724441ee7567908d0b346 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 16:42:03 +0800 Subject: [PATCH 0087/1259] =?UTF-8?q?=E5=85=BC=E5=AE=B9iOS=E3=80=82?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=9C=AA=E5=BC=80=E5=90=AF=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E6=B4=BB=E5=8A=A8=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8CiOS=E5=B9=B6=E5=BC=B9=E7=AA=97=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index ceb67013..acd5c7c3 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -68,6 +68,7 @@ if ($.isNode()) { async function jdDreamFactory() { ele = 0; await userInfo(); + if ($.unActive) return await getUserElectricity(); await taskList(); await investElectric(); @@ -398,7 +399,9 @@ function userInfo() { console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; } else { - console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n') + $.unActive = true;//标记是否开启了此活动 + console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); + $.msg($.name, '', `【提示】此账号[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); } } resolve() From 999358b12dbc5966907ff181af20591c04bff0c4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 19:05:09 +0800 Subject: [PATCH 0088/1259] =?UTF-8?q?=E4=B8=80=E5=B0=8F=E6=97=B6=E8=B7=91?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E9=80=9A=E7=9F=A5=E6=9C=89=E7=82=B9=E9=A2=91?= =?UTF-8?q?=E7=B9=81,=E5=85=88=E9=BB=98=E8=AE=A4=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index acd5c7c3..9bec8847 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -11,7 +11,7 @@ let ele, factoryId, productionId; let message = '', subTitle = '', option = {}; const notify = $.isNode() ? require('./sendNotify') : ''; -let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 +let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 let cookiesArr = [], cookie = ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; From bb2195783602779bb4e67e16938ca43d370b6b13 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 20 Nov 2020 19:17:33 +0800 Subject: [PATCH 0089/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=85=A5=E5=8F=A3=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 9bec8847..36302854 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,5 +1,7 @@ /* 京东京喜工厂 +活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 +或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 cron 15 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js */ From e95e4296ec3501813dcd11b34fa10b012551d475 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 21 Nov 2020 16:09:33 +0800 Subject: [PATCH 0090/1259] =?UTF-8?q?=E4=B8=BA=E9=98=B2=E6=AD=A2=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E5=AF=BC=E8=87=B4server=E9=85=B1=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E8=A2=AB=E5=B0=81,=E6=95=85=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=A2=9E=E5=8A=A02100=E6=AF=AB=E7=A7=92=E7=9A=84?= =?UTF-8?q?=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sendNotify.js | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/sendNotify.js b/sendNotify.js index 6a7d86c0..99c30e1c 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -81,7 +81,7 @@ async function sendNotify(text, desp, params = {}) { await iGotNotify(text, desp, params); } -function serverNotify(text, desp) { +function serverNotify(text, desp, timeout = 2100) { return new Promise(resolve => { if (SCKEY) { //微信server酱推送通知一个\n不会换行,需要两个\n才能换行,故做此替换 @@ -93,25 +93,29 @@ function serverNotify(text, desp) { 'Content-Type': 'application/x-www-form-urlencoded' } } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log('\n发送通知调用API失败!!\n') - console.log(err); - } else { - data = JSON.parse(data); - if (data.errno === 0) { - console.log('\nserver酱发送通知消息成功\n') - } else if (data.errno === 1024) { - console.log('\nPUSH_KEY 错误\n') + setTimeout(() => { + $.post(options, (err, resp, data) => { + try { + if (err) { + console.log('\n发送通知调用API失败!!\n') + console.log(err); + } else { + data = JSON.parse(data); + if (data.errno === 0) { + console.log('\nserver酱发送通知消息成功\n') + } else if (data.errno === 1024) { + console.log('\nPUSH_KEY 错误\n') + } else { + console.log(`server酱发送通知消息异常\n${JSON.stringify(data)}`) + } } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) + }) + }, timeout) } else { console.log('\n您未提供server酱的SCKEY,取消微信推送消息通知\n'); resolve() From ac1669889a8e8700360edb70bd38412013cb6a90 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 21 Nov 2020 16:38:16 +0800 Subject: [PATCH 0091/1259] update --- jd_pet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index 3c1f9e15..3a8157fc 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,6 +1,6 @@ /* 东东萌宠 更新地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js -更新时间:2020-11-07 +更新时间:2020-11-21 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -93,7 +93,7 @@ async function jdPet() { goodsUrl = $.petInfo.goodsInfo && $.petInfo.goodsInfo.goodsUrl; // option['media-url'] = goodsUrl; // console.log(`初始化萌宠信息完成: ${JSON.stringify(petInfo)}`); - if ($.petInfo.petStatus === 5 && $.petInfo.showHongBaoExchangePop) { + if ($.petInfo.petStatus === 5 || $.petInfo.petStatus === 6) { await slaveHelp();//可以兑换而没有去兑换,也能继续助力好友 option['open-url'] = "openApp.jdMobile://"; $.msg($.name, `【提醒⏰】${$.petInfo.goodsInfo.goodsName}已可领取`, '请去京东APP或微信小程序查看', option); From 25f4fa6992fe22c3f52d55a76a3104dce32854ba Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 21 Nov 2020 16:44:07 +0800 Subject: [PATCH 0092/1259] update --- jd_pet.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/jd_pet.js b/jd_pet.js index 3a8157fc..cdbd7f40 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -93,7 +93,7 @@ async function jdPet() { goodsUrl = $.petInfo.goodsInfo && $.petInfo.goodsInfo.goodsUrl; // option['media-url'] = goodsUrl; // console.log(`初始化萌宠信息完成: ${JSON.stringify(petInfo)}`); - if ($.petInfo.petStatus === 5 || $.petInfo.petStatus === 6) { + if ($.petInfo.petStatus === 5) { await slaveHelp();//可以兑换而没有去兑换,也能继续助力好友 option['open-url'] = "openApp.jdMobile://"; $.msg($.name, `【提醒⏰】${$.petInfo.goodsInfo.goodsName}已可领取`, '请去京东APP或微信小程序查看', option); @@ -101,6 +101,14 @@ async function jdPet() { await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}奖品已可领取`, `京东账号${$.index} ${$.nickName}\n${$.petInfo.goodsInfo.goodsName}已可领取`); } return + } else if ($.petInfo.petStatus === 6) { + await slaveHelp();//已领取红包,但未领养新的,也能继续助力好友 + option['open-url'] = "openApp.jdMobile://"; + $.msg($.name, `【提醒⏰】已领取红包,但未继续领养新的物品`, '请去京东APP或微信小程序继续领养', option); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}奖品已可领取`, `京东账号${$.index} ${$.nickName}\n已领取红包,但未继续领养新的物品`); + } + return } console.log(`\n【您的互助码shareCode】 ${$.petInfo.shareCode}\n`); await taskInit(); From b60237f0c1c5aef85ea08ed403d0a389ccfb9a86 Mon Sep 17 00:00:00 2001 From: Sirius2s <53803920+Sirius2s@users.noreply.github.com> Date: Sat, 21 Nov 2020 23:17:07 +0800 Subject: [PATCH 0093/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=94=AF=E6=8C=81=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 支持新增的点点券、京喜工厂 --- serverless.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serverless.yml b/serverless.yml index aa2cd7cf..bfb95d97 100644 --- a/serverless.yml +++ b/serverless.yml @@ -42,10 +42,10 @@ inputs: argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗 parameters: - name: jd_joy_reward_jd_joy_steal + name: jd_joy_reward_jd_joy_steal_jd_necklace cronExpression: "0 0 0-16/8 * * * *" enable: true - argument: jd_joy_reward&jd_joy_steal + argument: jd_joy_reward&jd_joy_steal&jd_necklace - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机 parameters: name: jd_redPacket_jd_shop_jd_unsubscribe_jd_lotteryMachine @@ -72,10 +72,10 @@ inputs: argument: jd_bean_change&jd_rankingList - timer: # 金融养猪# 天天提鹅 parameters: - name: jd_pigPet_jd_daily_egg + name: jd_pigPet_jd_daily_egg_jd_dreamFactory cronExpression: "0 12 * * * * *" enable: true - argument: jd_pigPet&jd_daily_egg + argument: jd_pigPet&jd_daily_egg&jd_dreamFactory environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 403bc2388bdd86fbb30ac6a7903d655e73371475 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 09:30:40 +0800 Subject: [PATCH 0094/1259] =?UTF-8?q?jd=5FblueCoin.js=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E5=B7=B2=E6=94=B9=E4=B8=BA=E9=BB=98=E8=AE=A4=E5=85=91=E6=8D=A2?= =?UTF-8?q?20=E4=BA=AC=E8=B1=86(=E4=B9=8B=E5=89=8D=E6=98=AF=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E4=B8=8D=E5=85=91=E6=8D=A2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_blueCoin.js | 217 +++++++++++++++++++++++++++++-------------------- 1 file changed, 130 insertions(+), 87 deletions(-) diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 352e39cd..908919e4 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -1,7 +1,7 @@ /* 京小超兑换奖品 脚本地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js 感谢@yangtingxiao提供PR -更新时间:2020-11-05 +更新时间:2020-11-22 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ======================quantumultx=============== @@ -18,7 +18,7 @@ const $ = new Env('京小超兑换奖品'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let coinToBeans = $.getdata('coinToBeans') || 0; //兑换多少数量的京豆(20或者1000),0默认兑换不兑换,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可 +let coinToBeans = $.getdata('coinToBeans') || 20; //兑换多少数量的京豆(20或者1000),0表示不兑换,默认兑换20京豆,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可 let jdNotify = false;//是否开启静默运行,默认false关闭(即:奖品兑换成功后会发出通知提示) //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = ''; @@ -55,6 +55,7 @@ const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; $.nickName = ''; await TotalBean(); console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); + console.log(`目前暂无兑换酒类的奖品功能,即使输入酒类名称,脚本也会提示下架\n`) if (!$.isLogin) { $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); @@ -73,7 +74,7 @@ const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; } if (`${coinToBeans}` !== '0') { await smtgHome();//查询蓝币数量,是否满足兑换的条件 - await smtg_queryPrize(); + await PrizeIndex(); } else { console.log('查询到您设置的是不兑换京豆选项,现在为您跳过兑换京豆。如需兑换,请去BoxJs设置或者修改脚本coinToBeans\n') } @@ -83,7 +84,131 @@ const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; })() .catch((e) => $.logErr(e)) .finally(() => $.done()) - +async function PrizeIndex() { + await smtg_queryPrize(); + // await smtg_materialPrizeIndex();//兑换酒类奖品,此兑换API与之前的兑换京豆类的不一致,故目前无法进行 + // const prizeList = [...$.queryPrizeData, ...$.materialPrizeIndex]; + const prizeList = [...$.queryPrizeData]; + if (`${coinToBeans}` === '1000') { + if (prizeList[1].beanType === 'BeanPackage') { + console.log(`查询换${prizeList[1].title}ID成功,ID:${prizeList[1].prizeId}`) + $.title = prizeList[1].title; + $.blueCost = prizeList[1].blueCost; + } else { + console.log(`查询换1000京豆ID失败`) + $.beanerr = `东哥今天不给换`; + return ; + } + if (prizeList[1].inStock === 506) { + $.beanerr = `失败,1000京豆领光了,请明天再来`; + return ; + } + if (prizeList[1].targetNum === prizeList[1].finishNum) { + $.beanerr = `${prizeList[1].subTitle}`; + return ; + } + //兑换1000京豆 + if ($.totalBlue > $.blueCost) { + await smtg_obtainPrize(prizeList[1].prizeId); + } else { + console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`); + $.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`; + } + } else if (`${coinToBeans}` === '20') { + if (prizeList[0].beanType === 'Bean') { + console.log(`查询换${prizeList[0].title}ID成功,ID:${prizeList[0].prizeId}`) + $.title = prizeList[0].title; + $.blueCost = prizeList[0].blueCost; + } else { + console.log(`查询换万能的京豆ID失败`) + $.beanerr = `东哥今天不给换`; + return ; + } + if (prizeList[0].inStock === 506) { + console.log(`失败,万能的京豆领光了,请明天再来`); + $.beanerr = `失败,万能的京豆领光了,请明天再来`; + return ; + } + if (prizeList[0].targetNum === prizeList[0].finishNum) { + $.beanerr = `${prizeList[0].subTitle}`; + return ; + } + //兑换万能的京豆(1-20京豆) + if ($.totalBlue > $.blueCost) { + await smtg_obtainPrize(prizeList[0].prizeId,1000); + } else { + console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`); + $.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`; + } + } else { + //自定义输入兑换 + let prizeId = '', i; + for (let index = 0; index < prizeList.length; index ++) { + if (prizeList[index].title.indexOf(coinToBeans) > -1) { + prizeId = prizeList[index].prizeId; + i = index; + $.title = prizeList[index].title; + $.blueCost = prizeList[index].blueCost; + } + } + if (prizeId) { + if (prizeList[i].inStock === 506 || prizeList[i].inStock === -1) { + console.log(`失败,您输入设置的${coinToBeans}领光了,请明天再来`); + $.beanerr = `失败,您输入设置的${coinToBeans}领光了,请明天再来`; + return ; + } + if ((prizeList[i].targetNum) && prizeList[i].targetNum === prizeList[i].finishNum) { + $.beanerr = `${prizeList[0].subTitle}`; + return ; + } + if ($.totalBlue < $.blueCost) { + await smtg_obtainPrize(prizeId); + } else { + console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`); + $.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`; + } + } else { + console.log(`奖品兑换列表[${coinToBeans}]已下架,请检查APP是否存在此商品,如存在请检查您的输入是否正确`); + $.beanerr = `奖品兑换列表[${coinToBeans}]已下架`; + } + } +} +//查询白酒类奖品列表API +function smtg_materialPrizeIndex(timeout = 0) { + return new Promise((resolve) => { + setTimeout( ()=>{ + let url = { + url : `${JD_API_HOST}&functionId=smtg_materialPrizeIndex&clientVersion=8.0.0&client=m&body=%7B%22channel%22:%221%22%7D&t=${Date.now()}`, + headers : { + 'Origin' : `https://jdsupermarket.jd.com`, + 'Cookie' : cookie, + 'Connection' : `keep-alive`, + 'Accept' : `application/json, text/plain, */*`, + 'Referer' : `https://jdsupermarket.jd.com/game/?tt=1597540727225`, + 'Host' : `api.m.jd.com`, + 'Accept-Encoding' : `gzip, deflate, br`, + 'Accept-Language' : `zh-cn` + } + } + $.post(url, async (err, resp, data) => { + try { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.data.bizCode !== 0) { + $.beanerr = `${data.data.bizMsg}`; + return + } + $.materialPrizeIndex = data.data.result.prizes || []; + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve() + } + }) + },timeout) + }) +} //查询任务 function smtg_queryPrize(timeout = 0){ return new Promise((resolve) => { @@ -112,89 +237,7 @@ function smtg_queryPrize(timeout = 0){ } if (data.data.bizCode === 0) { const { prizeList } = data.data.result; - if (`${coinToBeans}` === '1000') { - if (prizeList[1].beanType === 'BeanPackage') { - console.log(`查询换${prizeList[1].title}ID成功,ID:${prizeList[1].prizeId}`) - $.title = prizeList[1].title; - $.blueCost = prizeList[1].blueCost; - } else { - console.log(`查询换1000京豆ID失败`) - $.beanerr = `东哥今天不给换`; - return ; - } - if (prizeList[1].inStock === 506) { - $.beanerr = `失败,1000京豆领光了,请明天再来`; - return ; - } - if (prizeList[1].targetNum === prizeList[1].finishNum) { - $.beanerr = `${prizeList[1].subTitle}`; - return ; - } - //兑换1000京豆 - if ($.totalBlue > $.blueCost) { - await smtg_obtainPrize(prizeList[1].prizeId); - } else { - console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`); - $.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`; - } - } else if (`${coinToBeans}` === '20') { - if (prizeList[0].beanType === 'Bean') { - console.log(`查询换${prizeList[0].title}ID成功,ID:${prizeList[0].prizeId}`) - $.title = prizeList[0].title; - $.blueCost = prizeList[0].blueCost; - } else { - console.log(`查询换万能的京豆ID失败`) - $.beanerr = `东哥今天不给换`; - return ; - } - if (prizeList[0].inStock === 506) { - console.log(`失败,万能的京豆领光了,请明天再来`); - $.beanerr = `失败,万能的京豆领光了,请明天再来`; - return ; - } - if (prizeList[0].targetNum === prizeList[0].finishNum) { - $.beanerr = `${prizeList[0].subTitle}`; - return ; - } - //兑换万能的京豆(1-20京豆) - if ($.totalBlue > $.blueCost) { - await smtg_obtainPrize(prizeList[0].prizeId,1000); - } else { - console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`); - $.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`; - } - } else { - //自定义输入兑换 - let prizeId = '', i; - for (let index = 0; index < prizeList.length; index ++) { - if (prizeList[index].title.indexOf(coinToBeans) > -1) { - prizeId = prizeList[index].prizeId; - i = index; - $.title = prizeList[index].title; - $.blueCost = prizeList[index].blueCost; - } - } - if (prizeId) { - if (prizeList[i].inStock === 506) { - console.log(`失败,您输入设置的${coinToBeans}领光了,请明天再来`); - $.beanerr = `失败,您输入设置的${coinToBeans}领光了,请明天再来`; - return ; - } - if (prizeList[i].targetNum === prizeList[i].finishNum) { - $.beanerr = `${prizeList[0].subTitle}`; - return ; - } - if ($.totalBlue > $.blueCost) { - await smtg_obtainPrize(prizeId); - } else { - console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`); - $.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`; - } - } else { - console.log(`奖品兑换列表[${coinToBeans}]已下架,请检查APP是否存在此商品,如存在请检查您的输入是否正确`); - $.beanerr = `奖品兑换列表[${coinToBeans}]已下架`; - } - } + $.queryPrizeData = data.data.result.prizeList || []; } } } catch (e) { From ad5d51df64f6f1c9a84ab50055ffdf7c1f740da7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 10:23:45 +0800 Subject: [PATCH 0095/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E7=9A=84=E6=91=87=E4=B8=80=E6=91=87=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E5=8C=85=E6=8B=AC=E9=A2=86=E5=8F=96=E4=B8=80=E6=AC=A1?= =?UTF-8?q?=E5=85=8D=E8=B4=B9=E7=9A=84=E6=9C=BA=E4=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_club_lottery.js | 118 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 2 deletions(-) diff --git a/jd_club_lottery.js b/jd_club_lottery.js index d21a5a2f..762cc6c3 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -78,6 +78,8 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; async function clubLottery() { await doTasks();//做任务 await getFreeTimes();//获取摇奖次数 + await vvipclub_receive_lottery_times();//新版:领取一次免费的机会 + await vvipclub_shaking_info();//新版:查询多少次摇奖次数 await shaking();//开始摇奖 } async function doTasks() { @@ -133,6 +135,19 @@ async function shaking() { } } } + for (let i = 0; i < new Array($.leftShakingTimes).fill('').length; i++) { + console.log(`开始新版-摇奖`) + await $.wait(2000); + const newShakeBeanRes = await vvipclub_shaking_lottery(); + if (newShakeBeanRes.success) { + console.log(`新版-剩余摇奖次数:${newShakeBeanRes.data.remainLotteryTimes}`) + if (newShakeBeanRes.data && newShakeBeanRes.data.rewardBeanAmount) { + $.prizeBeanCount += newShakeBeanRes.data.rewardBeanAmount; + } else { + console.log(`未中奖`) + } + } + } } function showMsg() { if ($.prizeBeanCount) { @@ -140,6 +155,105 @@ function showMsg() { } } //====================API接口================= +//查询剩余摇奖次数API +function vvipclub_shaking_info() { + return new Promise(resolve => { + const options = { + url: `https://api.m.jd.com/?t=${Date.now()}&appid=sharkBean&functionId=vvipclub_shaking_info`, + headers: { + "accept": "application/json", + "accept-encoding": "gzip, deflate, br", + "accept-language": "zh-CN,zh;q=0.9", + "cookie": cookie, + "origin": "https://skuivip.jd.com", + "referer": "https://skuivip.jd.com/", + "user-agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + } + } + $.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.success) { + $.leftShakingTimes = data.data.leftShakingTimes;//剩余抽奖次数 + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +//新版摇奖API +function vvipclub_shaking_lottery() { + return new Promise(resolve => { + const options = { + url: `https://api.m.jd.com/?t=${Date.now()}&appid=sharkBean&functionId=vvipclub_shaking_lottery&body=%7B%7D`, + headers: { + "accept": "application/json", + "accept-encoding": "gzip, deflate, br", + "accept-language": "zh-CN,zh;q=0.9", + "cookie": cookie, + "origin": "https://skuivip.jd.com", + "referer": "https://skuivip.jd.com/", + "user-agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + } + } + $.get(options, (err, resp, data) => { + try { + if (err) { + console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) + $.logErr(err); + } else { + // console.log(data) + data = JSON.parse(data); + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +//领取新版本摇一摇一次免费的次数 +function vvipclub_receive_lottery_times() { + return new Promise(resolve => { + const options = { + url: `https://api.m.jd.com/?t=${Date.now()}&appid=sharkBean&functionId=vvipclub_receive_lottery_times`, + headers: { + "accept": "application/json", + "accept-encoding": "gzip, deflate, br", + "accept-language": "zh-CN,zh;q=0.9", + "cookie": cookie, + "origin": "https://skuivip.jd.com", + "referer": "https://skuivip.jd.com/", + "user-agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + } + } + $.get(options, (err, resp, data) => { + try { + if (err) { + console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) + $.logErr(err); + } else { + // console.log(data) + data = JSON.parse(data); + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} //查询多少次机会 function getFreeTimes() { return new Promise(resolve => { @@ -261,9 +375,9 @@ function TotalBean() { }) }) } -function taskUrl(function_id, body = {}) { +function taskUrl(function_id, body = {}, appId = 'vip_h5') { return { - url: `${JD_API_HOST}?functionId=${function_id}&appid=vip_h5&body=${escape(JSON.stringify(body))}&_=${Date.now()}`, + url: `${JD_API_HOST}?functionId=${function_id}&appid=${appId}&body=${escape(JSON.stringify(body))}&_=${Date.now()}`, headers: { 'Cookie': cookie, 'Host': 'api.m.jd.com', From 3424a8010269a686c7373affbf156fcd31fb08dc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 10:27:33 +0800 Subject: [PATCH 0096/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E4=B8=AD=E5=A5=96=E6=89=93=E5=8D=B0=EF=BC=8C=E5=87=8F=E5=B0=91?= =?UTF-8?q?=E6=91=87=E5=A5=96=E9=97=B4=E9=9A=94(=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_club_lottery.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 762cc6c3..7d81c634 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -137,14 +137,15 @@ async function shaking() { } for (let i = 0; i < new Array($.leftShakingTimes).fill('').length; i++) { console.log(`开始新版-摇奖`) - await $.wait(2000); + await $.wait(1000); const newShakeBeanRes = await vvipclub_shaking_lottery(); if (newShakeBeanRes.success) { console.log(`新版-剩余摇奖次数:${newShakeBeanRes.data.remainLotteryTimes}`) if (newShakeBeanRes.data && newShakeBeanRes.data.rewardBeanAmount) { $.prizeBeanCount += newShakeBeanRes.data.rewardBeanAmount; + console.log(`恭喜你,中奖了,获得${newShakeBeanRes.data.rewardBeanAmount}京豆\n`) } else { - console.log(`未中奖`) + console.log(`未中奖\n`) } } } From 5e4d4de6fa3543bde595c22687be692947723394 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 10:37:26 +0800 Subject: [PATCH 0097/1259] =?UTF-8?q?=E7=BB=8F=E6=B5=8B=E8=AF=95=EF=BC=8C?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=8A=BD=E5=A5=96=E5=BB=B6=E8=BF=9F=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E4=B9=9F=E6=AD=A3=E5=B8=B8=EF=BC=8C=E6=95=85=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E5=BB=B6=E8=BF=9F=E6=97=B6=E9=97=B4=EF=BC=8C=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E8=84=9A=E6=9C=AC=E8=BF=90=E8=A1=8C=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_club_lottery.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 7d81c634..25f8636b 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -123,6 +123,20 @@ async function doTasks() { } } async function shaking() { + for (let i = 0; i < new Array($.leftShakingTimes).fill('').length; i++) { + console.log(`开始新版-摇奖`) + // await $.wait(500); + const newShakeBeanRes = await vvipclub_shaking_lottery(); + if (newShakeBeanRes.success) { + console.log(`新版-剩余摇奖次数:${newShakeBeanRes.data.remainLotteryTimes}`) + if (newShakeBeanRes.data && newShakeBeanRes.data.rewardBeanAmount) { + $.prizeBeanCount += newShakeBeanRes.data.rewardBeanAmount; + console.log(`恭喜你,中奖了,获得${newShakeBeanRes.data.rewardBeanAmount}京豆\n`) + } else { + console.log(`未中奖\n`) + } + } + } for (let i = 0; i < new Array($.freeTimes).fill('').length; i++) { console.log(`开始摇奖`) await $.wait(1000); @@ -135,20 +149,6 @@ async function shaking() { } } } - for (let i = 0; i < new Array($.leftShakingTimes).fill('').length; i++) { - console.log(`开始新版-摇奖`) - await $.wait(1000); - const newShakeBeanRes = await vvipclub_shaking_lottery(); - if (newShakeBeanRes.success) { - console.log(`新版-剩余摇奖次数:${newShakeBeanRes.data.remainLotteryTimes}`) - if (newShakeBeanRes.data && newShakeBeanRes.data.rewardBeanAmount) { - $.prizeBeanCount += newShakeBeanRes.data.rewardBeanAmount; - console.log(`恭喜你,中奖了,获得${newShakeBeanRes.data.rewardBeanAmount}京豆\n`) - } else { - console.log(`未中奖\n`) - } - } - } } function showMsg() { if ($.prizeBeanCount) { From f0c31ba37f969929e11b0162214998921a36f862 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 10:47:38 +0800 Subject: [PATCH 0098/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B6=E9=83=A8?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E6=9B=B4=E6=96=B0=E7=9A=84=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_club_lottery.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 25f8636b..eb40de77 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -2,7 +2,7 @@ * @Author: lxk0301 * @Date: 2020-11-03 20:35:07 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-10-12 20:37:10 + * @Last Modified time: 2020-11-22 20:37:10 摇京豆(京东APP首页-领京豆-摇京豆) 更新时间:2020-10-12 Modified from https://github.com/Zero-S1/JD_tools/blob/master/JD_vvipclub.py @@ -181,6 +181,7 @@ function vvipclub_shaking_info() { data = JSON.parse(data); if (data.success) { $.leftShakingTimes = data.data.leftShakingTimes;//剩余抽奖次数 + console.log(`新版——摇奖次数${$.leftShakingTimes}`); } } } catch (e) { From 82079f41444c36a23b7b78e5b6b9f52ccea5b626 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 16:37:15 +0800 Subject: [PATCH 0099/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme=EF=BC=8C?= =?UTF-8?q?=E4=BA=AC=E5=B0=8F=E8=B6=85=E6=94=B9=E5=90=8D=E4=B8=BA=E4=B8=9C?= =?UTF-8?q?=E4=B8=9C=E8=B6=85=E5=B8=82=EF=BC=8Cdocker=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E4=B8=80=E6=96=B0=E5=A2=9E=E4=B8=9C=E4=B8=9C=E5=B0=8F=E7=AA=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 + README.md | 6 +- docker/crontab_list.sh | 5 +- docker/crontab_list_ts.sh | 4 +- jd_necklace.js | 2 +- jd_small_home.js | 688 +++++++++++++++++++++++++++++++++++++ 6 files changed, 701 insertions(+), 6 deletions(-) create mode 100644 jd_small_home.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 070a997e..56aa670f 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -63,6 +63,8 @@ cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script #点点券 cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, tag=点点券 +#东东小窝 +cron "16 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝 #京东全民营业领金币 cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, tag=京东全民营业领金币 diff --git a/README.md b/README.md index 04d49abf..a7d21d99 100644 --- a/README.md +++ b/README.md @@ -34,13 +34,15 @@ 11. 宠汪汪赛跑助力([jd_joy_run.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js)) 12. 宠汪汪聚宝盆辅助脚本([jd_petTreasureBox.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js)) 13. 取关京东店铺和商品([jd_unsubscribe.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js)) -14. 京小超([jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js)) -15. 京小超兑换奖品([jd_blueCoin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js)) +14. 东东超市([jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js)) +15. 东东超市兑换奖品([jd_blueCoin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js)) 16. 进店领豆([jd_shop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js)) 17. 摇京豆([jd_club_lottery.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js)) 18. 全名开红包([jd_redPacket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js)) 19. 京东多合一签到([jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js)) 【可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) 】 20. 京豆变动通知([jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js)) +21. 京喜工厂([jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js)) +22. 东东超市([jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js)) 21. 以及其他一部分在特定时间可用的薅京豆脚本,如 [手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 等。 **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 6734381b..512a389c 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -55,6 +55,7 @@ 12 13 * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1 # 点点券 20 0,20 * * * node /scripts/jd_necklace.js >> /scripts/logs/jd_necklace.log 2>&1 - # 京喜工厂 -20 * * * * node /scripts/jd_dreamFactory.js >> /scripts/logs/jd_dreamFactory.log 2>&1 \ No newline at end of file +20 * * * * node /scripts/jd_dreamFactory.js >> /scripts/logs/jd_dreamFactory.log 2>&1 +# 东东小窝 +20 * * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 369d2949..879a87be 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -56,4 +56,6 @@ # 点点券 20 0,20 * * * node /scripts/jd_necklace.js |ts >> /scripts/logs/jd_necklace.log 2>&1 # 京喜工厂 -20 * * * * node /scripts/jd_dreamFactory.js |ts >> /scripts/logs/jd_dreamFactory.log 2>&1 \ No newline at end of file +20 * * * * node /scripts/jd_dreamFactory.js |ts >> /scripts/logs/jd_dreamFactory.log 2>&1 +# 东东小窝 +20 * * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file diff --git a/jd_necklace.js b/jd_necklace.js index 9c058abf..10edc5f1 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -23,7 +23,7 @@ cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_sc 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js ============小火箭========= -东东农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, cronexpr="10 0,20 * * *", timeout=200, enable=true +点点券 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, cronexpr="10 0,20 * * *", timeout=200, enable=true */ const $ = new Env('点点券'); diff --git a/jd_small_home.js b/jd_small_home.js new file mode 100644 index 00000000..8f34fd91 --- /dev/null +++ b/jd_small_home.js @@ -0,0 +1,688 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-12 11:42:12 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-22 15:42:12 + */ +/* +东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js +现有功能: +做日常任务任务,每日抽奖(有机会活动京豆,使用的是免费机会,不消耗WO币) +助力好友:一个账号一天只能助力一次(即:每个人助力机会只有一次) +后期有空优化相互助力功能 +TODO;装扮领京豆(使用WO币购买装饰品可以获得京豆,分别可获得5,20,50,100,200,400,700,1200京豆) + +注:目前使用此脚本会给脚本内置的两个码进行助力,请知晓 + +APP活动入口: +京东APP首页 ->搜索 玩一玩 -> DIY理想家 +或 京东APP -> 我的-> 游戏与更多 - > 东东小窝 +微信小程序入口: +来客有礼 - > 首页 -> 东东小窝 +网页入口(注:进入后不能再此刷新,否则会有问题,需重新输入此链接进入) +https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html + +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +===============Quantumultx=============== +[task_local] +#东东小窝 +16 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝, enabled=true + +================Loon============== +[Script] +cron "16 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝 + +===============Surge================= +东东小窝 = type=cron,cronexp="16 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js + +============小火箭========= +东东小窝 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, cronexpr="16 0 * * *", 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 = ''; +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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} + +const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; +const inviteCodes = ['1330186694770339842', '1330185661529935874']; +!(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 = ''; + 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 smallHome(); + } + } +})() + .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 showMsg(); +} +function showMsg() { + return new Promise(resolve => { + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + resolve() + }) +} +async function lottery() { + if ($.freeDrawCount > 0) { + await drawRecord($.lotteryId); + } +} +//获取详情 +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`; + message += `【当前WO币】${data.body.woB}\n`; + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +async function doChannelsListTask(taskId) { + await queryChannelsList(taskId); + for (let item of $.queryChannelsList) { + if (item.showOrder !== 1) { + await $.wait(1000) + await followChannel(taskId, item.id) + await queryDoneTaskRecord(taskId); + } + } +} +async function helpFriends() { + for (let item of inviteCodes) { + if (!item) continue + await createAssistUser(item, $.createAssistUserID || "1318106976846299138"); + } +} +async function doAllTask() { + await queryAllTaskInfo();//获取任务详情列表$.taskList + for (let item of $.taskList) { + if (item.ssjjTaskInfo.type === 1) { + //邀请好友助力自己 + // await createAssistUser('1330186694770339842', item.ssjjTaskInfo.id) + $.createAssistUserID = item.ssjjTaskInfo.id; + console.log(`助力您的好友:${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); + } + // await game(item.ssjjTaskInfo.id, item.doneNum); + // await doAllTask(); + } + + 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) + } + 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); + } + // await browseChannels('browseChannels', item.ssjjTaskInfo.id, item.browseId); + // await doAllTask(); + } + 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 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' ? '浏览频道' : '浏览会场'}`, 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) { + return new Promise(resolve => { + $.get(taskUrl(`/ssjj-task-record/queryDoneTaskRecord/6/${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 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; + } + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function createAssistUser(inviteId, taskId) { + 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": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + } + } + $.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": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + } + } + $.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; + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +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": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + } + } +} +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 (safeGet(data)) { + data = JSON.parse(data); + if (data['retcode'] === 13) { + $.isLogin = false; //cookie过期 + return + } + $.nickName = data['base'].nickname; + } + } + } 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){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 From 4dd6ad98a85d91c2e68eb4944de47055273ee9de Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 16:38:54 +0800 Subject: [PATCH 0100/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9docker=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E4=B8=80cron=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- docker/crontab_list_ts.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 512a389c..3367232e 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -58,4 +58,4 @@ # 京喜工厂 20 * * * * node /scripts/jd_dreamFactory.js >> /scripts/logs/jd_dreamFactory.log 2>&1 # 东东小窝 -20 * * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file +16 0 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 879a87be..d9d60910 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -58,4 +58,4 @@ # 京喜工厂 20 * * * * node /scripts/jd_dreamFactory.js |ts >> /scripts/logs/jd_dreamFactory.log 2>&1 # 东东小窝 -20 * * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file +16 0 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file From 8f72b6d38546c4439be288a71c095dc4e74e18f9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 16:47:15 +0800 Subject: [PATCH 0101/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_small_home.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jd_small_home.js b/jd_small_home.js index 8f34fd91..caad3368 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -113,6 +113,8 @@ function showMsg() { async function lottery() { if ($.freeDrawCount > 0) { await drawRecord($.lotteryId); + } else { + console.log(`免费抽奖机会今日已使用\n`) } } //获取详情 From 7ad41acb8abbd9f36c4c79bede430714fc7fb076 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 16:54:47 +0800 Subject: [PATCH 0102/1259] update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7d21d99..86cec920 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ 19. 京东多合一签到([jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js)) 【可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) 】 20. 京豆变动通知([jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js)) 21. 京喜工厂([jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js)) -22. 东东超市([jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js)) +22. 东东小窝([jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js)) 21. 以及其他一部分在特定时间可用的薅京豆脚本,如 [手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 等。 **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** From 323192ef6ae7b9805d38941ed8f01cccebe8e690 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 22 Nov 2020 22:30:09 +0800 Subject: [PATCH 0103/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=20jd=5Funsubscribe?= =?UTF-8?q?.js=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_unsubscribe.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 1fa2cce4..0919fc14 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -1,6 +1,6 @@ /* 脚本:取关京东店铺和商品 -更新时间:2020-11-03 +更新时间:2020-11-22 因种豆得豆和宠汪汪以及NobyDa大佬的京东签到脚本会关注店铺和商品,故此脚本用来取消已关注的店铺和商品 默认每运行一次脚本取消关注10个商品,10个店铺。可结合boxjs自定义取消多少个(目前测试通过最大数量是一次性取消300个商品无异常,大于300请自行测试,建议尽量不要一次性全部取消以免出现问题)。 建议此脚本运行时间在 种豆得豆和宠汪汪脚本运行之后 再执行 @@ -102,7 +102,7 @@ function unsubscribeGoods() { console.log(`是否匹配::${item.commTitle.indexOf(stopGoods.replace(/\ufffc|\s*/g, ''))}`) - if (stopGoods && item.commTitle.indexOf(stopGoods.replace(/\ufffc|\s*/g, '')) === 0) { + if (stopGoods && item.commTitle.indexOf(stopGoods.replace(/\ufffc|\s*/g, '')) > -1) { console.log(`匹配到了您设定的商品--${stopGoods},不在进行取消关注商品`) break; } From 8e60a588ba0a04f0ff59b2f5e2b42f0fc216311a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 09:18:17 +0800 Subject: [PATCH 0104/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9secret=E9=9B=86?= =?UTF-8?q?=E5=90=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 45aaa30d..2b8f97fe 100644 --- a/githubAction.md +++ b/githubAction.md @@ -104,7 +104,7 @@ | `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | | `FRUIT_BEAN_CARD` | 农场使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | | `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开. 四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`, `遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明)| -| `FruitShareCodes` | 东东农场互助码 | 非必须 | 填写规则请看 [jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看 [jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看 [jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | From 7ecf61b35cb916805f23dd4ce862785faf36da6e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 09:24:48 +0800 Subject: [PATCH 0105/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Daction=E8=BD=AC?= =?UTF-8?q?=E8=85=BE=E8=AE=AF=E4=BA=91=E5=87=BD=E6=95=B0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=86=9C=E5=9C=BA=E5=8A=A9=E5=8A=9B=E7=A0=81?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index ef4b6676..0810a75c 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -52,7 +52,7 @@ jobs: if [ $SUPERMARKET_LOTTERY ]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: $SUPERMARKET_LOTTERY" serverless.yml; fi; if [ $FRUIT_BEAN_CARD ]; then sed -i "/variables/a\ FRUIT_BEAN_CARD: $FRUIT_BEAN_CARD" serverless.yml; fi; if [ $UN_SUBSCRIBES ]; then sed -i "/variables/a\ UN_SUBSCRIBES: $UN_SUBSCRIBES" serverless.yml; fi; - if [ $FruitShareCodes ]; then sed -i "/variables/a\ FruitShareCodes: $FruitShareCodes" serverless.yml; fi; + if [ $FRUITSHARECODES ]; then sed -i "/variables/a\ FRUITSHARECODES: $FruitShareCodes" serverless.yml; fi; if [ $PETSHARECODES ]; then sed -i "/variables/a\ PETSHARECODES: $PETSHARECODES" serverless.yml; fi; if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; @@ -88,7 +88,7 @@ jobs: SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}} FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}} UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}} - FruitShareCodes: ${{ secrets.FruitShareCodes}} + FRUITSHARECODES: ${{ secrets.FRUITSHARECODES}} PETSHARECODES: ${{ secrets.PETSHARECODES}} PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}} SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}} From 1d544757ec5e9c7306712519f8212f2a719ff977 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 09:30:53 +0800 Subject: [PATCH 0106/1259] update --- .github/workflows/deploy_tencent_scf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 0810a75c..a259d30e 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -52,7 +52,7 @@ jobs: if [ $SUPERMARKET_LOTTERY ]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: $SUPERMARKET_LOTTERY" serverless.yml; fi; if [ $FRUIT_BEAN_CARD ]; then sed -i "/variables/a\ FRUIT_BEAN_CARD: $FRUIT_BEAN_CARD" serverless.yml; fi; if [ $UN_SUBSCRIBES ]; then sed -i "/variables/a\ UN_SUBSCRIBES: $UN_SUBSCRIBES" serverless.yml; fi; - if [ $FRUITSHARECODES ]; then sed -i "/variables/a\ FRUITSHARECODES: $FruitShareCodes" serverless.yml; fi; + if [ $FRUITSHARECODES ]; then sed -i "/variables/a\ FRUITSHARECODES: $FRUITSHARECODES" serverless.yml; fi; if [ $PETSHARECODES ]; then sed -i "/variables/a\ PETSHARECODES: $PETSHARECODES" serverless.yml; fi; if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; From 3a3733fe2e45a60f8a38de0933de8ad9595d647e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 09:42:51 +0800 Subject: [PATCH 0107/1259] =?UTF-8?q?BoxJs=E6=B7=BB=E5=8A=A0=E5=A4=9A?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7cookie=E7=AE=A1=E7=90=86=E5=99=A8=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JD_extra_cookie.js | 2 +- lxk0301.boxjs.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index 10fbcae8..f1eed495 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -3,7 +3,7 @@ Author: 2Ya -Github: https://github.com/domping +Github: https://github.com/dompling =================== 特别说明: diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index e3095126..545cb2dc 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -9,6 +9,11 @@ "id": "JD_Cookies", "name": "京东多账号 Ck 管理", "keys": ["CookiesJD"], + "descs_html": [ + "请勿随意在输入框修改内容,建议通过脚本去获取cookie,若要修改,请按照JSON 格式修改。", + "脚本地址【京东多 CK获取】,并按照此脚本注释进行配置", + "使用方式【个人中心】获取对应的数据Code" + ], "settings": [ { "id": "CookiesJD", From 7d0ac7d4e14c3f2c5716e677cd7a4f1b439de1ab Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 09:48:48 +0800 Subject: [PATCH 0108/1259] =?UTF-8?q?=E5=BA=93=E9=87=8C=E9=9D=A2=E6=89=80?= =?UTF-8?q?=E6=9C=89=E4=BA=AC=E4=B8=9C=E7=B3=BB=E5=88=97=E7=9A=84=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?User-Agent=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=B8=8D=E6=87=82?= =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E4=B8=8D=E7=9F=A5UA=E7=9A=84=E4=B8=8D?= =?UTF-8?q?=E8=A6=81=E4=B9=B1=E8=87=AA=E5=AE=9A=E4=B9=89=EF=BC=8C=E5=9B=A0?= =?UTF-8?q?=E6=94=B9=E5=8A=A8=E4=BA=86UA=EF=BC=8C=E5=A6=82=E5=8F=91?= =?UTF-8?q?=E7=8E=B0=E5=BC=82=E5=B8=B8=E8=AF=B7=E6=8F=90issue=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9C=89=E6=BC=8F=E7=BD=91=E4=B9=8B=E9=B1=BC=E4=B9=9F?= =?UTF-8?q?=E8=AF=B7=E6=8C=87=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_818.js | 12 ++++++------ jd_bean_change.js | 4 ++-- jd_bean_sign.js | 2 +- jd_blueCoin.js | 4 ++-- jd_club_lottery.js | 8 ++++---- jd_collectProduceScore.js | 2 +- jd_daily_egg.js | 4 ++-- jd_fruit.js | 6 +++--- jd_joy.js | 6 +++--- jd_joy_feedPets.js | 6 +++--- jd_joy_reward.js | 6 +++--- jd_joy_run.js | 2 +- jd_joy_steal.js | 8 ++++---- jd_mohe.js | 4 ++-- jd_moneyTree.js | 4 ++-- jd_necklace.js | 6 +++--- jd_pet.js | 4 ++-- jd_pigPet.js | 6 +++--- jd_plantBean.js | 4 ++-- jd_redPacket.js | 4 ++-- jd_shop.js | 6 +++--- jd_small_home.js | 10 +++++----- jd_speed.js | 2 +- jd_unsubscribe.js | 10 +++++----- jd_xtg.js | 10 +++++----- 25 files changed, 70 insertions(+), 70 deletions(-) diff --git a/jd_818.js b/jd_818.js index 7fbeb496..314be49e 100644 --- a/jd_818.js +++ b/jd_818.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-03 09:25:47 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-02 09:26:12 + * @Last Modified time: 2020-11-22 23:07:00 */ /* 京东手机狂欢城活动,每日可获得30+以上京豆(其中20京豆是往期奖励,需第一天参加活动后,第二天才能拿到) @@ -633,7 +633,7 @@ function toHelp(code) { "Cookie": cookie, "Connection": "keep-alive", "Accept": "application/json, text/plain, */*", - "User-Agent": "jdapp;iPhone;9.1.0;14.0;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167348;supportBestPay/0;jdSupportDarkMode/0;pv/252.3;apprpd/Home_Main;ref/JDWebViewController;psq/2;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|695;jdv/0|kong|t_2010957099_|jingfen|3b5422e836e74037862fea3dcf1a6802|1600647811440|1600647814;adk/;app_device/IOS;pap/JA2015_311210|9.1.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", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Referer": "https://rdcseason.m.jd.com/", "Content-Length": "44", "Accept-Language": "zh-cn" @@ -665,7 +665,7 @@ function getHelp() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.1.0;14.0;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167348;supportBestPay/0;jdSupportDarkMode/0;pv/255.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|701;jdv/0|kong|t_2010957099_|jingfen|3b5422e836e74037862fea3dcf1a6802|1600647811440|1600647814;adk/;app_device/IOS;pap/JA2015_311210|9.1.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", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com", "Accept-Encoding": "gzip, deflate, br" @@ -726,7 +726,7 @@ function getListJbean() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.1.0;14.0;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167348;supportBestPay/0;jdSupportDarkMode/0;pv/255.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|701;jdv/0|kong|t_2010957099_|jingfen|3b5422e836e74037862fea3dcf1a6802|1600647811440|1600647814;adk/;app_device/IOS;pap/JA2015_311210|9.1.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", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com", "Accept-Encoding": "gzip, deflate, br" @@ -761,7 +761,7 @@ function getListIntegral() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.1.0;14.0;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167348;supportBestPay/0;jdSupportDarkMode/0;pv/255.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|701;jdv/0|kong|t_2010957099_|jingfen|3b5422e836e74037862fea3dcf1a6802|1600647811440|1600647814;adk/;app_device/IOS;pap/JA2015_311210|9.1.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", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com", "Accept-Encoding": "gzip, deflate, br" @@ -797,7 +797,7 @@ function getListRank() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.1.0;14.0;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167348;supportBestPay/0;jdSupportDarkMode/0;pv/255.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|701;jdv/0|kong|t_2010957099_|jingfen|3b5422e836e74037862fea3dcf1a6802|1600647811440|1600647814;adk/;app_device/IOS;pap/JA2015_311210|9.1.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", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com", "Accept-Encoding": "gzip, deflate, br" diff --git a/jd_bean_change.js b/jd_bean_change.js index 731870fa..f5448a74 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -138,7 +138,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -175,7 +175,7 @@ function getJingBeanBalanceDetail(page) { "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': 'JD4iPhone/167169 (iPhone; iOS 13.4.1; Scale/3.00)', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': cookie, diff --git a/jd_bean_sign.js b/jd_bean_sign.js index 9a76a58d..80c119a7 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -161,7 +161,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 908919e4..8d61399e 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -364,7 +364,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -407,7 +407,7 @@ function taskUrl(function_id, body = {}) { return { url: `${JD_API_HOST}&functionId=${function_id}&clientVersion=8.0.0&client=m&body=${escape(JSON.stringify(body))}&t=${Date.now()}`, headers: { - 'User-Agent': 'jdapp;iPhone;9.0.8;13.6;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Cookie': cookie, 'Referer': 'https://jdsupermarket.jd.com/game', diff --git a/jd_club_lottery.js b/jd_club_lottery.js index eb40de77..b40db493 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -2,7 +2,7 @@ * @Author: lxk0301 * @Date: 2020-11-03 20:35:07 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-22 20:37:10 + * @Last Modified time: 2020-11-22 23:07:04 摇京豆(京东APP首页-领京豆-摇京豆) 更新时间:2020-10-12 Modified from https://github.com/Zero-S1/JD_tools/blob/master/JD_vvipclub.py @@ -168,7 +168,7 @@ function vvipclub_shaking_info() { "cookie": cookie, "origin": "https://skuivip.jd.com", "referer": "https://skuivip.jd.com/", - "user-agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -204,7 +204,7 @@ function vvipclub_shaking_lottery() { "cookie": cookie, "origin": "https://skuivip.jd.com", "referer": "https://skuivip.jd.com/", - "user-agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -236,7 +236,7 @@ function vvipclub_receive_lottery_times() { "cookie": cookie, "origin": "https://skuivip.jd.com", "referer": "https://skuivip.jd.com/", - "user-agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { diff --git a/jd_collectProduceScore.js b/jd_collectProduceScore.js index a49766ff..b34f2c51 100644 --- a/jd_collectProduceScore.js +++ b/jd_collectProduceScore.js @@ -124,7 +124,7 @@ function taskPostUrl(functionId, body = {}) { url: `${JD_API_HOST}?functionId=${functionId}`, body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, headers: { - 'User-Agent': 'jdapp;iPhone;9.2.0;14.1;;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Content-Type': 'application/x-www-form-urlencoded', 'Host': 'api.m.jd.com', 'Cookie': cookie, diff --git a/jd_daily_egg.js b/jd_daily_egg.js index 07150e7f..b19ac6b9 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -175,7 +175,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -215,7 +215,7 @@ function taskUrl(function_id, body) { 'Content-Type' : `application/x-www-form-urlencoded;charset=UTF-8`, 'Host' : `ms.jr.jd.com`, 'Connection' : `keep-alive`, - 'User-Agent' : `jdapp;iPhone;9.0.0;13.4.1;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;ADID/F75E8AED-CB48-4EAC-A213-E8CE4018F214;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167237;supportBestPay/0;jdSupportDarkMode/0;pv/1287.19;apprpd/MyJD_GameMain;ref/https%3A%2F%2Fuua.jr.jd.com%2Fuc-fe-wxgrowing%2Fmoneytree%2Findex%2F%3Fchannel%3Dyxhd%26lng%3D113.325843%26lat%3D23.204628%26sid%3D2d98e88cf7d182f60d533476c2ce777w%26un_area%3D19_1601_50258_51885;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|3485;jdv/0|kong|t_1000170135|tuiguang|notset|1593059927172|1593059927;adk/;app_device/IOS;pap/JA2015_311210|9.0.0|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, + 'User-Agent' : $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer' : `https://uua.jr.jd.com/uc-fe-wxgrowing/moneytree/index`, 'Accept-Language' : `zh-cn` } diff --git a/jd_fruit.js b/jd_fruit.js index 471d3c98..efe3ee2d 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1141,7 +1141,7 @@ async function initForFarm() { "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site", - "user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Content-Type": "application/x-www-form-urlencoded" } }; @@ -1328,7 +1328,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -1396,7 +1396,7 @@ function taskUrl(function_id, body = {}) { url: `${JD_API_HOST}?functionId=${function_id}&appid=wh5&body=${escape(JSON.stringify(body))}`, headers: { Cookie: cookie, - UserAgent: `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`, + UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } diff --git a/jd_joy.js b/jd_joy.js index 163025ee..7df3fffe 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -693,7 +693,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -731,7 +731,7 @@ function taskUrl(url, Host, reqSource) { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': 'jdapp;iPhone;8.5.8;13.4.1;9b812b59e055cd226fd60ebb5fd0981c4d0d235d;network/wifi;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/0;model/iPhone9,2;addressid/138109592;hasOCPay/0;appBuild/167169;supportBestPay/0;jdSupportDarkMode/0;pv/200.75;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/29;ads/;psn/9b812b59e055cd226fd60ebb5fd0981c4d0d235d|608;jdv/0|direct|-|none|-|1587263154256|1587263330;adk/;app_device/IOS;pap/JA2015_311210|8.5.8|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -743,7 +743,7 @@ function taskPostUrl(url, body, reqSource, Host, ContentType) { body: body, headers: { '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`, + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'reqSource': reqSource, 'Content-Type': ContentType, 'Host': Host, diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index 77ce1bc0..1e497cb5 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -104,7 +104,7 @@ function feedPets(feedNum) { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': 'jdapp;iPhone;8.5.8;13.4.1;9b812b59e055cd226fd60ebb5fd0981c4d0d235d;network/wifi;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/0;model/iPhone9,2;addressid/138109592;hasOCPay/0;appBuild/167169;supportBestPay/0;jdSupportDarkMode/0;pv/200.75;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/29;ads/;psn/9b812b59e055cd226fd60ebb5fd0981c4d0d235d|608;jdv/0|direct|-|none|-|1587263154256|1587263330;adk/;app_device/IOS;pap/JA2015_311210|8.5.8|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -162,7 +162,7 @@ function ThreeMeals() { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': 'jdapp;iPhone;8.5.8;13.4.1;9b812b59e055cd226fd60ebb5fd0981c4d0d235d;network/wifi;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/0;model/iPhone9,2;addressid/138109592;hasOCPay/0;appBuild/167169;supportBestPay/0;jdSupportDarkMode/0;pv/200.75;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/29;ads/;psn/9b812b59e055cd226fd60ebb5fd0981c4d0d235d|608;jdv/0|direct|-|none|-|1587263154256|1587263330;adk/;app_device/IOS;pap/JA2015_311210|8.5.8|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -207,7 +207,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 7a6c1d77..1f5749c7 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -165,7 +165,7 @@ function getExchangeRewards() { "reqSource": "h5", "Connection": "keep-alive", "Accept": "*/*", - "User-Agent": "jdapp;iPhone;9.0.4;13.5.1;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;ADID/3B3AD5BC-B5E6-4A08-B32A-030CD805B5DD;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167283;supportBestPay/0;jdSupportDarkMode/1;pv/169.3;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/2;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|638;jdv/0|iosapp|t_335139774|appshare|CopyURL|1596547194976|1596547198;adk/;app_device/IOS;pap/JA2015_311210|9.0.4|IOS 13.5.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Referer": "https://jdjoy.jd.com/pet/index", "Accept-Language": "zh-cn", "Accept-Encoding": "gzip, deflate, br" @@ -205,7 +205,7 @@ function exchange(saleInfoId, orderSource) { "Origin": "https://jdjoy.jd.com", "reqSource": "h5", "Connection": "keep-alive", - "User-Agent": "jdapp;iPhone;9.0.4;13.5.1;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;ADID/3B3AD5BC-B5E6-4A08-B32A-030CD805B5DD;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167283;supportBestPay/0;jdSupportDarkMode/1;pv/169.3;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/2;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|638;jdv/0|iosapp|t_335139774|appshare|CopyURL|1596547194976|1596547198;adk/;app_device/IOS;pap/JA2015_311210|9.0.4|IOS 13.5.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Referer": "https://jdjoy.jd.com/pet/index", "Content-Length": "10", "Cookie": cookie @@ -243,7 +243,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_joy_run.js b/jd_joy_run.js index a0118ef8..cfefcc58 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -55,7 +55,7 @@ const headers = { 'Lottery-Access-Signature' : '', 'Content-Type' : 'application/json', 'reqSource' : 'weapp', - 'User-Agent' : 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.15(0x17000f2d) NetType/4G Language/zh_CN', + 'User-Agent' : $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Cookie' : '', 'openId' : '', 'Host' : 'draw.jdfcloud.com', diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 2a00493d..c17d16d9 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -228,7 +228,7 @@ function getFriends(currentPage = '1') { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': 'jdapp;iPhone;8.5.8;13.4.1;9b812b59e055cd226fd60ebb5fd0981c4d0d235d;network/wifi;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/0;model/iPhone9,2;addressid/138109592;hasOCPay/0;appBuild/167169;supportBestPay/0;jdSupportDarkMode/0;pv/200.75;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/29;ads/;psn/9b812b59e055cd226fd60ebb5fd0981c4d0d235d|608;jdv/0|direct|-|none|-|1587263154256|1587263330;adk/;app_device/IOS;pap/JA2015_311210|8.5.8|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -404,7 +404,7 @@ function getCoinChanges() { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': 'jdapp;iPhone;8.5.8;13.4.1;9b812b59e055cd226fd60ebb5fd0981c4d0d235d;network/wifi;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/0;model/iPhone9,2;addressid/138109592;hasOCPay/0;appBuild/167169;supportBestPay/0;jdSupportDarkMode/0;pv/200.75;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/29;ads/;psn/9b812b59e055cd226fd60ebb5fd0981c4d0d235d|608;jdv/0|direct|-|none|-|1587263154256|1587263330;adk/;app_device/IOS;pap/JA2015_311210|8.5.8|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -475,7 +475,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -513,7 +513,7 @@ function taskUrl(functionId, friendPin) { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': 'jdapp;iPhone;8.5.8;13.4.1;9b812b59e055cd226fd60ebb5fd0981c4d0d235d;network/wifi;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/0;model/iPhone9,2;addressid/138109592;hasOCPay/0;appBuild/167169;supportBestPay/0;jdSupportDarkMode/0;pv/200.75;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/29;ads/;psn/9b812b59e055cd226fd60ebb5fd0981c4d0d235d|608;jdv/0|direct|-|none|-|1587263154256|1587263330;adk/;app_device/IOS;pap/JA2015_311210|8.5.8|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } diff --git a/jd_mohe.js b/jd_mohe.js index 3bc8f5c2..600221c2 100644 --- a/jd_mohe.js +++ b/jd_mohe.js @@ -387,7 +387,7 @@ function lottery() { "content-type": "application/x-www-form-urlencoded", "cookie": cookie, "referer": "https://blindbox.jd.com/", - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1 Edg/84.0.4147.125" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -414,7 +414,7 @@ function taskurl(url) { "content-type": "application/x-www-form-urlencoded", "cookie": cookie, "referer": "https://blindbox.jd.com/", - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1 Edg/84.0.4147.125" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } diff --git a/jd_moneyTree.js b/jd_moneyTree.js index ad429dbc..e299d6be 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -567,7 +567,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -632,7 +632,7 @@ function taskurl(function_id, body) { 'Content-Type' : `application/x-www-form-urlencoded;charset=UTF-8`, 'Host' : `ms.jr.jd.com`, 'Connection' : `keep-alive`, - 'User-Agent' : `jdapp;iPhone;9.0.0;13.4.1;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;ADID/F75E8AED-CB48-4EAC-A213-E8CE4018F214;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167237;supportBestPay/0;jdSupportDarkMode/0;pv/1287.19;apprpd/MyJD_GameMain;ref/https%3A%2F%2Fuua.jr.jd.com%2Fuc-fe-wxgrowing%2Fmoneytree%2Findex%2F%3Fchannel%3Dyxhd%26lng%3D113.325843%26lat%3D23.204628%26sid%3D2d98e88cf7d182f60d533476c2ce777w%26un_area%3D19_1601_50258_51885;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|3485;jdv/0|kong|t_1000170135|tuiguang|notset|1593059927172|1593059927;adk/;app_device/IOS;pap/JA2015_311210|9.0.0|IOS 13.4.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, + 'User-Agent' : $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer' : `https://uua.jr.jd.com/uc-fe-wxgrowing/moneytree/index/?channel=yxhd&lng=113.325896&lat=23.204600&sid=2d98e88cf7d182f60d533476c2ce777w&un_area=19_1601_50258_51885`, 'Accept-Language' : `zh-cn` } diff --git a/jd_necklace.js b/jd_necklace.js index 10edc5f1..781b058c 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -1,8 +1,8 @@ /* * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-20 11:42:03 - * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-20 11:42:03 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-22 23:07:14 */ /* 点点券,可以兑换无门槛红包(1元,5元,10元,100元,部分红包需抢购) @@ -250,7 +250,7 @@ function taskPostUrl(function_id, body = {}) { url: `${JD_API_HOST}?functionId=${function_id}&appid=jd_mp_h5&loginType=2&client=jd_mp_h5&t=${time}&body=${escape(JSON.stringify(body))}`, headers: { "Cookie": cookie, - "User-Agent": `jdapp;iPhone;9.1.0;14.0;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/4g;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/2005183373;hasOCPay/0;appBuild/167348;supportBestPay/0;jdSupportDarkMode/0;pv/255.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|701;jdv/0|kong|t_2010957099_|jingfen|3b5422e836e74037862fea3dcf1a6802|1600647811440|1600647814;adk/;app_device/IOS;pap/JA2015_311210|9.1.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`, + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } diff --git a/jd_pet.js b/jd_pet.js index cdbd7f40..af0bc9aa 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -544,7 +544,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -598,7 +598,7 @@ function taskUrl(function_id, body = {}) { url: `${JD_API_HOST}?functionId=${function_id}&appid=wh5&loginWQBiz=pet-town&body=${escape(JSON.stringify(body))}`, headers: { Cookie: cookie, - UserAgent: `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`, + UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } }; } diff --git a/jd_pigPet.js b/jd_pigPet.js index 2578660b..034e1a00 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-10 14:07:07 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-20 14:10:19 + * @Last Modified time: 2020-11-22 23:07:16 */ /* 京东金融养猪猪 @@ -523,7 +523,7 @@ function queryMissionReceiveAfterStatus(missionId) { "Cookie": cookie, "Origin": "https://jdjoy.jd.com", "Referer": "https://jdjoy.jd.com/", - "User-Agent": "jdapp;android;8.5.12;9;network/wifi;model/GM1910;addressid/1302541636;aid/ac31e03386ddbec6;oaid/;osVer/28;appBuild/73078;adk/;ads/;pap/JA2015_311210|8.5.12|ANDROID 9;osv/9;pv/117.24;jdv/0|kong|t_1000217905_|jingfen|644e9b005c8542c1ac273da7763971d8|1589905791552|1589905794;ref/com.jingdong.app.mall.WebActivity;partner/oppo;apprpd/Home_Main;Mozilla/5.0 (Linux; Android 9; GM1910 Build/PKQ1.190110.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36 Edg/86.0.4240.111" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -572,7 +572,7 @@ function finishReadMission(missionId) { "Cookie": cookie, "Origin": "https://jdjoy.jd.com", "Referer": "https://jdjoy.jd.com/", - "User-Agent": "jdapp;android;8.5.12;9;network/wifi;model/GM1910;addressid/1302541636;aid/ac31e03386ddbec6;oaid/;osVer/28;appBuild/73078;adk/;ads/;pap/JA2015_311210|8.5.12|ANDROID 9;osv/9;pv/117.24;jdv/0|kong|t_1000217905_|jingfen|644e9b005c8542c1ac273da7763971d8|1589905791552|1589905794;ref/com.jingdong.app.mall.WebActivity;partner/oppo;apprpd/Home_Main;Mozilla/5.0 (Linux; Android 9; GM1910 Build/PKQ1.190110.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36 Edg/86.0.4240.111" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { diff --git a/jd_plantBean.js b/jd_plantBean.js index b69b8937..2be8f7c2 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -651,7 +651,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -711,7 +711,7 @@ function taskUrl(function_id, body) { 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': 'JD4iPhone/167249 (iPhone;iOS 13.6.1;Scale/3.00)', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-Hans-CN;q=1,en-CN;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': "application/x-www-form-urlencoded" diff --git a/jd_redPacket.js b/jd_redPacket.js index 07c8348a..efcaae3d 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -2,7 +2,7 @@ * @Author: lxk0301 * @Date: 2020-11-03 18:12:38 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-10-30 20:37:24 + * @Last Modified time: 2020-11-22 23:07:18 */ /* 京东全民开红包(京东app->主页->领券->抢红包(在底部)) @@ -309,7 +309,7 @@ function taskUrl(function_id, body) { "Cookie": cookie, "Connection": "keep-alive", "Accept": "*/*", - "User-Agent": "jdapp;iPhone;9.0.2;13.5.1;e35caf0a69be42084e3c97eef56c3af7b0262d01;network/wifi;ADID/3B3AD5BC-B5E6-4A08-B32A-030CD805B5DD;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone11,8;addressid/;hasOCPay/0;appBuild/167249;supportBestPay/0;jdSupportDarkMode/0;pv/2.76;apprpd/CouponCenter;ref/NewCouponCenterViewController;psq/0;ads/;psn/e35caf0a69be42084e3c97eef56c3af7b0262d01|28;jdv/0|;adk/;app_device/IOS;pap/JA2015_311210|9.0.2|IOS 13.5.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Referer": "https://happy.m.jd.com/babelDiy/zjyw/3ugedFa7yA6NhxLN5gw2L3PF9sQC/index.html", "Content-Length": "36", "Accept-Language": "zh-cn" diff --git a/jd_shop.js b/jd_shop.js index b145fae2..fe62485f 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -109,7 +109,7 @@ function doTask(taskId) { url: `${JD_API_HOST}`, body: `functionId=takeTask&body=${escape(JSON.stringify(body))}&appid=ld`, headers: { - 'User-Agent': 'JD4iPhone/167169 (iPhone; iOS 13.4.1; Scale/3.00)', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': cookie, @@ -138,7 +138,7 @@ function getTask(body = {}) { url: `${JD_API_HOST}`, body: `functionId=queryTaskIndex&body=${escape(JSON.stringify(body))}&appid=ld`, headers: { - 'User-Agent': 'JD4iPhone/167169 (iPhone; iOS 13.4.1; Scale/3.00)', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': cookie, @@ -173,7 +173,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_small_home.js b/jd_small_home.js index caad3368..9f8448a8 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -1,8 +1,8 @@ /* * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-12 11:42:12 - * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-22 15:42:12 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-22 23:07:19 */ /* 东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js @@ -556,7 +556,7 @@ function loginHome() { "Host": "jdhome.m.jd.com", "Origin": "https://jdhome.m.jd.com", "Referer": "https://jdhome.m.jd.com/dist/taro/index.html/", - "User-Agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } $.post(options, async (err, resp, data) => { @@ -598,7 +598,7 @@ function login(userName) { "Host": "lkyl.dianpusoft.cn", "Origin": "https://lkyl.dianpusoft.cn", "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html", - "User-Agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } $.post(options, async (err, resp, data) => { @@ -632,7 +632,7 @@ function taskUrl(url, body = {}) { "Host": "lkyl.dianpusoft.cn", "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html", "token": $.token, - "User-Agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } diff --git a/jd_speed.js b/jd_speed.js index 322a9ca4..45dde7af 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -96,7 +96,7 @@ function jDSpeedUp(sourceId, doubleKey) { 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': 'jdapp;iPhone;8.5.5;13.4;9b812b59e055cd226fd60ebb5fd0981c4d0d235d;network/wifi;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/0;model/iPhone9,2;addressid/138109592;hasOCPay/0;appBuild/167121;supportBestPay/0;jdSupportDarkMode/0;pv/104.43;apprpd/MyJD_GameMain;ref/MyJdGameEnterPageController;psq/9;ads/;psn/9b812b59e055cd226fd60ebb5fd0981c4d0d235d|272;jdv/0|direct|-|none|-|1583449735697|1583796810;adk/;app_device/IOS;pap/JA2015_311210|8.5.5|IOS 13.4;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html?lng=116.845095&lat=39.957701&sid=ea687233c5e7d226b30940ed7382c5cw&un_area=5_274_49707_49973', 'Accept-Encoding': 'gzip, deflate, br' diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 0919fc14..7e04f0a1 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -136,7 +136,7 @@ function getFollowGoods() { "Accept": "*/*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://wqs.jd.com/my/fav/goods_fav.shtml?ptag=37146.4.1&sceneval=2&jxsid=15963530166144677970", "Accept-Encoding": "gzip, deflate, br" @@ -163,7 +163,7 @@ function unsubscribeGoodsFun(commId) { "Host": "wq.jd.com", "Accept": "*/*", "Connection": "keep-alive", - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer': 'https://wqs.jd.com/my/fav/goods_fav.shtml?ptag=37146.4.1&sceneval=2&jxsid=15963530166144677970', 'Cookie': cookie, "Accept-Language": "zh-cn", @@ -227,7 +227,7 @@ function getFollowShops() { "Accept": "*/*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://wqs.jd.com/my/fav/shop_fav.shtml?sceneval=2&jxsid=15963530166144677970&ptag=7155.1.9", "Accept-Encoding": "gzip, deflate, br" @@ -253,7 +253,7 @@ function unsubscribeShopsFun(shopId) { "Host": "wq.jd.com", "Accept": "*/*", "Connection": "keep-alive", - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer': 'https://wqs.jd.com/my/fav/shop_fav.shtml?sceneval=2&jxsid=15960121319555534107&ptag=7155.1.9', 'Cookie': cookie, "Accept-Language": "zh-cn", @@ -283,7 +283,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_xtg.js b/jd_xtg.js index ffc150fe..46215852 100644 --- a/jd_xtg.js +++ b/jd_xtg.js @@ -278,7 +278,7 @@ function doSupport(shareId) { "Cookie": cookie, "Host": "urvsaggpt.m.jd.com", "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -310,7 +310,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -352,7 +352,7 @@ function getDayPrizeStatus(prizeType, prizeId, status) { "Cookie": cookie, "Host": "urvsaggpt.m.jd.com", "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -385,7 +385,7 @@ function taskPostUrl(type, id, status) { "Cookie": cookie, "Host": "urvsaggpt.m.jd.com", "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } @@ -411,7 +411,7 @@ function taskUrl(function_id) { "Cookie": cookie, "Host": "urvsaggpt.m.jd.com", "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } From d3fdde84703f0c687e44540a84f55ac393b12e4b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 10:03:04 +0800 Subject: [PATCH 0109/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89UA=E3=80=82=E6=9B=B4=E6=96=B0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F/secrets=E9=9B=86=E5=90=88=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=87=AA=E5=AE=9A=E4=B9=89UA=E3=80=82BoxJs=E6=96=B0?= =?UTF-8?q?=E5=A2=9EUA=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + lxk0301.boxjs.json | 89 ++++++++++++---------------------------------- 2 files changed, 24 insertions(+), 66 deletions(-) diff --git a/githubAction.md b/githubAction.md index 2b8f97fe..ea59e4ac 100644 --- a/githubAction.md +++ b/githubAction.md @@ -77,6 +77,7 @@ | Name | 归属 | 属性 | 说明 | | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | | `JD_COOKIE` | 京东 | 必须 | 京东cookie,多个账号的cookie使用`&`隔开或者换行。具体获取参考[浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) | +| `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。具体获取参考此[issue](https://github.com/lxk0301/jd_scripts/issues/127) | | `JD_BEAN_STOP` | 京东 | 非必须 | 自定义延迟签到,单位毫秒. 默认分批并发无延迟. 延迟作用于每个签到接口, 如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1` | | `JD_BEAN_SIGN_STOP_NOTIFY`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | | `JD_BEAN_SIGN_NOTIFY_SIMPLE`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 545cb2dc..f1b244d8 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -33,6 +33,28 @@ "repo": "https://github.com/dompling/Script", "script": "https://raw.githubusercontent.com/dompling/Script/master/jd/JD_extra.js" }, + { + "id": "JD_UA", + "name": "自定义京东脚本的UserAgent", + "keys": [ + "JDUA" + ], + "settings": [ + { + "id": "JDUA", + "name": "自定义京东脚本的UserAgent", + "val": "", + "type": "text", + "desc": "不懂不知不会UserAgent的请不要随意填写内容" + } + ], + "author": "@lxk0301", + "repo": "https://github.com/lxk0301/jd_scripts", + "icons": [ + "https://raw.githubusercontent.com/Orz-3/mini/master/jd.png", + "https://raw.githubusercontent.com/Orz-3/task/master/jd.png" + ] + }, { "id": "jd_fruit", "name": "东东农场", @@ -631,16 +653,7 @@ { "id": "jd_SuperMarket", "name": "京小超", - "keys": [ - "jd_supermarket_name", - "jd_supermarket1", - "jd_supermarket2", - "jd_supermarket3", - "j2_supermarket_name", - "jd2_supermarket1", - "jd2_supermarket2", - "jd2_supermarket3" - ], + "keys": [], "settings": [ { "id": "jdSuperMarketNotify", @@ -669,62 +682,6 @@ "val": false, "type": "boolean", "desc": "运行脚本消耗金币进行抽奖,默认抽奖" - }, - { - "id": "jd_supermarket_name", - "name": "京东账号一昵称", - "val": "", - "type": "text", - "desc": "京东账号昵称,用于区分自己的京东账号(非必填,建议多个京东账号使用)" - }, - { - "id": "jd_supermarket1", - "name": "京东账号一互助码1", - "val": "", - "type": "text", - "desc": "京小超商圈互助码" - }, - { - "id": "jd_supermarket2", - "name": "京东账号一互助码2", - "val": "", - "type": "text", - "desc": "京小超商圈互助码" - }, - { - "id": "jd_supermarket3", - "name": "京东账号一互助码3", - "val": "", - "type": "text", - "desc": "京小超商圈互助码" - }, - { - "id": "jd2_supermarket_name", - "name": "京东账号二昵称", - "val": "", - "type": "text", - "desc": "京东账号昵称,用于区分自己的京东账号(非必填,建议多个京东账号使用)" - }, - { - "id": "jd2_supermarket1", - "name": "京东账号二互助码1", - "val": "", - "type": "text", - "desc": "京小超商圈互助码" - }, - { - "id": "jd2_supermarket2", - "name": "京东账号二互助码2", - "val": "", - "type": "text", - "desc": "京小超商圈互助码" - }, - { - "id": "jd2_supermarket3", - "name": "京东账号二互助码3", - "val": "", - "type": "text", - "desc": "京小超商圈互助码" } ], "author": "@lxk0301", From b8e32b79b37ba20abc724eb8a8ae4ad054f3c320 Mon Sep 17 00:00:00 2001 From: Sirius2s <53803920+Sirius2s@users.noreply.github.com> Date: Mon, 23 Nov 2020 10:08:37 +0800 Subject: [PATCH 0110/1259] Update index.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 解决云函数部分脚本报错;本地运行选项备用代码更新。 --- index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 3e7b6c72..e1d82f6e 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,4 @@ -'use strict'; +//'use strict'; exports.main_handler = async (event, context, callback) => { try { //如果想在一个定时触发器里面执行多个js文件需要在定时触发器的【附加信息】里面填写对应的名称,用 & 链接 @@ -8,7 +8,9 @@ exports.main_handler = async (event, context, callback) => { var request = require('request'); //1.执行自己上传的js文件 //require('./'+v+'.js') - + //delete require.cache[require.resolve('./'+v+'.js')]; + //require('./'+v+'.js') + //2.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 //request('https://gitee.com/lxk0301/jd_scripts/raw/master/'+v+'.js', function (error, response, body) { // eval(response.body) From 5eeef3dd624836ece1a9dff227e5e1f9ee68becb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 10:31:13 +0800 Subject: [PATCH 0111/1259] update --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index ea59e4ac..4f9fe02b 100644 --- a/githubAction.md +++ b/githubAction.md @@ -78,7 +78,7 @@ | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | | `JD_COOKIE` | 京东 | 必须 | 京东cookie,多个账号的cookie使用`&`隔开或者换行。具体获取参考[浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) | | `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。具体获取参考此[issue](https://github.com/lxk0301/jd_scripts/issues/127) | -| `JD_BEAN_STOP` | 京东 | 非必须 | 自定义延迟签到,单位毫秒. 默认分批并发无延迟. 延迟作用于每个签到接口, 如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1` | +| `JD_BEAN_STOP` | 京东 | 非必须 | jd_bean_sign.js自定义延迟签到,单位毫秒. 默认分批并发无延迟. 延迟作用于每个签到接口, 如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | | `JD_BEAN_SIGN_STOP_NOTIFY`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | | `JD_BEAN_SIGN_NOTIFY_SIMPLE`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | | `JD_DEBUG` | 脚本打印log | 非必须 | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | From aa3db26c4a49447c93419e7a4135f688df039cac Mon Sep 17 00:00:00 2001 From: layne Date: Mon, 23 Nov 2020 11:04:44 +0800 Subject: [PATCH 0112/1259] =?UTF-8?q?=E6=91=87=E9=92=B1=E6=A0=91=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E9=85=8D=E7=BD=AE=E6=98=AF=E5=90=A6=E5=8D=96=E5=87=BA?= =?UTF-8?q?=E9=87=91=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 +- jd_moneyTree.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 4f9fe02b..5a12edb4 100644 --- a/githubAction.md +++ b/githubAction.md @@ -111,7 +111,7 @@ | `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | | `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | - +| `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`true` | ##### 互助码的填写规则 diff --git a/jd_moneyTree.js b/jd_moneyTree.js index e299d6be..b2f5cc48 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -257,6 +257,12 @@ function sell() { } params.riskDeviceParam = JSON.stringify(params.riskDeviceParam);//这一步,不可省略,否则提交会报错(和login接口一样) console.log(`目前金果数量${fruitTotal}`) + if ($.isNode()) { + if (process.env.MONEY_TREE_SELL_FRUIT && process.env.MONEY_TREE_SELL_FRUIT === 'false') { + rs() + return + } + } if (fruitTotal > 380) { request('sell', params).then((sellRes) => { console.log(`卖出金果结果:${JSON.stringify(sellRes)}\n`) From 5acdffa379d954fcaca5696ffd2de5e3ba2f4996 Mon Sep 17 00:00:00 2001 From: Sirius2s <53803920+Sirius2s@users.noreply.github.com> Date: Mon, 23 Nov 2020 11:15:04 +0800 Subject: [PATCH 0113/1259] Update serverless.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、云函数定时任务增加[东东小窝] 2、[京喜工厂]调整为三次,对应“巡厂”任务时段 3、参照crontab_list微调任务执行时间 --- serverless.yml | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/serverless.yml b/serverless.yml index bfb95d97..223ae396 100644 --- a/serverless.yml +++ b/serverless.yml @@ -16,48 +16,48 @@ inputs: memorySize: 128 # 内存大小,单位MB timeout: 900 # 超时时间,单位秒 events: # 触发器 - - timer: # 签到 # 摇京豆 + - timer: # 签到 parameters: - name: jd_bean_sign_jd_club_lottery + name: jd_bean_sign cronExpression: "0 0 0,12,18 * * * *" enable: true - argument: jd_bean_sign&jd_club_lottery - - timer: # 京小超兑换奖品 + argument: jd_bean_sign + - timer: # 京小超兑换奖品# 摇京豆 parameters: - name: jd_blueCoin + name: jd_blueCoin_jd_club_lottery cronExpression: "0 0 0 * * * *" enable: true - argument: jd_blueCoin - - timer: # 东东农场# 东东萌宠 + argument: jd_blueCoin&jd_club_lottery + - timer: # 东东农场# 东东萌宠# 京喜工厂 parameters: - name: jd_fruit_jd_pet + name: jd_fruit_jd_pet_jd_dreamFactory cronExpression: "0 5 6-18/6 * * * *" enable: true - argument: jd_fruit&jd_pet + argument: jd_fruit&jd_pet&jd_dreamFactory - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆 parameters: name: jd_joy_feedPets_jd_joy_jd_moneyTree_jd_plantBean cronExpression: "0 15 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean - - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗 + - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券 parameters: name: jd_joy_reward_jd_joy_steal_jd_necklace cronExpression: "0 0 0-16/8 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace - - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机 + - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝 parameters: - name: jd_redPacket_jd_shop_jd_unsubscribe_jd_lotteryMachine + name: jd_redPacket_jd_shop_jd_unsubscribe_jd_lotteryMachine_jd_small_home cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine - - timer: # 京东天天加速 + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine&jd_small_home + - timer: # 京东天天加速# 天天提鹅 parameters: - name: jd_speed + name: jd_speed_jd_daily_egg cronExpression: "0 8 */3 * * * *" enable: true - argument: jd_speed + argument: jd_speed&jd_daily_egg - timer: # 东东超市 parameters: name: jd_superMarket @@ -66,16 +66,16 @@ inputs: argument: jd_superMarket - timer: # 京豆变动通知 # 京东排行榜 parameters: - name: jd_bean_change + name: jd_bean_change_jd_rankingList cronExpression: "0 0 10 * * * *" enable: true argument: jd_bean_change&jd_rankingList - - timer: # 金融养猪# 天天提鹅 + - timer: # 金融养猪 parameters: - name: jd_pigPet_jd_daily_egg_jd_dreamFactory - cronExpression: "0 12 * * * * *" + name: jd_pigPet + cronExpression: "0 12 13 * * * *" enable: true - argument: jd_pigPet&jd_daily_egg&jd_dreamFactory + argument: jd_pigPet environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From e44a7ae59f6348ded00b59b6c420fd788841b605 Mon Sep 17 00:00:00 2001 From: Sirius2s <53803920+Sirius2s@users.noreply.github.com> Date: Mon, 23 Nov 2020 12:07:24 +0800 Subject: [PATCH 0114/1259] Update serverless.yml run jd_dreamFactory /1 hours --- serverless.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/serverless.yml b/serverless.yml index 223ae396..3bb684b2 100644 --- a/serverless.yml +++ b/serverless.yml @@ -28,18 +28,18 @@ inputs: cronExpression: "0 0 0 * * * *" enable: true argument: jd_blueCoin&jd_club_lottery - - timer: # 东东农场# 东东萌宠# 京喜工厂 + - timer: # 东东农场# 东东萌宠 parameters: - name: jd_fruit_jd_pet_jd_dreamFactory + name: jd_fruit_jd_pet cronExpression: "0 5 6-18/6 * * * *" enable: true - argument: jd_fruit&jd_pet&jd_dreamFactory - - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆 + argument: jd_fruit&jd_pet + - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 parameters: - name: jd_joy_feedPets_jd_joy_jd_moneyTree_jd_plantBean + name: jd_joy_feedPets_jd_joy_jd_moneyTree_jd_plantBean_jd_dreamFactory cronExpression: "0 15 */1 * * * *" enable: true - argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean + argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券 parameters: name: jd_joy_reward_jd_joy_steal_jd_necklace From 9ec51c824d5c9ec2774a352c7c161639e6823a32 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 12:30:06 +0800 Subject: [PATCH 0115/1259] =?UTF-8?q?=E5=A4=84=E7=90=86=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89UA=E8=A2=AB=E9=81=97=E6=BC=8F=E7=9A=84=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_818.js | 26 +++++++++++++------------- jd_club_lottery.js | 6 +++--- jd_necklace.js | 4 ++-- jd_pigPet.js | 4 ++-- jd_redPacket.js | 4 ++-- jd_small_home.js | 4 ++-- jd_speed.js | 2 +- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/jd_818.js b/jd_818.js index 314be49e..ae635a2d 100644 --- a/jd_818.js +++ b/jd_818.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-03 09:25:47 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-22 23:07:00 + * @Last Modified time: 2020-11-23 12:27:07 */ /* 京东手机狂欢城活动,每日可获得30+以上京豆(其中20京豆是往期奖励,需第一天参加活动后,第二天才能拿到) @@ -140,7 +140,7 @@ function listMeeting() { 'Accept': 'application/json, text/plain, */*', 'Connection':' keep-alive', 'Cookie': cookie, - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.14(0x17000e2a) NetType/4G Language/zh_CN', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, 'Accept-Encoding': 'gzip, deflate, br' @@ -187,7 +187,7 @@ function listGoods() { 'Accept': 'application/json, text/plain, */*', 'Connection':' keep-alive', 'Cookie': cookie, - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.14(0x17000e2a) NetType/4G Language/zh_CN', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, 'Accept-Encoding': 'gzip, deflate, br' @@ -233,7 +233,7 @@ function shopInfo() { 'Accept': 'application/json, text/plain, */*', 'Connection':' keep-alive', 'Cookie': cookie, - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.14(0x17000e2a) NetType/4G Language/zh_CN', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, 'Accept-Encoding': 'gzip, deflate, br' @@ -286,7 +286,7 @@ function browseGoods(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -320,7 +320,7 @@ function getGoodsPrize(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -353,7 +353,7 @@ function browseShop(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -386,7 +386,7 @@ function getShopPrize(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -420,7 +420,7 @@ function browseMeeting(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -453,7 +453,7 @@ function getMeetingPrize(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -486,7 +486,7 @@ function myRank() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -549,7 +549,7 @@ function saveJbean(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -879,7 +879,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_club_lottery.js b/jd_club_lottery.js index b40db493..bf13da48 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -2,7 +2,7 @@ * @Author: lxk0301 * @Date: 2020-11-03 20:35:07 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-22 23:07:04 + * @Last Modified time: 2020-11-23 12:27:09 摇京豆(京东APP首页-领京豆-摇京豆) 更新时间:2020-10-12 Modified from https://github.com/Zero-S1/JD_tools/blob/master/JD_vvipclub.py @@ -349,7 +349,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -383,7 +383,7 @@ function taskUrl(function_id, body = {}, appId = 'vip_h5') { headers: { 'Cookie': cookie, 'Host': 'api.m.jd.com', - '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`, + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer': 'https://vip.m.jd.com/newPage/reward/123dd/slideContent?page=focus', } } diff --git a/jd_necklace.js b/jd_necklace.js index 781b058c..b641b76c 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-20 11:42:03 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-22 23:07:14 + * @Last Modified time: 2020-11-23 12:27:14 */ /* 点点券,可以兑换无门槛红包(1元,5元,10元,100元,部分红包需抢购) @@ -266,7 +266,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_pigPet.js b/jd_pigPet.js index 034e1a00..e71c979f 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-10 14:07:07 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-22 23:07:16 + * @Last Modified time: 2020-11-23 12:27:16 */ /* 京东金融养猪猪 @@ -618,7 +618,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_redPacket.js b/jd_redPacket.js index efcaae3d..c72f8b91 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -2,7 +2,7 @@ * @Author: lxk0301 * @Date: 2020-11-03 18:12:38 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-22 23:07:18 + * @Last Modified time: 2020-11-23 12:27:18 */ /* 京东全民开红包(京东app->主页->领券->抢红包(在底部)) @@ -268,7 +268,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_small_home.js b/jd_small_home.js index 9f8448a8..5d52df19 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-12 11:42:12 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-22 23:07:19 + * @Last Modified time: 2020-11-23 12:27:20 */ /* 东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js @@ -648,7 +648,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_speed.js b/jd_speed.js index 45dde7af..176230fb 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -485,7 +485,7 @@ function TotalBean() { "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" + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { From 55b35290dfc39801c6c4ab52784bbc54a0949970 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 12:40:57 +0800 Subject: [PATCH 0116/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_blueCoin.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 8d61399e..34a85a95 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -1,7 +1,7 @@ /* 京小超兑换奖品 脚本地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js 感谢@yangtingxiao提供PR -更新时间:2020-11-22 +更新时间:2020-11-23 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ======================quantumultx=============== @@ -161,7 +161,7 @@ async function PrizeIndex() { $.beanerr = `${prizeList[0].subTitle}`; return ; } - if ($.totalBlue < $.blueCost) { + if ($.totalBlue > $.blueCost) { await smtg_obtainPrize(prizeId); } else { console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`); From d8f930d6d20f952b6a6079d765a03332d321e21a Mon Sep 17 00:00:00 2001 From: Sirius2s <53803920+Sirius2s@users.noreply.github.com> Date: Mon, 23 Nov 2020 15:24:48 +0800 Subject: [PATCH 0117/1259] Update index.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 删除多余代码 --- index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/index.js b/index.js index e1d82f6e..3dcf74d4 100644 --- a/index.js +++ b/index.js @@ -7,7 +7,6 @@ exports.main_handler = async (event, context, callback) => { console.log(v); var request = require('request'); //1.执行自己上传的js文件 - //require('./'+v+'.js') //delete require.cache[require.resolve('./'+v+'.js')]; //require('./'+v+'.js') From 04c46b53b7f0cf9a22bb147561b98d237f656944 Mon Sep 17 00:00:00 2001 From: Akira Date: Mon, 23 Nov 2020 15:25:52 +0800 Subject: [PATCH 0118/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tencentscf.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tencentscf.md b/tencentscf.md index 394e2598..2035838b 100644 --- a/tencentscf.md +++ b/tencentscf.md @@ -109,6 +109,13 @@ triggers: > 将SecretId和SecretKey分别配置在仓库的secrets变量里面, TENCENT_SECRET_ID对应你的SecretId的值,TENCENT_SECRET_KEY对应你的SecretKey的值 ## 3. 配置自己需要secrets变量[参考这里](githubAction.md#下方提供使用到的-secrets全集合) +### __重要的说三遍__ +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +> 排查问题第一步先看自己[腾讯云函数](https://console.cloud.tencent.com/scf/list-detail?rid=5&ns=default&id=scf-jdscript)那边的环境变量跟自己在仓库配置的 `secrets` 是否一致 +![image](https://user-images.githubusercontent.com/6993269/99937191-06617680-2da0-11eb-99ea-033f2c655683.png) + ## 4.执行action workflow进行部署,workflow未报错即部署成功 ![image](https://user-images.githubusercontent.com/6993269/99513289-6a152980-29c5-11eb-9266-3f56ba13d3b2.png) From e77c8308fafac6e0ccb4c343e46ba000f803c0b1 Mon Sep 17 00:00:00 2001 From: Sirius2s <53803920+Sirius2s@users.noreply.github.com> Date: Mon, 23 Nov 2020 15:28:21 +0800 Subject: [PATCH 0119/1259] Update serverless.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复因云函数定时器名称超过60位导致的异常 --- serverless.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverless.yml b/serverless.yml index 3bb684b2..caff6ff0 100644 --- a/serverless.yml +++ b/serverless.yml @@ -36,7 +36,7 @@ inputs: argument: jd_fruit&jd_pet - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 parameters: - name: jd_joy_feedPets_jd_joy_jd_moneyTree_jd_plantBean_jd_dreamFactory + name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory cronExpression: "0 15 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory @@ -48,7 +48,7 @@ inputs: argument: jd_joy_reward&jd_joy_steal&jd_necklace - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝 parameters: - name: jd_redPacket_jd_shop_jd_unsubscribe_jd_lotteryMachine_jd_small_home + name: redPacket_shop_unsubscribe_lotteryMachine_small_home cronExpression: "0 10 0 * * * *" enable: true argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine&jd_small_home From a8b88b3803487c6e87ce8beb43005b7f048a98e3 Mon Sep 17 00:00:00 2001 From: Akira Date: Mon, 23 Nov 2020 15:32:20 +0800 Subject: [PATCH 0120/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tencentscf.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tencentscf.md b/tencentscf.md index 2035838b..30c04ca2 100644 --- a/tencentscf.md +++ b/tencentscf.md @@ -124,5 +124,5 @@ triggers: 在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 -![测试函数](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/./1605263963294-test.png) -## 6. 设置触发器[看这里](iCloud.md#5设置触发器) +![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) +## 6. 设置触发器[看这里](iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) From 4a1039995894f30ff5e60faf5df6289706b5d8c7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 17:56:04 +0800 Subject: [PATCH 0121/1259] =?UTF-8?q?=E5=81=9A=E5=AE=8C=E4=BB=8A=E5=A4=A9?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=9A=84=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_small_home.js | 99 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 85 insertions(+), 14 deletions(-) diff --git a/jd_small_home.js b/jd_small_home.js index 5d52df19..44738a5b 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -27,7 +27,7 @@ https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html ===============Quantumultx=============== [task_local] #东东小窝 -16 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝, enabled=true +16 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png enabled=true ================Loon============== [Script] @@ -46,6 +46,7 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message = ''; +let isPurchaseShops = false;//是否一键加购商品到购物车,默认不加购 if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { cookiesArr.push(jdCookieNode[item]) @@ -144,13 +145,13 @@ function queryByUserId() { }) }) } -async function doChannelsListTask(taskId) { +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); + await queryDoneTaskRecord(taskId, taskType); } } } @@ -162,12 +163,16 @@ async function helpFriends() { } async function doAllTask() { await queryAllTaskInfo();//获取任务详情列表$.taskList + console.log(` 任务名称 完成进度 `) + for (let item of $.taskList) { + console.log(`${item.ssjjTaskInfo.name} ${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum || 1}`) + } for (let item of $.taskList) { if (item.ssjjTaskInfo.type === 1) { //邀请好友助力自己 // await createAssistUser('1330186694770339842', item.ssjjTaskInfo.id) $.createAssistUserID = item.ssjjTaskInfo.id; - console.log(`助力您的好友:${item.doneNum}人`) + console.log(`\n\n助力您的好友:${item.doneNum}人`) } if (item.ssjjTaskInfo.type === 2) { //每日打卡 @@ -186,17 +191,35 @@ async function doAllTask() { for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum || 1).fill('').length; i++) { await game(item.ssjjTaskInfo.id, item.doneNum); } - // await game(item.ssjjTaskInfo.id, item.doneNum); - // await doAllTask(); } - + 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) + await doChannelsListTask(item.ssjjTaskInfo.id, item.ssjjTaskInfo.type) } if (item.ssjjTaskInfo.type === 7) { //浏览3个频道 @@ -207,8 +230,28 @@ async function doAllTask() { for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum || 1).fill('').length; i++) { await browseChannels('browseChannels', item.ssjjTaskInfo.id, item.browseId); } - // await browseChannels('browseChannels', item.ssjjTaskInfo.id, item.browseId); - // await doAllTask(); + } + 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) { //浏览会场 @@ -250,7 +293,8 @@ function queryChannelsList(taskId) { }) }) } -//浏览频道,浏览会场API + +//浏览频道,浏览会场,浏览商品,浏览店铺API function browseChannels(functionID ,taskId, browseId) { return new Promise(resolve => { $.get(taskUrl(`/ssjj-task-record/${functionID}/${taskId}/${browseId}`), (err, resp, data) => { @@ -260,7 +304,7 @@ function browseChannels(functionID ,taskId, browseId) { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { - console.log(`${functionID === 'browseChannels' ? '浏览频道' : '浏览会场'}`, data) + console.log(`${functionID === 'browseChannels' ? '浏览频道' : functionID === 'browseMeetings' ? '浏览会场' : functionID === 'browseShops' ? '浏览店铺' : '浏览商品'}`, data) data = JSON.parse(data); if (data.head.code === 200) { if (data.body) { @@ -278,9 +322,9 @@ function browseChannels(functionID ,taskId, browseId) { }) } //记录已关注的频道 -function queryDoneTaskRecord(taskId) { +function queryDoneTaskRecord(taskId, taskType) { return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/queryDoneTaskRecord/6/${taskId}`), (err, resp, data) => { + $.get(taskUrl(`/ssjj-task-record/queryDoneTaskRecord/${taskType}/${taskId}`), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -303,6 +347,33 @@ function queryDoneTaskRecord(taskId) { }) }) } +//一键关注店铺,一键加购商品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 => { From 829ada8d346a717b5e54fc526160187b3c532558 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 20:03:42 +0800 Subject: [PATCH 0122/1259] =?UTF-8?q?Update=20jd=5Ffruit.js=20=E5=9B=A0iOS?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=AB=AF=E9=9A=8F=E6=9C=BA=E5=8F=9620?= =?UTF-8?q?=E4=B8=AA=E4=BA=92=E5=8A=A9=E7=A0=81=E8=B7=91=E8=B5=B7=E6=9D=A5?= =?UTF-8?q?=E6=9C=89=E7=82=B9=E8=B4=B9=E6=97=B6=E9=97=B4=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E9=83=A8=E5=88=86=E4=BB=A3=E7=90=86=E8=BD=AF=E4=BB=B6=E5=9B=A0?= =?UTF-8?q?timeout=E6=97=B6=E9=97=B4=E4=B8=8D=E5=A4=9F=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E7=AC=AC=E4=BA=8C=E4=B8=AA=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=EF=BC=8C=E6=95=85=E7=8E=B0=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E7=AB=AF=E8=BF=90=E8=A1=8C=E8=84=9A=E6=9C=AC=E5=B7=B2=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E9=9A=8F=E6=9C=BA=E5=8F=965=E4=B8=AA=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_fruit.js b/jd_fruit.js index efe3ee2d..effe09fc 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -37,7 +37,7 @@ let message = '', subTitle = '', option = {}, isFruitFinished = false; const retainWater = 100;//保留水滴大于多少g,默认100g; let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 let jdFruitBeanCard = false;//农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),true表示换豆(不浇水),false表示不换豆(继续浇水),脚本默认是浇水 -let randomCount = 20; +let randomCount = $.isNode() ? 20 : 5; const JD_API_HOST = 'https://api.m.jd.com/client.action'; const urlSchema = `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/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html%22%20%7D`; !(async () => { From 9648ec462d26906acf914f255215be2ab467922b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 20:04:14 +0800 Subject: [PATCH 0123/1259] Update jd_pet.js --- jd_pet.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_pet.js b/jd_pet.js index af0bc9aa..19d38887 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -38,7 +38,7 @@ let message = '', subTitle = '', option = {}; let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 const JD_API_HOST = 'https://api.m.jd.com/client.action'; let goodsUrl = '', taskInfoKey = []; -let randomCount = 20; +let randomCount = $.isNode() ? 20 : 5; !(async () => { await requireConfig(); if (!cookiesArr[0]) { From 4159796cc1b826b1ec2a3948a85c6af6b2d2465b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 23 Nov 2020 20:04:40 +0800 Subject: [PATCH 0124/1259] Update jd_plantBean.js --- jd_plantBean.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_plantBean.js b/jd_plantBean.js index 2be8f7c2..5a143237 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -42,7 +42,7 @@ let currentRoundId = null;//本期活动id let lastRoundId = null;//上期id let roundList = []; let awardState = '';//上期活动的京豆是否收取 -let randomCount = 20; +let randomCount = $.isNode() ? 20 : 5; !(async () => { await requireConfig(); if (!cookiesArr[0]) { From cbeb8d59a73f5b754eb63a2f4de5f6af66c9894b Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 23 Nov 2020 22:58:36 +0800 Subject: [PATCH 0125/1259] Delete iCloud5.png --- icon/iCloud5.png | Bin 38109 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 icon/iCloud5.png diff --git a/icon/iCloud5.png b/icon/iCloud5.png deleted file mode 100644 index b78f1cdf2ff7ee1c00330d9b8f64fbd69b827e53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38109 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%0A?_uW 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�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 Date: Mon, 23 Nov 2020 22:59:57 +0800 Subject: [PATCH 0126/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=99=E7=A8=8B?= =?UTF-8?q?=E6=89=80=E9=9C=80=E7=9A=84=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加教程所需的图片 --- icon/iCloud5.png | Bin 0 -> 50792 bytes icon/iCloud6.png | Bin 0 -> 52881 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon/iCloud5.png create mode 100644 icon/iCloud6.png diff --git a/icon/iCloud5.png b/icon/iCloud5.png new file mode 100644 index 0000000000000000000000000000000000000000..9f11de909778d1f3b618cea123558b90082141b9 GIT binary patch literal 50792 zcma&NbyOQ|-!*zyfVKoE1&Tv)D3ag~rFd~D#Y2Njf#MDYio3gOad#;McXxLP5ZvX2 z_I}>;uJb)-t#7U5k4)CgTyxDed+*==?eUkF6-RqT@ams`{y~$J5K;W+pQkQ}ui6V_ z#1__|?XiFUdH0W`h|p(;q`fAsJo>3B_?61q*3Eo#^~sZnX(L#3d|1?>l+~EX>{0N$ zw4apk+B&E}WD!RS*P_I{#{4!KU0K-Z+!6(Sm*d_#FG|VGr;Pq|Ry3+obi{f*t2mHAs;v7tn0qtMdQ&Vj{D}_)5AmU{;1hjt z-W0sewVv|&v&Dz|ja+iWQ@~o6`%OtG#^Bo0-OZL#-b<+7vq?IiI)Twq4UWsWz|BPM z2a{E6_p?OzPi52q>yL}DRrn&~@&swO1J6dGS}q<gcwDh8FI}vnxvA)Q3!JJ%cxeqjTLO?jGVE zarHz0fH2h$cVEi=AMo`7@8vA6X4kfR#nj>GD+g1CMBuWVz^h)FZu#-p`RJV}($J+F zij=E1TvwZ|p&TYRmx5I}cLzdJ7h{i>hfYKO(RSM5qFnL^xz*3p!b5_Na(uuPDLeDV zW3A((5z-?J!F!Iw1-V1pqcc|-JnWCi?(|X)sDf`;V!M22b(f_C(cCz~M^3C&J6Cb5 zr=}wIQ9f3qIF~ntf|!;r1q9jyFB?HADKyZcBlKZ6(fJCXnE47#4NqEA@Ki?~P{vy} z`|D}4jChlTkj2b$gX;aBd^7zHgxI6NnRCI76o|G~yVT+}h3iG%+`^FSeA(!i>NaWi z{Y528o6(WPjrWs#H+7J z;UvaSg+mzA;w|*1?Ykvx@x(#?9$nxhc4>|IC-Vx=^^oA(@&Zx1!z+G@)gvHPqd=fK z1jzrudVjU0(0k!1=5oo}C^Gf#CyE)1otB`$ji`$Nh9z2qLos7>Eb8SYT0Ux((so&G za|@QB`-Tz;3vBtQ!2&h@7888u$(n35MY=7}=r`m|;M{I_6jaM=v4Z1bk;p1=Lg%hK zRH3Woh+pEC|ASN86@}DoTNhA*wuL&S0303uv%WfOdut-kek?X?idd*$bGXrf`AR}j zoPo*gp-T?4Ye?i^)iagDU5r~k{H?8cpeu^D(Ea?xcL-rd!VUQK`5g#8)_19j?zr}!VJ!=J*@>jiE!g6~1uELlX2IYlR}!wV_{Hq0!+1`?){9A? zW2))xErtN5RoPAA4km%XVHh`1Ah0A@P}2PQF#GF`y~ouxr+qKdod=p;y!~b5+r|DG zd59Hw`vTZ>sLyvY1y2-=UlP32cR5fyj!|%K@fy0p|CZBw>U?V~HU;m~coqQ2zi>0y z9aCAnE$=Jk8HQG^45j;A-;{jHX{`^08nt{UJ|jnK()S9jGb+AVSpN=p&kOJ!I=Sq% z*Y0F3PRUjYJr=sbz1+;*)~3JR*@7?IvmPmGXyv2qS2)}g9>gZnDSj)a?y~ZcUxI0p4ul|Cx8RQP!qgvIWfAwGP5uXLf)2NB*|FeG;OByG7iqxFWl=1ruKy{W_zpitJA>!J~P;T;`)A4TLfirZ`f~% zGFM?;7lcLySuYNKz`m?IyMb$pO?mkt*BTNo-DK7-!DLII@*!-6`-Vo~;t;1+5&`NH zyxPT@$OhcqyMN{dLw#6MIGra?FZvt?Pd_wyxxd9YU|UrT85D2nY8XENCO43eILu4!KUl0t~cG}z#Fqio~XHH75hRtj<(zVgMVprV#N&Q1*HXZYnP zhG=e-PrljOzI6_#Ot;y+xPz9>_mmmOd#=VUyZHs*mRkWgL#GQO62*qhQ;&)}OxdFj%iv=!NuYumRJ3||h_4=jV zA?Pckdfq7dJb8f^{ia{KJ%?ir&Al7D;d?tXYn;u%ApUfB+Yx*%{@+qp7e_ImB+?hj zF2im}sTHv6^t>%EpeuJ8YsE$#F1S@H)n`j2c!+EDiQsvFdm-HIZlORitb5zb!8Uos1_N`W@ir@86>>KoZ}P+NnAb`;QNZA{taPU-aNi^+=2hC^Ke;q$?W1rf}jI?_?=Hx>n3qS%_PPs zY}1T7h+0MLOK>yR;^kv3H?@~(L|~^!+jNQ>5L~%_&*~P*If*+z@5AGJ?47S)c(-zKxlS09e%`asyJ|}nwWE<$c`hu`=t4$9?rtF< zlK&6g{2sf@_PxxQ3AAfUdS>=M=DJ4(A|u z{Lj%1Mm3^)Kq#F6TzKI$hwt*#a6mOZx8(@^zDJjKHb0Q-LFxT=wyzv-(^Jg8Sv?V{ zk9!0jtxk5vwQF8q9Sy6xGL$$ucx^4e`#uwaF*zWfn+<>QcP&tBLnmz)?PW_}n-)L# zz5{kmdt&8E`()^G=%GnawuJN^)tByP=1!ND_J=vA30FafDSKz4F0R+8F89I^N<{_) zJ{2Y$b$n^eUw~w7wWES;_mGBG3}ahGcD6$u#Q4N3%n5-{eHlXEun0S#$c36rmmdAk zB%@G7<=!yv% zUx~?_B*7&WJ`-?tg0xx32cwD7pKs0_s=Fjy*Mw|0-CpDN6NL@mpW5njciIh*isT5w z{l}K6XWRKiv`-4}B15Fp%%R?|>c?;W|A08%q0NRU-|MG3=$y)h5bA{dL2y0PvWt<+ z5%zH1@+>qpMR08``Z99J!q+TsOA^dnl1@%q`0|-{JL|rEyVsW4?d}wC&GBN`CwJ>L z9i#KI4<7-l%U#pb8s}yqBq2IsaW!X=?>mwo%>-)=+0MJ;Lk13EBRJ`{hx;{Q$uhmW z{1K6(^gY2=|EW)4u~hCVmg|uQwVn|Hi47ME*{cRP+$x+x}QE zc53P>45xsfaK_=wb|I)<;GuJfZ@uGOes;h7bUMVouSI7{sFM>`5`T8xYajU&&wpzP z!`;JB;Fcl9U3S}K?<5lv!tr^}kOBRul;?!6CB!M*XYpRn_{;XZW+^U`5>_G7i}!zAbGG_rkl52b3AtW{_ZUc>fw&XEjBRv*TtRdtzGgY z2VbeW+LPttAtsA8Ir#qM5SzqQ=Qt0Lpnitif?ufB*v9|139~CM zPTyI~xOO|+=gg6RvTgB3Ggel#BgX7FkCU>i>sZhAPz6KHRgOLMsxvqF`B6|QZkQbc zt-2d!%LSqiG2lo^_jEHs*3Jn&288D#e!-fkx-gWFlL8yI84l?2eYr30E-k0jH59FV z#0$?9yBCKV4x_m=It8zW*YLdUMdG%FghwZ>>9~R~PDa&rHmO3l=KXaBqeTr?*n}-1iBxLEVR3pnyxeIL`Sx!B021+xeHI62uu1ZUBh(A zk-FCo%j3<7rDaWJUA0b~1UZ6>&feeNi!I%_U*fyn{CY2NF^}ubOi)w^THT&GIWNU- zVtY6M&e@(6ibk$=-Sa6n%K+ro6FxEZj-Dt?iVJwsTXIe zGvMqkaHobvGsFEW=!LN9TpgPG*|BV~_`5=$Mtwqi`2BI{<$TT8B5DW|{HZm^A?!^* z*_xJIog6^>r`^MO?0W&tCSZyU7>r8-ZlA1^ZoSYAPJNXMWTC6n#G zLvhB8nQ;8@O_lS$-l?%uZ;$Prv7Z3Q^4)dcCN#w9!NMa(a;6hybQB5b(#L;V4vx_$ zF41MISq8k~Jh_gl`rNAl^Zso73%l#pT~6*1FoQp_HfO5{-^LC2Y1I4rW|c~3<0_pP zM4DYFzq*aj@0aUnJ(^L7{m)N^Qlf{wV$0HfEP8Pjn_zZ$30moh<3nt9nsue zJt7o@rqcEVfbDjW?Zj7{Y z$!M17W&~K|I%YmBap=AjoR_k%`=izp34_HtSszvev*nYWLx^vV+#>eX@Z|32++Blq zAC5_}QcLayAAt7@ErP)%6Pntxe20xXr-k~Tw}lwM5^HyNe4!r7n{<=8yv$Q+hHST# zV3(mw{NwY!aPVR3Rk3fGDa!Ab*LW0?B*m%mo!$4>KkqdoWs!tnAMcTY7L%U0dc@lG zHL(Y8bIWvgVGZ8=p|y@dK9_rOrCk<{wBTEe!+BI-qK`iiaxq>)9HPZ?>u@WEOX_aw z?ib#u7QXII^Tpzh0)OCr%FTg!LwDlCrZ!)-m5m(v%Sg*_G)#Q7g1z4YTnyww&JHxCH6{S>>W+?)LV;0L>?P+t!w=cgMyxdYDf4;#w z@{UX}O3Hyd*{dJlYi6{Ab|M9YQ6hyf zN_eqvI^hQbzd>76*2ttVd?=`2sI;{U1b~77k(T|EgrUucf~gH80Bh_NK1WYq4APVa z0zf3bYA)X9^}D7G+sjA0%Ll@OPU!Nu4-|y&ize`AQ(Tbs8!tJtjbTNMAw%}UcU#@v zcMG}S*WU~O+@H6qJh>?EOJ|X$ulY`{Me+9-1Imt<$NL(1nY(obmdc0hy2Sw#ucNVf zRRK`SA7`M*!$}hWR1>iKHNXna@m)j42NHq`gK*Tn#~?+V*MMC_+cd2Y-Pnhlw9q$x z<0tacE0Y3GO(sLP_l&s>4&IOsiowv;EuD_N{h08AN>Jmote>{0yzcDZ(#vIat3_?= zn)#29PJ#nD4(bOlhLlz2bfKR_*RwN})7NkwTsUoQ!4+p$tMK|DnT1Km`o63&qOQp< z=xjl~?{m-D4$#Ms<~bkMFr9JmHiJq@3}UhHUE1^#(7vmr{ssY#Mn;5DyrXEa@`|3C zkQ**AKz}UKLuT=H!&k5LKH%g~o!UT0VrFGE&QG53$b>q)2#DN{1=X2ZL`j*kj{x^m z=74(ys$;Ey?3ctXqP!kom{6XjIh$@Q4fofhY1rq<6`uF^>5e07P$&?OzawZgE^*{b zYw8rytWh`IsuwlJwN6!Fj*A(QA|D1ov!25sIq5|cAp@E|WOVg6D#AVt_j21l>azpxg; zD%~0HW}3vnTT1c8rf@aRmNkVE4f%!;-yGvE#vhVM5wToW14$T@zxLXk;nJbpv%p2Jwq+}x!4FOf;0Ei)6JzTbZyyX{v_*E+kK&1BL9pa(yYmbN=!3L#;76A zIgsZ=t|m&CA8S88gukDUhV}BCpPMHpkcGiei3A){JCXdh>4yvEM#mecQND~Mi=6mX zgP~8E)m#APP?sc$VDY>!;&E&_Mm%eHuDjpAjN^B&koHpuRcv-a>K>e_0yPz8Xq`TS~$Os88&dlsX$-lDI6MLHx@hC zb}_eu{FcT3Hb=j!1m6c^**kMy3`TEe%ywu#-~AS3m7M(pGWZg7nGU=H42J815j8QnnI#?x2p@LYKGTED~cS5{E|Mmjb z{$D_yUPgr=pm6Hd3`UzF4ccFvl=^|z{MyJ6jbh?V^b20~`*S8@?$7FrJ{iVFn~l{Z zfp!Ac=0>h@q z6^HqN6PKWMcf`|&rcp0gq}>hQ2G6i5iB(g(lvg#|-p&{2Gw{o?9CtU!Mpp@`^{dq$ zvL3)fmw(YS9s+f==nsLbl~x5n+)d9j-g<)V?_5PB?GrcCL;i7R!2vvR8S@(O>!@2b z=d)oRmwu0a{bvz6+bb{8@XIe-9xUp~2?IzNiykcc31r3w-{Fnw|6g8EI@C+FvbnM&aHMxf2Y{E%_Uk{!Bs`8>Fu zq`gJJa?avS4o0za(zcqj==BcD4x{ts$LY|OIa`H9rY+uC4RYe+eazWL(iz)|dN1l| z`RS{&9}!tAgSiC>d(D9Q{T^5M)d8= z+R?#;=3&H~uJhMoqbN9D#`sNH;HaP-8bX({Qm1z(3bu0^dDYAc88;Wl`!AjP1YYHQ zz#Y~;2ltNr>tcXOGGw5#<#HNNnPYMV4%Bo z>Cc!F@)Qy%4@VV37nmC@Er+Fie12JA9DYcs{br9S{EPCi1;`JJS^w)Pjib9P!>;sz_H>E%FC99zdA zbyMCGgKYGXJ(0w62;B#iXX4nq0ZwEJr1FT{kn|!!^O+5DNDq6Fx=EyIKE*|X6Y?fY z;aP(xn9sL)zM5U4&XsM>AwVpG%tTHEUaumS%RT?xWlUZQ1&!~xdh=tiT!Wi5PkXem z>0OoCi&T@vsdcP4#Te8QJmH8rD;5j4>%a3rTGRZ*?_!nh$hHsEh^`H)C&!;wQxfN# z0%64tUQ3jx_j^rQ%?^Aw?|x%9m}((Aj@IGWe-w_*-*y$0cv6I4O;1zF6!~EGss&Ez zONf8?yU8uu@cIXPm))3n7&Pp>qc?PS!x9h{6g=HkoLaRQQ~4`(RlBA1m|`3*V957&}JRk4825Y-f6hyXEGSolS3`RBT1zMwgSrdkKrwfE7Sv?C=*(#c>H60&=|m z(o>!<`I&RY$6>D{0m|LVmNwiw+=A4Bn)ONgjDnNU$OsCIREDJn;*GZS<%y3dsFFS` zD+|ElXd1bcfvQUlXp>E9m?^0ld}>D0qH7XwMxm&!8t zp9wkj^_BlAC!l&n9RFvvu%(06JW=YYNv{WkRN<6IN3j~CLuRyCK0ow^arQsbGaj`7 zuIb?jb$h4ZMXPRH-;Zk1{BP$6MU`zl>hu8JY(qTi=9C%3a4*WKkF$jAUjNAgmy|}p%`!fTqxrb9?*iX|EoiBD*wUw}+YHpeo{4nkbZ>Aj0t!L(g>V?)iRWFj( z`Xi5O%BT=?UEm4G;`i@7@_5|q&j23%esNf`&T(FdQ&<;k>SA-ijH+14zQoeo9bBnx zp^h*WGLv}(inH|3_!SsZ&OZBU6*yGGXh#8giW7gXaTZ+X zVV=>kMUib+aZJ+Ey`7PEk!WC10$iA)lTOT%8=_vD**nO}3>?cN8V(q}zVfJQgy0&NEPy zt_)s$zMd?5H*X7~UgeqM;ho~Xzj@vEq}2kq9}I>b$V_LCHLi)Ap}4IY|WSwoSr zN^6ysYcl+!+PZLfofNw38~gxD!ho=qo3G*EES88|ee|tg)+);xVc6TvKx&9Ij>(UVKsHDE;42nhW3*>nkh`ZP zSdrX$N@)xJQ$iD#Ln^gnlu`9hwtg{wzNV5k7f&z$*ar$ObWi6eNTy82rkJ8*^avY08kg z*ujx4*GPJLS~qUHeWC(e;jyF{F50a3`G_ONv$>6^QiA?eDWBT))fj4OSuDQJ z0H-Ytk;3PQ>UB9WDuRw}l*Ed;g^hK9Kr%qN|Hlf2ny%fZybW=S%V*0;Rl9=_{%2ZFPw2qZ@01S*7&UJdKX!Q0nl&$*@l~*-KGoq zkUhVmkOs6|9>Pq`3n$N96=Z8SD>f;W7@)=7H+A2V(!HZ|lh}V832w3rg65o$*I$wd zxHue`fTRt+ChNq(yiU(`Xw0_zI_`rM1&y9`wF0C{bhCNt_jj+*qD}KMxql9~7qYb) zEfi#}%+AJrL9P99&HM<-kw5!bFKMR}W3a;YXczpb#hL@ovz?!oq=%e;5wMS@wo1H| zki>K5VQSv}gW#7s=sREDNB^(PQjTxv8gpD>+mRR`lBrM$VC@>V2p(Y2`ct{!QR9C@ z0PADD^S`iNmKq?SUI9eZI9p_$#W*JPzNLFi@e+S?P;t(}h`(ol#N!$*woQ3)6RAfc zRvlI5XuzZz3ojuz-0a+_;CHXnRPd)j`-QJ@{HwcKEc|FCov(3Xy(lGW;$iQwkP&Xr zPC23)5yq&8{07+^mC(KN0PD_r{_>VR;aG_>5&Cig}3DP{VIM5qDHcX3r(oHg7o zHsa1=?Y->n%FWt7^=l7bM)KF~LV3|k)}E_C_dzN|_Khcevr)|(c%*?g{Nq}&cj;#k zmiArrgwJgUoj!l;5rL=S7NN@xT@7KkGpasYi+d>>1s?@Og|5hZCo$xG^J^GL5Xg~~ zQ0s)t>&kYey&&z;nJHt)pjs0djmgUx`6?cCIiFYL2^}!QAhqpO{h4Y)Aq}1R$NtRU zv3cV?e6P0GcxcA0M-6!xSQyMhR_jF&tZg=!8rzju=geI37P*7Te4h=i2y1{C=p-^Q zXy?$M)|QL3h>u=_W^@Y6v*%Ycz#QHY%wLzbVRixU z)BFf4)m?+ST#qi0Y2P+Bd31g11LaZ|FLua~O5Q62a`aEhH5?>+CBkAPy#WL+F`N+C zX0=Z!^(Uf-#i#1O0_|)gpXF!PL6v3o!xXvt@X~2QnU$t?(1Mb->~SP!7i8i3LD#Yg zc5=v?#xCh83)SC)%+XTs%r8oOx62*DpNpuXvL^Nts;4}pxgHH*uy(?C+gv2r6JtMc;LHq<}f}@ zPjBgpM~$sQQ^@b(NoVdN66-k<+k`nwu4Vj|kM$6-tf)<&_dUGg^mVu(j}GT!wC0*& zy_EIN`sOP^oT{Ou_OnbS?@4eEM{seL37@if4f)c``ZIEnX$ESSg|dU;$=^>r;n}!u9jR*w7xLkZI0Q$?yYN%D;r@-W>@QS$#yE-n26q zj-X#Gab29!EoC_Q&bTIwqc!5O4VYxn?PzM%%C%{!M{C1HntI zb&AbM$$uu@*R)+>8DBu@g-nWOzZ;hs>Pal9vJD)G6DL-z(p>Fr^w4kl+O>=$Vs5=1 zqK0XJZ$OkxoH>=0&Q_*1x|#JNp{jxZ3p|@ME3w2*)Qm_!@LHzNTH2*DdN-e|Sls%H zNR7s)UmVhJ)A1UL(AAFNG}@DGg{ErQ#1!H#ruxK&^29^+MK*`TH?jBLjpgAV)jh z&~f+qMOrz%_SGkQs!Wkst4opIkYa+TxS#!*VfITgSPCf`^HgWpR_E1R@1p|mAE`6< z3a!>l-;kxm|HPTG6Ok*4j(hM@x+-MSj`t58aET%4pnj;{^)INSSxeMB>U)wuKS2n6 z&+kGM+Ny^W!l@Hy1NqBM9FY|^_5X&?Q1+ zO3@Yl)*;=^$1<{ck*eU48iXm&SmGihCB1;W!_^#>TCx~e2p`MM=EyAIqX?W5O6hT4 zU-VLPESUv&n~YkmD9s<4?_wXb6P%85Y9kf$Xi-u3fuLNHTJSd+=sC0(lMNu^T)^gO zX{&u}9ASU#RxL5N{bZVVl*NFn3(EY2PKalKP;Stb*g;`O!+)oZ>UUcOX7fH~FmbR? z9^}O%;L%XHHl1+Osor-SHBWx1acXCY$k9h9k3?Q_Yn&}koF|g4&%C47*&u*Un457m z(Lk{|@f3l!Rs43WS|85mhY4~pRtT%R? z^bBc~#$Ei}m~dP2 z*tQtSVYLfl(aF_UB#T5&C9G2ZUfZ+3k~N4Ic&KFdZ&_doD6spexv#K0A=0v5h>PG0 zT}m4U+!1huUO!Gw_Q3aeX$lSEn48Nnkl z1V+=LJ^QCOs|lZJZnA_F4^L1G@i->V^5YL5)cSU04P|%@S`h~3bFz)Q=wAN3{X&|a z6`fAIYO2+3Hvwn=jwnJR+1obU+4qD^ZNgogNMUPKk*;1tV=}Vfb*sW}y`nYmkQ-(x zCZyst*}Fgth>k>gosOPKb%}?#v(v{j)C2raR8z`yQ99_>tkRz~lZ(%vzsjjS!n6(0 z);bq63be^qJM91cmu?syu*GbC*aH>ud&XFNPsZ!$zn6q#Z$I&XQTaEzQjEa3jf>)L z(DCnca;Lb}jJ$beKK@F4C&(&hh!2lCXB3-k872uHj6mGbPqR*2LTR@J&un^a@wyn+ zepL3a=q*9Tfr%Y&%*Cf3!F`~4Dp+T)ciQ?^&AYA7qgE+Lt|`fp&qM<6qRF?(sN5Id z+;DSkgD(BrAH{pFss{vd==~hl=xdqAnFKj__6w#(^vA-{I%m?0-y?L%sQHW#3fu-o z#gEEr}M_8R-Wbtwa{kMzD1_tcoiFC*n@b2HQF z0Bq3Imo7U73-2p5uNAqE=G>xVgppZ z%QykQK^M`LXH3Yu|BSJ;0LusYL6=4^v52it6-w9EU)@m=SX1dVCTu9GY@#vTAn{Iy zycJFn#+a^aW1H+%8h`aAen1U#!Q9wT@uwOv+(4^D)7ocLZ(ZK}D5EhOzs8k~)6z}G zn#^EJ9#q$H*7@enlR}2B)(wF5ya)cpkijwavKg&V-;ZGiix^G(n~6TZX&%pP_{e5C zCf*=oXyM~$OyqyiUDEHg_v@gXIU50fc~a3?#en`N1h{_+YK^3kJ3L&0TB~?LSf2gc zIEYWGOb6oLu*%=1b&#U4!o!Xgi5Kjmn_mBcNKN(`mP@0+m_L5ZXs}VvMuAZUP1s|D zAr7GXf1}zL1J&yP!uSRLfAe8>5vpDH5vFz2%*a%Z79$wW%FhD^$u{XwVtf7=I9Tly z_%4+N&w+XUpsvo@Hed}{xdo@_nZBK>)!hCQ`w;&SRsAMi>1-r$UMgfBp^){Q2*AN) z@0oHX!^~NyS`oVkp=2eQm!wTu0I)D;Vbx+9m-xs4uj-4$jMubsl}JjD{f0V=P|*1+ z*R)(EH{??UG8=pX()jeeusmaGP7xC(mR2|@su2K;m~EPT^#Y=9OEF~Jc7np?nYW{u zNsH{`dop=;g-C{6oG%Ji{)wAkt=2jnwB+!aCrmdf@l7eIwj`{MHBXZ5dz3>xeg*bN zXXBL8{~~hzJwf4|f3HMB47XnaqU)zSZ>Kf8DL+E|PISof!9}jdtIGd0MN_eHc`wZ11*2idxc8C0y+)xlh{bUT}G{@&nh)rTI3(Yj*q)qC*%LKbhDP{014 zjzMVyH{=PGBs6)*b*M)CaA8fW(ak^?KgGGiIi^HM!ZZGVJe=XjG5$hGwz4tt$cKpm zY$Lu|n@&$#UN!u(F_vH7ZU05;%Kh|=L9TLp(+8I{>tXpw5WC^C`3V{Wx0uAH$ms!D zWOIo6EWlgsYJ%fRSv+GffL19*qf69c2*z1ZBy%d&V78BIr^}M#h5reQhsnu?AAc?0 zIqwo#iS5vj6K{}dotOz%Yq5qeU;`<}$@6v(cPu$?c0WKiU<1K9J4YjD#- zlc0}(I|9keeS7LFMuz22_Elfvmk4~6q!(6bpQ;ag$WLu2esooWzh7yi-3$|GQKr7_ zxpwH$tZCia8KuUsyh=O4$kwz$H9Pzs2Q;{AY&4G2mbO6M@Mbm%Nrzkycb9DDO`9(i zY`-VCChQvxz?YoA(LG=;4pDY~ilj7ux&0g|6X;A)DOx|u;9#(fxLeYbFJc~W%+Zey zMBh_5s&9Tz;ju@G!y=~}c5RA1-HevEQfs*qM@w_`Qr1Yy9R$U|@Q7P-`nl<%-Wl6} zB+o}zQ(KXZ?0!N-`Y*m0F&ZM|d+QtfM`KJ8QN=#xM~iZ|{UKY2zV_RoQ~=C0wZD>y z+oSWcCeze5S9A!v=91dByuo$)UTV&ImxpgMB4la#WY%A--Q<<@K%597ELLA>u1s$ku(uJucp zjTbZbTNrbNee(kov3JBzOZVEB9J%GleaDMI%a7nMP_8IsHX%Kv>Y|)MrfmAg-7ydUr5$aBykQbmLnhHwEW>Ft{j|nYa=(hJARlEbz5&;cF3YOuzA`(P@$qXLz*z zdYq3H58st9gb0Bo*k_-KzpC4{D8=Q=9tp4A((jaYL|4W-19lrMUoV7(b9pHM{PB$-sxE0wNvNYtW^O{)ys6qu zJG-NE^Uh;ZyYTtE^K2*GHWw81>!Vbp8P9EDs&~F?=~ez(;TX7s|rc;uyG=oh!sk-wP7r|7hQsCI+5VxUong z!2kXAo4{ca$Is%{-GOxG#S5z%3t#KQM&=l58D=L_K8zU1mo%A4zj$w;TYmvd*4|#c zco*8yR1=Ev=;ep3QEXX~-tx%ACLpwvXq;xinro3qF?U+$bq^)Q241rkr&aN2+aY>b z##XI+GqhF}Vacy22?tsF%3Yi+v4b1?R5VtX{=j|<3IfBZj6Jf=H#iGFi;%$5M|yMk zSIk~E#6;PnJ1eJiwUj!S9}8C3ksy2eXHT7Odx1giEjY%!E`)eB zdAfCB%ku~JJaOr4>3kMK=oPeP+^6c-TNOGB_i$k;^h2Z zhVx|ZK8LVPmMtqeK-^d=%G7v+5za|lIUv+kJq2Y_N+k?n==C=8r5uH|ZXpcYrK*=D zNmLrGVc^odfh^Kee`}@?g zCUV0di{;nwgTn(+OdEc_ZWZykKJNZ;%=}-KJ!`Y=g;>_F3ST}J@;>wpJ)^vJ_gd_z4MaiwaL%?fxK zok&QwEKbf7uIfpFxHWF!y>gMXX8tyebkw?nH%%~N2bpKH4V+g{uS&Q|)Z+p!b%r~- z?<~eB=t(6*6m`5I+Fql!+}Nsu@mX28P{VJlQGwsBl4r z(O{8|&V5D`kSZhBe zh3@tQ9!F@+h)cI)w1-JyplD&pR?Ovu!P0qWiEf;{t483nKNm6`4*TfHNG{wC>MyKo z_L2*V`z0aCJZK(~42bKG3tQamUXIk~4!0lHbkdz^n3^kKjve@KRRD_2>~Jiqgn}XE za9e;Eehj$llda91GWxjTpU@Ha(;fu$-e(QBevC-Bp-3>^JSN$DsrUCk_RTQ!Y(;K+ z{y#qAXTGkpK(mLDkv6 z09Y2ugcmOM$>bB^f3r-YEc%Bdn|-m>FHWf@{UJ$l$zhtPHw$6W+e^b`Nmsur(YI;$ z-}?3Dj8(QB;^~9>B_+jGJZ+fEQ<6TmsQQ*fNaG`NqU}O_dGt7JBR{6Vyaf;}L{pX! z86b@NkdP7PX|MjM@T&&ACnvr<8H>maQshA#hK^fP#nW~~NzO$qK{j2x5IXe|F?ee^ zH8hmp>u+oJGrAOTykzlDMx0QR9`jr4NBz*7(#T)iD=1m7yKdB{4~A5^*0nG1u}w( zylMW|d9juA`NFA`cGT_0{h66X%#Y~sby-kmjy@izrEQ1T2d$uVn%rUF4(#w2Gj}_OmsQSYZdjtqa-tPD^W{iJ{Xw(+q|8~`(EB{fXCmw0gzin^1SkEWzeE-eu z#ecE@h&C;>=dn#o5KM77@t~l~OG!+H1{L}Fbn4N8-+%du^+FnoWA4KLjEzBrWb@^& z5pw79^H|G-N&psN71C_Q;*}(}iC8Dt+JDh(ZUdXk+pP>;oA>dR{;6O@waWfsBzv;SxKr(>FbcZBQsQ8!o6kVl{F!*pS$coLx`%^NXOML_&Xh)3>j=Uh1e<9Ue7sIW z55$aT)F{Umy~H-<*L(l_GNo5_J6+a;v{*7#X@ z^eHcN3%EsfS6LIR9~a%=bA)Bl9ayXzBJj%2MI*gMM7LOk!{Fl(Ck@wdzbdZ}qH)`V z%l}{|q{UXrTqzOBu6af;$9a}{EETzr?Z{KiwY!vrGqN9Ze*8iTs)wn5Z%BNj2A#&l zP%qQ{bb{#O-lMK+TT5rO$JW0avYi>TP8N4&p+TB$PkVd)dmi4=3Bv7#)W69Hth9pa zc*sIH!Mw2*F>szgv*R^y#KxjGV`>J6c}+IbGdQc%M&l2Bf77XxbQbgmcj9BQ_HpQ4 zV8Z4nhyUW{b0|e}oNhc-?BU-UM^VqS1VKk(s=q?a8=S~>eb31#FIt*;)z+4;i~4P^ zjRJ0s7RIv3mS*ve=SznW)B48%GNmCzCPk_owW5sxWD|}^_o$2rRL~5cO4$7je?N3F z#mH0ZHhC_uf)3<##HpO{g1%|)x#Qtb{*kKe_3&$@R7v* zH{`?0FBSW@TIjhfXZXtM?@K? zYK5|+P7S|>XQ6tr4&|jg4!nYxKbiT}f(m#KPDgldgwA9#8g@2f&nvuBkrWW|)z5_p z=`2309X3g(7rN9WW`+Y|JWC_Y5dNEH<>KpkBpR*|VIqvM_|jXxQ1K|CstNJSkg>{z z&wo;`81nPypc$%ShT*4om8FdkE&&hXZ5w^&lmq#hC^wxcWpUvGvuZ(U#U;>!EL97Z zfX1cT>u2h|p_1L29Pj9SQtW2`AGY2)u8Or^AKr?BN{4iJcc;<~0@B@$#G*sVO*f0~ z5b17^?(SB)W08w|2i*HP=l7oHKRzSJ@(UCNW>X>{jH(lW&dg=p*Ryn0 zSH9jmGWx9)J0@zn0f9`?7$nAtAt0}TI#4$l(N!^F`gL%k@VXL((!+KlzB_SOs&?rZ zv1~O$byd0Uv2WIK@w>+rJ#mW(at89Py+f1jx^`Z`Z-PS^)QAPNT`ME~aTc!GT6Z(m zG7Cwqq|Y;W23jfR#~^uX)v?o@D%+Ii-kLrUblI8jh8WezRl7Qj1}>BT1cz+BB)zkG zz36-mfXJ%<7k|JpSZ&!}uMMiDQR)5$Kvomsp5n!&IX)eOBfjAvCke?OQmW{W%0yUl zJAiI^LXeB?UM?e!Ffq~yJsk^p&TCR(+pUttxqqq+sNS?c$m}C_RE3p>&e9gY%fYe5 zQO0fCkmhAKgTxZkAp9L;uN>_Z&BitwFMdsd)#E}->&O39nJ(3nI;)c>5Iq$q#|EoW zQz_Bx7h|6}hB>v{Kd{9Yaj9;Rw2q=x3uIrqGEy*UBSxB%&xi4w?r0lB0v~#?i93n4 zT_U72ZG)nPJ&@dLPpXJ9txv>+yRGSs7{dxL5Qo$j6RAJld3=21STQA6an;3KZpeE} zAv?kP;B{6-skh-EHzXZ8~!5y*w}_%{0x6 z4IS+#GXbn@vBfcYa&3_$LmYX@5MEi#cf2OXaFq7)kz~RttDL}~Yl+49@U5s#FdQ{= z1E~AwpB!o)@=-Mk^lZ=$c|UJ{?B*nupBl2815T&n`{-d#LpB&ptecth>+c@QU=g8K3Ivrx-cD$SzmB230)$f$*8$+MZK=CMOBa!GHEhS{X+ z-?+s9moIrKeUvs){mK2u&4O>Ee=DD#!8qMw=6qadpYd?k#e|Re!H0ql=(CbRk|(xfH2i z!KE*?1le&pDZp6rwxgxJ1#`jHeFCuzQV~n(;E|}(z@PRmA;3#xDPBiP_2mT7N6huT zh_PN9_x>my_xDAus7`#&x9ip0)KBXZ{RX5>1&J=hX}542n!%G^2Da2MU{`7>h6xvppvnqWmNgjgAAKe z=ig46iN+rS^j|w^ov?bZR6C`wotdgBWV;wVNH_l}yP*M7;VY*Yr}(bTRE)Ft5Qm7? zi_e@ML#mnvX@T{-hgIKWqpe7ExkSWd;!yMK)-rq=FKWC;54}lMn7`lCE%bS%spW09 zNbxzgcg0qmn^3nRAtOr@$%Xpu;g#K0pTWxz3AK@rCf>ezA}->pos^b4AGxj)r@Pzo zsbBGrt>^0EPP4hT|bxs#vUse z#CBtF1v`BYiDnT_{hDn&8kM`*Tda3rwsSvYzU%V~3U3gjW$~8PnO-X>l^wrx zNxpWh!gDO3^!l;D6v~(76Ac-}QtU$1WSYaOcC7X<|L5AHEtaeRl4<-(ol(zHv+CWNw&~%f-shQSR+J z!XC!MwG8T7Vt9%?IeTZHVJ2pb4gRM-0iRZKqf-DF&`4A!I3ZHcXeH6k&JDj4dk5Xs zdWhbcaT!}e*o=Ci5{jaQhq}Pms@JjcRm#6&0lmS~szaS|_9=2`V>z00Tk^E*?#Tez z^d-m(sGHkfA4AJgUa`lgl#jXwwC=s8xkv{PgM#@wdB{M?t%cOqC}90*k>x@|5x}rB71@_o1)D$W;{Txg*T-2fk*Efx>TNoa^ey z+taqtjWD>pw5JkWlg=kXXL+2xkWJ9-(ANQHo!-pf6*bb=C>;2v*?+Oc3Ds&P2$=-A z`aq^juPOR|Vf2h1I*Xqket$zhKuwrkP>t~kJ#mSU+A4Sfy})yj*v{PR*!AMo)uZ6k z8thqMOo2`X9MGwV%7wbo1VwCikW>SOJrlY#UObTqe2Won`t+;xqo&bLe%qVGC~bzG znzW04OCx>lK`~vGyYCkikso5*uN^jixo=%}#aC3D?DX;O29Ht$D0gTu<;U*|9dCI_$SMBa{k5S)kU?dS1C3cikk+ei}#j`{gJ0*Wh;$QP=mE( zrFCEPos2P~)!SgNnM(a-h5c5UkjLfl6mOX!6O9=&G2M<1zDKA1BD|0de!Y$DiM;v? zEvAC%nU)&HN^hv61@C)>o(XW4EAY6oT;;`e-u}!oTO}_FBdz5Is6c~!BP29n6^$CM zy7#PJ!u#9c7`a!^5|bp*KMwu6_@T;Q`c7Ot-D0OdkQG@MkA_>ws)WoUjfkA2+%d9w z37L*EOvZ!fu!>G5<^Z&sQ$RKE&^jck%jvLpT|9Y^zuIea(mgD6c$3V8ErBbgiZo=W zcC`d$xz$dW?~Z06wZRD~?7XpsoM85kNURwp5{DgkjyD$HnVd z%lisuVzB@T2dR~5OqE}0>W#kU*Z-k#xJ+#}J=nFDV;BTEiDs-F(^fz(9#Y1 zZ*4@QXQb@s#jqMOxU z7Hn}lyGRJUPQVw;UQ7MtfrL~W7$(exj;FAzfO+J!{4>YVdV_ux_&e^CGJ|m6**Aa9 zouax7WZiyt{Wa3iYCiw0p7OIDhyZ+|MlwJ#e z$s=~}t17~Dn=J8kg`F1!Ncd!S$|L@@i|jr5;V(P7f53PV{1vOUR2v$df>RXh0F=-K z$g%{v-y}T$UDVo<%F~l%@%ACrS5cu{K#1VTS!cUJ8ou)n9L@-Lv)t|C->7Ku91KQI z8N~U{J3PzrD3lbb*BU@Go#sXOc6NFY!~{4bD$_X;($eV;Nj&eja<* z^k&E{tK?xPe=C$)OXvf^5%S@4hAaAhtQ4pk{=&P~cQ28dTgHzvmg!6bbCdso3DE1B zTc$L`k&qi)QdrybgKMuO%#IxS(KWu_5*v9^EUDh}X>!Ggapjkz$kBSq{?Z=`M|CNh zw3r|#v$MOOrLc^9Q;nEvsng@SRe25M-AO$YYkAS2!zKp7G^Sp5HsPvTK$c*H^RN33 zPFu1&*9ogkz*{O`>EZg0|D&l?a?!vb!~>(Hz!YxLN{mVto)DJBk!1s(dJVP&D3ku< z8mZA20!k#k`|gXEB~LAp{dW2ERfq9-3BvBmDmHt6Ui_sIvI3JMD*Fo(#MGPmdlu24 z?|!R6`A#i})hg%g;j9s5^4Y`3`hp*QDW8 z^Nj5jia$J3_vYyOU3@8qT4YD^oL?YpmOC`})s53Be9FvPni+G*V#7jy9rv$^bcFMj zZt2y<91UfDgXr;3oGrL%l6Y46*aQRqPgj~Nl zleFvX7RL-~o4?P_m=E2?k%mSOXt>?YMw|p&c=VP)@Mkd;0!OrFtDRU?sXzIhL^4JZ z#V}h06p(i}f3EzE;=7@Ne-?+TFi(;uMGc?D`+mB!H}&NV4OZcv$k*cA-5f9a1&`fC z_hez5q49b_pmAdCJ|wHTYyr2i&0z)Nnz1>Y&vx3gMriQ<$?Gj>!+q|0V1=S8f70Kl zR%9M&%kt@~#fC-OkjbA~iF+TL8ye7XY3BDxcNgJR7H6rAWz0lEa74`gfh_oHHzxyW z-0-gOwR%Q2!q%KNxIKt=4=645(l5kIqrZ)jpU?cQnK_BiYuc_fW&xzs>e#G)Xfhe` znj7TPa33ri*R?kUPDqOtRXTr^;P*b^ctdA4oR)*HWV^kfu(7rspjC@uCRd6|c5qOt{D(Xu1Gc~uUD$1TlygzZ#GZKyi@JFDW_ z@iU5WCu+P|fXiqY0p&f>yNOhZ4B1~CvW0Y&Bqe7suk%K{g51ayX4KbtmJY^Y?|-hB zTA}df;uWSgkjU&C#nsWZTuWBY)->X~UiTBNW;)P#h|Y+dvwU&*`^YtLarD~li|mTCr$E@FfA&6#LpLo?A%2Ib2XDwerQ2c3N2m}!7w3lp z^pSQal0W>>8D%+H{!8TeavSsam8=dlxw{)4 zQ5$I)&hV0T`atXK4a{(nqhMwUs#e`Rx~uJ(9FcVNZ|_CBH)Y@aU~|M)vjNI5RfCpu zqKE=JfiF78o|&DxvHc|9CxFq3OkyxI@IaUXHkov-twh52UMoKe*8wIt{2#4`V-#^urZ_m{gT?jVU{iP^Eip+Tg z%0m=TV_6w94SlLj3RqTDUy#r!wEkUr0W+1gci8JkDdX@hFJ0Ij4|gSrvk_JI!!xBD?u;j__A-}_ zb8LB6tIO{q%tS{>kSzfD)0`LhPp{Dq=rs;qplc~8C3rCH%rng@Dg z&a@()m=&{c080YPsdDr-iEe_*K zIDzkYiK3p0+l%Pu30@dOSTZl}O_(4J=|D$Dk#HYLNr%4M^8!^`6DNeUbtZsO z?S9~imkGu+F7ai3O7(slE5d(JaZb(n`=){vhFhtC#SN!_!ZhUo8}R4MAZrQ8eWQcQ z5~T;AQPbtv#YC+R$*@@~8Y}{fLfNoSjtC@^1)PDK^MgXdFv{vk0tTrT+1{UL?K~RWE~Ubzzx+6JT&!(&R!Oz6j*(e)sycqCWzfU+2*4dnv_6}BuSTCP0Uf$f zqHf@??*asYQLl&;U7M^(-7s!Ey5_9?9l7ly9SJxJ$`tHW?1E}L10G?Bd8F@pCcq^d z9M<-v7983F6FynIj9rA;WGE%Kdx<*1#x^jTn}o` z7SoBl4aup6PC1O_Lkostnt7XB;c}^Jpyx8 z5?xa{DvNE;_01Kv*!^bX-e2gP9y+y@6vdkkPd$C|G}{lIH6IFioL*H;Ak5(QKuW!Z{j^-o=QX(*=--O>lY@?$+-x}zpBg&@I3n4i4AI6`lu7CUZMTN#(a{juAX zNZ!qS8eFJWI4Ce2l97$d6Gs|W?~ZZRfcCW>Y0@F=(@RR7Qa1uYooIxE;-VZpM~ypJ z^{0#=^hi_a6jC(<8#4n1Qh+8$(O_F@w5|$ny6JJAmM2k3)a4Rz!$-@OGs|1}^uCz}+;gkkk_4V36ou6fA z4qflXFc$XZMP6~1L8CHG$J6h^fuT7kP6g7V%o@Zt4Q=OliJ`<2gn}Bam1+CbU*i+7 zp^x((9y*&zl-g(F?h3}_vcERTzIw`(qvb|Rj?2rwnZTTQh18E7E^BUNSaa?UqWSZ3>Z*wb5B*Lz#l-=u0jgn-xYE5D28E6U4*th4(6LA0Ek+5I}T2!;7!Q zFdNPf_qRbA85wF^eo+%2(nvSXqTKPYJ;TM};j)4()E zBP@tqSVzH|5b*R%fAWuhkxxJ5ZjAjRd)l6cCy(QL18G6}SUAME0L(|BQhFnpSh-3B z>!wpLTQQ0u_R5teM+Gf@PbdCJ?xB@^2PEze71V_c~NJR%-bQ3c?eR zWu=STRyFN!b4rVH$^Y*CezwwWM0Qj-|4 zPkgoO)32>yDXN%)U*wE`z#lZkw%&bfX`Aj0j%B4c)P8z|{#)>4MsZpjvglAvRL%EKuTL4C*L*PH2!{!!A>i=PBXqWtgQrz*sCB+1vp3l<*1 zx;HWPyVEh?m23U3@rydUb(Fu`MRE@x*u6--l9%>+IR+s&jCNivBwAg^2U5nkvkn|(|RK_snAUwZb?rH@jd#rQ@iR8%dGqorqUv~Hl;&$8vMIPM>}hB-!NDF7#W+!BS)UP zqn?6}zZz6HZ*H$~-E_jKZdId>v`uTdfQxq=a^noslQ9+`z971eHiBQeB2N@oS*rGa zs{BJ4m#`S0VOKE|1)Jq;(a9`sFOl%L?qgjG8zsVpM(V zQ_&$7n!T+~I+yEPOe$)A79n*2)C{v9x&w<$?<2c7Bn4k|WQ6^44urOxtM%2F(nos+ zwS#vW6Vmk$18-vZK@$Y683Y_G>^fmc`*jnNLp*1Nmj>o+)DARtTyK|WzzZ;VC4G=e z&;EElm*W)V1Sc|?)`4G^$CM-zhUkS47?h^!+Dn$yuo*|NJwGz|Uo<-1D;9@_8)PwU z{5U&c4v>ha*l^>QTy=;k!4kx*bG>rtuWzM?V)`A6src~yv_>6iP31W#&MU%}v!XEl zqKvS}p}!)Q<3Ms*W=ojhm{ayS)3akvS@VOLJNuusjIr`mX3<)F|HdXg7n7e(e!;JST3>L=Usr3c#_+FQ^5 zy&!U(4?(bydLMDk;O#?(hlrO{6)kcKNL0f)omXQdX>sgKV)2OXL(Mz}fm=W!jZJTL z-_6D?A91*x0SZ#UsY{|q|8=-;2?>$BVOzYHs>tCFDYwhONYTqdX^r%j;(h;SI^dJb z1y?jyk8b!+Sa2GcgV-BZl8%|L{g+o~I_2I4odw}Hu&imuN-)m8^gAL)W2STIuhrl0 z>5s?-UYuaP)VcH?R!v?f3eHMZ9_eRXDa2JPhplS)UTl;OKH-ZCqb*NtENm80183#g z3Ox;ClQ-YW{>M2powJ2RJeDHPYIK1p8G65|a4AE@osqGmd>lt`DLQ22-|w!ACn2}d z5IfnUtu_RAz#VB7+TgI_To^j~_2lzx-4^7$In(eWU>kn=>LRPPBxTUQvAIMes9trW zx=mfHTPB^&so0=ldjIxzu1@Ip11YJ(0&OV+__Qj<6=~Jw%YuUZ?X;UlRYa_}>$PsK zqu8ygj?gsKd>N9-rkloFkks&>?gYswR8Y88ZQ8Nfdz-42azIz3($y1Tn;Zp6_G^XnJ=n4$a# zV2L}W*hSEdcuchW?P?L;DRuKO?nQI-4&<-iQ~Z=%D@(ji?<#e#-Vm0z+8cz$zL4*w zxftBp8MDQMn{P-7o2%nyA?#e;qYG5E7=;(tu@Yn23*rsz%>&+eJ0g-@3V13qC~A}$(TCMnt4yenVT13K#e#iI46fhJ zg;9q|v2~%>vZ?!WqsCu%G{Y`Aij~xHy;lDxyi*6d&v2%3n26Zmb~nywCeAH>vlu9& znU4LMd__D_n@7+C1vKezJF09dFNn#8m^KoNE7FSQ!wQ>ESA0`bRJy9UvK#&v8AJbV z*2G(YIl^%pWP<7SOmbsxXu^DOKCK&OhZ1vO4L8G7K z#Fdg!xpf#H^&X$G35%HlrLmZ5YQ_DnRs}}4kdYmkKgKQ+ylLtJzg&CN*{~yBHT9yp zy&^f5t+6AayWh&&=ZcR+WZs@7kTsV00hE7DZiKsZd2X3B)uHSHYufu5+ z9nC|Sm_~S;*j&bW@ZJU(hH0U2f$9tLOmjenncY4T`eOpP<_o6Z>}~3`G|$HD;lSXR zTP;J!8&Iz|!H$idaUVW^M1((gC!4#JyleW)QrZFfbSB38K2wxn?)!Y6s^;KaAsE=+ zJ4WhZLllpm*D=6Ri=%M)J&Yg-=cpA~|J`I^UNC>F=0RW=0y|_uG%UgtV|z^DG~Ui= zts-ZhqT+A9_ylY@a#TY~AlFnxjzzPhi|d2k4;N~Q-(XVxA&2}#_Up{eK@7#6a-U)R zDvllw5gKz>$2*)s_$oG8mgC1)0rnxCSFsi2BiDfV8x+Nzy=v@s^-}cF_CXlLk!Yyv zUpuyKx=?=dz0%*47kul1!nA_3cB81dx5{^>3#*qMs_E`ogSRKcnwY!DXM!2`8O-da zS)mi)usIukJzArwqK+;y8BRYP$b!{hRWSB7#QjyCec~SU4S;)t1p~i!UdurVa;B!| zK8v-~Tc<x^vgeV27rnaEdH8qbvsMnBo z#d^Jx*65~Q8rG@`_qveG7X7miUvHi!OZ~h%pV#FSeuvXldhb{bQ1qt{6Uck*l;3;l zx+P~H;qrU!Sfr0;WGO-}CMLS~RY3H6LqlVYB*MR+&Qez2+w*za&`6;xPwj>u{EX)= zW?|nFSOhoyZ?0OK!R=IjT(fvx1a{9r$3{PbFH6X|@03S9Q9HQ0-#OO7+1D=^TtjVIpFlEg3DP|qW=mshFw zq!gqi!=fA&qvbd@IeB{~exzz6<~)8g@@l!gMvHSJ#M&;o89Y`k)36XljM!>Q_$e9ICi7$5u=NQZwg?dfo@g>}G-z^1svg z?g`G!=o$d~k_eKw@kW4n!(%R7ZT;Sn55Gv8jUm6(9E#vONxWu6N`q%-deW~`MVNs7 zalZR2O%5XO;69ixZ*Xqknpx@6-o$}w7fqKu)Stc5sbQU+Tbi6*Jw_0IA%7UjrpReC zVhP`NXA6a3cI16gHCO6^e_C@itdZrKt3oz`&H6c4j17l^w}d`V%a@V)aP9lsC@iwb zcMJPLi3nnbES(sh;8LuTNR$}S8lmtopO9;-V2i-_s@0yjAI-(Gi_#jkDQOc-Y(V#* zZL?=gizzsbDIE9zRGW8tX8m7C(G!OKwwc*(5}J&H8}q(*i<1O6*N{d2=ae0vC@SU?T_pdHMNAFK@lT+{M5aDr!;V{K z3-`>j+)%y+MV?~k7BjE>9d#@GhlkxdH#xn1hA6MBb_rnDC`u0IC#X*!5|HTf??BgO9F2uQ{-_S z-Ih3c!xvyKRgB(AVLcJ7){WpcQ$9amu0B;PEg$fGv^Tmz7UqyfHV{6b++t_IN z#>gu<;1U0wil#_ybc|{5B#3nMHywkFS7>9yh3;~M8OgDlUTfofyMX=1GTV;Z^`ynd z9WKMxaslUzP1T@QfkQc|42s!!xBJXk-FEtF_HXnNM+#XZa)%CR;9veNjI3L8D~f=6u16zC8rhP z@OM=O8>i|{5Z+gP3kQAUcB)(%)buE%zw>iFwU!~?hS2RJ!==Gxrrb>XBbErMN} zKdlb5#L?vvsQBCbJzXl>OOP68@2(RzWxn_=8m-5keG$N)VnLrL{9!29=EED!l8+p0 z)?j6-366tnz~INZ@-|pmMeXPtTToG*kvjz8J{!r0J)<#qKk1?mVp0juLmg`+HM^J$ zvfekX&MjtZ?5dIbVglT;YHSu{44PC{nasrIZEe&NfoDg`25*04z{_h)$Tig&vMQAM zAZdFK2;aFx?DY2gtj3*uJrE?mO>X57dz7V(U9fX$gw5h|U%R+tO;^5b%98J{msV4v z8?3`mW-b*FY5U%pF(|>bn;x~J1YXf8QRL8M5G49860YV>%GN(fsRJ!wYjST!6BA(M z7<63cTf4) zu|n3!`ieeLsLJS9ZOoYT4Vr}=SOe7Aeph)7;dkrj#Evr(dTNJOQB6iBZ+d7;>z+?< z!5J_hKD+{E#!{4MpH)LnDLJXj z#ORn5e4A^a_opD4k5UMNJYU_^4PTjTmne$kIVG5m7-^J>G)A?Iz>=99Q$+J=fluC< z{`GdD6o8j90A3d6R9&*v31$O5=8$~wz{Xpa=rkPD5A4~>Phhe8p2|(eE<0f-zBF4% zXW(!Zjwy%rWr9l>9r*^%Qa;^ym=wcY^!09F*m6PvYw;{LbpgxtEm`gJ{B%%^ZgK(% z>{=gRQF5c17WS;g1bkzR;z=DtK$rHtA!jvBwO=Fs!MDx7a%B!b;#o=h({%QtE z>Z`)V3z|H_YnkkqV74gilHVIm?J}Nqfx2TtP)^@La(^K#ro~Mtzs)-JV1DCoJhfPyz=MQ$SwI>>if4LzMHNgA

!Gr{u)Wn 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 literal 0 HcmV?d00001 diff --git a/icon/iCloud6.png b/icon/iCloud6.png new file mode 100644 index 0000000000000000000000000000000000000000..8210a7f3065eb7ab62d85a06c401d60e2e726f25 GIT binary patch literal 52881 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

h%#|-`pv}^G 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 z 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 Date: Mon, 23 Nov 2020 23:07:45 +0800 Subject: [PATCH 0127/1259] Update iCloud.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新云函数教程 --- iCloud.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/iCloud.md b/iCloud.md index 64ac846a..4066d16d 100644 --- a/iCloud.md +++ b/iCloud.md @@ -74,7 +74,10 @@ exports.main_handler = async (event, context, callback) => { [![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/lxk0301/jd_scripts/issues/115)中的解决方案,目前云函数连续测试已经可以规避热启动问题了** +**注意:**
+Ⅰ方案一与方案二不能混合到同一个index.js文件中使用,同一个仓库下,二者只能选择其一。
+Ⅱ感谢[issues#115](https://github.com/lxk0301/jd_scripts/issues/115)中的解决方案,目前云函数连续测试已经可以规避热启动问题了。
+Ⅲ在确保完全按照本教程设置的情况下测试云函数运行情况,对于部分人运行日志中出现某些脚本运行失败其他正常,并且错误提示带有strict字样的,请自行删除index.js中的```'use strict';```,再做测试
**增加cookie** @@ -131,7 +134,11 @@ let CookieJDs = [ ![BcGvM4.png](https://s1.ax1x.com/2020/11/04/BcGvM4.png) -![UTOOLS1604471299130.png](https://img01.sogoucdn.com/app/a/100520146/f8d70ea4f8e08d9e87ec8c13474f22c3) +创建触发器 + +![iCloud6](./icon/iCloud6.png) + +触发方式默认“**定时触发**”,定时任务名称随便起个名字,触发周期根据自己需要自行设置。 想进阶使用触发器的自行查看本文中方案一和方案二中的说明 @@ -140,7 +147,8 @@ let CookieJDs = [ [Corn文档](https://cloud.tencent.com/document/product/583/9708#cron-.E8.A1.A8.E8.BE.BE.E5.BC.8F) -目前repo中按照每个脚本一个定时器的方式设置到云函数中,大约需要触发器10多个,由于云函数触发器限制最多10个,需要对触发器进行整合,整合后触发器共8个,以下设置仅供参考
+目前repo中按照每个脚本一个定时器的方式设置到云函数中,大约需要触发器10多个,由于云函数触发器限制最多10个,需要对触发器进行整合,整合后触发器保持在10个以内,以下设置仅供参考
+ ![iCloud5](./icon/iCloud5.png) 点击提交,所有流程就结束了。 From 7a75ffa1c2cfb5f6ff25fccd92cda91897832ba8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 24 Nov 2020 10:16:50 +0800 Subject: [PATCH 0128/1259] update --- docker/crontab_list.sh | 4 ++-- docker/crontab_list_ts.sh | 4 ++-- jd_small_home.js | 45 +++++++++++++++++++++++++++++++++++---- 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 3367232e..9affe991 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -50,7 +50,7 @@ # 京东排行榜 11 9 * * * node /scripts/jd_rankingList.js >> /scripts/logs/jd_rankingList.log 2>&1 # 天天提鹅 -18 */3 * * * node /scripts/jd_daily_egg.js >> /scripts/logs/jd_daily_egg.log 2>&1 +18 * * * * node /scripts/jd_daily_egg.js >> /scripts/logs/jd_daily_egg.log 2>&1 # 金融养猪 12 13 * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1 # 点点券 @@ -58,4 +58,4 @@ # 京喜工厂 20 * * * * node /scripts/jd_dreamFactory.js >> /scripts/logs/jd_dreamFactory.log 2>&1 # 东东小窝 -16 0 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file +16 6 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index d9d60910..d3293680 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -50,7 +50,7 @@ # 京东排行榜 11 9 * * * node /scripts/jd_rankingList.js |ts >> /scripts/logs/jd_rankingList.log 2>&1 # 天天提鹅 -18 */3 * * * node /scripts/jd_daily_egg.js |ts >> /scripts/logs/jd_daily_egg.log 2>&1 +18 * * * * node /scripts/jd_daily_egg.js |ts >> /scripts/logs/jd_daily_egg.log 2>&1 # 金融养猪 12 * * * * node /scripts/jd_pigPet.js |ts >> /scripts/logs/jd_pigPet.log 2>&1 # 点点券 @@ -58,4 +58,4 @@ # 京喜工厂 20 * * * * node /scripts/jd_dreamFactory.js |ts >> /scripts/logs/jd_dreamFactory.log 2>&1 # 东东小窝 -16 0 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file +16 6 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file diff --git a/jd_small_home.js b/jd_small_home.js index 44738a5b..0386d084 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -57,7 +57,7 @@ if ($.isNode()) { } const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; -const inviteCodes = ['1330186694770339842', '1330185661529935874']; + !(async () => { if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); @@ -156,7 +156,9 @@ async function doChannelsListTask(taskId, taskType) { } } async function helpFriends() { - for (let item of inviteCodes) { + await updateInviteCode(); + if (!$.updatePkActivityIdRes) await updateInviteCodeCDN(); + for (let item of $.inviteCodes.inviteCode) { if (!item) continue await createAssistUser(item, $.createAssistUserID || "1318106976846299138"); } @@ -165,7 +167,7 @@ async function doAllTask() { await queryAllTaskInfo();//获取任务详情列表$.taskList console.log(` 任务名称 完成进度 `) for (let item of $.taskList) { - console.log(`${item.ssjjTaskInfo.name} ${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum || 1}`) + 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) { @@ -413,7 +415,7 @@ function createInviteUser() { if (data.head.code === 200) { if (data.body) { if (data.body.id) { - console.log(`\n您的${$.name}shareCode:【${data.body.id}】\n`); + console.log(`\n您的${$.name}shareCode(每天都是变化的):【${data.body.id}】\n`); $.shareCode = data.body.id; } } @@ -691,6 +693,41 @@ function login(userName) { }) }) } +function updateInviteCode(url = 'https://raw.githubusercontent.com/lxk0301/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 = 'https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateSmallHomeInviteCode.json') { + return new Promise(resolve => { + $.get({url}, 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(); + } + }) + }) +} function taskUrl(url, body = {}) { return { url: `${JD_API_HOST}/${url}?body=${escape(body)}`, From d348661f9e5320e5b5ae546ed0c706a157cf05d7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 09:55:51 +0800 Subject: [PATCH 0129/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 30 ++++++++++++++++++++++++------ jd_small_home.js | 2 +- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 36302854..3d45d475 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -16,6 +16,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 let cookiesArr = [], cookie = ''; +const inviteCodes = ['gB99tYLjvPcEFloDgamoBw==', 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -70,6 +71,7 @@ if ($.isNode()) { async function jdDreamFactory() { ele = 0; await userInfo(); + await helpFriends(inviteCodes) if ($.unActive) return await getUserElectricity(); await taskList(); @@ -282,7 +284,13 @@ function hireAward() { }) }) } - +async function helpFriends(codes) { + for (let code of codes) { + if (code) { + await assistFriend(code); + } + } +} // 帮助用户 function assistFriend(sharepin) { @@ -421,11 +429,16 @@ function stealFriend() { data = data['data']; for (let i = 0; i < data.list.length; ++i) { let pin = data.list[i]['encryptPin']; - getFactoryIdByPin(pin).then(async (facId) => { - await collectElectricity(facId,true) - }).catch(err => { + if (data.list[i]['collectFlag'] === 1) { + //只有collectFlag为1的时候,才能偷取好友电力 + getFactoryIdByPin(pin).then(async (facId) => { + if (facId) await collectElectricity(facId,true) + }).catch(err => { - }) + }) + } else { + console.log(`此好友[${pin}]暂不能被你收取电力`) + } } } resolve() @@ -439,7 +452,12 @@ function getFactoryIdByPin(pin) { $.get(taskurl(url), (err, resp, data) => { data = JSON.parse(data); if (data['ret'] === 0) { - resolve(data['data']['factoryList'][0]['factoryId']) + if (data.data.factoryList) { + //做此判断,有时候返回factoryList为null + resolve(data['data']['factoryList'][0]['factoryId']) + } else { + resolve(); + } } else { reject() } diff --git a/jd_small_home.js b/jd_small_home.js index 0386d084..e991d08d 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -148,7 +148,7 @@ function queryByUserId() { async function doChannelsListTask(taskId, taskType) { await queryChannelsList(taskId); for (let item of $.queryChannelsList) { - if (item.showOrder !== 1) { + if (item.showOrder === 1) { await $.wait(1000) await followChannel(taskId, item.id) await queryDoneTaskRecord(taskId, taskType); From 1459643917db5bee5592fd8dc94e7d134230f02c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 11:14:13 +0800 Subject: [PATCH 0130/1259] update --- backUp/jd_joy_help2.js | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/backUp/jd_joy_help2.js b/backUp/jd_joy_help2.js index e908adf7..67f67bcd 100644 --- a/backUp/jd_joy_help2.js +++ b/backUp/jd_joy_help2.js @@ -1,38 +1,9 @@ /** 宠汪汪强制为别人助力(助力一个好友你自己可以获得30积分,一天上限是帮助3个好友,自己获得90积分,不管助力是否成功,对方都会成为你的好友) -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js -更新时间:2020-08-28 -目前提供了304位好友的friendPin供使用。脚本随机从里面获取一个,助力成功后,退出小程序重新点击进去开始助力新的好友 -欢迎大家使用 https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 (currentPage=1表示第一页好友,=2表示第二页好友) -提供各自账号列表的friendPin给我 -如果想设置固定好友,那下载下来放到本地使用,可以修改friendPin换好友(助力一好友后,更换一次friendPin里面的内容) -感谢github @Zero-S1提供 -使用方法: -①设置好相应软件的重写 -②从京东APP宠汪汪->领狗粮->邀请好友助力,分享给你小号微信或者微信的文件传输助手。 自己再打开刚才的分享,助力成功后,退出小程序重新进去刚才分享的小程序即可 -③如提示好友人气旺,说明此好友已满了三人助力,需重新进出小程序,重新进入来客有礼-宠汪汪。 -[MITM] -hostname = draw.jdfcloud.com -surge -[Script] -宠汪汪强制为别人助力= type=http-request,pattern=(^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/\/pet\/helpFriend\?friendPin),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js - -圈x -[rewrite_local] -^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js - - LOON: -[Script] -http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js -, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 - - -你也可从下面链接拿好友的friendPin(复制链接到有京东ck的浏览器打开即可) - -https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 +自用 **/ let url = $request.url -const friendsArr = ["jd_136833sjn","jd_131335rbv","jd_4f044bdd67a3f","jd_176968gwf","jd_136744uks","jd_139559isq","jd_151698nhe","jd_182775ekl","jd_139643ldl","jd_159166edm","jd_157100apb","jd_131843tvo","jd_152554vhs","jd_134283prpb","jd_139988mgfo","jd_133590dtg","jd_63636969e55cb","jd_135565fsg","jd_189071npd","jd_138430zvw","jd_139582hlp","jd_815411720","jd_157642zjc","jd_177753pzb","jd_137918wwl","jd_188675alaf","jd_186718otu","jd_139139bew","jd_180436ggd","jd_52315d900a88a","jd_137689rjx","jd_151106nxb","jd_153879dzp","jd_185840vwq","jd_6194e9ae2cebf","jd_186221rph","jd_153810ylu","jd_189288egp","jd_158791okv","jd_139132erd","jd_159304acn","jd_138899zum","jd_187182akf","jd_136324bjqi","jd_131616wdo","jd_155384iof","jd_186326vtm","jd_zoezhu","jd_135075ahc","jd_138141ill","jd_139773zbm","jd_158416jwas","jd_182328ujc","jd_135999wrw","jd_181325tmk","jd_188254zgv","jd_3712425","jd_153711hhx","jd_176020ylg","jd_136436iuk","jd_180430yxp","jd_159958jmr","jd_155382wjy","jd_135819ueh","jd_132125ish","jd_181196mrhz","jd_138403wnm","jd_181568lrk","jd_155785zic","jd_150712koi","jd_137012gwu","jd_137638siy","jd_183011sph","jd_158224asm","jd_1652541161","jd_137332lgt","jd_181991fgs","jd_189347opuc","jd_181898rlw","jd_136526chs","jd_152616rsg","jd_151410rti","jd_139657jxa","jd_187978fdq","jd_136039csx","jd_186029urn","jd_138681pjy","jd_138204hpd","jd_138246wgz","jd_131177aol","jd_182100ofj","jd_282335851","jd_180210xwj","jd_139400bou","jd_189751xfv","jd_133781olg","jd_155229qbl","jd_dady_a","jd_183890opj","jd_136830xsh","jd_138731rkth","jd_135476kin","jd_3302023","jd_suns932","jd_158958xju","jd_688050784","jd_177467uaf","jd_138950cao","jd_181726mer","jd_138194nvx","jd_2010wwk","jd_139295gxw","jd_173931eeb","jd_189713iss","jd_139894msf","jd_158767vct","jd_159210nml","jd_133230bpy","jd_150771igh","jd_4c9dced2ff301","jd_133025pjb","jd_184751jlf","jd_139379bhj","jd_4900071","jd_137188nnv","jd_153678kxr","jd_6b04334c27336","jd_185217cfd","jd_155892hhe","jd_gxq721","jd_duqing821","jd_185087idh","jd_181528ojs","jd_136778wigm","jd_137903zfgq","jd_134785qjj","jd_159536nii","jd_188492aqx","jd_152226ypk","jd_183815eio","jd_139250pva","jd_151739nli","jd_135202pbl","jd_138201yhi","jd_137642nzw","jd_136600ysr","jd_138220eom","jd_178595cqf","jd_186682kjk","jd_136205srq","jd_138820xtj","jd_152322tkj","jd_150225ipi","jd_133287tje","jd_guba01","jd_187568qui","jd_158753hfl","jd_159816boe","jd_139297psw","jd_138564ibo","jd_188105wjm","jd_180199ekd","jd_134164zgp","jd_181547miy","jd_137030gdm","jd_183197ekf","jd_155187jhm","jd_158363nbzh","jd_151335bxo","jd_139616ywb","jd_156600kfm","jd_352215391","jd_620475312","jd_137997ole","jd_186060jol","jd_7824770b3d748","jd_6b8ba51989353","jd_152712oax","jd_177413lgq","jd_134172lqw","jd_135035dya","jd_135388arv","jd_135013mbs","jd_150897xln","jd_133827ois","jd_133307ffi","jd_138326tzrx","jd_186639utz","jd_Thin779","jd_137173yni","jd_159843fjq","jd_152590bui","jd_180225wpx","jd_187579piq","jd_156758shb","jd_139960nex","jd_138817fsp","jd_181696mtg","jd_137911aamo","jd_135891nxk","jd_177761izc","jd_153337fyq","jd_114559761","jd_Xsgfsj","jd_139965zpe","jd_185459vvx","jd_189214its","jd_151615dmb","jd_138460bsc","jd_138618yqc","jd_187290mur","jd_151318bht","jd_155344pmg","jd_137302fjz","jd_182505eyw","jd_136416nan","jd_151651ncw","jd_137131dya","jd_133471mru","jd_181116wrh","jd_139819ahg","jd_138219eja","jd_136695iqb","jd_158215wjb","jd_107071797","jd_155664eni","jd_182384yok","jd_139611sco","jd_157652hlh","jd_137036vhs","jd_188476ctf","jd_178651ldby","jd_158107bvn","jd_150342aox","jd_150283rncu","jd_131367qhs","jd_133052bem","jd_189317gau","jd_134186sbh","jd_138637pbp","jd_glwang2","jd_189557iiq","jd_138906xlbm","jd_152360yuk","jd_134551yla","jd_135832apl","jd_155448yab","jd_138388paz","jd_1352513187","jd_135464sqz","jd_153298yxo","jd_139208nicz","jd_136608wyr","jd_133053kbn","jd_135034bbx","jd_2133952","jd_187382exm","jd_135063kvb","jd_130844lme","jd_137295ajrg","jd_136810xds","jd_182771zcmi","jd_qwertag13568370gf","jd_189200fiu","jd_159871grf","jd_q105946","jd_182028tnj","jd_153718opj","jd_136850dhv","jd_159162dxb","jd_155267dkh","jd_152763ghe","jd_137104jyuf","jd_136426poa","jd_153920qlg","jd_159715spj","jd_135772nxy","jd_321051","jd_fanm537","jd_137104vuum","jd_177212uid","jd_150312pgc","jd_152569xgz","jd_136994ddl","jd_186223kew","jd_139779ovt","jd_181193dok","jd_189461sem","jd_138245yum","jd_134136kgip","jd_189543hpt","jd_132180xif","jd_182857oox","jd_186245aal","jd_3555750","jd_188502cqy","jd_186910cwu","jd_182829qbch","jd_182297xcme","jd_159708cng","jd_133330ift","jd_131904zwu","jd_182801xpy","jd_150075wud","jd_156874jup","jd_189964qzl","jd_158132cle","jd_sun723","jd_182176mee","jd_188503acjo","jd_158537jdm","jd_159485zvu","jd_180011ejj","jd_135829xzp","jd_136921jpe","jd_152629pmx","jd_189710eck","jd_189397oeo","jd_189592sul","jd_150576adh","jd_159411rzd","jd_134601izn","jd_180053tsa","jd_138226cmgb","jd_183757gbgp","jd_139289bij","jd_lx_a","jd_138562oek","jd_183691xyg","jd_151429qhv","jd_139804lhb","jd_136042bzg","jd_138102ldq","jd_135986nkf","jd_truman","jd_181700kju","jd_151064dhx","jd_150907ahj","jd_186652jxh","jd_418fef3fab12f","jd_159527gqz","jd_138237dcn","jd_134119thub","jd_wrrr0","jd_180498ozp","jd_138531irs","jd_131136fru","jd_185228tkh","jd_131910jzm","jd_151063mhz","jd_58096918e5234","jd_187187rvl","jd_157537jpe","jd_6cebe25400109","jd_1175189","jd_42a743e0b8651","jd_153063yds","jd_177692lwq","jd_152020gzy","jd_138898puv","jd_155525lpff","jd_151123xea","jd_2672389178","jd_178258cff","jd_158191ansh","jd_153280zoy","jd_hl31450","jd_150416qyl","jd_152315mcm","jd_135648axo","jd_4cfd4439d158f","jd_134815cgd","jd_135087ela","jd_180921pam","jd_135610gth","jd_156973ipc","jd_188112gxw","jd_188110wps","jd_173589vmd","jd_135604ngz","jd_158219erd","jd_158449aru","jd_166312hcv","jd_151360sty","jd_183282vqt","jd_139208bac","jd_139276cex","jd_626010305","jd_158181bbe","jd_134339ytdb","jd_139206mkrh","jd_181579uxd","jd_137015nmi","jd_511064173","jd_182924yvbk","jd_137378axvd","jd_157351ype","jd_135161rmsc","jd_188425wum","jd_135315ofn","jd_131160xix","jd_186339gil","jd_150862gpa","jd_132385iqb","jd_138132znr","jd_384180113","jd_1362103","jd_139409xbn","jd_133146qwv","jd_132661jmj","jd_158676edk","jd_133316lld","jd_188714irz","jd_159103vma","jd_131148pkg","jd_152769boe","jd_138846yad","jd_132036kqj","jd_183813dsf","jd_189617vkq","jd_185715pgz","jd_159905euu","jd_134631ehy","jd_176278mmr","jd_5161d94861016","jd_135466mil","jd_177287yyr","jd_139720epl","jd_132037mat","jd_139830uaz","jd_138988jgl","jd_137222hds","jd_177038fca","jd_137096jyx","jd_189081vhx","jd_189985hzh","jd_151927ufa","jd_135145znf","jd_139306rrn","jd_130650d","jd_134321vtn","jd_151515epa","jd_135137jaia","jd_137164augj","jd_130024lmi","jd_139602byf","jd_183766qfi","jd_139705lek","jd_133834qau","jd_180157euk","jd_139111kud","jd_155116pea","jd_159626fgnc","jd_185154lww","jd_177435tuc","jd_137292pwe","jd_177395xqs","jd_133053jus","jd_151339jhx","jd_135087ljd","jd_53b1c5c35ac9a","jd_qiuche549","jd_158164uel","jd_138107wud","jd_199771clu","jd_186753jcs","jd_187150ylk","jd_138974rxt","jd_103433211","jd_185821hfr","jd_139502ycf","jd_137713uyd","jd_187698feo","jd_136089okg","jd_4352325","jd_139639yoj","jd_979798715","jd_131321aoc","jd_185224kzc","jd_151639rszh","jd_185669lfi","jd_lideguang_2011","jd_138725hyc","jd_qaa011","jd_135928ucx","jd_649f9eae0be6c","jd_155229vlt","jd_139885sgt","jd_136220wqh","jd_130741cki","jd_151611ebv","jd_189756rue","jd_5e95dcfd762f4","jd_6261731","jd_135495gbf","jd_150042iil","jd_137894frb","jd_135873xqmi","jd_138593nkp","jd_175412852","jd_139690dad","jd_43a2e9c6537f8","jd_138175wuk","jd_131716dfh","jd_138556pnn","jd_5020276315","jd_177316iqo","jd_181375rvj","jd_229003983","jd_180789bug","jd_150682yxz","jd_152181wlw","jd_224275759","jd_136102svi","jd_9929897714","jd_139691wvgh","jd_189305xgc","jd_133211nev","jd_138697wdw","jd_189314rid","jd_182520tcmf","jd_184399ypg","jd_156312gqm","jd_183257kbc","jd_8745170","jd_151758sra","jd_136000dfw","jd_138337tbg","jd_xishuwulu","jd_189shijz","jd_182257jvd","jd_156983msp","jd_316882724","jd_135808jxz","jd_135557shtf","jd_233102237","jd_186099qlx","jd_185263tir","jd_406bfe50a3525","jd_180669zge","jd_6402aba2128d9","jd_181335kmh","jd_137378ult","jd_150022yxf","jd_188540les","jd_133774erh","jd_138784rjl","jd_182817gcd","jd_134724ief","jd_132536dsy","jd_136604veq","jd_189715ich","jd_182876ynp","jd_177737trf","jd_186552tmg","jd_152104bbn","jd_136219qpt","jd_138262kmx","jd_176204injl","jd_183772tnk","jd_152150ixc","jd_139291nono","jd_186430qkb","jd_183182ynu","jd_135980gkl","jd_158520qfph","jd_135592ugy","jd_139445whz","jd_151308una","jd_150849jbh","jd_655789303","jd_136906lqt","jd_156206yfx","jd_137619mem","jd_152667dao","jd_138597bto","jd_189315etn","jd_151132kre","jd_239626183","jd_sdwh1","jd_136817uwz","jd_187119rqc","jd_yzztt","jd_157563ywzn","jd_zran012","jd_178280jig","jd_070889622","jd_132865tfs","jd_137098qlp","jd_159314ahj","jd_135530jsi","jd_156985tlp","jd_182109kiy","jd_183501fyv","jd_151668vpv","jd_138155ahi","jd_zwh082","jd_135647kui","jd_139149ipt","jd_186993pyi","jd_159524eku","jd_135392iff","jd_177019dfk","jd_185008kmg","jd_18259236618"]; +const friendsArr = ["jd_136833sjn","jd_131335rbv","jd_4f044bdd67a3f","jd_176968gwf","jd_136744uks","jd_139559isq","jd_151698nhe","jd_182775ekl","jd_139643ldl","jd_159166edm","jd_157100apb","jd_131843tvo","jd_152554vhs","jd_134283prpb","jd_139988mgfo","jd_133590dtg","jd_63636969e55cb","jd_135565fsg","jd_189071npd","jd_138430zvw","jd_139582hlp","jd_815411720","jd_157642zjc","jd_177753pzb","jd_137918wwl","jd_188675alaf","jd_186718otu","jd_139139bew","jd_180436ggd","jd_52315d900a88a","jd_137689rjx","jd_151106nxb","jd_153879dzp","jd_185840vwq","jd_6194e9ae2cebf","jd_186221rph","jd_153810ylu","jd_189288egp","jd_158791okv","jd_139132erd","jd_159304acn","jd_138899zum","jd_187182akf","jd_136324bjqi","jd_131616wdo","jd_155384iof","jd_186326vtm","jd_zoezhu","jd_135075ahc","jd_138141ill","jd_139773zbm","jd_158416jwas","jd_182328ujc","jd_135999wrw","jd_181325tmk","jd_188254zgv","jd_3712425","jd_153711hhx","jd_176020ylg","jd_136436iuk","jd_180430yxp","jd_159958jmr","jd_155382wjy","jd_135819ueh","jd_132125ish","jd_181196mrhz","jd_138403wnm","jd_181568lrk","jd_155785zic","jd_150712koi","jd_137012gwu","jd_137638siy","jd_183011sph","jd_158224asm","jd_1652541161","jd_137332lgt","jd_181991fgs","jd_189347opuc","jd_181898rlw","jd_136526chs","jd_152616rsg","jd_151410rti","jd_139657jxa","jd_187978fdq","jd_136039csx","jd_186029urn","jd_138681pjy","jd_138204hpd","jd_138246wgz","jd_131177aol","jd_182100ofj","jd_282335851","jd_180210xwj","jd_139400bou","jd_189751xfv","jd_133781olg","jd_155229qbl","jd_dady_a","jd_183890opj","jd_136830xsh","jd_138731rkth","jd_135476kin","jd_3302023","jd_suns932","jd_158958xju","jd_688050784","jd_177467uaf","jd_138950cao","jd_181726mer","jd_138194nvx","jd_2010wwk","jd_139295gxw","jd_173931eeb","jd_189713iss","jd_139894msf","jd_158767vct","jd_159210nml","jd_133230bpy","jd_150771igh","jd_4c9dced2ff301","jd_133025pjb","jd_184751jlf","jd_139379bhj","jd_4900071","jd_137188nnv","jd_153678kxr","jd_6b04334c27336","jd_185217cfd","jd_155892hhe","jd_gxq721","jd_duqing821","jd_185087idh","jd_181528ojs","jd_136778wigm","jd_137903zfgq","jd_134785qjj","jd_159536nii","jd_188492aqx","jd_152226ypk","jd_183815eio","jd_139250pva","jd_151739nli","jd_135202pbl","jd_138201yhi","jd_137642nzw","jd_136600ysr","jd_138220eom","jd_178595cqf","jd_186682kjk","jd_136205srq","jd_138820xtj","jd_152322tkj","jd_150225ipi","jd_133287tje","jd_guba01","jd_187568qui","jd_158753hfl","jd_159816boe","jd_139297psw","jd_138564ibo","jd_188105wjm","jd_180199ekd","jd_134164zgp","jd_181547miy","jd_137030gdm","jd_183197ekf","jd_155187jhm","jd_158363nbzh","jd_151335bxo","jd_139616ywb","jd_156600kfm","jd_352215391","jd_620475312","jd_137997ole","jd_186060jol","jd_7824770b3d748","jd_6b8ba51989353","jd_152712oax","jd_177413lgq","jd_134172lqw","jd_135035dya","jd_135388arv","jd_135013mbs","jd_150897xln","jd_133827ois","jd_133307ffi","jd_138326tzrx","jd_186639utz","jd_Thin779","jd_137173yni","jd_159843fjq","jd_152590bui","jd_180225wpx","jd_187579piq","jd_156758shb","jd_139960nex","jd_138817fsp","jd_181696mtg","jd_137911aamo","jd_135891nxk","jd_177761izc","jd_153337fyq","jd_114559761","jd_Xsgfsj","jd_139965zpe","jd_185459vvx","jd_189214its","jd_151615dmb","jd_138460bsc","jd_138618yqc","jd_187290mur","jd_151318bht","jd_155344pmg","jd_137302fjz","jd_182505eyw","jd_136416nan","jd_151651ncw","jd_137131dya","jd_133471mru","jd_181116wrh","jd_139819ahg","jd_138219eja","jd_136695iqb","jd_158215wjb","jd_107071797","jd_155664eni","jd_182384yok","jd_139611sco","jd_157652hlh","jd_137036vhs","jd_188476ctf","jd_178651ldby","jd_158107bvn","jd_150342aox","jd_150283rncu","jd_131367qhs","jd_133052bem","jd_189317gau","jd_134186sbh","jd_138637pbp","jd_glwang2","jd_189557iiq","jd_138906xlbm","jd_152360yuk","jd_134551yla","jd_135832apl","jd_155448yab","jd_138388paz","jd_1352513187","jd_135464sqz","jd_153298yxo","jd_139208nicz","jd_136608wyr","jd_133053kbn","jd_135034bbx","jd_2133952","jd_187382exm","jd_135063kvb","jd_130844lme","jd_137295ajrg","jd_136810xds","jd_182771zcmi","jd_qwertag13568370gf","jd_189200fiu","jd_159871grf","jd_q105946","jd_182028tnj","jd_153718opj","jd_136850dhv","jd_159162dxb","jd_155267dkh","jd_152763ghe","jd_137104jyuf","jd_136426poa","jd_153920qlg","jd_159715spj","jd_135772nxy","jd_321051","jd_fanm537","jd_137104vuum","jd_177212uid","jd_150312pgc","jd_152569xgz","jd_136994ddl","jd_186223kew","jd_139779ovt","jd_181193dok","jd_189461sem","jd_138245yum","jd_134136kgip","jd_189543hpt","jd_132180xif","jd_182857oox","jd_186245aal","jd_3555750","jd_188502cqy","jd_186910cwu","jd_182829qbch","jd_182297xcme","jd_159708cng","jd_133330ift","jd_131904zwu","jd_182801xpy","jd_150075wud","jd_156874jup","jd_189964qzl","jd_158132cle","jd_sun723","jd_182176mee","jd_188503acjo","jd_158537jdm","jd_159485zvu","jd_180011ejj","jd_135829xzp","jd_136921jpe","jd_152629pmx","jd_189710eck","jd_189397oeo","jd_189592sul","jd_150576adh","jd_159411rzd","jd_134601izn","jd_180053tsa","jd_138226cmgb","jd_183757gbgp","jd_139289bij","jd_lx_a","jd_138562oek","jd_183691xyg","jd_151429qhv","jd_139804lhb","jd_136042bzg","jd_138102ldq","jd_135986nkf","jd_truman","jd_181700kju","jd_151064dhx","jd_150907ahj","jd_186652jxh","jd_418fef3fab12f","jd_159527gqz","jd_138237dcn","jd_134119thub","jd_wrrr0","jd_180498ozp","jd_138531irs","jd_131136fru","jd_185228tkh","jd_131910jzm","jd_151063mhz","jd_58096918e5234","jd_187187rvl","jd_157537jpe","jd_6cebe25400109","jd_1175189","jd_42a743e0b8651","jd_153063yds","jd_177692lwq","jd_152020gzy","jd_138898puv","jd_155525lpff","jd_151123xea","jd_2672389178","jd_178258cff","jd_158191ansh","jd_153280zoy","jd_hl31450","jd_150416qyl","jd_152315mcm","jd_135648axo","jd_4cfd4439d158f","jd_134815cgd","jd_135087ela","jd_180921pam","jd_135610gth","jd_156973ipc","jd_188112gxw","jd_188110wps","jd_173589vmd","jd_135604ngz","jd_158219erd","jd_158449aru","jd_166312hcv","jd_151360sty","jd_183282vqt","jd_139208bac","jd_139276cex","jd_626010305","jd_158181bbe","jd_134339ytdb","jd_139206mkrh","jd_181579uxd","jd_137015nmi","jd_511064173","jd_182924yvbk","jd_137378axvd","jd_157351ype","jd_135161rmsc","jd_188425wum","jd_135315ofn","jd_131160xix","jd_186339gil","jd_150862gpa","jd_132385iqb","jd_138132znr","jd_384180113","jd_1362103","jd_139409xbn","jd_133146qwv","jd_132661jmj","jd_158676edk","jd_133316lld","jd_188714irz","jd_159103vma","jd_131148pkg","jd_152769boe","jd_138846yad","jd_132036kqj","jd_183813dsf","jd_189617vkq","jd_185715pgz","jd_159905euu","jd_134631ehy","jd_176278mmr","jd_5161d94861016","jd_135466mil","jd_177287yyr","jd_139720epl","jd_132037mat","jd_139830uaz","jd_138988jgl","jd_137222hds","jd_177038fca","jd_137096jyx","jd_189081vhx","jd_189985hzh","jd_151927ufa","jd_135145znf","jd_139306rrn","jd_130650d","jd_134321vtn","jd_151515epa","jd_135137jaia","jd_137164augj","jd_130024lmi","jd_139602byf","jd_183766qfi","jd_139705lek","jd_133834qau","jd_180157euk","jd_139111kud","jd_155116pea","jd_159626fgnc","jd_185154lww","jd_177435tuc","jd_137292pwe","jd_177395xqs","jd_133053jus","jd_151339jhx","jd_135087ljd","jd_53b1c5c35ac9a","jd_qiuche549","jd_158164uel","jd_138107wud","jd_199771clu","jd_186753jcs","jd_187150ylk","jd_138974rxt","jd_103433211","jd_185821hfr","jd_139502ycf","jd_137713uyd","jd_187698feo","jd_136089okg","jd_4352325","jd_139639yoj","jd_979798715","jd_131321aoc","jd_185224kzc","jd_151639rszh","jd_185669lfi","jd_lideguang_2011","jd_138725hyc","jd_qaa011","jd_135928ucx","jd_649f9eae0be6c","jd_155229vlt","jd_139885sgt","jd_136220wqh","jd_130741cki","jd_151611ebv","jd_189756rue","jd_5e95dcfd762f4","jd_6261731","jd_135495gbf","jd_150042iil","jd_137894frb","jd_135873xqmi","jd_138593nkp","jd_175412852","jd_139690dad","jd_43a2e9c6537f8","jd_138175wuk","jd_131716dfh","jd_138556pnn","jd_5020276315","jd_177316iqo","jd_181375rvj","jd_229003983","jd_180789bug","jd_150682yxz","jd_152181wlw","jd_224275759","jd_136102svi","jd_9929897714","jd_139691wvgh","jd_189305xgc","jd_133211nev","jd_138697wdw","jd_189314rid","jd_182520tcmf","jd_184399ypg","jd_156312gqm","jd_183257kbc","jd_8745170","jd_151758sra","jd_136000dfw","jd_138337tbg","jd_xishuwulu","jd_189shijz","jd_182257jvd","jd_156983msp","jd_316882724","jd_135808jxz","jd_135557shtf","jd_233102237","jd_186099qlx","jd_185263tir","jd_406bfe50a3525","jd_180669zge","jd_6402aba2128d9","jd_181335kmh","jd_137378ult","jd_150022yxf","jd_188540les","jd_133774erh","jd_138784rjl","jd_182817gcd","jd_134724ief","jd_132536dsy","jd_136604veq","jd_189715ich","jd_182876ynp","jd_177737trf","jd_186552tmg","jd_152104bbn","jd_136219qpt","jd_138262kmx","jd_176204injl","jd_183772tnk","jd_152150ixc","jd_139291nono","jd_186430qkb","jd_183182ynu","jd_135980gkl","jd_158520qfph","jd_135592ugy","jd_139445whz","jd_151308una","jd_150849jbh","jd_655789303","jd_136906lqt","jd_156206yfx","jd_137619mem","jd_152667dao","jd_138597bto","jd_189315etn","jd_151132kre","jd_239626183","jd_sdwh1","jd_136817uwz","jd_187119rqc","jd_yzztt","jd_157563ywzn","jd_zran012","jd_178280jig","jd_070889622","jd_132865tfs","jd_137098qlp","jd_159314ahj","jd_135530jsi","jd_156985tlp","jd_182109kiy","jd_183501fyv","jd_151668vpv","jd_138155ahi","jd_zwh082","jd_135647kui","jd_139149ipt","jd_186993pyi","jd_159524eku","jd_135392iff","jd_177019dfk","jd_185008kmg","jd_18259236618","jd_151227rgpa","jd_4b3c0be45543e","jd_158968lou","jd_150389hzqg","jd_136861rdw","jd_155046rli","jd_136773sqft","jd_zgybon","jd_131035lcq","jd_150342zqz","jd_2402232","jd_136718hfu","jd_176455kih","jd_188621xuu","jd_138719eld","jd_150670lziv","jd_135854sbe","jd_135262oos","jd_188161shx","jd_180136kfc","jd_189843kbz","jd_186041eon","jd_134570eqc","jd_180796xlc","jd_136923ucb","jd_182633vxt","jd_nmge","jd_183208ouaf","jd_155310zrn","jd_157188fmac","jd_158257chj","jd_177727lrh","jd_135397spe","jd_185124djb","jd_183860rvq","jd_157059kmd","jd_180922bpt","jd_183309nqe","jd_188510uou","jd_135909yhz","jd_138438ems","jd_136111kka","jd_138178ifs","jd_137646lxd","jd_188091hsj","jd_138226rqe","jd_159780lcxu","jd_139609eib","jd_135855xcw","jd_138531zvu","jd_186653hgl","jd_187269vtx","jd_138651nbt","jd_jwh788","jd_133387vpc","jd_188293qlb","jd_150403hbmm","jd_Yuton","jd_184wdz","jd_wyxgz","jd_186372kcz","jd_151600bmg","jd_151121uvgb","jd_137789qwb","jd_837751791","jd_153201xmi","jd_189562krx","jd_182519hniq","jd_188254mlj","jd_136893llq","jd_181322mkf","jd_132625cpe","jd_139609gwt","jd_188967afm","jd_136128fuyn","jd_153732jlpo","jd_221890978","jd_183184wfpz","jd_158304rms","jd_133010ltt","jd_135162chg","jd_158170msu","jd_135101jzrs","jd_155335qzm","jd_5701f57639cfe","jd_139502lkx","jd_cloi","jd_151948etv","jd_185502ypm","jd_186915dcn","jd_133672hlv"]; //随机生成m(小)到n(大)的数,包含m和n function randomFriendPin(m,n) { return Math.round(Math.random()*(n - m) + m); From 1a4bca55bab4bb54bb716cd6648215615489dda9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 11:28:30 +0800 Subject: [PATCH 0131/1259] update --- index.js | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/index.js b/index.js index 3dcf74d4..be67f302 100644 --- a/index.js +++ b/index.js @@ -1,26 +1,26 @@ //'use strict'; exports.main_handler = async (event, context, callback) => { try { - //如果想在一个定时触发器里面执行多个js文件需要在定时触发器的【附加信息】里面填写对应的名称,用 & 链接 - //例如我想一个定时触发器里执行jd_speed.js和jd_bean_change.js,在定时触发器的【附加信息】里面就填写 jd_speed&jd_bean_change - for (const v of event["Message"].split("&")) { - console.log(v); - var request = require('request'); - //1.执行自己上传的js文件 - //delete require.cache[require.resolve('./'+v+'.js')]; - //require('./'+v+'.js') - - //2.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 - //request('https://gitee.com/lxk0301/jd_scripts/raw/master/'+v+'.js', function (error, response, body) { - // eval(response.body) - //}) + //如果想在一个定时触发器里面执行多个js文件需要在定时触发器的【附加信息】里面填写对应的名称,用 & 链接 + //例如我想一个定时触发器里执行jd_speed.js和jd_bean_change.js,在定时触发器的【附加信息】里面就填写 jd_speed&jd_bean_change + for (const v of event["Message"].split("&")) { + console.log(v); + var request = require('request'); + //1.执行自己上传的js文件 + //delete require.cache[require.resolve('./'+v+'.js')]; + //require('./'+v+'.js') - //3.执行github远端的js文件 - request('https://raw.githubusercontent.com/lxk0301/jd_scripts/master/'+v+'.js', function (error, response, body) { - eval(response.body) - }) - } - } catch (e) { + //2.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 + //request('https://gitee.com/lxk0301/jd_scripts/raw/master/'+v+'.js', function (error, response, body) { + // eval(response.body) + //}) + + //3.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数非) + request('https://raw.githubusercontent.com/lxk0301/jd_scripts/master/' + v + '.js', function (error, response, body) { + eval(response.body) + }) + } + } catch (e) { console.error(e) - } + } } From 2e05f7efa5860606eaf73908f44125c4263f263c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 18:21:09 +0800 Subject: [PATCH 0132/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E6=98=AF=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=20=E7=9B=AE=E5=89=8D=E4=B8=8D=E7=9F=A5=E5=85=8D=E8=B4=B9?= =?UTF-8?q?=E4=BA=A7=E7=94=9F=E7=9A=84=E7=94=B5=E9=87=8F=E7=93=B6=E9=A2=88?= =?UTF-8?q?=E6=98=AF=E5=A4=9A=E5=B0=91=E3=80=82=20=E6=95=85=E5=BB=BA?= =?UTF-8?q?=E8=AE=AE5=E5=B0=8F=E6=97=B6=E8=BF=90=E8=A1=8C=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=20=E5=BC=80=E4=BC=9A=E5=91=98=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=92=8C=E5=8E=BB=E4=BA=AC=E4=B8=9C=E9=A6=96=E9=A1=B5=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E2=80=9C=E6=95=B0=E7=A0=81=E7=94=B5=E5=99=A8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9B=AE=E5=89=8D=E6=9C=AA=E5=81=9A=20=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E6=AF=8F=E6=AC=A1=E8=BF=90=E8=A1=8C=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E9=83=BD=E6=8A=95=E5=85=A5=E7=94=B5=E5=8A=9B=20=E5=8F=AA?= =?UTF-8?q?=E6=9C=89=E5=BD=93=E5=BF=83=E4=BB=AA=E7=9A=84=E5=95=86=E5=93=81?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=EF=BC=8C=E5=B9=B6=E4=B8=94=E6=94=B6=E9=9B=86?= =?UTF-8?q?=E8=B5=B7=E6=9D=A5=E7=9A=84=E7=94=B5=E9=87=8F=E6=BB=A1=E8=B6=B3?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E5=95=86=E5=93=81=E6=89=80=E9=9C=80=E7=94=B5?= =?UTF-8?q?=E5=8A=9B=EF=BC=8C=E6=89=8D=E6=8A=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 4 +- docker/crontab_list_ts.sh | 4 +- jd_jdfactory.js | 522 ++++++++++++++++++++++++++++++++++++++ jd_necklace.js | 4 +- 4 files changed, 530 insertions(+), 4 deletions(-) create mode 100644 jd_jdfactory.js diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 9affe991..fdae93c7 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -58,4 +58,6 @@ # 京喜工厂 20 * * * * node /scripts/jd_dreamFactory.js >> /scripts/logs/jd_dreamFactory.log 2>&1 # 东东小窝 -16 6 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file +16 6 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 +# 东东工厂 +36 2 * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 \ No newline at end of file diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index d3293680..eeeff0a7 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -58,4 +58,6 @@ # 京喜工厂 20 * * * * node /scripts/jd_dreamFactory.js |ts >> /scripts/logs/jd_dreamFactory.log 2>&1 # 东东小窝 -16 6 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 \ No newline at end of file +16 6 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 +# 东东工厂 +36 2 * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 \ No newline at end of file diff --git a/jd_jdfactory.js b/jd_jdfactory.js new file mode 100644 index 00000000..4f5fc358 --- /dev/null +++ b/jd_jdfactory.js @@ -0,0 +1,522 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-25 18:19:21 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-25 18:20:02 + */ +/* +东东工厂,不是京喜工厂 +目前不知免费产生的电量瓶颈是多少。 +故建议5小时运行一次 +开会员任务和去京东首页点击“数码电器任务目前未做 +不会每次运行脚本都投入电力 +只有当心仪的商品存在,并且收集起来的电量满足当前商品所需电力,才投入 + */ +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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +const wantProduct = `便携式手持风扇`;//心仪商品名称 +const JD_API_HOST = 'https://api.m.jd.com/client.action'; +const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVWnYaS5m9cZ2ariXVJwHf0bgkG7Uo']; +!(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 = ''; + 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 jdFactory() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) +async function jdFactory() { + await jdfactory_getHomeData(); + await helpFriends(inviteCodes); + if ($.newUser === 1 || ($.newUser !==1 && $.haveProduct === 2)) return + await jdfactory_collectElectricity();//收集产生的电量 + await jdfactory_getTaskDetail(); + await doTask(); + await algorithm();//投入电力逻辑 + await showMsg(); +} +function showMsg() { + return new Promise(resolve => { + if (!jdNotify) { + $.msg($.name, '', `${message}`); + } else { + $.log(message); + } + resolve() + }) +} +async function algorithm() { + // 当心仪的商品存在,并且收集起来的电量满足当前商品所需,就投入 + return new Promise(resolve => { + $.post(taskPostUrl('jdfactory_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); + if (data.data.bizCode === 0) { + $.haveProduct = data.data.result.haveProduct; + $.userName = data.data.result.userName; + $.newUser = data.data.result.newUser; + if (data.data.result.factoryInfo) { + const { totalScore, useScore, produceScore, remainScore, couponCount, name } = data.data.result.factoryInfo + console.log(`\n已选商品:${name}`); + console.log(`当前已投入电量/所需电量:${useScore}/${totalScore}`); + console.log(`已选商品剩余量:${couponCount}`); + console.log(`当前蓄电池电量:${remainScore}`); + console.log(`当前完成度:${((remainScore * 1 + useScore * 1)/(totalScore * 1)).toFixed(2) * 100}%\n`); + message += `京东账号${$.index} ${$.nickName}\n`; + message += `已选商品:${name}\n`; + message += `当前已投入电量/所需电量:${useScore}/${totalScore}\n`; + message += `已选商品剩余量:${couponCount}\n`; + message += `当前蓄电池电量:${remainScore}\n`; + message += `当前完成度:${((remainScore * 1 + useScore * 1)/(totalScore * 1)).toFixed(2) * 100}%\n`; + if (((remainScore * 1 + useScore * 1) >= totalScore * 1) && (couponCount * 1 > 0)) { + console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【满足】兑换此商品所需总电量:${$.totalScore}`); + console.log(`下面开始投入电量\n`); + await jdfactory_addEnergy(); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${$.totalScore}\n请去活动页面查看`); + } else { + console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【不满足】兑换此商品所需总电量:${$.totalScore}`) + console.log(`故不一次性投入电力,一直放到蓄电池累计\n`); + } + } + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +async function helpFriends(inviteCodes) { + for (let code of inviteCodes) { + if (!code) continue + await jdfactory_collectScore(code); + } +} +async function doTask() { + for (let item of $.taskVos) { + if (item.taskType === 1) { + //关注店铺任务 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + for (let task of item.followShopVo) { + if (task.status === 1) { + await jdfactory_collectScore(task.taskToken); + } + } + } else { + console.log(`${item.taskName}已做完`) + } + } + if (item.taskType === 2) { + //看看商品任务 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + for (let task of item.productInfoVos) { + if (task.status === 1) { + await jdfactory_collectScore(task.taskToken); + } + } + } else { + console.log(`${item.taskName}已做完`) + } + } + if (item.taskType === 3) { + //逛会场任务 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + for (let task of item.shoppingActivityVos) { + if (task.status === 1) { + await jdfactory_collectScore(task.taskToken); + } + } + } else { + console.log(`${item.taskName}已做完`) + } + } + if (item.taskType === 10) { + if (item.status === 1) { + if (item.threeMealInfoVos.status === 1) { + //可以做此任务 + console.log(`准备做此任务:${item.taskName}`); + await jdfactory_collectScore(item.threeMealInfoVos.taskToken); + } else if (item.threeMealInfoVos.status === 0) { + console.log(`${item.taskName} 任务已错过时间`) + } + } else if (item.status === 2){ + 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 jdfactory_collectScore(task.taskToken); + // } + // } + } else { + console.log(`${item.taskName}已做完`) + } + } + if (item.taskType === 13) { + //每日打卡 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); + } else { + console.log(`${item.taskName}已完成`); + } + } + if (item.taskType === 14) { + //好友助力 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + // await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); + } else { + console.log(`${item.taskName}已完成`); + } + } + if (item.taskType === 23) { + //从数码电器首页进入 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + // await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); + } else { + console.log(`${item.taskName}已完成`); + } + } + } +} + +//领取做完任务的奖励 +function jdfactory_collectScore(taskToken) { + return new Promise(resolve => { + $.post(taskPostUrl("jdfactory_collectScore", { taskToken }, "jdfactory_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.data.bizCode === 0) { + $.taskVos = data.data.result.taskVos;//任务列表 + console.log(`领取做完任务的奖励:${JSON.stringify(data.data.result)}`); + } else { + console.log(JSON.stringify(data)) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +//给商品投入电量 +function jdfactory_addEnergy() { + return new Promise(resolve => { + $.post(taskPostUrl("jdfactory_addEnergy"), 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)}`) + // $.taskConfigVos = data.data.result.taskConfigVos; + // $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +//收集电量 +function jdfactory_collectElectricity() { + return new Promise(resolve => { + $.post(taskPostUrl("jdfactory_collectElectricity"), 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.electricityValue}电量,当前蓄电池总电量:${data.data.result.batteryValue}\n`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +//获取任务列表 +function jdfactory_getTaskDetail() { + return new Promise(resolve => { + $.post(taskPostUrl("jdfactory_getTaskDetail", {}, "jdfactory_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) { + $.taskVos = data.data.result.taskVos;//任务列表 + $.taskVos.map(item => { + if (item.taskType === 14) { + console.log(`\n您的${$.name}好友助力邀请码:${item.assistTaskDetailVo.taskToken}\n`) + } + }) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +//选择一件商品,只能在 $.newUser !== 1 && $.haveProduct === 2 并且 sellOut === 0的时候可用 +function jdfactory_makeProduct(skuId) { + return new Promise(resolve => { + $.post(taskPostUrl('jdfactory_makeProduct', { 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.data.bizCode === 0) { + console.log(`选购商品成功:${JSON.stringify(data)}`); + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +//查询当前商品列表 +function jdfactory_getProductList() { + return new Promise(resolve => { + $.post(taskPostUrl('jdfactory_getProductList'), 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) { + $.canMakeList = data.data.result.canMakeList;//当前可选商品列表 sellOut:1为已抢光,0为目前可选择 + console.log(`商品名称 可选状态 剩余量`) + for (let item of $.canMakeList) { + console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可选'} ${item.couponCount}`); + if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { + await jdfactory_makeProduct(item.skuId); + } + } + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function jdfactory_getHomeData() { + return new Promise(resolve => { + $.post(taskPostUrl('jdfactory_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); + if (data.data.bizCode === 0) { + $.haveProduct = data.data.result.haveProduct; + $.userName = data.data.result.userName; + $.newUser = data.data.result.newUser; + if (data.data.result.factoryInfo) { + $.totalScore = data.data.result.factoryInfo.totalScore;//选中的商品,一共需要的电量 + $.userScore = data.data.result.factoryInfo.userScore;//已使用电量 + $.produceScore = data.data.result.factoryInfo.produceScore;//此商品已投入电量 + $.remainScore = data.data.result.factoryInfo.remainScore;//当前蓄电池电量 + $.couponCount = data.data.result.factoryInfo.couponCount;//已选中商品当前剩余量 + $.hasProduceName = data.data.result.factoryInfo.name;//已选中商品当前剩余量 + } + if ($.newUser === 1) { + console.log(`此京东账号${$.index}${$.nickName}暂未开启${$.name}活动\n`); + $.msg($.name, '暂未开启活动', `京东账号${$.index}${$.nickName}暂未开启${$.name}活动\n请去京东APP->搜索'玩一玩'->东东工厂->开启\n或点击弹窗即可到达${$.name}活动`, {'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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + } + if ($.newUser !== 1 && $.haveProduct === 2) { + console.log(`此京东账号${$.index}${$.nickName}暂未选购商品\n`); + $.msg($.name, '暂未选购商品', `京东账号${$.index}${$.nickName}暂未选购商品\n请去京东APP->搜索'玩一玩'->东东工厂->选购一件商品\n或点击弹窗即可到达${$.name}活动`, {'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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + // await jdfactory_getProductList();//选购心仪的商品 + } + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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/jd_necklace.js b/jd_necklace.js index b641b76c..c6cb87d7 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -67,7 +67,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; } continue } - await JD818(); + await jd_necklace(); } } })() @@ -77,7 +77,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; .finally(() => { $.done(); }) -async function JD818() { +async function jd_necklace() { await necklace_homePage(); await doTask(); await necklace_homePage(); From 75f3a0cb4cef3164acd2cd3c3ff194ca667fbd58 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 18:23:31 +0800 Subject: [PATCH 0133/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- docker/crontab_list_ts.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index fdae93c7..e0b534b9 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -60,4 +60,4 @@ # 东东小窝 16 6 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 # 东东工厂 -36 2 * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 \ No newline at end of file +36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 \ No newline at end of file diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index eeeff0a7..aa6fc2b1 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -60,4 +60,4 @@ # 东东小窝 16 6 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 # 东东工厂 -36 2 * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 \ No newline at end of file +36 * * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 \ No newline at end of file From 091831a14828d835067207c5ec6c297e3d86771d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 19:51:39 +0800 Subject: [PATCH 0134/1259] Update lxk0301_LoonTask.conf --- Loon/lxk0301_LoonTask.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 56aa670f..6bb5c2d8 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -65,6 +65,10 @@ cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_sc #东东小窝 cron "16 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝 + +#京喜工厂 +cron "26 * * * *" script-path= https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂 + #京东全民营业领金币 cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, tag=京东全民营业领金币 From 6d103326d5adacf8f529e9b13f6fe7eba264376d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 22:29:54 +0800 Subject: [PATCH 0135/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 3d45d475..e525e7b2 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -2,7 +2,25 @@ 京东京喜工厂 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 -cron 15 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js + + +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京喜工厂 +10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, enabled=true + +================Loon============== +[Script] +cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 + +===============Surge================= +京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js + +============小火箭========= +京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=200, enable=true + */ From 210223f7e5b4a7ad9c653a7d8f6dacdb40307e52 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 22:58:33 +0800 Subject: [PATCH 0136/1259] Update lxk0301_LoonTask.conf --- Loon/lxk0301_LoonTask.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 6bb5c2d8..e6014ee2 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -69,6 +69,10 @@ cron "16 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip #京喜工厂 cron "26 * * * *" script-path= https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂 +#东东工厂 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 + + #京东全民营业领金币 cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, tag=京东全民营业领金币 From fe56fab4a71105dbb97f5c9cc540f79fe2329b0e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 25 Nov 2020 23:34:08 +0800 Subject: [PATCH 0137/1259] Update serverless.yml --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index caff6ff0..f489fa85 100644 --- a/serverless.yml +++ b/serverless.yml @@ -34,12 +34,12 @@ inputs: cronExpression: "0 5 6-18/6 * * * *" enable: true argument: jd_fruit&jd_pet - - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 + - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 parameters: - name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory + name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jd_jdfactory cronExpression: "0 15 */1 * * * *" enable: true - argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory + argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券 parameters: name: jd_joy_reward_jd_joy_steal_jd_necklace From 24adbb1623cf1adb0935911d03f9a93614fb5675 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 10:30:53 +0800 Subject: [PATCH 0138/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=201=E3=80=81=E5=9C=A8?= =?UTF-8?q?=E6=9C=AA=E9=80=89=E8=B4=AD=E5=95=86=E5=93=81=E6=88=96=E8=80=85?= =?UTF-8?q?=E6=9C=AA=E5=BC=80=E5=90=AF=E6=AD=A4=E6=B4=BB=E5=8A=A8(?= =?UTF-8?q?=E6=96=B0=E7=94=A8=E6=88=B7)=E6=88=96=E8=80=85=E5=B7=B2?= =?UTF-8?q?=E9=80=89=E8=B4=AD=E5=95=86=E5=93=81=E8=A2=AB=E6=8A=A2=E5=85=89?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C=E4=BC=9A=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E9=80=89=E8=B4=AD=E4=B8=80=E4=BB=B6=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=BB=A7=E7=BB=AD=E5=81=9A=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=94=B6=E9=9B=86=E7=94=B5=E5=8A=9B=E3=80=82?= =?UTF-8?q?=202=EF=BC=9A=202.1=E5=A6=82=E6=9E=9C=E6=9C=AA=E5=9C=A8BoxJs?= =?UTF-8?q?=E6=88=96=E8=80=85=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E5=BF=83=E4=BB=AA=E5=95=86=E5=93=81=EF=BC=8C=E5=88=99?= =?UTF-8?q?=E5=9C=A8=E6=BB=A1=E8=B6=B3=E5=BD=93=E5=89=8D=E6=89=80=E9=80=89?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=9A=84=E6=97=B6=E5=80=99=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=8A=95=E5=85=A5=E7=94=B5=E5=8A=9B=E5=85=91=E6=8D=A2=E3=80=82?= =?UTF-8?q?=202.2=E5=A6=82=E6=9E=9C=E6=8F=90=E4=BE=9B=E4=BA=86=E5=BF=83?= =?UTF-8?q?=E4=BB=AA=E5=95=86=E5=93=81=EF=BC=8C=E5=88=99=E4=BC=9A=E5=9C=A8?= =?UTF-8?q?=E6=BB=A1=E8=B6=B3=E5=85=91=E6=8D=A2=E5=BF=83=E4=BB=AA=E5=95=86?= =?UTF-8?q?=E5=93=81(=E7=94=B5=E5=8A=9B(=E5=8C=85=E6=8B=AC=E6=9B=B4?= =?UTF-8?q?=E6=8D=A2=E5=95=86=E5=93=81=E7=9A=8410w=E7=94=B5=E5=8A=9B)?= =?UTF-8?q?=E3=80=81=E6=95=B0=E9=87=8F)=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 94 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 72 insertions(+), 22 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 4f5fc358..1724b97f 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-25 18:19:21 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-25 18:20:02 + * @Last Modified time: 2020-11-26 10:20:02 */ /* 东东工厂,不是京喜工厂 @@ -11,6 +11,22 @@ 开会员任务和去京东首页点击“数码电器任务目前未做 不会每次运行脚本都投入电力 只有当心仪的商品存在,并且收集起来的电量满足当前商品所需电力,才投入 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东工厂 +10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, enabled=true + +================Loon============== +[Script] +cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 + +===============Surge================= +东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js + +============小火箭========= +东东工厂 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, cronexpr="10 * * * *", timeout=200, enable=true */ const $ = new Env('东东工厂'); @@ -28,7 +44,7 @@ if ($.isNode()) { } else { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } -const wantProduct = `便携式手持风扇`;//心仪商品名称 +let wantProduct = `移动电源`;//心仪商品名称 const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVWnYaS5m9cZ2ariXVJwHf0bgkG7Uo']; !(async () => { @@ -102,7 +118,7 @@ async function algorithm() { $.userName = data.data.result.userName; $.newUser = data.data.result.newUser; if (data.data.result.factoryInfo) { - const { totalScore, useScore, produceScore, remainScore, couponCount, name } = data.data.result.factoryInfo + let { totalScore, useScore, produceScore, remainScore, couponCount, name } = data.data.result.factoryInfo console.log(`\n已选商品:${name}`); console.log(`当前已投入电量/所需电量:${useScore}/${totalScore}`); console.log(`已选商品剩余量:${couponCount}`); @@ -112,16 +128,44 @@ async function algorithm() { message += `已选商品:${name}\n`; message += `当前已投入电量/所需电量:${useScore}/${totalScore}\n`; message += `已选商品剩余量:${couponCount}\n`; - message += `当前蓄电池电量:${remainScore}\n`; + message += `当前总电量:${remainScore * 1 + useScore * 1}\n`; message += `当前完成度:${((remainScore * 1 + useScore * 1)/(totalScore * 1)).toFixed(2) * 100}%\n`; - if (((remainScore * 1 + useScore * 1) >= totalScore * 1) && (couponCount * 1 > 0)) { - console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【满足】兑换此商品所需总电量:${$.totalScore}`); - console.log(`下面开始投入电量\n`); - await jdfactory_addEnergy(); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${$.totalScore}\n请去活动页面查看`); + wantProduct = $.isNode() ? (process.env.FACTORAY_WANTPRODUCT_NAME ? process.env.FACTORAY_WANTPRODUCT_NAME : wantProduct) : ($.getdata('FACTORAY_WANTPRODUCT_NAME') ? $.getdata('FACTORAY_WANTPRODUCT_NAME') : wantProduct); + if (wantProduct) { + console.log(`BoxJs或环境变量提供的心仪商品:${wantProduct}\n`); + await jdfactory_getProductList(true); + let wantProductSkuId = '', fullScore; + for (let item of $.canMakeList) { + if (item.name.indexOf(wantProduct) > - 1) { + totalScore = item['fullScore'] * 1; + couponCount = item.couponCount; + name = item.name; + } + if (item.name.indexOf(wantProduct) > - 1 && item.couponCount > 0) { + wantProductSkuId = item.skuId; + } + } + // console.log(`\n您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${remainScore * 1 + useScore * 1}\n`); + if (wantProductSkuId && ((remainScore * 1 + useScore * 1) >= (totalScore + 100000))) { + console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【满足】兑换此商品所需总电量:${totalScore + 100000}`); + console.log(`请去活动页面更换成心仪商品并手动投入电量兑换\n`); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面更换成心仪商品并手动投入电量兑换`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面更换成心仪商品并手动投入电量兑换`); + } else { + console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${remainScore * 1 + useScore * 1}\n不满足兑换心仪商品的条件\n`) + } } else { - console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【不满足】兑换此商品所需总电量:${$.totalScore}`) - console.log(`故不一次性投入电力,一直放到蓄电池累计\n`); + console.log(`BoxJs或环境变量暂未提供心仪商品\n如需兑换心仪商品,请提供心仪商品名称,否则满足条件后会为您兑换当前所选商品:${name}\n`); + if (((remainScore * 1 + useScore * 1) >= totalScore * 1) && (couponCount * 1 > 0)) { + console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【满足】兑换此商品所需总电量:${totalScore}`); + console.log(`BoxJs或环境变量暂未提供心仪商品,下面为您目前选的${name} 投入电量\n`); + await jdfactory_addEnergy(); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n已为您投入电量,请去活动页面查看`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n已为您投入电量,请去活动页面查看`); + } else { + console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【不满足】兑换此商品所需总电量:${totalScore}`) + console.log(`故不一次性投入电力,一直放到蓄电池累计\n`); + } } } } else { @@ -374,7 +418,7 @@ function jdfactory_makeProduct(skuId) { }) } //查询当前商品列表 -function jdfactory_getProductList() { +function jdfactory_getProductList(flag) { return new Promise(resolve => { $.post(taskPostUrl('jdfactory_getProductList'), async (err, resp, data) => { try { @@ -386,11 +430,13 @@ function jdfactory_getProductList() { data = JSON.parse(data); if (data.data.bizCode === 0) { $.canMakeList = data.data.result.canMakeList;//当前可选商品列表 sellOut:1为已抢光,0为目前可选择 - console.log(`商品名称 可选状态 剩余量`) - for (let item of $.canMakeList) { - console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可选'} ${item.couponCount}`); - if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { - await jdfactory_makeProduct(item.skuId); + if (!flag) { + console.log(`商品名称 可选状态 剩余量`) + for (let item of $.canMakeList) { + console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可选'} ${item.couponCount}`); + if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { + await jdfactory_makeProduct(item.skuId); + } } } } else { @@ -429,13 +475,17 @@ function jdfactory_getHomeData() { $.hasProduceName = data.data.result.factoryInfo.name;//已选中商品当前剩余量 } if ($.newUser === 1) { - console.log(`此京东账号${$.index}${$.nickName}暂未开启${$.name}活动\n`); - $.msg($.name, '暂未开启活动', `京东账号${$.index}${$.nickName}暂未开启${$.name}活动\n请去京东APP->搜索'玩一玩'->东东工厂->开启\n或点击弹窗即可到达${$.name}活动`, {'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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + //新用户 + console.log(`此京东账号${$.index}${$.nickName}为新用户暂未开启${$.name}活动\n现在为您从库存里面现有数量中选择一商品`); + if ($.haveProduct === 2) { + await jdfactory_getProductList();//选购商品 + } + // $.msg($.name, '暂未开启活动', `京东账号${$.index}${$.nickName}暂未开启${$.name}活动\n请去京东APP->搜索'玩一玩'->东东工厂->开启\n或点击弹窗即可到达${$.name}活动`, {'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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); } if ($.newUser !== 1 && $.haveProduct === 2) { - console.log(`此京东账号${$.index}${$.nickName}暂未选购商品\n`); - $.msg($.name, '暂未选购商品', `京东账号${$.index}${$.nickName}暂未选购商品\n请去京东APP->搜索'玩一玩'->东东工厂->选购一件商品\n或点击弹窗即可到达${$.name}活动`, {'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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - // await jdfactory_getProductList();//选购心仪的商品 + console.log(`此京东账号${$.index}${$.nickName}暂未选购商品\n现在为您从库存里面现有数量中选择一商品`); + // $.msg($.name, '暂未选购商品', `京东账号${$.index}${$.nickName}暂未选购商品\n请去京东APP->搜索'玩一玩'->东东工厂->选购一件商品\n或点击弹窗即可到达${$.name}活动`, {'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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + await jdfactory_getProductList();//选购商品 } } else { console.log(`异常:${JSON.stringify(data)}`) From 700f29e544b94e7b45840f2c4df35a63419986d7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 10:36:57 +0800 Subject: [PATCH 0139/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0BoxJs=E8=AE=A2?= =?UTF-8?q?=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 2 +- lxk0301.boxjs.json | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 1724b97f..1c5ac03d 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -44,7 +44,7 @@ if ($.isNode()) { } else { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } -let wantProduct = `移动电源`;//心仪商品名称 +let wantProduct = ``;//心仪商品名称 const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVWnYaS5m9cZ2ariXVJwHf0bgkG7Uo']; !(async () => { diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index f1b244d8..81aa8440 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -818,6 +818,29 @@ "https://raw.githubusercontent.com/58xinian/icon/master/xmyd_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] + }, + { + "id": "lxk_jdfactory", + "name": "东东工厂", + "keys": [ + "FACTORAY_WANTPRODUCT_NAME" + ], + "settings": [ + { + "id": "FACTORAY_WANTPRODUCT_NAME", + "name": "心仪商品名称", + "val": "", + "type": "text", + "desc": "请尽量填写完整和别的商品有区分度" + } + ], + "author": "@lxk0301", + "repo": "https://github.com/lxk0301/jd_scripts", + "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js", + "icons": [ + "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory_mini.png", + "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png" + ] } ] } From 9a947aa8e105dacc6e3cc5897650b2721587126e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 10:40:18 +0800 Subject: [PATCH 0140/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 1c5ac03d..6520fe90 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -6,8 +6,8 @@ */ /* 东东工厂,不是京喜工厂 -目前不知免费产生的电量瓶颈是多少。 -故建议5小时运行一次 +免费产生的电量(10秒1个电量,500个电量满,5000秒到上限不生产,算起来是84分钟达到上限) +故建议1小时运行一次 开会员任务和去京东首页点击“数码电器任务目前未做 不会每次运行脚本都投入电力 只有当心仪的商品存在,并且收集起来的电量满足当前商品所需电力,才投入 From 24a748e8ba59be0a3d1c5f3a73a3cf741deaa350 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 10:49:33 +0800 Subject: [PATCH 0141/1259] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=E5=BF=83?= =?UTF-8?q?=E4=BB=AA=E5=95=86=E5=93=81=E7=9A=84=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E4=BB=A5=E5=8F=8A=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 6 +++--- docker/crontab_list_ts.sh | 6 +++--- githubAction.md | 1 + jd_jdfactory.js | 1 + 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index e0b534b9..912f805d 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,6 +1,6 @@ -0 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1 -2 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} -3 */1 * * * npm install --prefix /scripts >> /scripts/logs/npm_install.log 2>&1 +50 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1 +52 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} +53 */1 * * * npm install --prefix /scripts >> /scripts/logs/npm_install.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index aa6fc2b1..0a94f8c2 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -1,6 +1,6 @@ -0 */1 * * * git -C /scripts/ pull |ts >> /scripts/logs/pull.log 2>&1 -2 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} -3 */1 * * * npm install --prefix /scripts |ts >> /scripts/logs/npm_install.log 2>&1 +50 */1 * * * git -C /scripts/ pull |ts >> /scripts/logs/pull.log 2>&1 +52 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} +53 */1 * * * npm install --prefix /scripts |ts >> /scripts/logs/npm_install.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log diff --git a/githubAction.md b/githubAction.md index 5a12edb4..3cfe13a8 100644 --- a/githubAction.md +++ b/githubAction.md @@ -112,6 +112,7 @@ | `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | | `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`true` | +| `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | ##### 互助码的填写规则 diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 6520fe90..f933fd33 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -436,6 +436,7 @@ function jdfactory_getProductList(flag) { console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可选'} ${item.couponCount}`); if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { await jdfactory_makeProduct(item.skuId); + break } } } From 0ab35d12987b37b4812ae8f39d6c97c004252788 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 10:52:17 +0800 Subject: [PATCH 0142/1259] update --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 86cec920..894e1e24 100644 --- a/README.md +++ b/README.md @@ -43,14 +43,15 @@ 20. 京豆变动通知([jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js)) 21. 京喜工厂([jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js)) 22. 东东小窝([jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js)) -21. 以及其他一部分在特定时间可用的薅京豆脚本,如 [手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 等。 +23. 东东工厂([jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js)) +24. 以及其他一部分在特定时间可用的薅京豆脚本,如 [手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 等。 **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** **TODO** -- [x] 完善京小超脚本[jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js) -- [x] 京小超商圈助力功能[jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js) +- [ ] 东东工厂相互助力 +- [ ] 京喜工厂相互助力 ## 食用方法 From 5ece9e2007d5a287683cab885f12a9ee15b68315 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 11:12:35 +0800 Subject: [PATCH 0143/1259] update --- README.md | 3 ++- jd_jdfactory.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 894e1e24..6bad1de6 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,8 @@ 21. 京喜工厂([jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js)) 22. 东东小窝([jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js)) 23. 东东工厂([jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js)) -24. 以及其他一部分在特定时间可用的薅京豆脚本,如 [手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 等。 +24. 点点券([jd_necklace.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js)) +26. 以及其他一部分在特定时间可用的薅京豆脚本,如 [手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 等。 **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** diff --git a/jd_jdfactory.js b/jd_jdfactory.js index f933fd33..ed7b63ff 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -122,7 +122,7 @@ async function algorithm() { console.log(`\n已选商品:${name}`); console.log(`当前已投入电量/所需电量:${useScore}/${totalScore}`); console.log(`已选商品剩余量:${couponCount}`); - console.log(`当前蓄电池电量:${remainScore}`); + console.log(`当前总电量:${remainScore * 1 + useScore * 1}`); console.log(`当前完成度:${((remainScore * 1 + useScore * 1)/(totalScore * 1)).toFixed(2) * 100}%\n`); message += `京东账号${$.index} ${$.nickName}\n`; message += `已选商品:${name}\n`; From de3cfef56bfb52b6ead18fa40b6e5a612805d516 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 26 Nov 2020 11:30:44 +0800 Subject: [PATCH 0144/1259] Update deploy_tencent_scf.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 同步新增secrets --- .github/workflows/deploy_tencent_scf.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index a259d30e..a69adf3a 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -26,6 +26,7 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | if [ $JD_COOKIE ]; then sed -i "/variables/a\ JD_COOKIE: $JD_COOKIE" serverless.yml; fi; + if [ $JD_USER_AGENT ]; then sed -i "/variables/a\ JD_USER_AGENT: $JD_USER_AGENT" serverless.yml; fi; if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; if [ $JD_BEAN_SIGN_STOP_NOTIFY ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: $JD_BEAN_SIGN_STOP_NOTIFY" serverless.yml; fi; if [ $JD_BEAN_SIGN_NOTIFY_SIMPLE ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: $JD_BEAN_SIGN_NOTIFY_SIMPLE" serverless.yml; fi; @@ -58,10 +59,13 @@ jobs: if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; + if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; + if [ $FACTORAY_WANTPRODUCT_NAME ]; then sed -i "/variables/a\ FACTORAY_WANTPRODUCT_NAME: $FACTORAY_WANTPRODUCT_NAME" serverless.yml; fi; cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 JD_COOKIE: ${{ secrets.JD_COOKIE}} + JD_USER_AGENT: ${{ secrets.JD_USER_AGENT}} JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} @@ -94,6 +98,8 @@ jobs: SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} + MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} + FACTORAY_WANTPRODUCT_NAME: ${{ secrets.FACTORAY_WANTPRODUCT_NAME}} - name: "部署到腾讯云函数" run: serverless deploy From 873f79d626a29e4aaa78538c7e9ab327b7275bbe Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 11:57:17 +0800 Subject: [PATCH 0145/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E5=81=B7=E5=A5=BD=E5=8F=8B=E7=94=B5=E5=8A=9B?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=9C=AA=E7=94=9F=E6=95=88=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e525e7b2..23ba9583 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -34,7 +34,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 let cookiesArr = [], cookie = ''; -const inviteCodes = ['gB99tYLjvPcEFloDgamoBw==', 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=']; +const inviteCodes = ['gB99tYLjvPcEFloDgamoBw==', 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', '1uzRU5HkaUgvy0AB5Q9VUg==']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -102,10 +102,12 @@ async function jdDreamFactory() { // 收取发电机的电力 -function collectElectricity(facId = factoryId, help = false) { +function collectElectricity(facId = factoryId, help = false, master = '') { return new Promise(async resolve => { - const url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${facId}&doubleflag=1&sceneval=2&g_login_type=1`; - + let url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${facId}&doubleflag=1&sceneval=2&g_login_type=1`; + if (help && master) { + url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&factoryid=${facId}&master=${master}&sceneval=2&g_login_type=1`; + } $.get(taskurl(url), (err, resp, data) => { try { if (err) { @@ -127,7 +129,7 @@ function collectElectricity(facId = factoryId, help = false) { } } else { - // console.log(data) + console.log(data.msg) } } else { console.log(`京东服务器返回空数据`) @@ -325,7 +327,7 @@ function assistFriend(sharepin) { if (data['ret'] === 0) { console.log(`助力朋友:${sharepin}成功`) } else { - console.log(`助力朋友:${data.msg}`) + console.log(`助力朋友[${sharepin}]失败:${data.msg}`) } } else { console.log(`京东服务器返回空数据`) @@ -441,7 +443,7 @@ function userInfo() { function stealFriend() { return new Promise(async resolve => { const url = `//dreamfactory/friend/QueryFactoryManagerList?zone=dream_factory&sceneval=2`; - $.get(taskurl(url), (err, resp, data) => { + $.get(taskurl(url), async (err, resp, data) => { data = JSON.parse(data); if (data['ret'] === 0) { data = data['data']; @@ -449,11 +451,13 @@ function stealFriend() { let pin = data.list[i]['encryptPin']; if (data.list[i]['collectFlag'] === 1) { //只有collectFlag为1的时候,才能偷取好友电力 - getFactoryIdByPin(pin).then(async (facId) => { - if (facId) await collectElectricity(facId,true) - }).catch(err => { - - }) + const facId = await getFactoryIdByPin(pin); + if (facId) await collectElectricity(facId,true, data.list[i]['key']) + // getFactoryIdByPin(pin).then(async (facId) => { + // if (facId) await collectElectricity(facId,true) + // }).catch(err => { + // + // }) } else { console.log(`此好友[${pin}]暂不能被你收取电力`) } From fb40f3f2487644711f6c13a07b86ea2127a4aaca Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 13:02:12 +0800 Subject: [PATCH 0146/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=20=E6=97=A7=E7=94=A8=E6=88=B7=E4=B8=94?= =?UTF-8?q?=E6=9C=AA=E9=80=89=E8=B4=AD=E5=95=86=E5=93=81=E7=9A=84=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E5=8F=AF=E5=81=9A=E4=BB=BB=E5=8A=A1=E4=B8=8E=E6=94=B6?= =?UTF-8?q?=E9=9B=86=E7=94=B5=E5=8A=9B=20=E4=BC=98=E5=8C=96=E6=97=A7?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=94=E6=9C=AA=E9=80=89=E8=B4=AD=E5=95=86?= =?UTF-8?q?=E5=93=81=E7=9A=84=E8=B4=A6=E5=8F=B7=E6=8A=95=E5=85=A5=E7=94=B5?= =?UTF-8?q?=E5=8A=9B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 +- jd_jdfactory.js | 44 +++++++++++++++++++++++++++++++++++++------- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 23ba9583..20cdfcb3 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -290,7 +290,7 @@ function hireAward() { message += `【打工电力】:收取成功\n` } else { console.log(`打工电力:收取失败,${data.msg}`) - message += `【打工电力】:收取失败,${data.msg}\n` + message += `【打工电力】收取失败,${data.msg}\n` } } else { console.log(`京东服务器返回空数据`) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index ed7b63ff..4bc5b756 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-25 18:19:21 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-26 10:20:02 + * @Last Modified time: 2020-11-26 12:58:02 */ /* 东东工厂,不是京喜工厂 @@ -85,7 +85,9 @@ const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVW async function jdFactory() { await jdfactory_getHomeData(); await helpFriends(inviteCodes); - if ($.newUser === 1 || ($.newUser !==1 && $.haveProduct === 2)) return + // $.newUser !==1 && $.haveProduct === 2,老用户但未选购商品 + // $.newUser === 1新用户 + if ($.newUser === 1) return await jdfactory_collectElectricity();//收集产生的电量 await jdfactory_getTaskDetail(); await doTask(); @@ -117,6 +119,7 @@ async function algorithm() { $.haveProduct = data.data.result.haveProduct; $.userName = data.data.result.userName; $.newUser = data.data.result.newUser; + 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 console.log(`\n已选商品:${name}`); @@ -130,11 +133,10 @@ async function algorithm() { message += `已选商品剩余量:${couponCount}\n`; message += `当前总电量:${remainScore * 1 + useScore * 1}\n`; message += `当前完成度:${((remainScore * 1 + useScore * 1)/(totalScore * 1)).toFixed(2) * 100}%\n`; - wantProduct = $.isNode() ? (process.env.FACTORAY_WANTPRODUCT_NAME ? process.env.FACTORAY_WANTPRODUCT_NAME : wantProduct) : ($.getdata('FACTORAY_WANTPRODUCT_NAME') ? $.getdata('FACTORAY_WANTPRODUCT_NAME') : wantProduct); if (wantProduct) { console.log(`BoxJs或环境变量提供的心仪商品:${wantProduct}\n`); await jdfactory_getProductList(true); - let wantProductSkuId = '', fullScore; + let wantProductSkuId = ''; for (let item of $.canMakeList) { if (item.name.indexOf(wantProduct) > - 1) { totalScore = item['fullScore'] * 1; @@ -167,6 +169,33 @@ async function algorithm() { console.log(`故不一次性投入电力,一直放到蓄电池累计\n`); } } + } else { + console.log(`\n此账号${$.index}${$.nickName}暂未选择商品\n`); + if (wantProduct) { + console.log(`BoxJs或环境变量提供的心仪商品:${wantProduct}\n`); + await jdfactory_getProductList(true); + let wantProductSkuId = '', name, totalScore, couponCount, remainScore; + for (let item of $.canMakeList) { + if (item.name.indexOf(wantProduct) > - 1) { + totalScore = item['fullScore'] * 1; + couponCount = item.couponCount; + name = item.name; + } + if (item.name.indexOf(wantProduct) > - 1 && item.couponCount > 0) { + wantProductSkuId = item.skuId; + } + } + if (wantProductSkuId && (($.batteryValue * 1) >= (totalScore))) { + console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${$.batteryValue * 1},【满足】兑换此商品所需总电量:${totalScore}`); + console.log(`请去活动页面更换成心仪商品并手动投入电量兑换\n`); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); + } else { + console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${$.batteryValue * 1}\n不满足兑换心仪商品的条件\n`) + } + } else { + console.log(`BoxJs或环境变量暂未提供心仪商品\n如需兑换心仪商品,请提供心仪商品名称\n`); + } } } else { console.log(`异常:${JSON.stringify(data)}`) @@ -350,7 +379,8 @@ function jdfactory_collectElectricity() { if (safeGet(data)) { data = JSON.parse(data); if (data.data.bizCode === 0) { - console.log(`成功收集${data.data.result.electricityValue}电量,当前蓄电池总电量:${data.data.result.batteryValue}\n`) + console.log(`成功收集${data.data.result.electricityValue}电量,当前蓄电池总电量:${data.data.result.batteryValue}\n`); + $.batteryValue = data.data.result.batteryValue; } } } @@ -484,9 +514,9 @@ function jdfactory_getHomeData() { // $.msg($.name, '暂未开启活动', `京东账号${$.index}${$.nickName}暂未开启${$.name}活动\n请去京东APP->搜索'玩一玩'->东东工厂->开启\n或点击弹窗即可到达${$.name}活动`, {'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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); } if ($.newUser !== 1 && $.haveProduct === 2) { - console.log(`此京东账号${$.index}${$.nickName}暂未选购商品\n现在为您从库存里面现有数量中选择一商品`); + console.log(`此京东账号${$.index}${$.nickName}暂未选购商品\n现在也能为您做任务和收集免费电力`); // $.msg($.name, '暂未选购商品', `京东账号${$.index}${$.nickName}暂未选购商品\n请去京东APP->搜索'玩一玩'->东东工厂->选购一件商品\n或点击弹窗即可到达${$.name}活动`, {'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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await jdfactory_getProductList();//选购商品 + // await jdfactory_getProductList();//选购商品 } } else { console.log(`异常:${JSON.stringify(data)}`) From dfaaaf9b3a94e86119379e3dd0d37223b3c36294 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 26 Nov 2020 13:18:48 +0800 Subject: [PATCH 0147/1259] Update serverless.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化Crontab --- serverless.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverless.yml b/serverless.yml index f489fa85..a0f27dc6 100644 --- a/serverless.yml +++ b/serverless.yml @@ -19,7 +19,7 @@ inputs: - timer: # 签到 parameters: name: jd_bean_sign - cronExpression: "0 0 0,12,18 * * * *" + cronExpression: "0 0 0,3 * * * *" enable: true argument: jd_bean_sign - timer: # 京小超兑换奖品# 摇京豆 @@ -37,7 +37,7 @@ inputs: - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 parameters: name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jd_jdfactory - cronExpression: "0 15 */1 * * * *" + cronExpression: "0 3 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券 From 5da3d4655107d1c4f130194aadeddab2e73de4b3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 13:49:54 +0800 Subject: [PATCH 0148/1259] =?UTF-8?q?jd=5Fbean=5Fsign.js=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E7=9B=AE=E5=89=8DBark=20APP=E6=8E=A8=E9=80=81=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E6=B6=88=E6=81=AF=E5=AF=B9=E6=8E=A8=E9=80=81=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E9=95=BF=E5=BA=A6=E6=9C=89=E9=99=90=E5=88=B6=EF=BC=8C?= =?UTF-8?q?=E4=BC=9A=E5=AF=BC=E8=87=B4=E6=AD=A4=E8=84=9A=E6=9C=AC=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E5=A4=B1=E8=B4=A5=EF=BC=8C=E6=95=85=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E4=BA=86BARK=E6=8E=A8=E9=80=81=E7=9A=84=EF=BC=8C=E6=AD=A4?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E4=BC=9A=E9=BB=98=E8=AE=A4=E6=94=B9=E6=88=90?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E7=AE=80=E6=B4=81=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_sign.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index 80c119a7..b1bb810b 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -1,7 +1,7 @@ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 -更新时间:2020-11-17 +更新时间:2020-11-26 从 github @ruicky改写而来 version v0.0.1 create by ruicky @@ -42,7 +42,7 @@ if ($.isNode()) { $.nickName = ''; await TotalBean(); console.log(`*****************开始京东账号${$.index} ${$.nickName || $.UserName}京豆签到*******************\n`); - console.log(`⚠️⚠️⚠️⚠️目前Bark APP推送通知消息失败的,请换用其他通知方式,Bark对推送内容长度有限制 ⚠️⚠️⚠️⚠️\n`) + console.log(`⚠️⚠️⚠️⚠️目前Bark APP推送通知消息对推送内容长度有限制,如使用此推送方式脚本会默认转换成简洁内容推送 ⚠️⚠️⚠️⚠️\n`) await changeFile(content); await execSign(); } @@ -71,6 +71,7 @@ async function execSign() { const barkContentStart = notifyContent.indexOf('【签到概览】') const barkContentEnd = notifyContent.length; if (process.env.JD_BEAN_SIGN_STOP_NOTIFY === 'true') return + if (notify.BARK_PUSH) process.env.JD_BEAN_SIGN_NOTIFY_SIMPLE = 'true'; if (process.env.JD_BEAN_SIGN_NOTIFY_SIMPLE === 'true') { if (barkContentStart > -1 && barkContentEnd > -1) { BarkContent = notifyContent.substring(barkContentStart, barkContentEnd); From 231dbd5c36b264b8559c1e2f47f708e5b729ef3b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 15:12:12 +0800 Subject: [PATCH 0149/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E4=B8=8A=E7=BA=BF=E9=9A=8F=E6=9C=BA=E4=BA=92=E5=8A=A9=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8Csecret/=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8FDD?= =?UTF-8?q?FACTORY=5FSHARECODES=20=E8=A7=84=E5=88=99=E5=92=8C=E7=A7=8D?= =?UTF-8?q?=E8=B1=86=E5=86=9C=E5=9C=BA=E7=AD=89=E7=AD=89=E4=B8=80=E6=A0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdFactoryShareCodes.js | 31 ++++++++++++++++ jd_jdfactory.js | 80 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 106 insertions(+), 5 deletions(-) create mode 100644 jdFactoryShareCodes.js diff --git a/jdFactoryShareCodes.js b/jdFactoryShareCodes.js new file mode 100644 index 00000000..4bbbe487 --- /dev/null +++ b/jdFactoryShareCodes.js @@ -0,0 +1,31 @@ +/* +京东种豆得豆互助码 +此文件为Node.js专用。其他用户请忽略 +支持京东N个账号 + */ +//云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 +// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 PLANT_BEAN_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) +// 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 +// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 +let shareCodes = [ + '',//账号一的好友shareCode,不同好友中间用@符号隔开 + '',//账号二的好友shareCode,不同好友中间用@符号隔开 +] +// 判断github action里面是否有东东萌宠互助码 +if (process.env.DDFACTORY_SHARECODES) { + if (process.env.DDFACTORY_SHARECODES.indexOf('&') > -1) { + console.log(`您的互助码选择的是用&隔开\n`) + shareCodes = process.env.DDFACTORY_SHARECODES.split('&'); + } else if (process.env.DDFACTORY_SHARECODES.indexOf('\n') > -1) { + console.log(`您的互助码选择的是用换行隔开\n`) + shareCodes = process.env.DDFACTORY_SHARECODES.split('\n'); + } else { + shareCodes = process.env.DDFACTORY_SHARECODES.split(); + } +} else if (process.env.JD_COOKIE) { + console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) +} +for (let i = 0; i < shareCodes.length; i++) { + const index = (i + 1 === 1) ? '' : (i + 1); + exports['shareCodes' + index] = shareCodes[i]; +} \ No newline at end of file diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 4bc5b756..2ff8a1f8 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -34,6 +34,7 @@ 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()) { @@ -48,6 +49,7 @@ let wantProduct = ``;//心仪商品名称 const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVWnYaS5m9cZ2ariXVJwHf0bgkG7Uo']; !(async () => { + await requireConfig(); if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; @@ -72,6 +74,7 @@ const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVW } continue } + await shareCodesFormat(); await jdFactory() } } @@ -84,7 +87,7 @@ const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVW }) async function jdFactory() { await jdfactory_getHomeData(); - await helpFriends(inviteCodes); + await helpFriends(); // $.newUser !==1 && $.haveProduct === 2,老用户但未选购商品 // $.newUser === 1新用户 if ($.newUser === 1) return @@ -210,10 +213,14 @@ async function algorithm() { }) }) } -async function helpFriends(inviteCodes) { - for (let code of inviteCodes) { +async function helpFriends() { + for (let code of $.newShareCodes) { if (!code) continue - await jdfactory_collectScore(code); + const helpRes = await jdfactory_collectScore(code); + if (helpRes.code === 0 && helpRes.data.bizCode === -7) { + console.log(`助力机会已耗尽,跳出`); + break + } } } async function doTask() { @@ -335,7 +342,7 @@ function jdfactory_collectScore(taskToken) { } catch (e) { $.logErr(e, resp) } finally { - resolve(); + resolve(data); } }) }) @@ -531,6 +538,69 @@ function jdfactory_getHomeData() { }) }) } +function readShareCode() { + console.log(`开始`) + return new Promise(async resolve => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/ddfactory/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('./jdFactoryShareCodes.js') : ''; + console.log(`共${cookiesArr.length}个京东账号\n`) + if ($.isNode()) { + $.shareCodesArr = []; + 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 taskPostUrl(function_id, body = {}, function_id2) { let url = `${JD_API_HOST}`; if (function_id2) { From 4f91e858570839dcb163d2cc5b86f1d5033dc370 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 15:40:47 +0800 Subject: [PATCH 0150/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 2ff8a1f8..08e4967d 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -587,9 +587,9 @@ function requireConfig() { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; const shareCodes = $.isNode() ? require('./jdFactoryShareCodes.js') : ''; - console.log(`共${cookiesArr.length}个京东账号\n`) + console.log(`共${cookiesArr.length}个京东账号\n`); + $.shareCodesArr = []; if ($.isNode()) { - $.shareCodesArr = []; Object.keys(shareCodes).forEach((item) => { if (shareCodes[item]) { $.shareCodesArr.push(shareCodes[item]) From dbee9dd61de1ddfee165f70341188f863c3a8fc9 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 26 Nov 2020 15:58:42 +0800 Subject: [PATCH 0151/1259] Update deploy_tencent_scf.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增东东工厂互助secrets --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index a69adf3a..22466792 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -57,6 +57,7 @@ jobs: if [ $PETSHARECODES ]; then sed -i "/variables/a\ PETSHARECODES: $PETSHARECODES" serverless.yml; fi; if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; + if [ $DDFACTORY_SHARECODES ]; then sed -i "/variables/a\ DDFACTORY_SHARECODES: $DDFACTORY_SHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; @@ -96,6 +97,7 @@ jobs: PETSHARECODES: ${{ secrets.PETSHARECODES}} PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}} SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}} + DDFACTORY_SHARECODES: ${{ secrets.DDFACTORY_SHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} From 03e9754985e881e01aebccb2903101e43544f381 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 26 Nov 2020 16:26:02 +0800 Subject: [PATCH 0152/1259] Update githubAction.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增东东工厂互助码环境变量以及说明 --- githubAction.md | 1 + 1 file changed, 1 insertion(+) diff --git a/githubAction.md b/githubAction.md index 3cfe13a8..dd9e302a 100644 --- a/githubAction.md +++ b/githubAction.md @@ -109,6 +109,7 @@ | `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看 [jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `DDFACTORY_SHARECODES`| 东东工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | | `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`true` | From 0a9c1485a5f9011e610e5eaa0169f0787f6d01bc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 16:43:11 +0800 Subject: [PATCH 0153/1259] debug --- jd_jdfactory.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 08e4967d..e9de1c10 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -499,6 +499,7 @@ function jdfactory_getHomeData() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { + console.log(data); data = JSON.parse(data); if (data.data.bizCode === 0) { $.haveProduct = data.data.result.haveProduct; From af7366736d00c33bbacefe0a2cac5f8e89d8e8f5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 17:56:27 +0800 Subject: [PATCH 0154/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=94=9F=E4=BA=A7=E5=AE=8C=E6=AF=95=E5=8F=AF?= =?UTF-8?q?=E5=85=91=E6=8D=A2=E6=97=B6=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E9=80=9A=E7=9F=A5=E5=8F=8A=E5=BC=B9=E7=AA=97=E9=80=9A?= =?UTF-8?q?=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 20cdfcb3..9511a625 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -414,7 +414,7 @@ function doTask(taskId) { function userInfo() { return new Promise(async resolve => { const url = `/dreamfactory/userinfo/GetUserInfo?zone=dream_factory&pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=&sceneval=2`; - $.get(taskurl(url), (err, resp, data) => { + $.get(taskurl(url), async (err, resp, data) => { data = JSON.parse(data); if (data['ret'] === 0) { data = data['data']; @@ -424,21 +424,46 @@ function userInfo() { factoryId = factory.factoryId;//工厂ID productionId = production.productionId;//商品ID subTitle = data.user.pin; + await GetCommodityDetails(production.commodityDimId); console.log(`当前电力:${data.user.electric}`) console.log(`分享码: ${data.user.encryptPin}`); console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); + message += `【京东账号${$.index}】${$.nickName}\n` + message += `【生产商品】${$.productName}\n`; message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; + if (production.investedElectric >= production.needElectric) { + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,毕请速去兑换`, {'open-url': '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'}) + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,毕请速去兑换`) + } } else { - $.unActive = true;//标记是否开启了此活动 - console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); - $.msg($.name, '', `【提示】此账号[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); + $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 + if (!data.factoryList) { + console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); + $.msg($.name, '', `【提示】此账号[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); + } else if (data.factoryList && !data.productionList) { + console.log(`【提示】此账号京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) + $.msg($.name, '', `【提示】此账号[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); + } } } resolve() }) }) } - +//查询当前生产的商品名称 +function GetCommodityDetails(commodityDimId) { + return new Promise(async resolve => { + const url = `/dreamfactory/diminfo/GetCommodityDetails?zone=dream_factory&sceneval=2&g_login_type=1&commodityId=${commodityDimId}`; + $.get(taskurl(url), (err, resp, data) => { + data = JSON.parse(data); + if (data['ret'] === 0) { + data = data['data']; + $.productName = data['commodityList'][0].name; + } + resolve() + }) + }) +} function stealFriend() { return new Promise(async resolve => { From c90541197ce68777d8c73100d437ee74b27daf9e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 18:02:59 +0800 Subject: [PATCH 0155/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E5=88=AB?= =?UTF-8?q?=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 9511a625..b5fe9fdd 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -432,8 +432,8 @@ function userInfo() { message += `【生产商品】${$.productName}\n`; message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; if (production.investedElectric >= production.needElectric) { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,毕请速去兑换`, {'open-url': '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'}) - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,毕请速去兑换`) + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`, {'open-url': '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'}) + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`) } } else { $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 From 7d798f11feecf48b7a8156537d3a293bc858286c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 18:22:15 +0800 Subject: [PATCH 0156/1259] =?UTF-8?q?=E5=BC=80=E7=BA=A2=E5=8C=85=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=20=EF=BC=8C=E6=B5=8B=E8=AF=95=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index b5fe9fdd..eca65280 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -425,6 +425,7 @@ function userInfo() { productionId = production.productionId;//商品ID subTitle = data.user.pin; await GetCommodityDetails(production.commodityDimId); + await DrawProductionStagePrize(productionId); console.log(`当前电力:${data.user.electric}`) console.log(`分享码: ${data.user.encryptPin}`); console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); @@ -464,7 +465,21 @@ function GetCommodityDetails(commodityDimId) { }) }) } - +//领取红包 +function DrawProductionStagePrize(productionId) { + return new Promise(async resolve => { + const url = `/dreamfactory/userinfo/DrawProductionStagePrize?zone=dream_factory&sceneval=2&g_login_type=1&productionId=${productionId}`; + $.get(taskurl(url), (err, resp, data) => { + console.log(`领取红包(测试中)结果:${data}`) + data = JSON.parse(data); + if (data['ret'] === 0) { + // data = data['data']; + // $.productName = data['commodityList'][0].name; + } + resolve() + }) + }) +} function stealFriend() { return new Promise(async resolve => { const url = `//dreamfactory/friend/QueryFactoryManagerList?zone=dream_factory&sceneval=2`; From b370cbef1315534bc6f153a844c73ac40273fb71 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 26 Nov 2020 20:06:49 +0800 Subject: [PATCH 0157/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=99=E7=A8=8B?= =?UTF-8?q?=E6=89=80=E9=9C=80=E7=9A=84=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加教程所需的图片 --- icon/TG_PUSH1.png | Bin 0 -> 47278 bytes icon/TG_PUSH2.png | Bin 0 -> 58042 bytes icon/TG_PUSH3.png | Bin 0 -> 24125 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon/TG_PUSH1.png create mode 100644 icon/TG_PUSH2.png create mode 100644 icon/TG_PUSH3.png diff --git a/icon/TG_PUSH1.png b/icon/TG_PUSH1.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2c8a1482dffa4ac2dca4a4937e21fd4a67b991 GIT binary patch literal 47278 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

YB)9X-LL1$UvLv*NB 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 z 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 literal 0 HcmV?d00001 diff --git a/icon/TG_PUSH2.png b/icon/TG_PUSH2.png new file mode 100644 index 0000000000000000000000000000000000000000..a9d8c58d6669572f7e9892055a83361e236cc23a GIT binary patch literal 58042 zcmbrmXFyY3xGoq`R6syQKtPHjpdcWGA{|6gdhbo8h8BA7epZ@@l+Y0fH3==0K!}La zYbcQt5a|R$uOTqO@0^)CbMD-GXYQ|^tn9V-yVhR&Ezk3;e9+T*Mo-I53jhG<)t^5x z007Rr0030qFJGjzAeeaM0RSF=`V$qSz|2)Vov-nH*6FEk{m19muj=3UtbFa~lR~}q zYleBz_k?vsdp>>aUg~!#)9l(YwPwKNh$o>c%2d5Tm)3M=A9I|lwwoK|ePl_y`KoBD znD!bq`{zj3t9(Byjg$}9opP#u_Qu8*Gs8S&1UABj?fS-2os{~gNdGK`WOs|ymmD4O zQc)}d%*81-^qqYG@L05z@OC-tpQn6|l*jfTuh-AU_xmaS{qd!5*oD9Cs<~$a0R+8O zrawDwU5R2pJI=9DNuC`$fEOsk1pq!dT^>F=^7LOVK1Vq!XW!QQ_rm{qfrXoN!*J|* zOPi6>oJ*muFzw}=E}pG8FXIuqBQHJI=b!f$2`w!<}a!}>Jl$8s{>6S70tP=pnhqB?1A!j!j4 zf=XS&-44QGCf7OYGO7+H=&+li=Wblk_9&_0$kOME-saLCi9W_vif(Gq9n)-;K}2f-ySN7?dJ}UO-N86DT@-ylR?$Rut&PN~ zjb?gQ;iw`3j@y;~$716T6t|IvJe9-mH!OGyeX5DBxTGDfb(Byt^EO1nu_{o1tE(+FHvD=%@5!=89*+i;FpF7f z&d@M6F&II%2RRN(Qx`ugQN53^6=Q1k#SlH2tJa->fe;a?jX1Q`b zw0*>2@r6bN<$AX`)nXr++p2aj6*^5 z9uff>$W^(&7V-PrIrQGR>(NFlqj+ZZFCDox3GHl&v2gM@0YM<|Pj`2Di7TqD?Q8-4 zQg*jtl%;cC8e+~mvBS!=BTqhE6|*yzCYLokfPIXe!w4}JvkV`*L>Li_f!{D4irEme zxn>THMuaXux(HX+Qd3O+Q@f#PA`||3j`!?6jFdMXDEdYl+c)HpY7Nyl`6jkeKWn6? z_u`aG(&bBOX*0Yt3F8RHF=1)2SE>=}`2rB0-b~SLV9?fFIj6v^-LOl}$5=i?*L*Hg z{LtDar*OlT1;`wR>}ARu@lREAYDz_(2qX{)x)2HIucXM#FwIPnkNg{r-)T#UVULaZ zVQ<_0+O6X(yb#qZMihI><`%#`|GW?64;U)(^4cbJiP~VNxD1n z$mXwKzfUPnL|K6C+X@_9t^~!=4~zaLmooVN?h<-c>?8Ez*Yhzdio*LyB|Ksn|Ylw3|z8bcI9`~ z6eJ0}e|@Oum52T6z@F9k%|`^K@z#SHt2=*PX8gH@m!oefeS3&Yi$9ojhuNGm*^mlf zA;kCy(!}&CH;`ag`%vx79Y4AlN?D~YAW&sak|XrDbhTXi2i2Z5i6Q)8O#y@lW{U|Q z2MJGectokzWT)>Y{`KLH)ZC7@3436sa>)II-h@;dtXk?9=U*F4BOA8#COrG*x=u`8 z&bd-nwi#h>h7SsCNI!z*Rv(8sjoLFe)c(SN-eiy8{Ls^GeZp%kHI8l}STuMyw)JG^ z`{3n>R%Op{7>?O`C+Bg$q>)O&P^+`4XpRpJdV;{5q~kw3X8-prb>G;0ZES4ppmdP_ zLilTuV_1(zOgd*ES)JQbR5w$?)OLTY0JdyuL1KMF)p)-T%Ngu-SUv7x6Yc=@c&{`y zh|Ob&mZ02-=jt{OA&{|JN*KidoI^gaLZl3(C7PasJRh;va%(}^hKf}XgyYd_zzuD$4uwd{V2 zvkB3*m0Opmr>)cDBYd+xbqP>fRbL3~+a3yTFHe|BfyLkTr=bpfnRBeJ3zKM>I&_i5 zb7@CPxyEvKD4-Pm*=IG{e_^`2-ddi!1015<004OvjdZIikWoC|I1jVg)f&b2zqOGj z%+`O%`=HvFwad$#VNw+~n$Z`wcOYTQf3@t^Y-8#0$XaEYYk_N%Lu$nJN2vmZ-BSCqZ*aY{E(TbH*xaHPof$A#~dgrGI$e-kuQ5@t=j*1cJi^^1b<(8 zIYW`Ay}a$=M~(furT&P+Bw3A!0z~+{?uY%ew>wfkHBou(hkBCnG8pC;`Lz#)Xc0JSEk;zY~!oJ!T2nU9AIhrT57B;!TTlCb-YQossIoQDeoVkTmsY zdl9edko3kb{rbRu`|3t@kpzaRT7+#`6=A`7`~-mK|LeGP9p6U(_)I;@=T$R_rG)_unCVY$P_s*gQ0Ish%o!~I1-@Y(C z3Lp3s>u?be=_VI?;0dp$Eb_Ky;G~u)dW1jDwm0%@=d8&(Oe#+#X#du~RThg|& z`!Mrv@NW_jtL5<4qZEdd)}_agS6<x)1X*0F&fyB1rbnjxy80^1 zzide=MSS?u==HL20kN9RvF=~%8C*GZ6ER_mE1tgw(sy?VbWb9}od=8pPV(c~5R;UV zeXHaxiW)ymHPr-9=UVT{G2I|1*;6ajL2}z;RY)_h!s<74(ARAOyl3fAYj0qAVHk`G zu5>EtkBLI{jzO3+EaTTIZFYGLJf~`iwxSePV;>L~`n$>mzn`J^yNd9}MF_u9>xi#o zB^)bFvyGdiE{%H&~N%7O4-X@pWi znv>pVYrj3^R=j>j-Up}Vg2mRT)FISfIg=F{V*@6lpDLq4~2$lpf2UjlHcu^*`bqbL2rOssXydeg@d-1Sq?u> zEd}G@i~*PAb(+NM>l^86M@E*|O@9{-X&PIYlpOUAf+S=K785lJFZ{1BPZd_G6Ph?A zMTe~YM*TCiyR%-R?oO2mM`4|D@$Tn5wN+j#|Oic2NI1mjvcmh1#7w zIH0tm$|!u9g|&^0*6+)vvFjH0ZFO<)ecmVOvabhA+Z0_%7!qG_fmK@`Q8C|9Q?yIIeQ#*K zUt{)Cxb?|*{5e;aCtXs66qn>Sb-3^9!7m|em=6<64tYmH6~d z?*VdI=?a)5d(3Ng0?Vm1`GWd=cFn0(k&@M(vuVIjg*c@l?md%2v#LOc%h_#YQ=H54 z!iHO%6wvZ3#E7@Xqh~?Zy_^OHvN9`c<7hvC+P5J_$}fWnS-V~iSt-+IxRH?x7~G`W zvMh9a`+IOn_|qgf!Gfhv_qPOASejzAr`!FTHWFLUPfyMp>g0NM3|w&(kn6cwLqI-1 z{gWR1gDX|)4~^V=RX4{g<7kwC%dIR05%<+uJd|`Paw>OwD6FB6Quou$dycke+qD&~ zopeaPe0HER5wce^_dpl@hAn4w^m-T(UO)L@cJeInjCpI-6bEsqxUYhmZkN8HuY98P zVq!_kkPonPr-oA72fwzvOUYAt{-Gq3101)Qthvv6;3OoGcUO;v%qt!ys-mi#qIpM)-Q^A;zF!! z<@9sZF8eaNAj?`}mVe0nVZE9-Pgl!L>F`OtfqqyAZM9fxlRzFbze;|wq8+!J%{fV! z*nJmKHVRxP@vYY31H*hy@{ig)T?Zi?JKySH)9c4tb!12FNnh=lX--3puStySi`I3^ zN}?l(wW>6`k)>AFLRU~=L?2Y)L;5`;bBL#8D(e<|$+9*Hm-@XD50u6R06Sqg|D-5~e%CQ!rPTdC_Ij)JSk)kX>>}lDP@F72uL-aFL<lANYt{)NJ zAs8`G_0vvpGcVU3`+4B7`t>#3A&}r;{6_$y(Zq(SeN}0Jie~4VB%YKBjl3$9@q@`- zy_^oOIg1nE8R=?P%a(yxy%x)ErX^2@%9RW6_%^S;m~Xb+`99KJ!}sFE#C+Mbdwjix z&BB3NzM9K7TEa)MP3?09S$2x}^j1*gd|PKxa%#w$vX@7(7Bp76wq%^C;C_pL zXQlv&9V}8w^-!q4SI45x`MZYCRJ84xKbcGYZ=#C|1do!M+@0F$ItpI%n)=6bI@^z` zd>=>XMW;G{4QMhSSTn#YrYK1}Cpis57oJm-$qH*&Io&4~ojrT4-M%i+Ej>j_1*BbS zd0i%=EM=su7d<80)~W-*HtEpAlG9f>!7RRwMs)$@ZhHAn`m^I5hvQqv7m>-yE>@r0 zC#vSSghefj3mGk1%*@e5N^T`GF+OY}DLU`v6txApPt!NF$3kd!36#fbIMxPiC9NPS z@2zs*eECyK!i8IL6Y@MnR{x$8kNY)InuaF#9L=OI#gDHP|D5`LZ^K`uHsbWQ!l)S- z1{4l?yZkxOsh)ZOVL7K6oKNs;RGj1_yF_TC+=(ddAZ4lyf&Y_-CPo;-ZeOtCiWdxV2%Ws;0Cw zC_l8%!OCk3R2X8KW!%;a|lmgYgcLhTjPFXZvhA}wJ zKe3iUTje1ecZ!%r)ta?d9AgC+tsbDQ5YW*MEVj$VIxyX}djF)DSzAuroZ@b_9>-Hj z0zbUpc{hzh{j=sVlI=-1B!aQ-2^RVk;D!6Fb7k62lx>*(*F2&dMJf>1s?yh!W~qW@;rOK6*%ih z3L9~8b;kNNTMKaZ-MyVx8K7x7iRUzw_Hg^)6l?Z*!eK?8t zb2WGE&j*)?J$gUq;=YD@s~n3coDXcYtEyYVY2nFQ9nMd8v1>WMPTPN90Mqd~ zfajMkZCpEIbctg;H;%Ya?HPdikHA_H=ZP>yI`XeD+4iI*m{ z$Qr{CgU6QZM!QFvYnv{c?#7y~JD-cU_#B$rQm8?j8Wq<3eMyNu$aCU(v-Ap!F8CGa z>5{(NPX)!nA2t2b(~%95O;x+X?t{+BH-v7a^_G}8m^&MTembL_sO`W3N1O$QBpNIw znTyPTG|HH9a z2b`UPo<0nX-B^vQteY;418W8xd%k8i3mzpm=tR`74#J5aL)asrN~&c2=MLZXr4Kh~EW`$0J6^iaI4#zf!q7wV^2?oSRo(^JT8D=_u$h&d(aZ zF}~u0Y(ffpE=SLSNznppUZ9b>w%Ae z_kRZbg@|}NkJQTT8?rhTt_=3-UWv3ycm%nR(C2ST7*kwZe=zLKR2)QwsD%!2S_mRu zF*C3g(wOK4~?C%U%QycJPu(j9M~L-*2k|)3T0VwdGnPo*uE{E(q+^*Id*6 zr)c-mot|G+A%42UfzlyOW53$-p^J&qy5)JmCk~m+U9nThCa6)#TUY#Au=0Mkg0M_C(^e{5z*#bZ zvGQs#AN`E=S6+9Bu7L=K%5}r6p`^K@d(X#YZN1i?R}Z{1vj(mn#(Ge4nc7^=W;Ej592`zq$ZYdzLXZq-FdCea*tuKc3&YC|g>^ zByjvh*EW8rckmup>7V$p#M|yf3Uc(QtAH7_yC%nDcu1+e{rNrFUy+-0$GPMd0{a=h z?JdKcPK&!_`ecFEI%4oe3khXLti6zu@9_Nvb2r5y(s_XAjpwf7iA*~8Omgy@NW6gG zOW*D903xS&<~yHUG;85hVW;FsGTwJ_GL-SBeL3?w9pBEiJIIOx0QMuPwp@LF6xjaq z-9lye0k7A_1MeW@a{zRAp6Vr^v#Od(-9tPvnu-%l4I&@y_8a(9K#BNP+gqb8syU0Y zlxTF}`XfEU1S01my}V7>(N3>pIOU8-Oa+{eHq7DGl(~8lbspLB`mH^Xk^$L&fjs&V zs}96-g4E9gcBG=tOG1Hv@#XB6SRP7f`(NO5{xiS(PeKUtt^Y5T6z@PyO)Y!)Lrga4 z;3hqnQE_uvv4-l=pYGP9Rplc8b$lM4dwn30_nG)-kCu(EiO-JqxziGVQ0^I-KNxxL zwXfP3wIG+b0lYd|espvBS#aI11E+i-&sxpW(HX_^)_UT`S z>c>lz9Lu$W+dLFlGlbvzFDs>d%TbH{Q>@nHza$mq>z}JUY>@hYxvI!VY4~fMT|X55 z*HDpf`gR2(hbOweof{NjW%*yMwrZ&$Cj2Y6t)v)k>@qPnDBVvD4m|gl8sl+Qb2&Cu zb0+OcduJtn>$_!|NO9w|h&;r|Yc2 zAVhWRlU|fN9I3m50wRtYbf!-XVZqWh$w3i?*~6j{+zf#Jv?A`DI!nx9uVvnTk>&bn zi%grN!v43};36SIer~1FL)BLBKCF5##D=>eHG$j^9{Ogt@u%OFoqPYS%5uPjRifj`jXDILtZmHZeOl@~byk=GIl2Nj#6zc&&QQ6$NvFbm^JVIwhHN z*r~djFxxjeO1xEgb;m=tQGe1Dwsr%hx33|DcjrFfQe8h$K`gn&adRoQ4J^rr?M%BO z!<+*ZzFNtwU8Lub6`!ec%YAwVmUl!aiKIilgk6z>F3VhDTVAo8I`U(*0Kpyd1XN9U z%HzZ-TFTh6Wq4cG%jymDdk8#s@gIvZMa41N=DnqPI58=_{bt@ve+g$!yJ?T7h$)!v z-W%NdE-^LzPc>pRw)*4u^}Vvg!;$gfnR0nkV3BF@KzOy`Df+9vyO^P%@qDJnvhJ>n zx4TiWI#Psve%#G8>4aSPtEAxj1^awmy57>Q$?<1)BHb+iKA+jgFe^m4`m0b}JO7Ju znA4ibM;q=XJE1gL@{bSfQvTJoLR>zRB2G7kV6(#93qQ3-?#thsqk2SBsYF6)^`YxSFKu3{Kky!S^Nzs3M@x zk#ot=Nk97Wn>X3NMO!l?-4;XE{pqli-Blm{ePGb6P5LZ^_ISD$T{7N9%9yn+jr}xh zEklyn1cK+T(!0A>M%Q`aosw@!i)=jtG&+E7ABoNozpz?KU?akQRlEfGt`Pza`%xBk zvi?LPrAJD@Dg}Gr_CJ#p^?{jCZ$bWn- z@%k_I!qeJwW4~{Xt0gQqHGI3k5zmtCHMo#oIapIqkHm&aUjGty{DJvNsCMwYLxAk4 z;za*o0yu-9(F!UAwjUJkkhux%wsZ($`mWeqRw`~eI^r^-|3`Vk)2D)~lL)dkV!{gM z#JRHi0PD>3b1h*CwpKW@w~i&!loor|bis0ocSvCi7Pu|G=Rn%Gta0*K3gF2l$3t0V z0~uDbhm8$=k3~(&s}bd2PULPqhrr|W#~13HkQCSdR}1j9EeW#em>=*oLB&V2W=d!K zG2cxB%S(Q$h8J5s9xA5L*ERHr(`N<~A%nZu&fXH1G@dm zJ-h(Xy6eBiKj7n4bnO#Ov({C|Xt4lgsh~g7z8*gv*g)z+@+UvO>`VTuC-@}8?wm}ZwR#fxPF9h84>zVPYAkR6Pv21&-^xT?gaK(+;iUfd{?1zW++WxA zfHQ|UO4H6b;&uMgqO8!;n~R(Q(K_r>77?W52;Xlw}%|)`l3n ze6d~_Y2a7XoO>WyiOT)if66QVB_{vpGK&8ac4HL_!OEvmE7K8?M?1?!(a~DaD*$Eh z_*;q1$6FN)oU+BQ-zoO{Q4)sd8fsL?=x9ZD3FnHV-TCEJK;-d@=7+1UybUw#Dqi|}sIwpiLbj z+@LPiiAOVtV0Mo;n00?q+AwF{cRLY$Fi8c7Jn-f!?hUR`=itsvoU?&arQ~V!t^Tx- zl{>$@Ke5&s`WaxZJ|;7yO*k=#u~1`&qj!!G99dtMg)Fq`$#QyB%^(; z+eKn|6qdMaqU^sO?T2#gGzpRvDIY#go{?Uld(9j(V&LU;Jwlgq`7K=!%V9^;65p^a zE*smg>D04!Za0X{M&U8p#3M%ql;+Ss)VjgV#``r`ZQIrDxW?t+VG5*!{bG?578;l^ zJFW2&i`|5}vnj z>p)nzbDqyDIQ%eH5mDK%>1&Gqv9JG~q)6P2OJx)dXvo;{J*Z}1-M%WSZD?{T?*WQu z=%}r$xuoe&K_}}>TuQ+JU?rn~O?xMDmdnPV}VOVSC+J`Ng^iES=4a}? zUszJ-v*O7@zeM*e6WH&ZcY)WZU-Q2x#)Q5mZh^GvL{4^N%vpr=YzoFZP#+sm7#XkN zsoA3}%&&-yO!6P={0oGkz5pnklHETyCQ>1{N=mU8(JurUd%KNr!6oqbhjG4*Dbtlb z0?IVd&BTso{(EjhLL>DzhE}SoRN^+{8>9@zVr8M$#9)P0-w_v^qPL!O%Fc~qGapTo zp*2#@)~1ASf!1CPtKXysH&;!l-}D#BWHW~jHwZRZrpS9x^KSM9gjx%86LZG9Ixf=0 zLv&<#9d@!K`W3D($~RK?X@1-JqcLOgqbUKKsHGTMyPN!b`;%Z}cRq3Xgj)Lw6U$^i zVG`Gw*t6@C>Og_{OBejWezfT}(c7%sV8gGjU!22Ghw%YAl;D)mF?JJaUT0KRqg6U> zwPqo!x-T&C)s8wSU_=2_I8^X-kE-lD1>P|&gj>ti7UtNto;YHlKad6LgwVQJpPnI2 zn73(g7fg?@!zjI6W0`rrTf)Pl&{$o1)~&RrqvpVk!_K&8+!%LjCywer`xvfb9ZkCJXkNY@s{J!w&s2rrZfUJu z{Pe*RnR)S;?^y2IIy>Ky6+#O*z4GB~?f>c2&vi8ZR+{b`FdP{H^tdyo{`7HMobV$C5Vn4}Eqp=i`ljE@q(ylAKTVY4nj zx1%LSLVP#qy=&ZpZB}5J@*>aFuBI7_)1M^0fYw6c(aq>7#>zh1J2VLWPp)Zd%^`C~ z6xSK(J+wRMD@HJ3v(5LTPxj(x{y;%&plrTh;{CXReK(fj;0l2UX+`%-ZuNMyl#DXI z@|Cne)~XwNWG>R0^aNE>eE{(d;yD!V%$9!-a`i(czePzk^t%opRTTSN&HlnW-+7+u z7O>Ep-{*uW)2U85h$i#wQT#?;=5HV=t{m|vC3rTh?~<$>|7>3sN_eY~sPVS#DIY34 zs_RwsQRH$^JR#)d`Wh=`#{EPKKY@8$ajXEqU4cu&E{@j|H6#_io$4f^-qS~GefF~PODuF9@03{T-*9E$(t zT|Rd>-NjJoM~;=xbG|t5McfHL+Q2>GNp$j>F!qj6M0e^>jiK@BuKl)NI_qVb>9mYl zb2$V<>fnYiBf+2H6_)@+yiLgwJFj(gEbyq`BWmlq1UhivE^_<2*#@b3Vi)bFef{uq za!AiYM{S;mFXTx6N1vVJ&xY_#qA=3~RJ(0@6HMz~kL@Nd-rQ=Gg^ z62rBhi&x9aA$Feu3eWG=_3L*7fI3C6p9*7<0gFHsuxe*g0ZB z4y0AR(VrDSIX*fcY^94&nA}$`Jxk|yEV6il(eKM*M56e6`GreALx)jyG{VzM6P(xr5NF*nivr%=+8I;C z8k?XP+v$Vz|A5__8@g5Gni1IU4EoP82@WB_Bx47Q1+*0PL zT!%6uX1st`a(tqfLjF5q&S29Ib6(`a(gfO%<+D=)_z_rHLGl!@wjesx#dpKsu8^Hu zY=T-{?%UzELT&yNT%5aSmMTc!=phT?uWgeWLcA2q29mtTcL(vko|M2lY+_RC70v;7 z)3eJAtE;Qgq))JHNp=kpfKlR)0h-H(%?9@`n~?5&oIFOUF8wrX)wb&AyoB(Yeosv` zO(`+yn%#qptamQtZ!$WM(0)R%p;^x}?cP20o3%18nx`$wNt`_+-8xdj8{~W&{oP{F zqrPF~i2Gi`mC>1zBsCedQQ;ZrZ^eoH#c^;*#EnDO^yw^X@{v#Mbn0xRNb4+>YK*vE zLvjt9$)_4MCaA682tMDKO~Bn zhq{?98Z{#1P@_JrZWpRr_ z4yjl)65(kav~H_n=Efz3NSL;}iJrG0HY6#f<_QY!T%e?ww+gocMxU9+Bq+FtmoBHlY*`8YA`m7b>?0Q7WPr+`U|Eps0&NaUrhS?d}%tdoRNZCkA49qsw;oRGMd$5 zE8(4b-D3<~aSL+g!-O3X7XTZJsAu`F>W>Xnb9#xh-u zQ{I>)o5YTWm^|F`FPc`7Mdt9(13a&E^s`6;vscH)4{0%Fk^JhFqj&81KsiO0 zT*Z&K_HwF6icEz|Vpqv*0rq0Yx{c#iPrRprmNP)9PN@ho8i=hmimg}Ya@}k@_fZ`N2U%3JR-nBZk_Vejsk=7g8afB+`HFdq!=%rxA?`{6slLJ zf|ED^c>4N8OXzBvwTJs<8y7s+J*%^`K$pBB&(BlJsw9&b3rzE&%n#xH$Bc0cF9!kf z!eY@9`T5%GC05K1Gy4vU&e8s*_zULQoljl~a=Bazww|O&oISs&3t?9#0+gX!=KxD< zTE8WJ9EGVM75sZPv&j!?!h#87N~PZM)qPqQwqEU*9L@@kJoRxbtstO-STg!|PAH3v z8k?>)_Yc#@k$1!dK%~t-XWB2cN|!bFrT>aTqZHHCpIl^kBr+6q4!~1JDHzXWTHgx8 zCht>Z1D{MaY9oH_$`-O9RodxIRJa}YE>VPa?-)4$y5h@s8(5J48;~>)LqMwNZ?o%V zbe_MJ-8XV?vvpsg$PXO(8N}?clseOb!ug=Je=El=$DWn{xlRvx|4Qutzi&O@-|#ux zoDgXxbno6kr$GE*XKTCjM(*R?HB~>BhTWg3?{>$cbk?RCRU4J2@_3)c+uyY&x>0)U z(4N0|1#;kxJKY)-Txy+`ZJ3|;;#jcH9sSp+MwL-qM!a`?^%kgbys zSMZTd=MBSf48fVm=cD`c716L7%>SreV2@^gMluJM}+2arOo$B0AJvw+`KaesfPQ+vjsehMySKmNJx1<(5qumm#%Qs|j|@5$B?8M8>{3c?@p)Z_GLh*6HvK z8$q?7;x71xw|px3CYv1gto&pC41G=Xg(L>>*krpu!bdO->K0C-F8K!S3K6;DL(FWt zN!+&UT36&&L$y4;s>9;}Z>MlO7a3%=%rgOsHe7g>w{^$i$3)8j_7d@Z74iMFPQuve zp{}o$4_xaL8^LF${le3QlZT{qmitVr^^mQ$uCnUMh5)UKMFlubZVz%3n%GGaO(x`& zey3VK`qP4HIl8}hXmxJ+K8`WFUTqP@8a7Z65;0Cu38FN2TfTep_;m*CoL4A(XWON3 z(%P4S(ZdlyWKWP!1t)5L!cb&K_JWJD=)6(0*3a&e3cgphKw%x|SH}p=@JRr9>2;Vt zbq_xH1r>L-+Y^jp=_bgWj{V>+$CHaQinWc=Ai*zCx2a=CUd9h;v`E8}z1p6+Xquau z-+D?4auh0ZIOTtoS;_4uOaJosiKYU}cA89PMc&U5u7l@;;%M26dn>5qe015Te6Asy z!uQK%+AE`N_xBbo99B*=7moyZA%NcduI;S0F5NAy_)%%gsNls!Uj6Pp%ZcW->a`RM zXHBiP%*2v*IbdPhL(vedXjI0Hibm)c@|N@TI*+#E)S~mY`{ag>Hgph76)W*V@T za8|CH5AXi00tl2~&jW`G-6#mM?C?j*oYq28ifG0I-SgE>j`@3Uf`rqX255=p(})Zf zSi<8B>lf6aNT;{^V`Y-o!p4firiI2w7^TlEt1NPdtEcf?je8}(&i&$J^4)TcD;=6H zSqS0XSpnlu8J^WKgx9a!M{gq659Taqyk*+OtRJ?{15p+?viuBpTGk5);5{K;?6<|QiigaHX49kKDnU-ioX}$VwpVS#kdzqPxLYe6M$G{SF~$4P zCSqil(Id2jFO|%GJ!f@~+u{S@gj`Ezh#WZPy`1wy=Kbt+s~?>iOv7@*pZY?Wa%Ga9 z)c0ouf#IZ}nNfA1Vs~b>`sm@qbMb~;K7IY$ATPh@+`!qq$xM@6EuftkdS4aA6mmd~ zTzF)&kga7Z4r?KbdSKC~SoFz<0;XICj&r~Di+3Jq-#U!XrW=m)O2|G0!4%UldPz2Z zm;4>?WX+^+A_IKakx2g+z?Beb0-W0zlrMKRrhEK!nEoh_Sz=5}Xu7{_Cu;qKzy20n zIvm+|coNr)BVs*r{yu`3|H=+@mL1Tb- z@JB_+&L(J$X>n--X0okXGF1&}bR@<;%KZj{ATK&OAEr5sc?8jokH74)?{e>&H`+tD z#F;xrTL&m}+y7xQY<^Jp`uLSwTR*nHX3qMS@sZ%^Hz+f*$E4LNmKISPT? z--~by^N;^I#z6z{S$&N@$|b}#8sBeV$(N2`r7`nIAIB?ZN?P$la#eaV5Gd5`=HX(= z=_5I9K_qsEYx+W}Nu-IBD0skUefri|AB}uOhP^Ip4%wgV|9UFZ4`jqO8KhMh`z&9m z2%np38)1^OO5!0_x$)?okG~D2g1E7&C@sh9(~a-;fKSa-zLrR&|L%k|%iEktg>zZA zNRZMskZeg#X`7aBZJ&-_V1d$s?)3f2&CMKzpV}Gcp7JRR89mU6Q5VOPGR3qPCLvWJ z=dJf;`kzEDTjAVvwy=gh3e}xV702sL?|#jDN2dqcx&^L#t@{C6^go%XBaGISFn|Y1 zI81IX&wSV*=eZZky!aNi;*nK|XTZgVfgGBvSKMkYbY@gP{xtCuvP6j=%iyi#f-)sTw^F9e*Gu_@ULv|i679LpjX4>TG zwXbARB6Zx<&~Jm%E}7AW14DGW6-Tm-0W3zXL26>8AR^*^HCaMiS?Z_;xQgqCg-I+_ zxlweOl*#(;B>0K=(d_Go=LVepNi^Xwl}dglFU0;u7g)B&Kl|t$GuZ7$#)y~3eI)+L z>4&hZMbwj{m6N3xM0J5zH6#xw8+C#wZpw!fOceZE|I_0M)fhKI-kixN^~*G?yejLep3 zPQ-g?I{cgWJ?eOR(GM~%4@cVlV|aTnT+ZX5H^un}dw-G+uHDTCsxN&AOkls<<;yfV z7qs4J{p}+nB!ZGY`1FyZziGx(bO~_pW$#OvzJs4nTA~9kwgx7P`{+Vgimj+mmp62p zUJ=E7dM6j#F32wH7_O(d#8{N>+w#LB?(j!SfMjh;uU7Ew72Q2ak&$hd|0={Z|N%bhMv1#6Y{dy!Q~G%Z~0EI zVjhiF0kjy_r+}~uzCVog9NrfhY2a?kpAOmf>Aa9dI$}{+z2Dk~LkuSG72E+6=u6ZS-tx&!;I#W_IQQfYomRGd7G6fkz$P@?kGhRhE}(R~{0;=;$oaF79oBo4?=x9j zHymnGsK%P1EIf=IW%E!F`VaQi+{S%vcBG^)|Iu^c*;pP(Nkk!%pq9c8FLxpO!JpB}pSE+s^$82Y9K;;q24SnqiJx#T!l0Qqon5zT{l^f!`OB!mD0!&E`u zenv6|?p(m@`8IvT28Oe@TzM6|e4p%TntTFYd))ipVrKfy#z;|yufv-5QJwk6>|HUa zLhypAcKXt)UC?%3(e6T>j<@@EJXgpF?aiEe{;d;>^}C!iY=RN{M*H&Uqj>mf3dE>D zrT=&b6c>8OyPVOKJkBtVTAWB~&pEL;3bMy6nR8c{7e9ZKMM7c-ei>!E<*Hd(Pubm1 zCZC)_j3+e9)}{;bOh)=M&dL2HqfhrpJxKVx<|jwW#^`5aMV5Ag=TEoal(-d5VCSS4 z+G=WLy0smKeevGWlpLb(fi(UuzFLu;sL_yAS9Okzss$qGhjx2Ki@VhdPn_qn3dPOC zs}=dXF9e4(LTjDWYEndxih;!Qe}-h>A=epwLVc#wL>ZfaUt||ML5C~u`#CgLDHaZ} ziG3xS^R=PbVJty#n98Xewc3e%Kgagi9wbL`F3Bc(r_thz)~6e^&3^(gSK@Lg+;T5G z%ub%WSAcPFLS}aR6{nmEn<0hM?iV!Lj*#|WA765?_+!$<#?vb$3G-w$%lL}PQGA-^ z)sA|4g+tbWRV#Z;c&V$1r}sIzOb8GJ?w@&nb;i^20I0>{_WQ1k;9=GAr_Mx8%Q+*pIH?%DrBMc!@6KNlJ3Ovg!@BP+1 z=Gn4SAJ`0QvEH_cf@V4K7u(r z*gbE&-=%K=X5`G&z#&9!;)_;uuCk1;w$hcpZN(%1I5}!TEelBI+ME1Ln;AEM;;nnp z;7?r<11Xol=TK~yx9lBr zwT62o%)|TrxBH@3E@(_C_mkPYQ(LS=lT5*M<*i^W$GiRJhx=vQt8%Ru935FY1A)b| znf*xMtR0ky@kK-kW*_ZDlDD&Nzh1>i=92`Z@6$$x{=NVjtd?{+J;N{DV16j2xBM5! zFw;uOzoUy@MvDks_KB7ZQ1)+`E0b_rx(~VpIxB@+UYF=zRm;72i}w#TXQvMTXW~ty zQKM*(P~X(1#38n@8?xJ<*xAYFeH-6-*FYGn<{;z`1e?`#vOEa5=>0c#+ zYmd^*&%vY*KXj&OcVuPnSl`EkF3d5EUJ>BQkl*Bxt@~3&kq!vTpFCMpNISasEqdlD zZ^F)c#HvE*bxL8~Fn{t`bdZ%jRp-Q`w)(Y}m|dI5s-o^J91eJ}<5n|ZH(aYqxj zf9EfnzBNTe%Te~x@qirPkFnW_8s$XKIU)GY)C|f~6XZ<>ztAInik|N-EU@Ep)^4)q za2?niIQLh&z_ZRN_itylnE#)D^}wIsug@_MkxNnb zOm3q#&b`%-t8Up*=R`ag2Q(Pg79UTUEZbAu5U&f;w0! z3hSXSlno)J#lr<b%*#%5_&<0R>|yy__u>Pk ztxAg4p}vT+0Pf4U=yM<@z*ne2+oo!WF>I4$aO23P#l&@3f=8vLtU@3I2eH`LvR8qo zSs^|wbi22S#NpYP+=pj(q8j-J_KtWgH*NnezM)tn-GIZ!sc7OWC%yYPQPHL@Y_@P6 zq@LFNsPAOiI`vo3wh%agiAA1mgqARk{k^@0Dbh6EI=ozGk?xD?a_Djq&fp}4{_I0c zH$#nweWv|gW#R(joA#gWgv~~1A9pcl*$ks!KEY!?VB-Tg|8Pz?p!RS1iTdo%wjY&W zxMn|XkFXWow;vGyffBtwozrrvgR)$EU2vvYNX%e4qvQoCTll&HIUpaEvr0#C&Ia|y z-9~`~Q_T^7)Bl6Cw~T75jn+l!SBC)}A_wIA{7-#)SM)Iz#*XMkn`OGI3|_R>%F<6e&iM3u{rIZOIW*2=0UQkWaWtao=;>PUl+ znF@c8ec9@AZ@%A=u2(ZohH&zZw%t$LeX~@_!0mJLj6m$WB2HH6xz;-lj?qgRqU(Rt z%y>6$1$Ax;3|}R=M`-IDHp6R-D&iX;{gCSE66T82776>jv>0gyNaYYOSNyUimkv0| zctTdgRic01x&6&Lmxt~(>7rK7x?`E;Jn_<I^+!#Ae`3)7cw_laW#xxv5>=#-jEafOuqZHe)j zg$z}Us`1sqvr^U-1iDMWs;#?EAgsUVYdcM*c0Nrxy2gw~adEBadfSRa@$x12BCXt& zs`0jdp}{l|t^!0@s(_e{%E^jv%YLkHV~-?7e7SHxeB+mamYScae#+k* z1Yz|z(FZt+u3X(kCphFC2i|gim4IZ0Z>^;#qFH{O_ydH>z8|MgwBF|rF?HG!Bwl0! z^nSRyI|pK4Q8wZ5v=#0l{AV{&>f1mATVy#qjw|0t6YE3USKzH} zu*P8KZpzdUkm0hZ&BEn%Cu^sRLw{JHM5waEevI{n_wr1d!}evRx`B&jUpTF&*Z3si zE-0gx(Or`oAW9v0a3yag_}xSwEkOHaJI|D?zN}OIWn6di^x*YSf9A$Q)t0 zWmQ0<`6H7xw(Wtb#X-sK*`sQ(3(F(Jz0<=p(3|g4keLsvOaH_*MwCA71kJnVDwIl3 zIZ=~k+pF9u4N5Bb9}@|exXbLM{E{|I-XSbwSM@xXNpfMGdDlQQL9rO4+zihVr0erK zZ@Vt|@Y|DBQEb3TmJK1TmLuKGNaZo*b*_Raia zmPNX;9E6Ww#E(Eysg}aa>ZG+yQ`=wnV(hv0;FS%$-&IH`yFyjuIKIa@EV=Pweczym z8cC2CD*cxradYA>*;bmgO-EEV+%jwP@;&6K`XzZ0Rwnl#fO<0c|4C_mF5He9Rc|RT zVD|J_Y_stCUnPP5MLzo=~gObe;J}>Gl#X@Dl4aaG}9raVO zJQOM})x9IAjCPsbyW?D|P1bpdw)E%jh=GWXk*dw(`VC`9L5^z4(5I&s=LYwB^g)Kh z9?YtGrnI*N!=7bc&^R4ZDkOWx1a=k% zR-FnmYyNtFhRUpH91_m=SO|r8wjSL_fCx|3;;#QM5nbqP6OcRk&j$77H9b#XLFTq& zEc%?FDbS5JmjV*jR|en+|HhV-LY3@NamqR`#d!97&ensU1nT{IX*N#Fj0y5g_=hk~ zon6TQFUfQ?#NC)XbGh$N4fR&2V?&g)jy4oEai{~QuOkgG~eK2qb`!6xO@HM!0e4=E3TZk1KDQFZ_XotTfGp zh1_*xwE9z#(jVHYl`UG(u<>%|k5@XgOXG|j{G>b`Cf7wL`s?=UM%PIQiPjsKAwg_e zT%l9?YTC$?nc7lk=v6V-qfl(I{Oe08gkWgA31&vBn#U&mEfCPA?_b5O2Q1izwrUPb zVJbYI*4ldFyvUgWHb$re-&?HQ{IUox9A_;J*w%4_#KUW(r)(>tVbesBzcySMy=H#` zG&}_Bu61hZZ`yAY6a1Ag2bxt7aK*|(uvW>s<3VJJ-+Vb9$A^j!avC#dyn2_0;fld^ zl@XE!6Eb!JEm4Z|{3E=Tj?TVR6@~>ux&mG{H)q2gG;MN6JhklJpY$)Z3mf=5q-~wK z>8N-5x7Sh27xRV6-H<68gt`4Zcrr{grNtaIb#*lwco`e8y*42W@rh_z+(#&Wt>2*j zDUAW_s)qe(;i{V82&KH5L!C^z4;G$zO0H37PIBzCwF1g-s|b>y9PN+4c8=U1ImB7)f!2>*4!Y_}f>YN2`!vzriWubr@t!oyyi`LYedbXi2d10O>H%3{S}p0Ts7EQj zyXhr5zUFH;_!ZNyu9F^N;K>hqQk(fGHjfR(d+4Z#KfYHG5O5T$5y%w9X`H4^*mm<82Ag1Gkyg6Rb9~}6_j}}@pPLr6+}m)WcZNeIgeUXGY2z<$Y*dU=MLmGOw*G-NAV+;qEi4^7XW_- zg&16*WMkd6sH3gBs**1+FDkhV7@5!-RGA1UY=Q@*!r!vN$enTq6c2$xCEF;-Roc zY*?Dzr|PTGTP&2(2%0b=jnhmfOSd6 z0JXCKl1&Ji|J<7%YX8ZFRCwM8u`tcITHTO0oP}pAzSrgJ7do)!|5hv>nWoXKK>dO2 zi)iWS?Ani%@r6&`@doQ4?XhzusV0>)-dMD|(3n1Ji;C=*J)P+Zp- z?o#aS!4~TJ7f2b1*KyyIV*nR4>%DB68%`QKb{X3A%Uz(mP+p)uB)jm#AbE+Jj?~Twl zW@&mQq1Q3yme8%WuL#GK&#k$KhkDSiv(JtJNp;1NfM*FgFi%h-1^*x^M}ME%wv4p! zB_!NVo>x!Rb$huj^LkuXZhX~xnz-S z+9511pp}E)p9p0!3H*g`T}#q!vH5-&IMD!KJQ+j!!DHx3$PB8B0A;dUmedU{)$x1x zKNF{=I70bi@eUUHTHGMf)7whd@o2##_X*|G`How1Za$?kc9Iy1xkABF(W(3_9swr;td$-E;u7hF$P{`OvOqVg*8 zv3KAKw&J>^sU-rZ$4bM!(rzVMP<$lp*z)j16+BgQ|Cx!2uF3-Y4!Jn=>K-PGA5%qB z4zc=)$BtpwKz=Lkuv9JaTad>54Bz&*i?-=?&ajywv70@QFxMgENTEHQ z?NDBEBGcpkL`1x^Ve{PrYaC~{2S*l{QZR@dfp2*-&Fz@spB-r%D|K&fk~pnA!k-lf zSeSSgm4<#TW&>`|{dawMVeMRZW_%u#|4IpH;IyQr?3zsUjSVVj!ojkH`)s@S>~LWGDCw5pbJyci~Ta zH4PV(3L_Jga&i*#zJKKH3WZe)$%Vl;EYBxmRV{m-3?Vi;{2(<)M5lENuhzC+->!|^ z2XLP9%;YOY4vDFmqP)TjwrMF|pg>`^DCRyk*+8(c6%4oXV=%1%N9R9SOBOy?le+>P zr;u+P7JFsRqq=K02l_gRCXGG}!rJmorFM(5Vi^d?K_nBO{mx8iiNF41px^tSKXm?6 z`=Kdi^OdikGb%`m`A9vSCzpioN!vWnzkJVsM9vSaC{OlgYHr)AQr50 z_(FXrHs2`G&s9cr-Q+c6gPkOSl0pAG>{CCh47>PlhlqcK$Cg80D_69uUN_&t zP_G()W{w4+9pY#)KI{@e_08aaZ{G9~B3_fvkSvHrIRGJxn+f z_~~Kc0}uHWIFt8?8TQhU^go-G{gWsJ*ctxUPy8229=$OAuM+>GhU?W+hq8+{E{gdg zhFf4U(heK!DXwQ?S6!C26C?2ZPGxnH8TsrUORDk0Xi~c1qJ&m8@5lSz2ycy(-3cD( zVG4Kj-BH4>)%ty`W#yPpyU*U++dodrz=@i6cUpP#*h!mFjkF-{_UX;ZNTZHq>hGo_ zK9DX-_f&0&TZ9f?p+RYD?)`3^ZVEpbxt{M zR*Qo6trz=ch3-8k37c3kXc7sR@}^4@q;7WZ`5syN!5#DXCkTRpez>DZPlXqdzFAC( z5{zv++@5=@8Jf#U*nE{zTIah@(m=Fz;(Lo@ky1>`2Wo+}i;ffss5&6AC5sKVjj2iU0!e>O41J*?iXIBo*th~ zlrsH|TAQn4za}TY9}7sNY6?)35Zk0qdArENyF1I!f}N?2^}pQOT@UrxzJ5H;G>)}- z*L2xmZ8u2~K4)%VYW=q>gy8v7G5kW~K(}2r-PFO$J>Anwi0`A!Z+ynY+#W25;mWmK z(EK~fyU0aE^kviKqlB5~6yxgjIQ&fa*XYVyGL@Mh&D&5=d|PkQ#iqyJM9;vf+l6iU zFJew}LOg}eietVPqKPO1Q$0L-3fr0U&#Z8@=bK>(a>=v{;`?EF!0-}Lvr~fP@C-zQ zW9IUO+?~B{Bt}}ZrptM`_lWK12aj<@pK;Cpj0f4gRjPL5mwK!ljTYVC#B-L_YUg_t zh(fTOa57^-Z?9W&TS`GW?VkH(^_mgBz>u8gFBECF3)S&yQsvPLhqR4}#@wri>nO+g){ zY@vbO{=DS2Ab04k`=}$?)o~JQ&S{nxTOcvAhV9NdIs2CYV>g*Q;6rAe=g%}w3mj`^ z$)3TPVo($xK(S7=m2k(!}OYfiRi3FR3?vyetbzufk#TZd2@T%3~@~b z4?`j}6{4fWQC6-rHt22M9t>rcG{vA*1WQEYH69OHzv3eSX=|EGOjAyCnpJ_8PS#>C3tqdaU8!8M%=2tJn&q!IIaBbIGu4@ z`=qV9CW=r;mi(-G5LnH|{<-g86-p;Bvs0O0Fk2BHU9obO&3)q}a{dvx5`zt2r8cgf zwEN{B)pgI}2+2P(zgwkI{+0KrKe)9yYWxBm#Vgn|(`V?_#vVGgI~ZJK;niPcO7pGe zbBGM#_%Rz%+d@Isa8vwh4@SaVm@|hI2*@Pp6e`g5>o^(2h>}xOI~WEy4~O7ow@TA%XmNK&$=sBY&tqtHOnp7 z6sDixs2Oq|t^&8TTV{u9bIOXzrmdA<4 z%O$|cukN0o>J*^wxalW1%X#tBOIl}qizf?Jdza2c^LT*c{Z0Z#6>Z?oSI5i}wf*TW zyyovQ+U(N%bQK|IMdxR}%{Da~{3V9Jc6jL~51Cwc);GzETlVnh^Mz^-G~geXL}^^= z?!>%&y)=6DBzeZ`CEwg57TovYv0cl&M%-GteU}g~9-_1BDnFO#lgrm4>o=Ew_#~nk z$RYd<-xjHu+~L-&wox!;$5V81n`9BLHv2RO?MU4TBHO{N5&%E%? ziq=6bfr4Be8K)g6mE#>&yA5Rx#|OAq<(g}S%9Dr%5U<<#t(IDqsLSq9NA~UAssOxJ zKoxLz{D0&~5T>QQ<*d6Yc%h-VMaWTEY^aKu=Lxg=Q+@Ia(PSNG|HrF>r590ia8WF1 zxb7!4J38q)?I=+Ze-s`$=_QIkaX(}NmSU2U{4MX1p`{FktTr6-dM-_PLj@=AtJHa* z{L{0F3l>*_Ll9m1yYe>@e(e3m?0u*w_U-2qsX{%V)S4u&f^V&Mj2-0;#J%<=q)gAn zQ#Z8bqN9VzF0wmGiP9ZCXIa?!lJ^#h4O`z@zT;7H{oCs7S$?IkZy5}IT*#dAeWv>H zdY(L~@&Z>-Md_L#_-yT5BZgUTvHUFt;dJ)X?*2=IkX;T#GTR-LT^?fY#y2<17<-ovrLuK!|Y@afFNU~-qc=TO6wd$Zx$aTx8 z&5VoHC22CckV6dKv(?1yyzM(p`Fl2jHaQQI6$l&>sI$JCHXQW6-KkgS7U4VKI6i6k z`$;t6M*>y{gGN#@@d`erC@hXCXt;xoyfqGb&AhCbfUV2qU@;(Ct7)=S@gikbJWA4Z7!XUUzfn8`H3W*dC;7B|=EAqm+^-QbaiHkm|!{_{)aH z`(1I&?_hKt&X4MXrDkCydwZnp-VLq8xq;bBl@;as>6!$k4(Up7{~B=1tTlaC)IQPZ zFeq^AcY+(V`}otC(;Px*#Qe8^k6rREM z_Dvvy-OfAPmvDQYl;tAAk7;a$!y2R`>bVjgw0U==^@gW=ncj(8l^vga;Z|vbdsjs# zD{KNzx?S94b~DgZG`@OYI_*mS&xP{x`I>VByvDvN#@YgM?&VNk@$uy}-JF#?7Q0E| zvG1U`89BkdNOhfo)kGzm5vKG{LaE78xl!oMbb~aitN~7=QWLSo)~cGZyXF?dn&|@` zb9yG512XJ@Y$1fAQ!vr>}6+O`HWn<9FWne(d& zKfo_s%)MN`TSaHx56zoek#IMwhseqpFH9#COBDv~f-7|`%iL?{tDqK(#XLbtQ0PAH zEhULe;d8njI;MawjCTWiiQ;;RoV#45elyv(uGvf-L_uO$+`8SVwTBX>&sRROIzznk z=3$@t3icN+$_$GcXY!O!hn_3zh@U=}?6_Oqce<`~qB{FNlhW3sv(lHiEjh0}~_vfXr~i>w{3Fc)d2;SG$^bMDcE&&Rh_t^|Rph>8mN+;tM`Vdl+xmRWX>%Oo9yXqB^OYB1)TPdv?#3vX0)2Dn#&ymh zt^LfRs>?^-xQ~zyY&bFXx#t$2JaxJ7Omdd!{XH!6g`^%V)Rbi3bj95^YS;9~%YUq= z7~8bYcL-yCMb7t=>zekh%vC!yQ6mw3Ir8>2UbEQT2W{$T6VTB(Jbk-sma@}y#9JpG zKNlsLHr(6^BIMKE`^v*(wC*&XWah&ch!q$~*jq1Rl2=WYSyBr6YO!_U{n7^iFCkND z;f~8+jQE{sH=l7v9_{}AKEqW-Zx5Sz-rt#XS?s!|oCYd|Ae(Er9{xOWvY~qJkMXVN z&E5ILy5rwfoZ%K$OF20^l2J8%*L&lW0iDsE!TxlI5Z;_WVjU(A*mPglN!2RwfJZ2J%B7r@wAIpEFmm~Y* z?QmZp-}d$(FUAsq18v*R`JRI2z&W3jW&Xv~UKCGytzSCh_Sd71$enMu8`Qob73n_8 zKS8jIqu8ykpg&lv|6(yVY4>rgDB(eo70DBBH#SrhTuevd@mL#NACw49Hq!S8<-5vZ zO3`=;L&cJV-Y+r#&shvazRQ$m5|UWesS=Ov+gk?(atWGPSP zjX~0ipFW0duJ5j8!Tu$iZ0`IaHpaB&y{ym*f3Nx6keJ731cdc2wL0Rxt-|rnmup9# zhAnU-ED>Xl`tXL{`#5@JgBYzpTlW@?L}CIBjlg2OCT5F}(W7lgPsdEiB zuF7=IE4mC*$)+#d^_1z;rlX7D%4v7objayxo_H8;SwHEz5K?w%cLJ{B@T@>PY6 zE}?9PV>!OQAwHIWXHMI&4=woU|M~Olw~UnYQ@>`1J#NVMRZ1tK``>>JqifAIyPiKB zUkrqrO=%VuF$tqG;FF|zS2i)#KiA_{v{z<`>R?qnr}!62a@#mH7U*|@TOP(~zJ0B@ z#OqTBV0y0!+`{H;CvPMn29fvL&dU!fTqu5{ZoB)rPRE0l0}RhlzU#x*h_+VA+ERO> z&+cH<&!QiwsVFa^1`?SjI?(T44HKfEP82Rlp_ARyYx6l5YnOphx~YVCz5O zqW=*X^!19g{%DnIw8?&TJDjc}kHxTy9)Pz|{zBIW#1a|3rO3SO{DFW)`@#zFDN6f` z--<+R8>lJl+ZGT9`lU=@B*_W?KJKnwIec@k#bd+YhFDTxZq=r3R0E3pQGfdE{WTVV zpvn9H!av?=0yGK$F-3Km2dpYr~|LTXix8dcO67OyuC<$>L>JH@as>{|6e4~-^d#%43OlqS9(*|f#A4s z=)c1V%&9fMT+R}+9P~DlNi7=|VXS1in7sw*n8|p}XouWr=R*6DtDWq}Z8z9m3q_is zkv%O?eNX~2pyj71pG?d##r;DlpPg~e&ao&as(eZ7GDDrCpYP|cwxxBN~+AgdYr%2+#h zdJ#7_em)9wkJx%Q+pQ)Zx8jf~Q^CrN${@uGt+7Q{2b8k;JM=uRWKX-U#s_Rq`}lj; zeA7;0RB6kvwEe7&eM_?t7g=uG0a~+@9S*0WEhUX*-^l6dFA5&Itdxh@XA#Bv-WNZT zjp>XIa2=PBEh6U?qdu#yjKys@Q!utH{o!L2-n!1ez2Vp;Wd!Z#q=m{?mk*6yYB1hIEA##IYJ*9FcGjEr*4jQ&WHE5jV^ygdnddFV$ z=v9GxY@(S(_H8BuB@;yo_N9FZRIYIPHbK+3%D$ghiIO^HxURj*A~5XI!h0i5u;mNDN1aS^uccaG)!|Lu zpJWTpj2lXgz8#W7_GYA5&T0|Myz-dR*1+gwS;a=i}jK>IWu=U;W3eQW~eN9BnQW5!@{r16u(<$uZcQFUDWJzfXf z@_ndro?%jry#BV+OAb3R!cg<0D*u#0(KDLOWJc$H)k4w~@B6u3ei*662iO8lC8lU4@6WS8 zUzes6)?VkwLL#RzO&6{!Sd*<+mr`&`P8BLsqa%0@k#IUQe`rE(fjES=$OG3ntsw8m zGk3FFT>Y$}Y|nUV*rI1maDVpZxiX~WhYjVb&rS|?-qBQJqEaA>1-+5AWHxIvt5_;n zli=!E3Z>@zn>g(vQj9_x65W;7gpab?j`JlNTkqx&C87t_q^4R|L!Ut*_9ePtYwkw- z6uzXKwqzE5;LrU+KAxpHr&MW>S<8=`u)?sVJ#nshx5td0)*~9m7UJH>p;c#mI(_{t z+S}BElCNUB>gmUgRv`8X*n+TG&q<3Sh(%~LDQ?GbNnZa?c9K4xN^XY~5i>2zr*K`I z+=``yv~I}H3Hir?kABg8p&BY$q&3>fb{Vf+Z0&Uyz$_HD_fW-M)_d|=V6sMZw7csn z*P}n_BB?grjOpnhpmt{L_Fwx~kuw$o2;^-LYH_t2OO8>Lh<TEXL{`ZqXnIR z$u*)0g&6RH$8?6aq)julOi2iSe|HSbgc9L-?8&& zeQ8r#Y^VOXuqsOw-!hH1d3LtUf2R3Yo638A!|@#g-*?6#Ss{BHs2<@9!H;4=pNc6X za9_?96b^7SyvfHsdtM0z6^hsq7v2bG2N0TaC^~E5@6cVSg+s7&NIbs|#7h%+oA&Iz zD&Btyu8iJCm8%pvQ!t{R$Nxuv5MUVt`>|(E>{Zg7_1LV)u+$?<6;A&m?fS197zc%m zIvE+3^2_l~TsVfSAvX*aXJ@jl3UG((-A~4EK%b*@1J&FODyNKjwbgTNeq>A1ubiy2 zcr&PS8`HfldybR3Wm4p<;IbN#UcjogdsM6pci@Rs{uwP`z|W|e!%f*@W-HCja6;=a zK_q81I(%yyWG2nBoQ>Eyd*Ko9W*P z*%Ru?&V32M8*Y5FFFWq9y87C-RUiA^K**u|*0yspuZNlSE#YS2;rxuk3wP6o>YX<2dTzt(B!nz2ywS%(9C=%?2BWWKS zkrE|-bYq{riJ$(xsyp?Am_IvIgF>J6Q%!97H^$&WKvc^BZv$DXH!xJ=^RnC{n8S3c z+JW1PPh#*gBXgX0a<5Rb{6mq3dl}`yamqz~pfChKmU>X$Lf-q|#omm)V_R zd!2SK7CQoLDi9FhX?EQF2hJyPBfmbGyy`!I3>yPi+%vIBV!h{byylca#j&PqHz<0a z7acrIHXTaPJ=*b||9QGJY&xtP5B%y;}zPdQ~h&AR`YSbj?4gwiAM z7rleFJ0zE~NBv;-#QomxedQ4HAs;^&J5C;yw6y%<7%m8o0gwJ{*G|E9G1|nF(YpWp zJEGg=Z;0cTrFG8;rf&X-Pdy;VsMg+C4Oj!PtDq$dd0B7Yvo+#<=Kf3EMAxm_i~LNgqqp7PZ#a>*I4dshr{V-9Gp0}E*7@_u7m--&{cRHXSD9N1IqX&! zTw~z4UOAh$5(1`JW0$=GPS2gkV(#jj%8B}#BxhdTafm;6#7N4qp(88Mj9VQx6v?iP z{ZWixUy)MoU8a48&p@(}gFoOg36PYIVzJF@L;bi5U`JEu$f@}Y#yva6_= zm)?%PrcUO>69?5hm}gp;^+-n`(lMoC>biDDJw`ytu)C0PQ?qYRoT~6rZ^i`KuW>(E zt*FN3M{JTrZSU@UAhos_-ZRtokW|vLYndyJdBT0{LR!J3rud9|Py3PGy!-+0YqqXG z_cMp1mMK5)b;Gzzy4Ste^sjord|Pt%ha*wr2av*`t$3!1X2l=lY9O0tgb3vJ!sqJy zdD!)ar&Gx2?Tib8XtTxaOghJzsD0I*-e_)YPP}|xquAX$oKQ22lL=;=roYPi`N+F` zvP!2iBx<1|U5o*79o1y7Zv7>BFyRAFoliBliI-k?Dy7%_%qYgbFyKjiD9ZMcYq)bB zFmE)z1-pR-^%UfBUNn@XG#&C1fD)U!C-CG(eV_9WY+vZpI_bh4jGuYoYsIRjv`DG zc4|VAR`AjNcJ}ocQ)Z5-E*FN~q=^KMxj&m@-QJn^>G4s^_OR@)^00%OS+vuI1Fc-5 z3n*hrLRe^6<`fsdxbA!>2K%-*8zmS~x$h%=x=3vCw>DaCeCBfu6GA75UbitaWlxK0s6W)68NB5LU8GTvY)F#V#S+Yy*7$ue80>qH`}IjSMotDg_++#pWr&ueVn8q zW#0DpLKN$>wxWzQH7j0)<77TP(a`EmQ!BL<)+IB~ADpp@rb#CcTbuE_uK5$pu~b|4 z*3%wZhinm72y$2y53;8m*x12)!#k}6r==6!om#(F!Cpj73i zmVmG=X=PTb&D)Ol3~(G>%Fj8-*J#>cj-h{j5SA%Nr>cMw(=grJvJW-%GLjL}b*djF zJ!n zUJX^3Bpp~gQDNEH8A_i>$)!j;3p$fLdnBhhIyc_scH?F3<5gCd z!I~=)PaV6d{Mf;F5AuvCaX~c&f=h0YOCIvDn5HHsPuJmd(NYesAOk2+(>8FxwlRaVf2?Nl?n}mwaG%wG-N( zex)vu@;Z}gSQ+%x!gc zm?NW^ESiGZ@b79IqtO)G-@JyH-GMtK;U)mG?E6`F9xP?vD$=LB(;_HH9@8c)e$2C`~&wp=j*Sopc~k6Q-j35|DGu*XmSSI0q&J-mOnN#c*JN;i8V*3 zC%UoW_atT<80aoEMATdJ*U(1e5!VM#rCv_`Wy!&iPHExH2lJB}BPtT6blK63pKh=9 z(X7x26w@9&6l0`^;vN_eilAuZ>&t*IX)QLT1KU({)Pb|bcGOFEdCYPSPHdiU3TfeA zKEdsNHNfdhMhrtaF@J3f+omdkRpD1uoD$7ia8yT4t*e2TI;KgmPjo||^isy4NY6bZ zMlZp&#<`7$wTTkml|-Oyszb_U^Xbn&1+p2WIo$ci{cnA1@P1sm@%&BCiT%i19OD8Y zEZumZOs_~YXZNLup50MWLbb?69GTv2w%#&e{=fE?=pn54i=#w$fU(CMQbgeEUQGDr z%%4Q>C=O(5YGI=MeP;W!qh{d~a=~iULl4x)clZB11fzDQ2Qe)!(IK?kz@aiX_fDu9` zQLnG>l}Lg5^zL@7D79F;9FqI+72_-E!C{_gekrd#awAbHI=cvt90e$tr1*n<)7fCRTJBn~2n#QY@u)X~T z_x-)jnH_QqiVz_Q@Hxx^4}?D zlGD-fxXUL@ISQN(mPjzfR|}Vix_GJX0YfVU~DKv%Rr043gPz32Nl) z+u~yB?t?E~VAZrT)-hv(p!7lW7;V0@RR9h6GM6&gKeTRJ6QRR>7AVhS4Le-$E#P$= z7u$y&Qk_^Sdmj@P9_fR@=k2Dd$!Vz5A(olFHGy>#zr6Tv`KD~A#bdhFMrpi;A!6Zz z4w#D~+NZg`D$!G}qm9_tQDly^?+dwM=>rY-Cv<#U74k*vYWd>90-R2J9ZY+@>1>z0 z2$(HE?oEC;rhcK37n8%U+5ctEwLuNB605_i|6Qcdw=J>TfI$eLKYWpn@qMZmYVgc9 z<69lV*FCbU8TjQ3jF_Cs{jy44y61wN84#B@^+rlQ29ttJ+4+x6hATBeEeuKl4mk=| z-_UX^-T4MKRYC1HR$uGUx+e)EYQ9!Gi^aQZYseV#uVtqrT?3n=OM8zn$RaM0MXawpn*V)W(|>Dhbk-c9%aN9XF2pLU%CKTTL&qC||*HwNP%=vCpn7 zB4gQLbjp#}N-?1{QC&mm0VU=HS369^Hr&!T1AM%As<)^+J_B|Na%| z$FvS6t*VJ;%Z{MgL*!KaNVFbSMDk$a??2lhJ&M)iuk55(=SmjL5>aT8jw%9iU!uI2 z)D~O;{9>mfMHE4MR%$LBk})s8T_Oz`D&O0u+2JIqVSs*$CP~+hYhdsS<#eSrUhktH zu2hZmj@du`sw{MoFrm}lRb|#;nw-AwFjbEl<6na7AvJ9n*XY_ZQ{&w*5s>z_VgEBs zR^n1WIxNd^+A))TES=2LKVv?fPY?qDaAe!2TQZ}EiYOTDOrn7-+!!4}AFjpAm!&l! zTbJJIByA1XG`!q~7#vO3UzE0HnGKJ;mqXKs7hlxEk(-|aXFs;$?rt8^#K(O^n)s<) z{#x4N8d?eMHU^$V%O3PhBH0P74rlcxE@8>%bO3NO(3KgowWV+S+g!dtlP-?3>*L7H zfdWY3k}b*jT&aCPz=iuvRDlQ0rUOmHm{HBPWh-p$%}&b9`&UQWU-*166pvX14BnVz z&KhuRL>|-px(XatkMVXGXu}-e@9+w5x3ri~wVmsAG{jkCUbWFk?`62oD(rbRnhK@c zDj@n@S;?n``{|y?SGP&8(2+};^#D0y3ReA1$)Q^8m4(|@_@QIcJ^}QvA|=bmyLQGg z#;Bh+$x@cYGt>r`l(zDj65u+$$h8ceo@U}yN^}$W+={}J#!RHb$Qm*SD)f0lySeOl zORc{;QT#-gHT8f_!B%6ZE}f2P>0^&t=xiIuCB1L&~D-wifL%&w^Mu1AKJX zvbPqpjNtAMHAXX@mt7P7#3FU+EeKOK&>77fRrY>!Y=l`p#Yr|gqJp5>7B2OXDEQ|{ zqjK81$DYwLNP_@Q4cZ%Ak_^-q29d>q66*@G zoT10|yrc6bUM2$EeZ&TQB-ihX(tNIL@vOBL#gD9YoY%o7C*DE3*3b-63p_(ei(K1C z`Q9DMK076>2@1MDupXFb`)FxnfmY5=boz8qy-~2a^uUJqTzXv8NH#w+WASg|RYeSD zuOZW@azbj@tFaU4%IW?uUzLiJH(_*kR&P(eMKE|9w;FLQ*jWb;kv0P*F5*98c?(}V zpUNil3y9hKVHENRNYr_-SVx{>|6QgqJsO*#KzFx$m5biEn(hCa(u_-ZiNt|n3{zuE zT?mVhIfuu4L#$aG`EyzXSWKi878M^UZ#;@Z(JPZX0p^$T5J;RhK zm68`i+n+)n%8@ksz<)gf)c^DZ^k$Hr!NW!SKj0zP8z?oVWz03FSqv~plD29tt9s;B zEI7PP9UBLAROxtZp>%{o8Us@zlzc)xV)pp|8D<{~&WU6K9-!xhBFRuw)Kho!((HzD zD+?X%6W;5%uN3$#Xd31;&WbYLk%T)lqu*6DxBW~dL)Qt6hi#W`2!eQ#l@sm*Vj~nF zS54r6$R+q9@Te28Kd*c0Gx6xSMk28GX@Z^fxRo@OMYg>^^BQ?=Bx-S$Av_R_8tNUT zQa{9FZ!X!coRB}{H?G_hN+=XRED-^OI_9};!rucif=x$~$w3U6$`nYvrt0~2BYZaq zYhdi@h;edeNos$3=KRWr+*1i?Lt&BTn4+rbGkVR8c8{V5LqFM4Oyha$RcT$F5I>*0 z1G3E2Xs3v&*J*2@bZh%Lzn$OF*6`C@R#VK>LFx9{mKm*_WF+h0_c2(SS(0Yvwy{&a zDiEz;oyVlNl<>9LACCIV6TRKJI^a&aZg3`G(A(=VIM(Q$4q9dNy({7c5`H&oP5{Yc z=(lvih0`t7%ES|7vtCF8!JNC*B?+W89v!bVsI&9#u;&L3|8uJh*Bc7pVX}Mt`Vkr9 z;Yzu%kv5sFEs9%5QBBMtZQL6V28cpsnoN=!xW%S|&&i!)pY-#sWW(bVt zJ41^Pi}l_~VLePm#_WKcX#ckEsE@RywUA|oMiV#pfSQl(`BgH6ue?>yy8IIM3J zL}U&>6K&g0TfcK3$+>+CPssFfHPQ>+7><2rip`;Vrr@f=@0d>7JXhLhSPrh-f1zWm zzwfkTD-Mme{>xgB{(8OgkHe{l1N7Vqg2+J4Cv6m*fQrgEgpT)c4~bbi{vEe*Aeaz2 zJ7A4*sJbR)fmKCsDGK^@wD?#-3-@o1ikOy(1(tZlEaPj;t0FWU`f1MbYsN$H1RzsH z!CJ^JtIFk%emLOUrw`(*oI^3o;S`a7d7LVb>zX{}r+f8t)0H%9o>54qm(Xr=qWX9T z%RU)^l!=b)7uL1Td^$&(;smmPV+MTT3GP3bd>|GLMp5)~2Y}s`P>Z}mXb>(<7Y!@u zXck3ed^0}V&!5zbB$OK?zRj>${HXaF4`dX6Zc<@L{i*1RN104!ZVK+*&~4imR5#Jk zF|=Q883<+Be_2ktF6bygdNoLw0o!LSc)Y!6OmX| z%dj^OGd>Fr)sMDDws1``gTn$az)BIX+<655wYUivDvlMwfXNk#zii2vh~ws!5uD9`{QKH=SrM1ql?-AOkVh%5z?TyT@8B5ZILOxz5 z#nf9eS{H{af^B6g=-sW~^e_rgMb`X3yuEc)o88woSU0SNhvHD6MTBjIVNeYoj+luXMSP{Qny12nn zU|@i#@!22|_3Vyd{#_JseaQp+Ze^bX(l%fe_+VmTA71AE=fZXZos&8&&J5zxOkcbGY2RVv_4U=>8X&S9f3E_k~e`%`a&Fc=%X-D%fFYH3&=OgC6 zyip-Ta=uUUvFbX02{uj~B$YtMor8V)P0U%<>|&c&HXb{MbGB0tDa3LEX_rnW`?N`^ zNf*=U^55pnDCI}V$B%f}6UH!`**e!de{`K}cHH50coIFl6uk%@sc?3vqkY~w29V)< zYZoqlC&HFd58X0IpGR3?COoOv+k$Ne^AR@^7&7gue3`FnT*0U&Mm_;QN+5}s$ru98^ZHDq~+mN=A<6MY>Gb{4QnPpT> z7++~*52x=67ndf31A&%B;so9?ws2}=0jQKqlpu;etN>>#Zm`xtuFiM;Ck7GCypf+HHRSdVb9_c%! zzwYn5rry^p7&sZs6gNhGFZ0BTWtW3RYkA!UTTSG7f)6ZlkNpkT_W)V@TkpT{SOK!S zN$|+jrwt#N;|fBU@c)Fj)>#!cJn(*8Y4?!E*XDgy+tDv>ZuPS}Umiw>!MCc?Foj6L zrO1!3Jz{>6vf%xVgdAB&k)-%%wit6T; zrN{>-Z9Z4slr~0a20Kap#qdvMBpfzz1tjAmt-AyVE>0Xir(XR${nXFF7q!#3vvT7( z*quHb)8qu7gSJ$QEMD_v4aLS-hJG@n|Kbd<-fI5kCLVM|_0{DDO004^Eao6YIAm%W zBfkB`@23A~x;D+4&5*pUF^86Yet??t^3f~Lxk4q5^MpM?wlK+1oWCWk>lKU+nG;)2 zdg{4Hmf^n}@@M^B1Gkh!dFOG5?Xo&XB)L#&~Z>R32jvQYOe$4lTO)2)yJ72Y<=zw4Xdq_OEQS9^X1w4 zer@WSSo|G;1aIXw_U-07)gKzW7ogThY|HF@Eof3_%j+b?v4h1kjrG-O4DT%YQr#9{xi=7hqYc^4yy&f!gtk6pp6C%-S>pqpF!DX?bEN? zDALZqLJAR1h_-YGyJT(inUT4wvAjtUm-8sLTJa}EK-n1(Q;Fxw*1kczs*;!FmpP_s z)T3jbCj_3~me2J8#zdP(O5~55Jizir&$&78i>qmYT{SxSsGo)Y#&jA<#)+i^T~Ku5 zxMQm}DP?p${wVUS+h^jdrEy|@BJnySa`?bkL50w@l*n=lE@D)X_vY~i>M;SP8CBuL zk;f!wlp3WjX*?^^zgy^308E25V#wri*YJSXrl$?i{L6xX%?R-hn!O;Y9z9?-ak)w! z?drV($Lz6SJM@;3KI&g*{oU(RVR$82bZQQKu*z2n`8}UW!GsmU}492 z?I2hzzZmnV>r;bsrADnM5E;;ib<#Ef1Ovmst4MFP@uxk-k~1Ed)gi4LDuc_AazH*C zwF_I$hbytPe0M*&04bLD=^2=vF`eyF4Lb#Xs4j)CjGhEUf4FglxEbhO0UV;KEh7r? zMn}8W&51Qd!>`N!LprztS;zI8f*C0NT#;LHyLkzsa)vWMm@o(wxj!iz*6R7BvmB`B z2TY@^o(7FuWC(e2`L`ZL;lo^E^u3~uuF?S-c=qgTBg3bhUXFv4zJ|dxFdR1&ucRueA%B9ED0-K>HKce z0au?$e~Q_CR<6R5;1bh3p=kiVR1rxFK4Y29Yy0B%$A%V!PmQ02n;-%kP~twCXve#2 zb`@-7{oS8fv#xT(U)O7kAQyB4(Y)jNFfO|-+n-z-d*o-^JKte!wfH@Hg`89Ye!<1> z7U^2BQR{alKH~^#ol{J~-2Ul7OY8IE7qzvFl67y++_J;SSE}b1EIh|Ov;3Wcu*ZVG zrsVqK3j+&^hGWj%0c4xf>>!6=Ch9>i#5*snCwuH`(7n|67fW3!B%-kd9g{F`Wm8-B z3aw}1`d)0NQ>}8MYO~r~`=4so-C2*K61uc-c)Q#Z6wrQE`R}G!1567-(jI#g7B@Hs znm>LTw9nNK^SFWPEqJJs1)E503qrAU$J}++gd)mux;z8qphN_+eZbC#}>=DvQN%9_nKfu5=Q*1i74(&A?E0qREeQWNaE^K-V8oY}eD_u2m@0UEF#f?Gdz zW*pu4vI?qS#iJvIOkaJT-L3QTS5Eba)tY{qb{K*2% z(y%FTf8M|3{GaY#+1bm#SMqK+o4So4Y@I86QesMH4Y4mMnpl(n)*z{q!n?hY(|O#} z>r(CY5mZL9Bhmw)0waMmOgyE`;o4C$(G7VIknORYZvBJAb&7;l_d;%X4AhV%(B3b& zK@q_}jaI6{DVtf^qXn)+&u)F-OZkj=n~*Cz$7KS%@q;rNSCl^UbQPUMB&=~OcpB=E z`@_khvi9pyE$b2UtzjFGpih6uU$W^f8O6WV;=k|z2kOT|{uk6g{ogYz>D$#-=Fb5C z4_Qm3$L+LJ_y;nU+t!{G=)qo~KV=Up6x#FrO#qrF78biWTH_3=&mbrRtEEK)!@LzL z47{77=k*Q9?`Qjh7gb%AwL9{s^oDA4P=^JGgAHwQ_(8NQ&a^5?R~V94G7uA=4r~kc z!phD3-0Hr)r^ZS@bZ92!+s_unH(b4woq%cfOMr9W>@BS9WyHR1Wxqso$VaTV9(}s@ z7Hxt54R3svOs2C-dom$0gd==(#Jm%tQ5zr6vY#WCP;La(YOI4_h4B@<4m%tvO#xG? z4%7zP&9@ZEGMgA%@8^OTU-iFZ<3WkUxXl$QI|lwI?T_Z?vs4+`tBjFeE)zXn`>yfZ zoeY09ud=Z>ziw8|(*wMA=;#A|%fUEX@jxW_^`y5HjktA1tejNZwP~3&^_fgly6igD`&>qFjeCyx*?X6w`(ZuTEyp~WHxt0A&t#4= zzv1-(*Rfy2|4IzYo|O}RG=c{f<@MA1fS$ATU(g!K7pwm^Zl5Z09E3~~GSB|dL}Cjp_L_Vbw-M+L_-b2}ysYX5etaSR1Nm6b-mbc zqK?8Us)uAO@U(Q~%(>FNQ!?3PMfXUeo7_5;Djw*+G&3+%h_k=(uGO4o1irSJ;Q<#% zS?Ck@_PEmSLQwAU!`MZ*VBOB%3k))nYoPjxgSo^P&VTpBHksJ$A*)I)bf?2j8TEju zVp0z@{np6!ws?VN>^I@HumEz>_%^i4(8}Rj@PjjQGFd-_o*vKaW%dWlk@Teb-Z$ej zz%hMZHd(Vq+cGCO?NGvETotk*bqgkcCd`~nSiLuxB;Xrae=LN8?=`qkX5u#;G1=2X zW}nHQf9~BY@k_n(D4T+l)-aWLH&)BAy`i`qp<<0cwQ%SmoSFI?*nZ(2EGrc`HS$`) zN1pt(DM<_TXm+nmd2Fhqw!gY@nD{RH*FVN}9)2om_(yfjQ+}p4UP&?kb<{7hAhhWu7)2 zv6kEwTbE&XTmSWEy zeW{Xgpj zYpL!<5_PgX0njyP?p4|0zkZ#R3#k9N87c7d-*f2^ztm~8Vy=KwU(VfJ*o~{|zWwa4 z^fmDC|K(NX463F6hvFaUK_5r9~b-Uqj7j&fFI8c0nW-Zj*Bi z0-d-Z4cdY|EQYU%p|ctEO-dK;_1!jW9xJy%A7+JZ+TD#38SF|?S&m;dYDf##?JpAk zCb4d1E9U|yc>4Qx@gE{h3f_I8-m!@$8d4&iDvAv~rNUqHcqBPp7Emv&IQqPRiB|TR z?__9*(QJbv?d%=UOjkmQ$0Q<+Ny*V&E@4#Jg9BVW<>EXaCwVPApsroVXnP1mUU%re z;4Eu4a>%J{vwnV-_Fr6pk{{ajo8L9`db}w1N40M*_JgUiJH1^et!=?QzE$al>32@_ zcHwGwWuH#}84Rc19F4kdx_yJ2@qRvVyw3)+7KetS31W9++{=K}_TJuvSo74LF`OQB z<38o_(C1KkeJW6x{vf1syb_F`_q^N2JTs}TyU?F{pq9bFF=N}bSK8g?(#*w3o8%#3 zr`+7I>n680L(N*@rJ3hkwUUQ0`y1@=CE9XZ>KQGz`iXqmE(v&ArM5iQZVJ1BA^UrS zNQI;XvOR8mAYnMfA@ZLBcAvN88~(n`YyX5*{y6U|HFv%7h2_N)>Z2l)dk+S5CMD&% z^#Bqe4nzka%^zmJ1=0f9-NA7(8At?-5#2J~ZyaOz+(AXHUQ(zWzJs(VSozT;P`P80 zY0gMgrV&V3_5N+6>P=xoaesbxA1u@3P;d*KyZXZ|Qz-G(u8D4iaQ)w*z4!_YEuSo2 z7Q@T;AL`e=L4a;nObWr&tr{+XjlSNObU$*wjcM*Uz{}ryH{5YsSXftLvZlfC@|~ZN zdM!Z5N!^1uq{`0V#3*D-XX^vGV$s^EI?ALK4{-Iki|V|+;AZc}be|sf)zap&NOX3? z51~(wSGwLOSz5%|8ZXeTGQ`a()w)O{Y_a+`#X7*Ap^hI_t8soh9g|<{`o?iLt6&FA z`ZSnF*5Hfe9~(JbweYifx@WI5pLO*0>qt&&72j2p*kUw4vWaAdRDA~@zD)Y)EYqa_ z*Im-TQeAvXuMuT*>H(*k1t#iNlV?t@Ih;yCmNS~cE&?0csyfbtxl$D%-q-%m*R#hn zW2!Pe_9(I&2PTGIdr>JzjGZ6rla5~Ua@t(`kV1>Jp`9Ne;$?jG(QYUsKfGS;pM*KeaYvuE?D=~t^nG#=z|(h$vBDpviX;EH*v z9@qkMT}Hxnzx*SRqHUG?8~=4oo4}aNr?SZ&r;fV}@Xu@sR_@N9O`T7NJvi$M-({Ry zO`ib>YRIIm)USU>^&$3u_?+^~Szq(Ih_m`(lGlKS(T7bQ%C>WrOd&PLzsE+M>}E9m z-**CGN%jBKrvX8apMRy`{=V?vjq?AQ;B<3h>k2Ip=T5(o2yqPu{{GP$zXJ#?&G{WF z4yzIf#|AFnbo*V!6tsr$1`U5lXiFoX{H_Zxv(2AWlfZtujxy3}2*=qOc zn8$rd@~qi&A&;h&;sQh@cxZ;fbKmX?KLS;>8chg`L5{u`*oQba%bjD(!jnW6HQ29C z5$Mh1$18gu6%Nh*94 z&@1w*Z~VvHu)EwTz^VV`*(^o=b8yQ=A9Tt_+(g{tYk;$G15C$`Zl`emC^q$Vw8_<< zu6E0))TbBeE*rx@ARxVd@v)(DV}oN4q_sSgm#d+i-2{KP0hkfz0<(*RBToUP9C7B4 zT?m)UfAmE##e>%TkESlpYIiVWo7^iNnIvSIlFH;A+9zDSxh-p)%hT_y3S`Lp$9~kl ztxKO}yN24g5d|H6CTXacmWykfoqV;XGYi!=tPsYtdiVw6cK(IcEsb`oy?A=d1rRfG z+hx0#xYJX0+GneM@cle&*1g%LVj_+PKjZqvNY(N|1I#fhCBE!CJ}-Lh_c_VI(cnSV zwl+7vk*I{dWQ?mUcdYwFz6wm@9D6aNkhoFNK-Vx$WB6!yHL}snY#oa(zkD~`Sik5k z>fG49euj2L1nzHv(nX0b`c!B+)C$6{+G=0!!6@b=T9(!S_~5uGh__gX4vS9ua(Nve z@S11br}e^(vDqf>u)O+X_UH7xBV>5xbh}aGwnBznrk%0!xbO8R4;nn(d$;btpsItC zaExM=GxGMrGskJgSmS!idABw1P7h7%WTur28$4xP3TEAD13iI=II_P0WvNd8wp!8S ztDdK`TJMd>w7~-fb$>Zerm}M!Xv1NQKflNvZn0)INg!?B7VKjhz}XnKhYN9AT1E_1 zSzG?{b*Z-e$@+TG|DTuHR;?kk@UxZb#tQtez7thtbsZPCg4A-#0}qdrTOKkLYZ#V3 zq5)MrRDx@6XkDhSnd+?@mCa7C9~WNQY3;r%h=@vYoSPF0V!9k(a{B$9N`Qwi$)tcp zrB~&CEzF1Oa?B9vHex94)L+uE567ejn1e@A>p5vhg_hL5H$4ba*8RuQdd_f>2-;_%tdY^ zx6@5wGu;WT&Lzj92n->bf65cA-T<4)69v8T%uY+ z*d%hg=_9#?>^y(L*fO(-#8J6PW&^fOu2w#`RZepTIYv~n`gES93+aGoJvau7ze{jj zx{GT~PK`r4$$V$m3>i`$+;Uz;mE=Evs&zLfnKQkNGX|gH+JUHN1Q5&uD2&rB#6Jcp zzQlSDE{ip0$YtkyB;)a)@@C+9RD2)MiG0iFuS9;n&d0mXD_p|IzrGoKN}iaSeviLa z?>XQ75kIy8^8~RCP4TYL=VZy88ryv8)tL=O#T`R!j6pn0tGR_cretN5I$M9H)uKYl zyDncsO7i@kh!)z0i8wZ}ZGUh@QkytAKEx&?7b)?~fqkUftP=!RZq7ELmK14i1TQ{w zOF#br={V4g#5%60jwkG7PprEX85a!So?$5ARU#%+azhz#tfh>r!g3q>_wHl#53!Mr z)I#uvkxBH|1Z6`8*&R#dJcipgHt*n(s*FhOd}zd)?CkCj6m!TXiL7rJs_h-$cxFMp zikHyCTTHkC4VtpD&2?j@SAv%{N8KZUieTT!ld1Vr_)#;2$8~+Lbi^-ixxSY*K#n>5 z{Ec^5N)7Sz@GmZ1;-u)5dIT#{>|K_0&-X} z{hGzxfvEDO4Zo_wvt(5b!n~?}*Zz^$1nA!F+-b4{3I03G0Jeh+?5K_74Xqe-`k%XH zJ*19ahxpoM_D#qJpX>Rzx37Ff$E-+EiTkCykL9t?A^eK4>{^IG{XBsIuCjiXXcx`s z=zZt~J&nAVozRZK@qptk|bCenZODch^9Y%@rJsFHEwCYcc)H%gkQY3iX|lH zr#c{tu-f_<#6sQ2XGfphr=yg`vvJ2~ZW6+anY@;C8mEw|Ae`3_iZd434?Y*V^+xU& zWi|8pR%TPih*UG6A0m17aOXB26T|gL!#1j~Z+R*@azI#vr@Nw_lv#?Tzz|fLcC&70 zRf631Jv&X$XM9Qg<|}0Erd1D`o_*AMDIbaIeH0=z)`?F22MRQqRecE5|i1rR8chV?o}OdP1ISp@lBKGcif;3Kom;*56IsCb;a~ zxE_E2@~-=PX)^t4LSe!LlTa`r81_SYK4NA`4b$h}K~d-I?Rrr~S?YYq5~sN;=WxAL+M#usz@r@lzmNkV#oWo{5P zt|0y?Zk@Pd`1v7)PE=Nr&b=9=)luu`*PG}!nn1yp1IRSt3SMM5R@mgf>@~#6-SyxZ zNYWUOrovWMB3ofyb4bEmgFD#@(;SDH>gL`@VW9c9Zg4e{Fs~)8iN&~=D zu71c!S++?a!60Un3zkuw|5S;n=QoYNKD9`Bf#A2x#*XSoIPHIOeqn64GOuDb#|eJH zCOHVshhm@P@eV)#)794E`4NGW^V8|&&=Y>gX&ZBMxTAo0f$xw?!49ISsK<`BaP&>G znO^8;vyk+=n*w7m1VUn%GaU>Ej#T;Ibw%V8w@CZ8^9k8a$j%e1Ew3vY2tCh>Domal z?1P3_otWM;C!UF&&J*JvGfjFX4aF_t3v+d-i4r_RTT*))IoW9;eniht?C=wr>Sk`g zbXipf=Oi_D9d<{|`*TZ=?sh~833F8W;7Kxve$P360Bcy`kl7BV%c#=L@i4MvQ(7s& zi1&#lZ$LTImIdD&Zy5X8J}?TTGIqdyvo!d_w&i>zEcvKtnleSEjW?YH9~tfVgCk%! z)t#fS(KkXlEknZdDg?CIof&aah}>X|$buI{F4$=O^LSiB<1tFA52}S4w{0%?W$Ms9 z)bm5@s|MF2G)&WBxNx6Als%OGz513G=StaTOr)KEAN@IcD>eR6n5T6w6fq zVv{2D)p{KeJ9`#}e7s_#&t>u45}|}U(#MwgnIZN;>LMTWm_!^tMFB)_N1X|ePq~fd zo|}I}65hLu7aDD8bPUEz+`9Gakt%}1olRzU<7QVa-X)sz#J+uBFpx%wV$AM&AW*RC zB3>CVZM(uW64_~6g}m2kH`V>4kV4N{^mX{zQ?sIPW^m>BaZ)bX?-NI6Lb9d&v9S~m zy^YzezL6RsFsT8@`jg$I05t*jrNuIJWr_%48D zt{|!r1Tu^g8kCCxTLwo29Lx{7+fvsHhA#ZMRLkg71I^Eu%tD>4w5L5g76bwMsDm2n z^(&8Oab|)x4t@un-nNx}B;+ObLW9lJNZNFK+tO;utld9Mru1JcG^hxZ7giY)RLSd5 zJ+v(bsq+vCV?Qf6J?4en97lJKTlS42yBv*wZ*x9s~>-EX#u2Wft%wZbwJY->W* zgWSpV=C0O?jltou=6dBq=E;_Jxefy8;EmiQzR1^~&%U`R!Lv;!eDf|)5R~Ufq={+S z6u0bdS$~3$S~~mbuxPWUsaTI&dWG67y#T(N0N+ye_QGA=C)sQKGT%LwTP?lkcBH4i zwSz>1-!)S4@W7+mP^ZXPQX?v`)K&-1E&50^nP1ayxIn?{m^Wi#%e+jJ?|JqR)|QV- z(3NTBDi>wk~uf^$sZPTf+$NB^b$GKdf+1*&Y))#wP-=gScZ>@r=R~d+{ z;0lRwpGQq%ujPBIp1mZe7tnD*G1@i^yvsAxu=P;Pje~Doz7Np4moyMX3c|Y>elyvS z1bW$zP3zN9MS{zS0 z|M>A1fb|ntX{7#eX|dM}m6k&j2)>?>f{=zGh6VY%FAVT|2EPj*9yGWR%~jL_ovJT! z^07S*WEe4Z6QC}5N-5LUclRLg_Z|t$O9tnC^*{Fyb)Hu?VAOBF^_9CIH;zhXrUE@& zfbJU{(Jd(0^f_Pbiu+rgc;@rI`QuDBCI^xhg$lkb_^xGmI8_g@DvhJA5k2JPY)&h#K6TvG z_ncslX0gOOh`32BI@I~&A%C6iq*{W90IpYMu!!fxmEB2?>*`~^Lm#$uGA~X@2?Yz7 z;5-E1dv7dh>G3X2brG}<|DiR-NgVg0=*wERrts}{j=xdfdsc!0*ywvV>dNiC1tJ{( zMjrtL^ZsACaNyDZ49ZgQ59Z5yIOfTs`q|)*@*IUkYutn;6AkcXy>O3yeN(z}zF$_$t2{A}kY@|0&YAaL(uq|d0;^KJ9lYV9+=_6eJLt6c82k30VB!FqqMS_z z2|ZH7k@*d+jsLqMLd5i6xsD#fUR47P+AENhZ#{NA>z6{k8Bm_Rm~i^#^d`RXVO05^ zI!%o-vXhcAGP4ppoohUkzEUk*n4E)~e7Ia=nSN8jG}9Pz+N$^@_SsV0+G_6eosOX%~taG1}fLm zZ&1q0TU)OJ8V${MC1W%`2B%2Hbaet{2=nGz5$4RcrkKNJ&krPRuq7ql}by#qi;1KgQ zBhp2C`a37r;+F5vt#dh8&zA4ok=K=pa5Oe^d>UdGlC<~cW+LO`szG)`sikSW{B+1r zq}hZjN5J!)f)oD9_DT@;y51App{C{C2@h;xetbYJ@v-G8?bpZmNa0JbD#@IK;Ij3V zrDVl}#e8HLfPAL?>+4b1!++FMtA5ic3=~60STLT+^-Ak)u1r!H_~!sj}a(Cbj|l$f|bfdSCyu8 z7!(XjhFoFSWBu*jIWT2%i!x&!H8xPx$sVzhzTPYJ0n$=KIoui)tKeQMFP0&vJh;^2fE@aczkvA~bi^f(8 zz$urBB}=Dw>OiiFcJ|wsnrW$;zIr=31O9plZD>i^_KKH8W?O)Ht(d{LdMRpLhSPyO zUX|Q3tB~jgp^A|ZjS(!zpUc=2p=Zpp8T}QI_*YSTvAUT8nVRag$}EzQe?-|U1iD$o zquc~gE}O}|&2gt`XtY zS{1X^YL`d8zrMEq2|SVZ_8;J{37lxk9^JG4NjGBdVT&%KD9IbDaZcj5wR@Z}Z$UsX zfrYFIA+v2$MM#osUmkv+H~T}>JmZ<#QXW{p;@2kg%If2>+CbEU`f>EDR?;EgER>Nc z*0oGGn=tIp@h))^c0@~L;|tD4U3H%PtD58U&6UITfmnW9R{v`2Y6|o@N4c9ozl+rQ z&3rK@jrmR-nG9ymW{2!+_Sv(YL1AWA<*Vxn?;z%SC&yKYM!Q(^vg7-fx_7FS7D|28 zi)nO=*mdiY!{v&6^y(gx)#VdU7ld9`;D=8QNrCz^i6EnjSZiO2_xDLj;*hzi{sUgT>`!rh>N8H-p z@C2$Y8rlW_!^WXA^{r$l+{~!$GU-^AYGIA^><$ZR5o-QN%Q~tSrbWlGRuVpnH`06l zkv|k+>>^yszDqN2X4I>rli0^PvKJ$}W8n~2L&EVsfjBAio=32#gtP-SBxtf^nbj!? zDjhvbk|?~yfl;gTs)Y(n@q16&qeJUBH>8^Q!eQ^fnUKJQ7=1#IMaRNN45IhK+F!CDepw$rEYV#IbV+Nj zY9$bDy9)@6_2*qs^X1s)w5+z6ND*M3!DG@Y!8xThZ2m8JPuoj3GUM~gFuUX7B|ar~ z3b_~aq2TQ-nKe@)Q^EQwpQbyK&3CXKKUt?{D4x|Q4>h%qVV6q5Y;maempEd`pGlnw z2WYMP+$EJSytw8NW0aKr`HPvdPs%XSA{8bI&R#QPeCRSrNd}jtF8Jj-_4oFJ19ciM zsS?(2Io2Ju35zT4wrJUm{e}^EiPD_|`5nP-a%}|421m3iRE(o#xJ@c*CXy%E%S`9- z$?J2N_p4G8md9Kv{D`hpt>!x6;QdCW$|c$ zo5V!zbIZ~_@wN@e(iP4%@BdmA)O_J`Vh0qtXGXErAp-qq0v&zHPb_y0czcoAB$g$~ z4(;~o2=-Kcc}o@ZAoFyrNo&2MQw*fZGmFl(Guk!Qv&2H>M^eX}&Og&KWr11x@&X}< zDJ@O;`IN2JXq`nJb?WK1x-rG?PhrEMfXY~sA8f~|dqF@y^@P{0DPCLqUPv9ZsG$_c zVIIwVfDC@3S3g4?HCfyr$WiIoq_2~Y*b4vUG5Or5GMP_L!qzew8oki^wjNUYB71V} zM_e|aR>zVlSSx`=js@fW10lo<8-<^5%rJa(YZr6e@I9GLnyhBA_r*|`M|xLe0~QH{ zpG0Z~FGud)PH@-KPL}Gy4b$9Hf=pl;7D&sm*UXriC#h0Wi)iihIuR0jTIX}WF9}rp zS9)C!eBG3#)ZumWXy2Cz&lvh)n?)j@;BI-@<@{(KXUFc7t3$|cj|hJFx#tU@#VwRp z&wQ_i%j{>_V-ilQBd^067uUjw?D0j6aOKa)Qcs^ak8=BPljNz8sUJPZ}6c z(B{ZIjAm%sxM-ZXA547$*u57O3k;S`nS2p8^6te zB^-Gr|0M+2GT2JeJnVNck*l$TwJ>nxFMjroBb<`=F00b?$eomIUkUu~O|W&Aar2SS zHq{h<(G$ey3g6S&BG(cA0S2DrRLy;@mWsKcu~0FW{Ih6Za>w3%1hA(TlRoe>@!krY zyJ+&&^bMR&oblP#^N7K3zxX@+KLe3tsvo{_Er_80DS{&-eOo8&Y=S9z4jr{x3innF z>)9htDwo~SIEiQ>(l!>UV#wKnP(Ir!GJoQ@LTvqoc-UNLw)y9D&6UmGO_Dh#Ks~XL zDgfh>Y@%s)Sz@C~@@qJJmrxJ;2JGywmjIkIj-)+nTCTJ|ud*9ZXS9?u$2QgT_nW#& z7{AKnTg&pdPkaZNmTuFT@zC4T4%M7?DJxGJ8;b4w@O5d4P|tu>on(4<27KIFh4T1W zis~zS0zTg?84?=^9pf)|nK^fO>Mh6NJM9FLmY11@6OviyQhKwrAzT(hOK}u>T2Rpl zeqfYu&g7!Aq7Cfw*v-`DkADRnEn!i4fPuEUS2x5OS8!LsMe=s-RR zWtfUcmGG;qot*H{@u0(LON9gn!sd(IiJNnKZU`^gnJ%qD7oraEf5yI!aRMbs%dNYJ zUr;^P#86Ewy*T5+!Gt*kzYuwye>kQ6Q0x|ue|#BMC+r=Bvz*17Wn|;_X)y>{Cl|U{ z;bn$5K3liPR&QQEu$OcOERzpcql^SCQMQvlMeP4Nh?*z*HMnP%KC%2sDYRh&1JZUn zvoI!EfQv_Xxw1+0*<2wV}zicS3Up3$g7 zk0yN$t1)}C5-(psBx$H%G&LE4+}W~h!TFKuS_X7$d&QUf=(WrCpk`6csyVKuAm-Ud zr3u%`t7TFoiKJtzxmlzast)b_%GE4tp=a-TQtHA)ob#*!%pi}IGA_R~Ebw{H8zmhCY6vr=v#)As$}f z5Ve(R>}}SnE|@c(&}Xx3_3b^nNUzh=x`&)GMlJ5_ zleB&y)4bYuUv7z z4*|?e%%dA4^Wf8M;iJD9ZAat(vMula>Vm!)iutSi`6h+-f0&oxeifImvF(EnDunB#04$z-) zrI-~as87rMv-U0kdsOs<@xFUC5&Zs9G3EeSY`mQ*1uQuAM1*$#MK)pb^&c6bZNnM* zVT;knva3Qw8~f)GLusk(8)hSJ{4D{nE5Pb4KPn{nIe%3Ix}hKc279rvR+KQsZq(&+ zf6_!Uj1YqlVHm)ohB~PDU0bBYX3|4u=h3@l)~-S6JS@yJHQun=e_%`o{@ZAdx`b+x z3JFxMCbb%vQqR!|wMVdDABY;hp%!>4jAunZgE5+Rq1_4EeY~XzG>%Ap1kk7AUod`N zSWdyC|NzIuPWChh%~Xy&FG%OwyAUtgEGABzZMqbIE# z*JRPs`z);7&#lRfU69&RC9}=xIY{*q!eXiAs4?H>Vog{3;?^RTuXtqmX+ljQWgZhG?`#QK3~~FgEOy{`Cj;LuojdIKAv7 zSKF0ySZ(2SqLb(G8(}PV#wvEr$xCJ-nzD&B=QUQh)+!nzJku9j05l6V4;-B!HujA7 zNZcHJI*9P`uF-Lkr94leEb`CN>(=6^Hf}8pS$L4d zEos(Wig3a;dVv*LXYzw4f5FocxiE&+uC4V)+#C3+GjEV(PEZ2U2Q@oq@JyaMh3v*E z$jmV$`gpg=!K>7Y^>g+>=+mS%X6x+$DUfFil6IKib!Fx%zzj_rAMXd0~)!XW{5(aXFB|^2V43`D1rhMqJPD$pnewyf#QZMPEn{jTs zMC-1^Roh}#4txlg16Gr{iNmFSR;wEa^2f)2m#P}O%7Y?D&9^ja-QXou%MLjieyv#J zs_uUlhBGq7wXPJj?2K}D8|#*lwMf(&`jQJ+ZF7cWPMbMbC9RiJSHJE%0|4pJyQ+wN zp(MSlWYC`@PYfNVTfu%|a?tXWK(X^ZUZZcB^sA>nG&HnL;fhSlg6j))dL{{L^{s_F zltHbs4oV4=j<6`-yw@CH)s0BE!gR>4AS1Ed@I685jVK+^KgZdT-<}ynuSB|*_ncfL zhuO>_D+M+HOWUr*bjd(e6(S&%q3XufQBqjCT0*7vS~l)OAX zzf2v%v~2&ayIJSMb5TM9i#c-^wR(gD2NB~XVkSG=ow%O0ME5dXe0%DOH4_mCnK=Te zlE*~i&kW6<37NKgz8RqMou}3m-IKt*bbE#|#9UkuziZW5rraS-zUfzo`*v$8$BIFk ziNw2J{y2U%e3{J53R`_ISQV+RD3rmy`y=S%zTbOD)&2EL^`JrUHI zKb;@2iVkjD#*$Fi$Km6;pNW+f7*Mx8W^8|VVK@ms_}W70v6$MJsigAc@b!qRg~Yv!B06k=Jg@kmi!Ivy z94u1$-IjZD+^dowWP>7ncJGzG+?apBhOg zUrhBGKL>o>hue%$f);jt4yOwi=Vx>5G#5FoOp}t6SJGF)3T#aU#tUAGmlxZaYoAN6 ziK?~*4m__B*>!A58rSp(Kg~b7ihWzuX<^EoZkxZZ#~l0=B{UAXP`}!%=wCewd>y;E z1JzN|W9U|AyCy%Gha~SVo%kk$uRZd2Hx3B)&>Hah%z|M_LSMP=+sOC>L(pPNQ&Ll5h-SsL6rqmOW3RaQ4D zFyz+^!gSfGxmWjX)ofVotS^~Ic~B<(0+(0Y!}1NS-=d*~;?-s5^+qrF&riC{fT()= z`~AsBjg8+gw>T`Lo8DYiOeOX*Luf_n`@CJQ>jtXtV4SK%)C$=% zw1fzmHX2R(<@~cmonRugK1Na_!2_z*=Sc}+lxL0UFB;g!NhSk1;x_@x2 zhZ6)P8gPZuFR5}})oM|pzg1RC8C71VizPA(yBKm5bh7uRiXuBkTDj^pDgx_{8ss1K zm-=ghVEZ~OVxY&{WEBSi$--ji(1oiijO+EnoAjlVe;_e(sC~bZ^{dwM&^jS~AqLqEqy(F!1BP;`Zl6Jv(8uG;YphkUt z;V`y^B=Ljv>v7miz1Z0X4uWvnrzEV{;ndd()c4t$C=~g0Z z>$UM^Uc2HSg1qyMR%;eRe7+wYJMMw$z$9_Nt)kA{F8fCCv%E_O_gTwu2@@s+73I*( zw7~&vp9f|C92Y_dipKrb9K+L4gRvlnk|bZqTLep6VQG@UPa#dNx!Q-BF*7VxCq}iF zafcS_)+I-zrkhQ3&pyw_NWoMPX5LxVuN_=04p#d2T1V?N0KN}Gs|12M_@Y-FvI`^S zBSQ&k9?;K__@)2$O@24q9Xh`QbB`V=mn01DK)1MxCuKv8a!Da~?{>N~>%rcwj!cgI zLg|V)mS0p52XXgYxV{xzxDX#(ul975OMd;G{A4GaGQg>XQjo@%3J`mXn^?$6{3n(K zdg>~hc-U#E()+{rbt$c5+X>5oF|+9Y=iY~b5ouB{&60PeT}q5O>V3oChACU%vY!{O z{x%^ZTUhs8B%M`Cjwf1ct$K8bD3R*on)}u2Sv*B(3krMQJnLH|4Uz@MdfDPyByKg^ zEgbmqcF#-m8M>swYbwoy{6xwr8`=Y~zv-^ArP)-%DK{$8-`$tu1hUNy5a;a!Oe{IKnBxCT)U-yREklp6^;mt4r<#Zw$y+(v0(vRRf8cA3)Nf!HFd zNT34};;yT1^(*T%-M)DgH*=px#mHV<@ZF8K=jm-PNMxfEstC<*<~q4{N9{Z}UtjwI zWwIKXN0Xg8ckZehbZH;*2&^Y=taf&DeJdk^GR>PdN(XW0n-`ov?PEd%Oz_QMi%8gE zPw2CH2E+F6qbqTw$}LBgHBh?1RXvUUUs%OUMMThih4pUE7!UoG0V;!R1O6ro#yD&; z*K!22m|>*E7S2f0f$m`Aw@kyuQy8dXu~ql$p?j7ZVbklu=2wVQ_x-WPX^PvoV$5u3 zbAnrQ_V$J6|G5giefeRXCq!TUd7Q~zA&>W}pf(i`s^LUp)_#k`D_D*kz6trtLTY~9 z<=)V7JV-dpAe|`1>m?EpMRKHr$xj61l6@-`{1q*BTEEykS4kVYz+;x5`jHaE`G2%_ z<^ODM>)!6E({}5yJJ&8ch16V$p~kc|29X*%D2iR7p{P`7k!Z`Vsy0XnL8wa63Tmnn zLrYskf)aC6B{35v5yW&~=iGaKzn^>8AF$T*uJx|x`F@|Zp7rgc!roocJ+X5w*XN0x zYSS(DwpVi~#?q;lwu5ND7h6mD57*)+CWK=qmmrV;8;q6I!$(C;9ZlzWs5aAmEu4dq z#LXU3R9~a4=6cnQKd)>97dBmz_a~ep&GKq`zd+4l|Bk}NVVoy>7>dq8fJK-#pOrA>P_nIu}q4-wFQA?iviV$=9zqb{CgsPI#c(@Gn(h$r`#jW_e*B-R{I8I~BeV_&mgipC-wXPRrvWN2Z$yd7k^ z0~>Hl>z7N*%Gh&5xFxDc1iPf7O+|*DAfU zf~guM@Aqsi&X>#cZrWQVVt=9aQbYx)ySv=w1HaVya*b?)b6ruJ+{w&_B@PYj~{`srZH7P@m8r#^hN zh_SG$V}D%huV^*b50^*(8JaqT%rsI4+hrsa*9(#WZJl(~8B0P^?7=dp%yWobTgqwS z_~wQ645bs1HIAcyTw7J|x&3U6r3=3i9?qB^ZBV*MhHGhWI#&Gp9J~O zk9>ikJ3(EA)sE5;qs-)=5`iE(z^9EZF-Z-fMII|n`7yLtorxwugdBL)U5rgTXo7H zvFmhnbkK=(=_iI$AVmC;-8DV21M(!LB{&tHZu^-+qw3$YFp)G{cRtxG-*d~TP~hq3 zd&gn=3G=xulz4b+#_o3QbTwU4g3By#tWJBP#5%^`?U!hipu!wpbi}e}VR4&mErK0$ zA`K_1lR2UWLA_41GpM*g9E&iHFdMR6O-wRF?6~RRa9{@B1y56$x_)hZ4L>^NI!rlsbvvBir>F<*~?ttj)DpYu$C^AFnFAS0`}T_B0K@ zb5qz?A+73_TdU7z6RN?5+1VG1+!($BQ&o*jRSJbdq$Dce8)GFhWCVK!OWb5tj5#X1 zB;c&AEBSlvPlZMI%F#G4&x`Fk7b*IXUhGiwD?#GlGGlPNTpL^%HHScd{4oU21L&aC zT1&c#8-9V5#WdZwKIatkm(me6H8n`_;@zhE#B!bGo|gH3Av0W%*s8LBH9z}iQDmeWSu^~?g3otFOM-${naR{w1+9@IRhYu~uNiN* zYw_;n1wT=D+|`#6ixGdc(}(ycve*JLuBm>uD)1U(#_;Wd!V$U2fgugIo7iBy62rg} zZdal*J%jHLeQ7gRJ)1*(Pr-Cu6D_K!wpIsjRWYr4Qx7C*1$g90IL$4c0%?H)N8oG9HQm-D#HLfU~BncR)S5Y z9WDUP20**Lak$!+m)J&)>+d?gZ@>TH4P4Q8Xh+N?UrU!dtEu1620>FQsbC72PE#xJ zNMy0jpOWWxc}>YBf0ouYDj=f{H8+gdw$qev0dL94Z`!&#=oh%|LW-&hbICYwlm|R7 zqHd`0C)%OL<3>`>1euU(2~?pz{8V(oEpi$z5$&v;t7BwL-DNe>b&RF!yI8VNRP(!R zrBiXXoSGgSPVC2EmEh#C68KsBbmQ>%$u!&p>yX(}V)=;vy>7U}Nv;aK%NPv=glq5t zC+J|DNstLw_@=x-?K&83L)J*P&#`#(d__hd_f|8Lm!NnMT1PGhw~-joCFVHWaMrBA zEo^K!ptandsB_A+nqi)ciYMBo+^n#3E2=`O+YllmTp@9BQN|C*yROD(?$=66RM^T@ zgC5~GQpI1s@k1YiPD2~3Pwq7Wt6vz}hE3u69cl67jtT_tAUjCW2P)c4R#~?H?Bv|< zu|o+hina5BZy!aFrG^thyIFdKx`U*r9FT>2KQFJSY{|rh6LCfs z-XZV3GW@T?JIoeglR?P7{v5;6d!(xVUElVngnxp7nbFV7Fe5xW%7>4PYwT(yTccH2 z2TA!H_b)R=ogC$6Wy<%9er&%>)#vk9Fv^ln73T2T_~ay*XhiLkIaU1#E?<91E_u0>;=|bQ|sOm&}dq zSJ&I7M^~h@eSj(*vME_XAVopCeNl@2LXZpHGwxu!ASECkQYvy+G7uN=XIv(yn#tSZ zZ|ab?w;e+NC}yCb4KY`r#9Gz->k#sSCRc~2AryX|=P46FW}!bO{5BF*9&z@S3SK0J zAa7i&?7b2`lzKks)oxkHXFgQ&1Ge7bzitIFhFkw!K|kuBE_SQ%uHcXqr&bI_;+BpA z=M&>?>6%a5DcQ;0)d;d$S-bmJaw z1Wgy7Vb4q(Xx-je6FS8l3?5#4K*~pCq#m~A1b60)mmSj!$e0)gGZ1?!#nf@{*=i{(|nku9~M1ey5r<}Ur6@f!H%U<9MsRs83 z*5nMoR>#{Rb5nQk0{fPEbNv+2Lm>b{sdcTne-S_>qZ_M{Uc~bHnTTV%dh9u&lL|s0KNZixyG&ME!JRz= zDwP1FXmJn<`$}%*f)TVik~Z`>Z~Jsb)d_WiLIwTtUz7pvouSYpo!A;@gJ*GPGHZ3M z6@689?Z#`YiSj3Rxcb;EJ@Q_hEEU90XPieqTT}!2$V08B;MT12jj;Q)AC~@pLoP>C zzjV@NOpX(Lwi0o>l^#WBzkaRwB{6z+fe)`*0GlpV$U8n1_%D6Lyt@Tymc!YfcS*(NZU`;99KIe~L;`%6p#_(X0Y zfhqn#96j@5$6n^^Kn;qs^5XkPIMS(XGyjI=U66?7b6AIR$}nNzwarn4IDZZX;0nP- z7l%?O3$8BndyaTAVBKqeV-hZNTypICv2Quv{y7KoJ(g1Ja-E1u;4l**tE1h)8%4uG_6$K^zX}q@x?Q&ZIxfWt z)1~Ad5u}|;+jCsk6~7#{%JOp~Ym~tz`3|Alh%6JXNNTE0nQArFL^S_XFC-&LO~YPm zA9PhTc528Da89N%d!aDu9`S7DkhTA8jQ4fk#NgM|VS*CeQMN8~v80|@emfY+;Q&th zMt<)sU2YO1qE#8M8RR>fYIK~ z#-3yj{B;|<+C)Y?gWD*%buu?+_Y->n|DEJc5Ym(#b6ey?ZOJFrC-5u6ESOeH+Tvw_ zx3E3Vu2W=EZHa)DIj1E5&IsK!52zZwN-@AbQ*+;V2nP)g4DdT&+j!RsQkiVFPHdjS zFPs;a>@87;aOCn_YBDwI&y}MsAEpf|MI3L~61BjgOgC z_k2)Gd0EVrV+Z{w__hFc&60@UrltJ}<^83y{_znraFo>s=T0O_CxA|JI-L~o8`s%cIEuQ)Y6Jt1+aoXJ6 z98!6|h(dHne{Uxs-<|Lk-O^`UG9h)mVp;m4D*oR-0No;{7U`W3N@{=Kp1awZXdpO+VV-SZknM=}8d$Zj`{Nt2Xk zM*mw))8icl8ctYw@DY!{;r>4d=TPl#U}T^*B>rEI)Yl@PYPa25H{<-+>JM&iXI6B{ HuUpe=6?){zfJNKXa&-WiZ`?2?4d#|$Bdat#gH_x7GFrVc<3j%?d zpFDo34+7CUfj}qP8BYT(yk_hCAkY=ilZW>W12Wd8&xB-+!Ugu*Thd3%`=aJg_1b-S ze#JS3`&sz;$A6fo3jIzuc&<_idlUoxi??9kJg4d0;eyN0PS76)+>!G__olun%5NMy z`S`>`F1f3M^63d|5zrrRZKj_sDfY|M!!7jq^3zpD%dL(AAS zY+W6Bl0XLnb>#5KxKHUJgLkoyRe@)&yVp;n=mA=#FAM-b?_A9R8lOM72Q+#TuTb~-zK8PIpHpE#X^myC`+msaqwYC z#&FC0a9nKvs*p7+I#xY9Nmmz~FLnY1>ikyxb^YGo<)30AM|;0*V0jhIRQs==+Q8!M z9{s6106p!)UdP$Wx`=575Xk2C%JA7q1?zph39{01yTsyi+RK|>VH`dwSmM0CRZic$2K zv!Vc`XT7y~c1q2VWMx7v3up^CoKxFHFCr+z6bDPcgNe+FWLaRvZ6h$c3dTp)dsC5m zuuX=!sTx%-CYL>w>1*;X0%<`t=k+eft-go;3Rg>4H*AAw3`>s*gF*w3x zt;Z3J1zu4`+tn|oIw-aUhz8952q-rkU0GACD8fx05$$I3_bCf~4d_=?*{xrv!#I+Z z^}v$LUmB;LX@EdE;4RC0>9T^i)ZuPs#4U0pvtX}wtkh6+nRsHF9Z_xr)nNE8=m_ia z2x^G=?cCi~S8=tZ7J=t1PfW5@mC^Uy$0)TA`&t=~2?|G|!+2oITbUHhY-(13$}}6m zSJh>dg462i7cnt67Rw8c+7)8o1`G-mEObie`uPtQDK)VMD}`Bp&!ndR4zwpskQ>O! zc#nh^G7XO`Nr&Y5y+X+jwCRl}3 znqOvW^Yu{YDoyh6Z|r!q`@l@_kGkur)xB%^eL=;HI>t1pSD)*gu=Rdu@1!SXYl%sCT&i*QSHcq_D711hda~Ob8 zB3uSjIvDH@DCAbfu(3)@@>)$ldLwifud;5sNH|=FVfGd?t%GQ5KK&B7phv0 z&E=^PbSEofsng0&G_qz3o=nIN3$3Jss@=8XK~`DZ7Zx&#TtuP{o<-o-e4$HEmk&2=gK&8c z&F5#roSgDA+tB)TDy<=qFfo#9eX<~}xv=9D2z0Jex}5waPE07WrpP7iym`Hw!cr=m z?p>t(g1w~6$oJxkii9z%;5uvSh~Co552Ug}JECRPazhM)eealkxJV&+P~8JwfFT3e z*pd%J2jw2J%1R>8G!+>;edO|+ERh$iAkfw)=|zzz$u)`JO#d#Vd!P}qhf)r`xA}-f zI@05hQPMl}RcK8(`#@Th;M2BEoJsvUZUMSokQ;5?R^zBO0T{`{>!OVB^KBC>Ct3o1 z1amUI|NfvK6cyT97D~)+pCzccvH+@J?p%ky(WkK5gUwV*PXtR95~;p7R{9~l)b;zL zfcoKv^!J~bozEB6;2W)7LKEQB{Z?I#FMov+mmyhkIOAih%XMqW2m8L(%-*<%Y8^a! zQ1kK@V5&PL-tj-k%rDp)c1hqs2au4k$zJ;AfMFBL#|}OYbXJ; z(Q{HY*rYk(#POY1)t6V=FV4#=EG*pW zaJgCm39FnPr*YKk{|dTAxJ}6NCCHGGEG#9~+c0uKP?q0WU(S>U_t>J8yBEa^8w^x0 zXRikF+uORjabN+ExVFU>GA&^1oyPuwBFdi>OP<4Ez=wli7&T)Dvp(61LZD=v_C<19DZh!` zainPOEXqtkm>iZ=`>K9c06E_`HkY6V8F(r$nJ9j3@^$U`1R>x+-g?76lvN5ZWgi-9 zsXh90Y~&bJC||jV7VlO{ER|p>QI}creOv!-_W!l&MmD{#t79mVK814dP+?;g)4jT} zni|4dg$uGz4*S zgH@wfD6y!$-TD68-M;{1+kQDLB3#o-W^hJcx%;FcQ2yNY5J$5q6S?SF#d`!f%Z{u%u;gb8iUz=vf53|ZJKs&FK6JkqV z=xmOsEmXFK;r5Vqcejwj21Spy>l4Vs%>7-s71g9LneESN*?b zPy-9!_2{{LW>T3O;MnZ(3>q_MO4zy{xcT8te22(vc6eOk7yUHHogXm*G_kCp5JcWln4E(e9m;*oi2O*%Hzs27^^<(p^6Tcr919XM_@+XKgN& zo7HDrrmalHG;{EYOuoCsHnHPSQt$s@YhA%<`Lj#G%v-I=sCv%qkh`}m<&?yxaS1c; z0D>+rH!whot|pC&D|05nWSJ`h$#2;Qg7$f9Q<_}nL1T}&tuA{xd#yVrT3=$VtS`NO ze6TDPg{PD{nzNR=x9T-W+TqqHQ%yRMn(8dW0nM4U#znim_mvBu3*PQL3i(w!YsSXH z&kfM}Hm_8Wt>1a7HP|tp2R34}3uvQ_$!d-I1Aq?syZ>t^@W1pL9~FeHP1h7{0d9fK zpLn76%gRA(Hah_4Y{sR!F8uGk%l~rV|H>WxSBL+O)Bdkr`qwV~7xCP`MB`tg@&B`E zbO8VX2sAC{ur;o<%h2a!>IbX5*thMjV|aBZSFSa8x`D*2i69NoOnlqN&`(1f?4UgW z_qg*ZO6IKNR^66Ta%cnSdtCVGw@uQE=k_CrqTvSs*zsA5>D9fkKd4i0!F0@5e2iT4 z+bPp0z9;>^;UnR;wq{d*{*;=uIzXo2kTDHxvp642qt~UKG_&XBZwxIu9A3nzb;}qL zVS$@%Kj+qEGBbil`3jEi`p(s+=r|H79ry8y28#9biXaJTVD`>$`{O2KTa`hYi!%a| zS$LONxw`EOyUGK$RYK9lDLHb7?~6aP>(PF*AuHh##-m-4gXA{TPgs$|a$;lKVuQiS zulU8M@x`VC>Zz{G1v&_Z*{EgZc6QLY8>_1)&Z(EYuXB592&*a!TAwvhZt(uOU~-3= zMj;6B#}o)|jff^FjETn%Z=|zHIzJU@^)Q%v&!V+4*6Tc}YOm*&z#fmoOk_9aG-4M_ z6y|Xzt!{P(AJjd~S{EjZ5$WSQY0Fc>oZZb|!hBrQRKlQvx*qF)8&P|N70&*IvJEq$ zVM4kwam0VGs%!!6_d%#Xooh@KbzK(QC}^~`^&TW~&u{<~RmE{OAz*gjb+%o6EkH-9X(W732)jkpVD6m-;kIvBL$AqQp~VeTR&TIRRV z>=0?tox)eA@BN5fb@Vqg)$|!~FDpqLj@w<;-0ZpZP$c!TbwI9jfW1bVkZZCmrjYZC z;dHvW0YSD&`WzBkP-dBou<#S!w)YxF3T|1_Olr@#A%)ya%5y~91uNIF3H0|Koshf9`;w10-kg~suFLJ(d zlB#sT4@B`%@&MmmIlD(mQ4+GwRuJUDip_<$DYh^BIxh<2U8NpYE8G|zgSso;>Z2EC zXpv@sTEV9dw)=p{w;_3Bp?ehu;z$ zuftXZmkSu53a1mup*t7o>=o~QyX=jCkebo_+YX0a-_!GB-Eg!T@+GhNOE1bJ`1&uQDO;_zW3qh-1{^q zDea3OZy*u|W}sLre1x#jyO~9`9p2gIGa7im(5;qYb>Qoae2Zv(meFv4q*#3#BXFg! zr0qYWPA_;uGJH(RZX2<5i-@vc^y+M3$2p*(43LxHIC0;L59zLGoZ#-LlDTbGx7?#CMNu9nv}iNILgFXUkM5{4b)3A>`o^#uqL~6V$-6OD#iQkg&`!( zq*IM8B(f_@=pR|oZ_Ru3Tz_w&e@iKjPaT|JF0OzY46d}i!qvvwYgMJ+Dd;RKxSCk7 z*>1%*Hu_L-e7ZWo$Jxs4XJaxrn?ofco!jEMG6<_*?s!( zPOniuWYEMZJ*8lW47t2L8R~MeX}!>TTPZ15nA4EA#>U5@VJ$ILM!xm*6$60n=aYqG z%f>!hvvx5L{|pvOLMctDh`I+fGM*Fk^lfZEY*Gj9J#;kQD6U|CG?^I&afCLsx;yR; zP3+Wogyh%-<5z2m#zE7ty{puLWjHq7^d!PRxvDO1cI8yr?6*M6b2JMp9$|YsZH3=5 zAg-stmT|?#+W4A_#BVy>#kp&oeaduA|E6Q0G;80#Tf>h#{qcA)oyBRx{g2;zhY-C< z8;bgLFz5luV4&OSTKuAZ}RrtqvB ze$8do0ezE$qcAzC;dGWC5w5r*0KqKJ`xtOJvpD{URoBXEi*q-u-=0PHU8vh_FiO)8 zFL6WFg!=i5XF@#?h9xUe?jdr~tKT9yASm{8T3rFS`Xx8y_t^Eq8K; z+#Q_4^~J@(UG?V?B}rNi#1Z!QEPK~T*q6$uQ+F#)XnMeF?wAz z5hZtN<_aV;_N||fhmhRz)IzLrwlSP#0>QHWB2WN7mv}7$a?W0)Pq@t4d3j5a&HR;q z|Ng*B{bZd^|F6)y}wso`QK+wFWB0OWYEQDBjA1&((R^{!Db1e4#Ip+-e1vTb;{7AYuVa zWd7_%pS8KXlu>AFO_i}qzfdBmw&2xi3HIbm=+ue*CV$)EZ=8Z$7EM*oCcnP@#X`Ka zjG1g}ofKhz)4GvC?!zg`Oqb9-fgh+jot9h28@9#IiFqFwXC5Vl6Sv~hT5&O}+-w!N zo+4(>F;Az zS7t-vd47|11ExaMXS4^O^0Y}6%TsvOnVKjXF?|Xo#5K#?u|%Hz|^JzIO^XY25j;dC~i;o(%vTlht zYY=aOarOLnR@)$6<~s9F7{K%$@3c-a+r((HzOdSB^z`p)TuC%(U3*oWsVs#}A3R7q z^c@i~=YUy{?hGU|2_>3VDO8&KYxHtwSkVt)j!%9^z+3b*NS^-|=^Qgh@71}5Bb6!f z?xaSkT?+f5%aO4F-&}X)Ij2AGunqsz;QsjKm!^bc6H_-Wlf1|`wLT$=7fz%-G~U(E z$gUjq4mo?Bg!N#v5!y}OXr1L(93Pw5!EUVnf)^P7+#L=CE4KCrO2z#et-M(8uV>L} z1F?`t#LZ;?bhUq>9WNN&avG#@f{xkdyD50rLP5&CMAX=9$a>#kz?4@;7Yi+E=?(n* z%4G6ZeqTJk?V^{@WZ3){N>M`k+&3+Add$raM%_J6WJHtGYKpYu_XV!wwjv!Bv5F`vg(SErwvV}*n5^ z2c`Sox4@Z#P^GuT%7Yc#9AmC`yuAXbF+(4n4cT(lT($zWdgLEQCh}^vwG^{AYEs*& zz9YJ6Q|uv{S94^uiqkKD`dIpSc(yw3x=TAsg+;$~$_yg!HH=T> zx?`^eO{J8&h--^Iz%7_eg;;T~H~6l1#eOjEW>a3#GCsC<&4ErX!9%?!%??k~`wDE5 zqnNPcBhp({6qEJ*MaaKKFh?P9`$Ha(_TW|Han-uy{Fa zfV&-Gc+;iwPMwiiVb|{`mXX=pNF<}@rwp$^?MlH{KenCCq2(4PY&HBz#g!GJC(J)a zF^Y*Y@1hEqeVmUVI;_+o4Sl>i1=TbhJ7iCeygY9k6F0Y>pmV>dlQg&uPrhVp`b?!= z0KRk&u!@a_FU$wqS{JUyTd!Vuh(N94OuWgn6ggv2#YQlQ_ua8|WJ!yj=xg;d`&l@2 z=O8*2RXagL`l@@`cFDNBuT&v<;>0nnu zAzO#3X_pKXnHr|o)$pr?&24E+#q_Id&R)rpQugy>N=(7?o8_~N5{AWqpfEYlyluL` zDxNs%lP*`FF3JL#7lfc39vzMeFNUj68Px)g)MnItoc)iMZc(-U6;AQ^n|?CUOFzG* zwiMQh3v-IZCvV=`UB@Xpp`z!XI@&q>{YTd zGO@F?(uTwAX2qK{yFo0*yzMsqnpf0}Ev-WhGIk#Xv6#I`cV7D4Tbb=;lmYu$P&Qjn z6-(mC3S{u?DoeXV&Onp!^<7JY_6#U-kngWXdtI(Iv4N*)RKMV<$vegsEzsqU)TBm+ z2oECiMHLEk@01!ZT~74SLCt*GSSz5@^62 z2o|1W&ui>|04!>t9^g#H$8%3`3Gh#!hjdfri2RqSEa&`_KwOUjbog9#>9qvQ5Nsu- z_htgQjkQ%EQMF)sW?YF7AQ-yet3_tjeRLPOQ0(Ny`#bT(z{atq&bXSWh8NTT$KYwc zt|411O!i&QHP;^L3ZF0^ZvVhz@6km_82s}$mO}mu?$X%>^B~$r8)(qc^BUnT@poq^ z2JX`}j<9&%lGM|0^N{u!R)5YVfg;{k)s%zobTUEp$Spp=QKu^=FAngeh5R{HiDDNg z6Yb2^4Ea zqsKu`?r-7#AYS^WG*36a6#eN-sjUGyNYaiLHB`3J5!YQN_Qlqxi(+qY=e0%*SxDeA zeNleBoF(<_uA8~?6{(}7}hXKehf12+K#(eEBCHPto*arH59+$GFvt2 zb>Rni!hVeMww_G0kP79U!R(x)8+dJGhdxJ4M}}^H-mHJb8?4<`X?)GU zowt3zC>xXML(@9gB7+~TA;iC#!4I~ARpZ$4-bbae`n}VWW&g%>@f?TbO&RLV5=8zP0u590*Pxyc@C!3D>W+X zO?T?pkkuhm+etFnD0!DGH_}*!fOt#+Uu5mIyVEK#pDBGWnqGtS!pBMH^-bez?oX+e z7VN7*L;iB@(F$<_XlQ0eSdSjn-goXOW{eOYu(uu4hrn!P-jP+IMlO>pr4nPu4~?YP z2^Tiff(%1;qINMQ0!d2emXtAc&tK~Dr-yy{ z5G18?TNGt1V#d8aJxzR>oTQ5Td(@qfe%)mwDHvyD5v>0oM^K8~hB@`&2(B+)t66HS zJRP<~44x~vI%*`e@%y!gI4_58oi@$7}dpMILWmyuZk`nnDm9<(ywsoLS%>e)J9=e;=#E+Ti^)d9gp`7Hc zY`qpsb7UatOJksy7tPhE8`=lAxI-<(-Sd}+!ps*J+grnY*QPBwnC*AfM~|Y4C*>3$ zttZYd#yE+5GloDQ`4q@#z!kgxVlJdBOnTi_WJivjhv!;Fd^>z&iQs!Sy!TjE1|cx^ z84+eO>Xy+**?a{<86B!sank-mtWosKd4Na_7Zl?IIqRn4MJQ|>At)KBkD((24!oAy zjrOX8U+`$W|C6(R(3MzHrwKq4(#Nno*iSp;&+90zuwF_)@Q5C{SIR@9k3#_cz4j>d z!a!`;BefvI?aHWtmCwervpz|Q7xH-Qh*|XHGGlaCI%c0aLjGVAKo82SXrbc+Hg z@rKaxKK|`SJ}1nk96JB(ImKi@-|}O6Doj3YQmkUO zv8n|MnYuGqxS(lWCcOb&uU=3Y5d+W`@BZZO=xB2)#Eg>H=`yuXA$+)?^{FCu)vVqx zBoi0vH|me1{nP^V)0p^U!K4~_%Lrlm%&QeE99iebHXGY4H`ijni+SyZnuUMhwp-~E zM7Fs*w(L)0ha?S(661u$6%^1i?n%n1ovxh*?pa5_>vKP5EkIF)|CZlugKEX|EBjYb zPuycjRN8s{b^Y4~fxdQ>vU@_A@TJ4seLvE@!!~2z!bK}i1iE&8LO5IU7Vr?@YwIQy za&xMDpdoMA0fkGhUg%LgH%G$tv?y^S8R@QktjW2mjgkOS8X?gfPg z9d%Joan7rx!VTR7tx{r4Qg)lnt;}X6bb@nf4rx00ifo&TVphOR7bSH14RSY}R(V!p z1c>F|DyZ>BCzY1Y_6PU2$p=~ts})-lrDW?jE^{OtQoc(8zQNxwuTFzLKfdpV&l)V? z1a*EuUi|kU>&{qqC!ULN;7<2j;~xEY3$@N801Hz4_#X&5zQJR|2KMr5&&H*Dp+MZz zOPX#F*a1IV&haQ9mTaL;-LnE(uXj{hdN4U}ecnQS3@rkEPkOOKmk3HoU`F~ZCUQvy zxdBYO^(dYT66A2n*VyblP*kJU$qm7R{sIRq@BJa`^22#i_pz#{Ucx|GUMH z|LXAnOqRuSud#q6YJsfH9dtZDk3BkGv=waH0`M-4rd*YqdzD3+_jV|MOl$CN7Xcou zxj~oH0QffhT`{E>yhije=yA!pyi%8{U@3{xSROu^YKpNlSu?j5DQVYFusjwACnqZzKke>e05_W7GK)Qo|Ol z(duD`$*J4V47Mwrx$L_P3J!TRi^^BY(_0q%SpSU)1(5NHUylKFeZc-09@dW2wb18N zrF15tqgLbI%9Nm}LVi9mbCc@i<(f-%AqR0ZeS$1_dU0*nl(JYurEV0{}D4au3*FCu?1v~WTRpPl=a?z4zF6E1ME@%W zFjE8e^m}&^reiecVGATPPc!U+k9>M9F!z|8c7my~_28Cf-0QoBJi0(O0EQJ;(Ty{; zZWa@Z?ITBMux`+eP0w6DW;GCuZH*IJgHQi%vT}ZM5DC`W03cbIv_QGUYIS`lPk-C& zm%{md0h+VO!77gAXH7gWj8owbBS&ALEo0l`BTK#+y{;)bIt+_JjnzYIR4<)*Lc9#( z)g1l!W>MOmSby_TaQH3I^v9HVRUpP{KCD{l{2Y<;V3Lmvo)nuL3?-O4ZVm@|Re1EJ z2Ygq5&_hKjAw>A>d`#5YPaJ}s0!;%z?0{?VF6m7J ztR&y>23%kn^@Ml<_Abbn4@Duz!jb=w5&7aYf~SuQvXh4^Sv?6An15-5Z(G3ZWane|T+C z=InkmhKZ`a=W`kddu&YdBU;)7tpe>0q-AAynnl}zS}cihbo^zoffI3pO1O)EzhiL?;`-k0(m|RaMVr@a%rK=_BY>MDIa#^ z-AUg6!W@K&-~xeuJ@)(?Jhv5ajepN?7*nINE$7w!@h{eRPJm|b+%<098GLWsX%YdDY(y$p`^ zQF4lS32+yv7XMYwYIzYkQ${x1_gtv+QfL3VOz{7@+)hIUFwoP9BdHf?WH4TVffT(4|ANTzJ;9-#{B=kR222B?Gt;Jkst*IHGvsnxea5Aukz z@Q}IW0H2-$GK0YGmlA8*H7mE8nNi9Qdm@y@u@=@{kR8XS8?bn_VVi>k*zNCAg5W0U zr$kCX`E8GYLlp8i!PpMBNW0Z$5)!gGfk40a4p{wjP_M>&9oNNlI8HPgmGs%^jd4st zm+oVC!Mg{r*>~3N$^jeT-Zx1tMF-C2<%jE?UVm&Y8@%N8&nuCpb;=6v?o;Fxr*WT- zx&7VDjQ7T@KvG>c!%mHf9``H-ONmh3v+E72`Ed1(qm}vV8soXa;0-tap>gSra-vRv zb;w_~B6Toza88jzm0(TcX-Sth(a4O0_;#TFmtOna%serQm^U8wfoSm zXWLuDvjrO}ysk<*j+|%>JIKMG`Bu<^bwe= z+%p9L=|K0;L+^Jz+$o`W1-pVs6`_=Gy27He#{Hq&a{{w!wEZ}8H>{U)Hiq=vsQ<^g8lTzg+=e^jzu$YCf*eNaQkD0Tw z;;6WOGnnuQcFsXwtF%!2Zjl$YUQ{w@Ydo~|JW!twzZp;17-M^YY6w89i*s~h zd=L~vZPm&M`Ub=s%%mu2$Y{6;qe{yh_kZevcY<7Qd*5?qCwEhoLm=xd|~B z61GvvpJ~qmlnzVWt4E82ExFsv$A=sO>^9$`N&O-TG9^Yv)QoE zcg@@~?;i)==ap!O;H2HY#^Szug5rAdhuQ5`W%I8Ok4;5&jm*$n^k)up#b6e*jbt^m zJ^0_L{x)z?)?MWBf0HS&?p5>PO9RcyU0$2Z8}b=#_mi|k$S@$yvxFpqUPu^Mi43cVzlEX!(Wjbo-^bWzRp%v5{8FrNa8Jxbu^+mL^udGNDL+?SRSy2jdZ zK^W4hFTbiu{e??EYc@?dWXRm?|Dc<|P)~{{uBkpd>zT|k|5s)xP$L#YBup<5e(nw& z5db{B0R~M1EVow`>MJOXl2|jhEhmQ|90oW0g&|stJpLVDX`M{}D@>7oT8s6}wZ<40I?}uOJk1y5qXeUa%%d1N$R}FU<^Z z)D!pCcGhD`d*5K_ETan1>>dn~DL+@PzfnfIJ?4x@&)k@w>ZPHmT((47tNcbr66Ou2z2@iKNokvBy|<6_ zk49nIF){|k3p6AnBbZy&p$cXAK1%k;yT8qyp;lGi#ZBv%<|cY5Fl-mgHfflnpM1No zK`890{!?kq0l< z{#qJBn0ZVmed-2?wtmrh$!#3KN9Y}gOZ0^pDp?A-<`J^=o35o zn{Ac8yPo91eswWe{q_^4=jUn-l{M)KQJZeVWWj-a7lZdvf`zeW^BJXoUvUYx_;ENX zn(s+QA`M$LN%<0~--c#-RkgkfZ7VQ0xwXg6(t_3~DXvDE$eYu4LHOhTSH}ezs5~X$}P(C z5&0_zFE#|KnQLp$f587*~oi?EIK`NT(R6PPw>}mQyu0QwF z#`^PA8x6W*i>uoACAL>b^sZ07?t5ugA_oUMQyi%SXF#2w!%y?3NW<1BrKR#kjJGfx zszpF@!1ACVcs8|dFZo_qLOBJ2&Wp0*jQT8*f+ES${Qic{nxq1iETx@a8%mIt=Ck*f zv$V!|$JkSii<%tz4*6rEAJei0`0#mqp&$ufMyGq9Sc=Z###Dkv#)no@=$XmW*Ye>t zjQstqf9TVN7c&cfef*}=H2d)cMB!n9=f_tDf#08>y;_o%f)zI|6EfD&=BW0LtUSnB z@qKD$D;e2VyYYASfW25{dx!_R|1nVqlW#8^EnL{GIcYpSnVo&&d7z4Ev;Wz5B}C_& zJ%2sXe}$6Z$lH(iP=dxM@kA!zr~^2)0jX+BIbnC!g>^^mCh6JG`~4?DvZjJnhObi$ zyMqcCosyFqdNd8sUUxn+R=D8@`K+b?OpBxH??LT|kp?U5>EYv1gl}KZS*tV@F7(Vn zt6f!0AkjkM zTUAwnd}SG{r)T!UuPV)ckXS2Z;xPqzo!xCth$SUN0QVomj|LaRe0U5_whrcDx?(QmeW55_ zQ+sAl{xlaAb%^vJ62?&;HYxWUogiO>gqTTM$t7O{WVt~d_f~4cjUY1D&`GL_z;U5S ztIJ9(_@!J;@p+2SQ|BVqt&*CU$p>Qtn~#wgDYJ2fZ6xq9>&&q>Tv8n)IcG*}12wGMAxLFr0}C1QZpHA;?p9G z&)U!*Y9q7R;d^6!!dD6d9ca6*coEPE&^cH5#Q^{gIp?89f?XLCGSQ7bzp#$!KFkj# zQhH>W!a<;i;8W6NGT!-zEWe+f;)%KXx+yp?Os)5*FFj(K85HhzuA-X3kgHh81gpkK z2a>O5bmB$s=be=ui8_A*xWIB@;QQo^;n#ClPXgh>^_+JVs&^eMLbmzXCRwh!xy5@J z-{tvv9=Mhg_5QkIjt-C-P3pg_P&#LR)ZLHcb%!n46GL5LA=GXnv%ehRGj*H`y@xt3 z&hT^?rcOqB5rAAzYqp9izZp>7p#?VT7L{_3<>)Kgx|Pb;6HHW{dy82kj-hfrY48cT zG=d=k3|!Pxir^l=wvk_&1d)d&ix{m}C)b+pu3P!vAHil_-YrikJiq(rVBFIHx_NZn z)h|l*^I_9?ZLXLJma*^|# zCk+5pPvd@_ss(aCI(PXb!yx5W!&^a1Xy;7c7L~TJVQXfm-Th9A7m)2`0!Tui7SH*o z0BWJ@H^vbiC^h72JJR1OZXn_`zl4qcOjoONVnCu z9LyjCzWCc|tKuS^jd(e*uXx;DsC3^9F>2u39E7+Kf7r}B~_Y+1T+UmKNQ~IBy##tbiSi5~3 zOE`u~Cr$&I_)T5>(PI(wx`O4+{5ZQE4I(%lyl3i0a_0ePYv*n`J2@%vMRuW!G#}^) zBwwe}`jE?!I}A_bc=)Z()B0a9oNkVWufKF`pZI#{r@I|LJS#`EywDFz$&BsTo}t(t zEd3KgBn!Knhg~WQMHcuGaZu#p_}m;ttqy>N&!yhCa0r7>`OE|PdIzuaEPU;Y`B$Gs zh2^l#9*`-c;jOk%@>Jt~<+c|#zJ{To2wo8SRi;ANU}tLzqNDq=Y~6F?cj{g)5R^e< z13Y#$6Go*9F<$L^w(1-;i%?)o;I41MhKD90wvRBZ?p9uhy(tU^pOo7Ro$ntV1w8W$ z3-XSrNCScR){egm5K2O5sRBu+^9(!s+$mhDR%U0-p@qrNL({v>YmOD!TAerIY*GlE zGj0>5I??WcugxV9!8;J-NJ_J2_UHUNcvr;B)KV_7;+&f^%jDV{a&L9fmo|Z8It~|N z&N+R|Jinp5sC)s_R>Wuyt{6Z1k$RX_N1pa)3a{1MjWdB^1?Fm>2y~HKp}^Qn1}7#j zK(!8L-xZMKVnx{qO2R4^%Vq~_uRI1K1U^+OZdW_+3q7)RQ59!K$?NtF7>|1XFTe)^ zY&sa7I=gVGPkS# z6#J>N9Frm`2+CJ!QaMu@rQ>#M`j*V{jY5SFw*;Jr!*-tA`NMpA6Az1!KW_BhVAGvs z6IgcMseIxHYj7-`zYS3u4H68XdwB29s~AR(^A~nDsTFaqSI6oul`{mkJ8p4Y4$pK~<43q=F_6~25$sQ*3>R}A`g zY7YgtzzG6f<4g|65s91$wi1zKspFQ1VnTGJqeFtzxd_4dY(SnsSG@JkIJNF>lx)y( zd|d81z^DJy40`uQ^PW^QYUAQi;nhtK_aoBrKR*<6f$lJz-X9$uExG(eD*2paY0vGdd+odHL=5 z@9?FV{fin`xQB-C*egd0zM;|svlPmn;QqrUnGksK;zg2%-OxF_?XdJ8;6=xX#6ozA zbuhf^P*BiWQ~SyWox5!)_`?SSC=3FOrp>J9e9_Kql?@Bpm2CgCunX7=kb#=viL}7= z%OKe7@w3fJ46rWNg44gA9)tq)X!8NfFO;PF&)2_>?=%A#&&6Z>0YHMz9N!uQff`Rv z)1z&N3z==RgGrO4dPyZEC9J_A$FB^)bkK9v3omqf{9u%z{D z0HsX)1foAI@F8;?Q>|MuJ?qESKa7hwoQ&o?c=@n2XYSBG*=^K;GzMm+>_GSo16wuB z8<@GPR_I%QpKPRUGmriwTpz^Imb^TEO%9Y+hc|OanS1xmg?v5Z7o%#AI|f=L}A%(kH+ZqA)nf40?fU&-1}%rL}a>TRAyqdZO~ImxWb#%g@=c!X5`*|VF* zEWT4s75Vv}ZCT%ErCjb7Z0c;;n@DntUSB)euLc>q)frIc=!*Lo)uIY-zLPe5yl{y#j81tme$RNYzwXIS zg}yo#2noOQ1L*JIk@!8f@jv#BJrhnZ0pkORyT&~xwVw$<2}+I2cF%>R&5d0KnN5|e zS>~sJp~9EL!x!}PP61yQ0fCahno=KP27vpnAe$SK=bYL{2tCR{lK#gU00J3*p5&;7 z2G_#O%LR^!01ZkO&`-wo2ihqg_W;Fkk4c{~CF8Q|!W=_?9nM(tw+41l_q$aMmooc~ zloR$nsqLB@>%$(Glsx2&m#EX&#lO>LRMpijw6%Zfy6%t?O8Gvf{mX9IBh*v!`9-58 z(vUZ_VyZw#t@kHNd$?VEOOfs-Vs$tPwq$L!2c8M@Ii6OVsq&1|A~9IqmAKhDQI9!e z8N4<7lDI6jxUJ;<&3KtJSD@vWUMAaAeJBTSYHTKJ5+M-FOH)F1pRR^kkI{l>=rh5~ zivDU#O|o1@3rb&qHa$w-pp03K#nL;7ur2vNd1_5)-8QOEx>R9whb%8QTtVkweRn@h=mW#@}KG&svi)QJa~3UBU&4fBnkaIv9Z@) znUWbiUyARYic_AnZo2+_^H;|rtfmegPp>K@8ff(I5~w(JVW6Jm^}ryHAO`PlxH~X~ zuTxkG7vCzhoOMd!SRW=d|9X)y*n*W$?XiMKgl?EC0$@7`^v=8gqK3fQ$UizVde0#7 z*=T7Q>$Ltele=_dm+AjaVFo7;(u0SEguk^OfAJ^Wxr>jE)S&`jdYyUba5-<2?6LnC zjHB*+M)S6j7CNQRk&XLRs5b4jKG`rLIP~&_AG*S9qrJ*}((;0I`wY0{5S4Aoy!+sI z{=zqn-wu-L`C#tCg3b=(5&1?zHTy;}cDy?!th@ z^Tzq4F@Zqf+e9FcT|_VdDFV83vp7dNDmLZPX)BHDHAykCg9HAemsR~FFeA+ZcyA+g zJxAyMSGse#vkZ|vM=y`K`hZ&=ATHGtlkE3zGxh)KkmY^F3$#ofE7ey%zUzU{WYFl7 z3J;DI)Gi@>;SSrj+dn75I%jA2juxpR1oEljSmZ;}HLb>qHZK5^a=@uO-3zp(d&3DRXd5$A66FdSelUw-Bz z%nznB^p@GRlD{``1fgmz%<0EiRYLQdPDxr9Nwr74-E0YJURV8_xw64b%PzU%7&yL2 zAT6^{r(QSyDbu6BAkC?xnRa2P$rv%ZUwOQ(T~WdKH4l6qtk&FBOSz3TY(O&C`BUxB z1~~Ns^e7<7>RiUspwg}1pW$sejt$Dj{9LXWm1Vh&wn~mRDQx?0Pv`1d=|JIh1e!^4 zm*l8PD2gd6>bR^7*I)w|T}tR@}x7>wRe z9t*DZOQ(fDf>ZjBY<31_5N(VtDzy0vG9qFF)wz|yITq0x@(uNsdP1}%TSzbO2H16^ zX|EwH=aVM5BI{VoQVCPRtZB@W|C4rUsh<)uSsOg+;kz2m$^yyd{^$IO_#~h9BAx*g z;2u-85QXWy7+CM|wrv^_yFasAlu5Io`R(jn4`#ZnR4ay|RjMtvA80$`F>*kV11eO3 zoswqr964V*!_;c(Qfln5{7Z#YvALvUU|QzEI8}5B2@THh#1%JaSr0n;N9?N9S3L}N zPvyRYTLNeGe^4ZaMH~L|dIfRBR4p$0g;XX9hvd4FiO$q08JB~D+E-GOG4{YbzmVrU zZzlRRTVx~p`Z=itrK@W){Sp|XvP#14kOaUOGb4zi%-reSi(`jMxc#}nk zwAY44P9D+jkjye5%~_x8oZ4zbd(|sHV1dYgbebYL0Mdq9TMY7<#v$0s?{w9ivhLQi6np zLq|arsfQ9s2vu5001*i7Py_*`gkC}wkVIPOC6sVC-v8;2`*82m9%GF?zP0yQYkhNm zWv=`Uw$@T2hS|I2z-v3BDb4C-zH2*LzPRGL6_6BqZQPeaSbI7oy;yi=SZnjXK(z8F zBO%p{mvu;TVDE#SPnvIv#NSkwl~0`CYIvU!`XK`=yd(V&gLn4trWv_tv&WX1>-6Sy z%hl}`V8Z&oKh2WrJkqDBt|B5G=Y3<=OWVZ^oqYK7@DaBSSuUu z=Hh!@87);LzJ8_jhbu1$-sb~5?|+bFBRYEmqV~_n9c8hINbiV?o}M0^z{#wK{wVbA zx{#M?kd56fDCe`)IO(-2t-n_haK43-HW29Vr|LewxyVvwuN;^){(VT3>*IM|X@`eT z6OBR7mpxioG*+VkFHlFCv;#2KT3mXN!;1e6;&QO#DMa(LwLg?og;OP3k|Vn4|*FeGY;F?GC}<-x77*eV3Q#t+=2arn}x&gc!h z&4u$#CG8j874RXz*dxx1Wwf-(5Y-0WA8yB|{XYTm=8+eo3qcO};C6zXBp!8C_UO*; z?tdeCgz?Z(08{d(rfjzf&PQxL4g!$>;VOKAaWNIj*~*hra&k_`a*kic?_60YZn103 zjSjh`t$bk+HYO?WCr&W{{ASw_CH2WNS!oS|VI$7HHvos8UI!H{G^LD!i z!ofl~0dnZ85!Oc|O~-(jj>x|HwfdW9$lTUGGQ#ff+YNs$56Z#zzrB8U2z|AnRh$H1GQ!<9Pn|DFHd z)IIoBB|!HX&LatdJPFg)otvE-=t!2Xf|})SZjONby#cGw^pcg3saS5A{!D^^$c-Bz z3eCZ%xjf4%X)OM|*tPQQ4zW)6g-amN#@9@pR*U$LD!jaUx`q@$#88dSt+DAaOGYow z!8SHFnp~oUaVgjw7|GQ6%N}cUKN8EmzuaiCKSbj#bN+gnUL^2qcD9FXA#TjyCp)p1 zo5m)tuC6ZZ`ff321D56U0!-YIrg2l_@f$&BVcFf^3cn`=aKbskX9-rMu5UK;8~W_qOLot6htQ~ftBI?}Wz zutw3UpvA>S&V?l=)6~GA%x%Ig4l#YdKtdYU7RfK=b;t=$$+huCK5W1}r)qdH|K)T% z$D?_%U^cQfq(s_^BBtRVwZD7tH7xEfd+cC3T5C8uG}Oo5&TcN(NNcej^;%=AE8}kA z87H=Vq$mN`|C&80nl4SKyZUl4>}6cc5BGtdo=jxzN@&UUcF2Q)Hv9)mn0-RY&8KZx z>2UfXzX)o1bAbE>%nuJd2#%2h<1GdpB@m(n1tq1~`J%QKXuMpDz|M}dZFz?hl_%~qEPYTYq`=(;X$B(Wn zGFoGFL=XI?GZosCv3IJ;-B4=n{wC7!n}F{$7mBRXLU5LFav;xMmpJMQG;$1onzZl* zeIycKP-tG!Qf*Bqnd}m2Vqy{>OUUdenK^r}tk!#P`S|wFXHmP|{yYz-V2gZvSQ8l( zWY^BrgRK);Kb<>b7=K)u(=C8+#jidItw^Quct$R~ICy270tS9uRxvzLs=MvxL0rHF zDKKIK>e5&r8*8#VEafaso)fW2T!q1vPy7LLt2YtKY$C z&}dM7Em1l1^gdT9x(y{^O@S(uDNw>cvP8im9gmR{Ckn*TZ=QQtkt~5w^NTYYJ50R- zGhm)7_&z@{E9oVqQBE?>bxsL_VT%eOk#l@Zz5*UkvI2}{Pc?T%c<#6)4xC3vfd)Q! z>a^_fFRFVa2zY+82Fr85JwIMRFUjpwUT8XWPepgY>AX2%I%J&bPR*x(;Tw}+N!BC}m8l?X5a74isGX<#(s zFCm_#6D3DEx2x>&GSN98J!h1@d@c5ZsO-#kPv;K0$#B5Q#J~#s!DC%^9cm`&Y=avB zo6Vb}=RXE3PtHGDeIh}vR`7g(u7cDIdC>pM*Jg~amOE0XWz~kN@}#$?J1e79AuijH zjH18Q;kSUV&mqRgL+u@?WjZlMU&AkJH{7WU|nhQRzH!*G$~koq=NN#I1lRb z@bEa}D6E^BK;D>F5|dQZA1s>qNX6ef5K zIjmHRZp_kCBXX{-&>hz#)15CLu$RSUu8p56{&Li{!oPgjjnzzmd?~@a`*eIbA4d9j za$y)Ps7B{R*pmj8wFH{xFby~&p{%@IZBnWQgOt;f1=nd2?}In+?vz)(qS-k)svN9X zH|w2++0#d@$HE;wk95Kq^h6cVg(m>u{h;6G-C4mwaRKdksig-EgWMmfzu!vy-q5 zmPFXnc+P1Zu()?w^F>?+t=<98PnSkf|431>C;Cn%4TJBSnqsG>rd(3xwl;C^?2{jaE zBaKzvy*0LlA<7$EFbMnu)iIMJ}l4`S&B=EXhyR3>KjVbevl=cw`1r>Oy(B?uSg zUFKIW!@sJ@eY6sx(2_PoWi{4V2#gwf%ZqlZ!0VFNR{GiDWr8d$p2Qsfc>6gSW(F*X zDPb|BuIs%+K6=d6Yth@bFde7JZV@_=IRu_0Wrxej#N{Lh0h=+Vx8jqveuw09?fF#z zoGvvhGnPES%XVr)SE3&Px#lY7yiT$EFCX3DW=2r-Aw^#Gpk)2_uJms953IEP@lk{+$tKDrjlaG;56&!VCag$TTVnyLTx3Z zeS5?!@X1~O8i!=yILGb#u~zM^fb6{{fyVrRswrCBcbLvgx93R|&#fNzg46EWnC16d zn=1aIIS~!DQ4R1PThFB~%db6~Q%9#2U;;@0Zq=1JXk_2&waJps6V7tdd@-_?Y#&1x zV3<$TpxA}+82AsGn>ysMXeTGDn1zLLP`T~~+YC5*VlYFcj?9~o z$#!VFqK~3D8k1jhdhsX6+KuJ!M8aFCSL;Xt=um^k37t>GMGMdpVri*=cYLwa-WgdTHaAg*Wxx;-23$Ed$Ge(+ieM8RN|)tlg**py(hXB4hIco%hpg7Bw_H{>3ggQWeV}ZL{uB!63&U01K&+WXiy2D z1(ko)32F;L+(K#3v`z-Bq8!EG}VLdBk9OR za&gU{J)2M9+~}GM0)S=QHJHHR)Zc32F_Mr`t=7taq3xLeR?VPOK|qD)=Q0Bc{+GI0 z9C4y?Xqz+8RhcVXmhQarr`kk-AN`@2qg~=?T*xhBosLLl;SRZ#VwSg1j*Y8UsBHsI zr3Kp64oU1VFLnoHO?Wxm91jm}r}+VfOOT7B<6{IOcMN&fBsdd%Sa3O_})P z>nc_L)dpb0ROqf4r~D%^NCISyHhLfZtLxgxZ8>bf>Uyt)wTbeS-1y~S@by~LJ9L8g z!Ao{AC?#-vrDD*xlLD~qz}nA@4pgmoiXtbX6Ed%>^vFjU!tOj^+w~M4W}P3EuB)IH zR#i&wbjTm$DDO@sGLudP=1kk7p2XqtV1~Dos8G^w@vU3*VdtCD*7=XXf8$u{zXG3a zB@c=lV*Z{A(~*#t?#F*tpp?}T34$sf%Jj*0*{wdCYD`Drm5Au*l4vg3c9UjFv%+6} z#3!4$&h87ClO3`dZevwws?r+AF1r@A9_x3zD2HO2Yh=)VHxF33pxJu)UfIiejuJO- z4g!&%u^>u5r?Hx-oe&>?DpgQXp!Y&n{^wTB{I-dg6RuAKSZNCkBTZJFv5?xrS^V=$ zO9_$&bF;I>T=ozkx-hecW#`{~`hL^;(6m#Ne822-iEEl)#+U3YyWTbKjg8w$YD}n2 zk43CXwLGieb@`;9C^HLml~XP`-m$v#X6ss)7O-=%Snd?9z;WuzK!KH;BV3LQEafh1 zv@$<0TG069@0d9!xu0Y@(uwfz)C$jee+Bw`u(#vh2}s>G2mkMKpsdXQtZDrpqh&Tf X!h`4EuvFsj=w4UH@Lu7aXK(%sc$hvm literal 0 HcmV?d00001 From deccbc5c024a2ba041beae2060e9c82e823fe934 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 26 Nov 2020 20:09:38 +0800 Subject: [PATCH 0158/1259] Update jd_jdfactory.js --- jd_jdfactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index e9de1c10..a503dd2f 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -312,7 +312,7 @@ async function doTask() { //从数码电器首页进入 if (item.status === 1) { console.log(`准备做此任务:${item.taskName}`); - // await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); + await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); } else { console.log(`${item.taskName}已完成`); } From 11d66b7610d8d7f7d02d53fdc5ae7acc77c4cf81 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 26 Nov 2020 20:10:51 +0800 Subject: [PATCH 0159/1259] Create TG_PUSH.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补全丢失的TG_PUSH教程 --- TG_PUSH.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 TG_PUSH.md diff --git a/TG_PUSH.md b/TG_PUSH.md new file mode 100644 index 00000000..98437721 --- /dev/null +++ b/TG_PUSH.md @@ -0,0 +1,17 @@ +**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) + +Ⅲ.再次在Telegram上搜索[getuserIDbot](https://t.me/getuserIDbot)机器人,获取UserID。填入```TG_USER_ID```
+ +![TG_PUSH3](./icon/TG_PUSH3.png) + +至此,获取**TG_BOT_TOKEN**以及**TG_USER_ID**的教程结束 From bc38af80abd2517ae328f30b5b58b76aa3bd7b1d Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 26 Nov 2020 20:17:10 +0800 Subject: [PATCH 0160/1259] =?UTF-8?q?=E8=A1=A5=E5=85=A8=E4=B8=A2=E5=A4=B1?= =?UTF-8?q?=E7=9A=84TG=5FPUSH=E6=95=99=E7=A8=8B=EF=BC=8C=E9=87=8D=E5=AE=9A?= =?UTF-8?q?=E5=90=91=E6=95=99=E7=A8=8B=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/githubAction.md b/githubAction.md index dd9e302a..c3705b0d 100644 --- a/githubAction.md +++ b/githubAction.md @@ -85,8 +85,8 @@ | `PUSH_KEY` | 微信推送 | 非必须 | cookie失效推送[server酱的微信通知](http://sc.ftqq.com/3.version) | | `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | cookie失效推送BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg) | | `BARK_SOUND` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | -| `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](https://github.com/lxk0301/jd_scripts/pull/37#issuecomment-692415594) | -| `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](https://github.com/lxk0301/jd_scripts/pull/37#issuecomment-692415594) | +| `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./TG_PUSH.md) | +| `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./TG_PUSH.md) | | `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于符号后面的XXX, 注:如果钉钉推送只填写`DD_BOT_TOKEN`,那么安全设置需勾选`自定义关键词`,内容输入输入`账号`即可,其他安全设置不要勾选 | | `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 , 注:填写了`DD_BOT_TOKEN`和`DD_BOT_SECRET`,钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | From ca3ef49cdb498c1a43ec392b6a3cbf5f871ac20e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 08:33:58 +0800 Subject: [PATCH 0161/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index eca65280..8b1fe2b8 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -315,7 +315,7 @@ async function helpFriends(codes) { function assistFriend(sharepin) { return new Promise(async resolve => { - const url = `/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${sharepin}&sceneval=2&g_login_type=1` + const url = `/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1` $.get(taskurl(url), async (err, resp, data) => { try { if (err) { From ab2ebd59eb420bcb03c38d2ca35a0979e361aa2c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 08:35:06 +0800 Subject: [PATCH 0162/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 8b1fe2b8..f1ff403d 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -34,7 +34,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 let cookiesArr = [], cookie = ''; -const inviteCodes = ['gB99tYLjvPcEFloDgamoBw==', 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', '1uzRU5HkaUgvy0AB5Q9VUg==']; +const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { From bb0398840041859466ac80b58a766c1583ef6039 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 09:09:34 +0800 Subject: [PATCH 0163/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index a503dd2f..69f1e02a 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-25 18:19:21 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-26 12:58:02 + * @Last Modified time: 2020-11-27 09:58:02 */ /* 东东工厂,不是京喜工厂 @@ -151,22 +151,22 @@ async function algorithm() { } } // console.log(`\n您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${remainScore * 1 + useScore * 1}\n`); - if (wantProductSkuId && ((remainScore * 1 + useScore * 1) >= (totalScore + 100000))) { + if (wantProductSkuId && ((remainScore * 1 + useScore * 1) >= (totalScore * 1 + 100000))) { console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【满足】兑换此商品所需总电量:${totalScore + 100000}`); console.log(`请去活动页面更换成心仪商品并手动投入电量兑换\n`); - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面更换成心仪商品并手动投入电量兑换`); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面更换成心仪商品并手动投入电量兑换`); } else { console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${remainScore * 1 + useScore * 1}\n不满足兑换心仪商品的条件\n`) } } else { console.log(`BoxJs或环境变量暂未提供心仪商品\n如需兑换心仪商品,请提供心仪商品名称,否则满足条件后会为您兑换当前所选商品:${name}\n`); - if (((remainScore * 1 + useScore * 1) >= totalScore * 1) && (couponCount * 1 > 0)) { + if (((remainScore * 1 + useScore * 1) >= totalScore * 1 + 100000) && (couponCount * 1 > 0)) { console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【满足】兑换此商品所需总电量:${totalScore}`); - console.log(`BoxJs或环境变量暂未提供心仪商品,下面为您目前选的${name} 投入电量\n`); - await jdfactory_addEnergy(); - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n已为您投入电量,请去活动页面查看`); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n已为您投入电量,请去活动页面查看`); + console.log(`BoxJs或环境变量暂未提供心仪商品,下面为您目前选的${name} 发送提示通知\n`); + // await jdfactory_addEnergy(); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请速去活动页面查看`); } else { console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【不满足】兑换此商品所需总电量:${totalScore}`) console.log(`故不一次性投入电力,一直放到蓄电池累计\n`); @@ -190,8 +190,8 @@ async function algorithm() { } if (wantProductSkuId && (($.batteryValue * 1) >= (totalScore))) { console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${$.batteryValue * 1},【满足】兑换此商品所需总电量:${totalScore}`); - console.log(`请去活动页面更换成心仪商品并手动投入电量兑换\n`); - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); + console.log(`请去活动页面选择心仪商品并手动投入电量兑换\n`); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); } else { console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${$.batteryValue * 1}\n不满足兑换心仪商品的条件\n`) From 2036c97b49f341fb40dd3c96dd279692d2c7ab60 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 10:06:13 +0800 Subject: [PATCH 0164/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=81=E5=85=83?= =?UTF-8?q?=E8=A1=97=E7=AD=BE=E5=88=B0=E8=84=9A=E6=9C=AC=EF=BC=8C=E4=B8=80?= =?UTF-8?q?=E5=91=A8=E7=AD=BE=E5=88=B0=E4=B8=8B=E6=9D=A5=E5=8F=AF=E8=8E=B7?= =?UTF-8?q?=E5=BE=9730=E4=BA=AC=E8=B1=86=EF=BC=8C=E6=AF=8F=E5=A4=A9?= =?UTF-8?q?=E4=BB=BB=E6=84=8F=E6=97=B6=E5=88=BB=E8=BF=90=E8=A1=8C=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E5=8D=B3=E5=8F=AF=20=E6=9B=B4=E6=96=B0=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=EF=BC=9Ahttps://raw.githubusercontent.com/lxk0301/jd?= =?UTF-8?q?=5Fscripts/master/jd=5Fsyj.js=20=E5=8F=82=E8=80=83github@jidesh?= =?UTF-8?q?eng6=E4=BF=AE=E6=94=B9=E8=80=8C=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_syj.js | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 jd_syj.js diff --git a/jd_syj.js b/jd_syj.js new file mode 100644 index 00000000..1c6e3ef0 --- /dev/null +++ b/jd_syj.js @@ -0,0 +1,194 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-27 09:19:21 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-27 09:58:02 + */ +/* +十元街脚本,一周签到下来可获得30京豆,一天任意时刻运行一次即可 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js +参考github@jidesheng6修改而来 +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#十元街 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, enabled=true + +================Loon============== +[Script] +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js,tag=十元街 + +===============Surge================= +十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js + +============小火箭========= +十元街 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, cronexpr="10 7 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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; + } + 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 userSignIn(); + await showMsg(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +function showMsg() { + return new Promise(resolve => { + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + resolve() + }) +} +function userSignIn() { + return new Promise(resolve => { + const body = {"activityId":"8d6845fe2e77425c82d5078d314d33c5","inviterId":"VMIQlLQqjQyjZokQmv5bIDgq011L0Ov8","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)) { + console.log(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 { + 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=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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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 From 330f602e7aebff9026aaa0e0837bfd1b1104b03a Mon Sep 17 00:00:00 2001 From: Sirius2s <53803920+Sirius2s@users.noreply.github.com> Date: Fri, 27 Nov 2020 10:15:48 +0800 Subject: [PATCH 0165/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=8A=A0?= =?UTF-8?q?=E5=85=A5jd=5Fsyj=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverless.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serverless.yml b/serverless.yml index a0f27dc6..332cf3dc 100644 --- a/serverless.yml +++ b/serverless.yml @@ -36,7 +36,7 @@ inputs: argument: jd_fruit&jd_pet - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 parameters: - name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jd_jdfactory + name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory cronExpression: "0 3 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory @@ -70,12 +70,12 @@ inputs: cronExpression: "0 0 10 * * * *" enable: true argument: jd_bean_change&jd_rankingList - - timer: # 金融养猪 + - timer: # 金融养猪#十元街 parameters: - name: jd_pigPet + name: jd_pigPet_jd_syj cronExpression: "0 12 13 * * * *" enable: true - argument: jd_pigPet + argument: jd_pigPet&jd_syj environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 6e77d64138f035b51dce967a36fbc4e8693505d4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 10:22:15 +0800 Subject: [PATCH 0166/1259] =?UTF-8?q?docker=E6=96=B9=E6=B3=95=E4=B8=80?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=81=E5=85=83=E8=A1=97=EF=BC=8CLoon?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE=E6=96=B0=E5=A2=9E=E5=8D=81?= =?UTF-8?q?=E5=85=83=E8=A1=97=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 +++ docker/crontab_list.sh | 4 +++- docker/crontab_list_ts.sh | 4 +++- jd_syj.js | 7 +++---- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index e6014ee2..b3d8a571 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -63,6 +63,9 @@ cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script #点点券 cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, tag=点点券 +#十元街 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街 + #东东小窝 cron "16 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝 diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 912f805d..9a845d93 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -60,4 +60,6 @@ # 东东小窝 16 6 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 # 东东工厂 -36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 \ No newline at end of file +36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 +#十元街 +36 8 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 \ No newline at end of file diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 0a94f8c2..d525d30a 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -60,4 +60,6 @@ # 东东小窝 16 6 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 # 东东工厂 -36 * * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 \ No newline at end of file +36 * * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 +#十元街 +36 8 * * * node /scripts/jd_syj.js |ts >> /scripts/logs/jd_syj.log 2>&1 \ No newline at end of file diff --git a/jd_syj.js b/jd_syj.js index 1c6e3ef0..18fc684b 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -17,7 +17,7 @@ ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js,tag=十元街 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街 ===============Surge================= 十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js @@ -96,7 +96,6 @@ function userSignIn() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { - console.log(data); data = JSON.parse(data); if (data.code === 0) { console.log(`今日签到成功`) @@ -104,8 +103,8 @@ function userSignIn() { 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`; + message += `【明日签到】可获得${eachDayPrize[alreadySignDays].beanAmount}京豆 🐶\n`; + message += `【累计获得】${beanTotalNum}京豆 🐶\n`; } } else if (data.code === 81) { console.log(`今日已签到`) From 650faf90ada6c7de1c61aa18d94fe4dded5665af Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 10:27:14 +0800 Subject: [PATCH 0167/1259] =?UTF-8?q?=E6=90=AC=E7=A7=BBtg=E6=9C=BA?= =?UTF-8?q?=E5=99=A8=E4=BA=BA=E8=8E=B7=E5=8F=96=E6=95=99=E7=A8=8B=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TG_PUSH.md => backUp/TG_PUSH.md | 6 +- githubAction.md | 4 +- yarn.lock | 1349 ------------------------------- 3 files changed, 5 insertions(+), 1354 deletions(-) rename TG_PUSH.md => backUp/TG_PUSH.md (86%) delete mode 100644 yarn.lock diff --git a/TG_PUSH.md b/backUp/TG_PUSH.md similarity index 86% rename from TG_PUSH.md rename to backUp/TG_PUSH.md index 98437721..4004b297 100644 --- a/TG_PUSH.md +++ b/backUp/TG_PUSH.md @@ -4,14 +4,14 @@ Ⅰ.首先在Telegram上搜索[BotFather](https://t.me/BotFather)机器人
-![TG_PUSH1](./icon/TG_PUSH1.png) +![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) +![TG_PUSH2](../icon/TG_PUSH2.png) Ⅲ.再次在Telegram上搜索[getuserIDbot](https://t.me/getuserIDbot)机器人,获取UserID。填入```TG_USER_ID```
-![TG_PUSH3](./icon/TG_PUSH3.png) +![TG_PUSH3](../icon/TG_PUSH3.png) 至此,获取**TG_BOT_TOKEN**以及**TG_USER_ID**的教程结束 diff --git a/githubAction.md b/githubAction.md index c3705b0d..203e5ad6 100644 --- a/githubAction.md +++ b/githubAction.md @@ -85,8 +85,8 @@ | `PUSH_KEY` | 微信推送 | 非必须 | cookie失效推送[server酱的微信通知](http://sc.ftqq.com/3.version) | | `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | cookie失效推送BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg) | | `BARK_SOUND` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | -| `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./TG_PUSH.md) | -| `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./TG_PUSH.md) | +| `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./backUp/TG_PUSH.md) | +| `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | | `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于符号后面的XXX, 注:如果钉钉推送只填写`DD_BOT_TOKEN`,那么安全设置需勾选`自定义关键词`,内容输入输入`账号`即可,其他安全设置不要勾选 | | `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 , 注:填写了`DD_BOT_TOKEN`和`DD_BOT_SECRET`,钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 58175abe..00000000 --- a/yarn.lock +++ /dev/null @@ -1,1349 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@sindresorhus/is@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" - integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== - -"@sindresorhus/is@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" - integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ== - -"@szmarczak/http-timer@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" - integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== - dependencies: - defer-to-connect "^2.0.0" - -"@types/cacheable-request@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" - integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "*" - "@types/node" "*" - "@types/responselike" "*" - -"@types/http-cache-semantics@*": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" - integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== - -"@types/keyv@*": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" - integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "14.14.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" - integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== - -"@types/responselike@*", "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== - dependencies: - "@types/node" "*" - -ajv@^6.12.3: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -archive-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-4.0.0.tgz#f92e72233056dfc6969472749c267bdb046b1d70" - integrity sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA= - dependencies: - file-type "^4.2.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -base64-js@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -basic-auth@^1.0.3: - version "1.1.0" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz#45221ee429f7ee1e5035be3f51533f1cdfd29884" - integrity sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bl@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" - integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - -buffer@^5.2.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -cacheable-lookup@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz#049fdc59dffdd4fc285e8f4f82936591bd59fec3" - integrity sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w== - -cacheable-request@^2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" - integrity sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0= - dependencies: - clone-response "1.0.2" - get-stream "3.0.0" - http-cache-semantics "3.8.1" - keyv "3.0.0" - lowercase-keys "1.0.0" - normalize-url "2.0.1" - responselike "1.0.2" - -cacheable-request@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" - integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^2.0.0" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -clone-response@1.0.2, clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -colors@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.8.1: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -content-disposition@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -corser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" - integrity sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c= - -crypto-js@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.0.0.tgz#2904ab2677a9d042856a2ea2ef80de92e4a36dcc" - integrity sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -debug@^3.1.1: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" - integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== - dependencies: - file-type "^5.2.0" - is-stream "^1.1.0" - tar-stream "^1.5.2" - -decompress-tarbz2@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" - integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== - dependencies: - decompress-tar "^4.1.0" - file-type "^6.1.0" - is-stream "^1.1.0" - seek-bzip "^1.0.5" - unbzip2-stream "^1.0.9" - -decompress-targz@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" - integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== - dependencies: - decompress-tar "^4.1.1" - file-type "^5.2.0" - is-stream "^1.1.0" - -decompress-unzip@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" - integrity sha1-3qrM39FK6vhVePczroIQ+bSEj2k= - dependencies: - file-type "^3.8.0" - get-stream "^2.2.0" - pify "^2.3.0" - yauzl "^2.4.2" - -decompress@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" - integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== - dependencies: - decompress-tar "^4.0.0" - decompress-tarbz2 "^4.0.0" - decompress-targz "^4.0.0" - decompress-unzip "^4.0.1" - graceful-fs "^4.1.10" - make-dir "^1.0.0" - pify "^2.3.0" - strip-dirs "^2.0.0" - -defer-to-connect@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1" - integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -download@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/download/-/download-8.0.0.tgz#afc0b309730811731aae9f5371c9f46be73e51b1" - integrity sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA== - dependencies: - archive-type "^4.0.0" - content-disposition "^0.5.2" - decompress "^4.2.1" - ext-name "^5.0.0" - file-type "^11.1.0" - filenamify "^3.0.0" - get-stream "^4.1.0" - got "^8.3.1" - make-dir "^2.1.0" - p-event "^2.1.0" - pify "^4.0.1" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ecstatic@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/ecstatic/-/ecstatic-3.3.2.tgz#6d1dd49814d00594682c652adb66076a69d46c48" - integrity sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog== - dependencies: - he "^1.1.1" - mime "^1.6.0" - minimist "^1.1.0" - url-join "^2.0.5" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -escape-string-regexp@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -ext-list@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" - integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== - dependencies: - mime-db "^1.28.0" - -ext-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" - integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== - dependencies: - ext-list "^2.0.0" - sort-keys-length "^1.0.0" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - dependencies: - pend "~1.2.0" - -file-type@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-11.1.0.tgz#93780f3fed98b599755d846b99a1617a2ad063b8" - integrity sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g== - -file-type@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= - -file-type@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5" - integrity sha1-G2AOX8ofvcboDApwxxyNul95BsU= - -file-type@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" - integrity sha1-LdvqfHP/42No365J3DOMBYwritY= - -file-type@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" - integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== - -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" - integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= - -filenamify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-3.0.0.tgz#9603eb688179f8c5d40d828626dcbb92c3a4672c" - integrity sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g== - dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.0" - trim-repeated "^1.0.0" - -follow-redirects@^1.0.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" - integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -from2@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -get-stream@3.0.0, get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" - integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -got@^11.5.1: - version "11.8.0" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.0.tgz#be0920c3586b07fd94add3b5b27cb28f49e6545f" - integrity sha512-k9noyoIIY9EejuhaBNLyZ31D5328LeqnyPNXJQb2XlJZcKakLqN5m6O/ikhq/0lw56kUYS54fVm+D1x57YC9oQ== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.1" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -got@^8.3.1: - version "8.3.2" - resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" - integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== - dependencies: - "@sindresorhus/is" "^0.7.0" - cacheable-request "^2.1.1" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - into-stream "^3.1.0" - is-retry-allowed "^1.1.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - mimic-response "^1.0.0" - p-cancelable "^0.4.0" - p-timeout "^2.0.1" - pify "^3.0.0" - safe-buffer "^5.1.1" - timed-out "^4.0.1" - url-parse-lax "^3.0.0" - url-to-options "^1.0.1" - -graceful-fs@^4.1.10: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - -he@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -http-cache-semantics@3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-proxy@^1.18.0: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-server@^0.12.3: - version "0.12.3" - resolved "https://registry.yarnpkg.com/http-server/-/http-server-0.12.3.tgz#ba0471d0ecc425886616cb35c4faf279140a0d37" - integrity sha512-be0dKG6pni92bRjq0kvExtj/NrrAd28/8fCXkaI/4piTwQMSDSLMhWyW0NI1V+DBI3aa1HMlQu46/HjVLfmugA== - dependencies: - basic-auth "^1.0.3" - colors "^1.4.0" - corser "^2.0.1" - ecstatic "^3.3.2" - http-proxy "^1.18.0" - minimist "^1.2.5" - opener "^1.5.1" - portfinder "^1.0.25" - secure-compare "3.0.1" - union "~0.5.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.0-beta.5.2" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3" - integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -inherits@^2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -into-stream@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" - integrity sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY= - dependencies: - from2 "^2.1.1" - p-is-promise "^1.1.0" - -is-natural-number@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" - integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= - -is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-retry-allowed@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -keyv@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" - integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== - dependencies: - json-buffer "3.0.0" - -keyv@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" - integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== - dependencies: - json-buffer "3.0.1" - -lodash@^4.17.14: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -lowercase-keys@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY= - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-db@^1.28.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -mime@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -minimist@^1.1.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mkdirp@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -normalize-url@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" - integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - -normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -opener@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -p-cancelable@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" - integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== - -p-cancelable@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" - integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== - -p-event@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-2.3.1.tgz#596279ef169ab2c3e0cae88c1cfbb08079993ef6" - integrity sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA== - dependencies: - p-timeout "^2.0.1" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" - integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= - -p-timeout@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" - integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== - dependencies: - p-finally "^1.0.0" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -portfinder@^1.0.25: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -psl@^1.1.28, psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@^6.4.0: - version "6.9.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" - integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -readable-stream@^2.0.0, readable-stream@^2.3.0, readable-stream@^2.3.5: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-alpn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" - integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA== - -responselike@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== - dependencies: - lowercase-keys "^2.0.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -secure-compare@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" - integrity sha1-8aAymzCLIh+uN7mXTz1XjQypmeM= - -seek-bzip@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" - integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== - dependencies: - commander "^2.8.1" - -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -sort-keys-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" - integrity sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg= - dependencies: - sort-keys "^1.0.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= - dependencies: - is-plain-obj "^1.0.0" - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-dirs@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" - integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== - dependencies: - is-natural-number "^4.0.1" - -strip-outer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" - integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== - dependencies: - escape-string-regexp "^1.0.2" - -tar-stream@^1.5.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" - integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== - dependencies: - bl "^1.0.0" - buffer-alloc "^1.2.0" - end-of-stream "^1.0.0" - fs-constants "^1.0.0" - readable-stream "^2.3.0" - to-buffer "^1.1.1" - xtend "^4.0.0" - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - -to-buffer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" - integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE= - dependencies: - escape-string-regexp "^1.0.2" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -unbzip2-stream@^1.0.9: - version "1.4.3" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" - integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== - dependencies: - buffer "^5.2.1" - through "^2.3.8" - -union@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" - integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== - dependencies: - qs "^6.4.0" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== - dependencies: - punycode "^2.1.0" - -url-join@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728" - integrity sha1-WvIvGMBSoACkjXuCxenC4v7tpyg= - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -yauzl@^2.4.2: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" From 860d0016e81097b9177dc2f09aa616531cabf676 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 11:02:05 +0800 Subject: [PATCH 0168/1259] fix bug --- jd_dreamFactory.js | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index f1ff403d..b799618e 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -102,7 +102,7 @@ async function jdDreamFactory() { // 收取发电机的电力 -function collectElectricity(facId = factoryId, help = false, master = '') { +function collectElectricity(facId = factoryId, help = false, master) { return new Promise(async resolve => { let url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${facId}&doubleflag=1&sceneval=2&g_login_type=1`; if (help && master) { @@ -489,18 +489,8 @@ function stealFriend() { data = data['data']; for (let i = 0; i < data.list.length; ++i) { let pin = data.list[i]['encryptPin']; - if (data.list[i]['collectFlag'] === 1) { - //只有collectFlag为1的时候,才能偷取好友电力 - const facId = await getFactoryIdByPin(pin); - if (facId) await collectElectricity(facId,true, data.list[i]['key']) - // getFactoryIdByPin(pin).then(async (facId) => { - // if (facId) await collectElectricity(facId,true) - // }).catch(err => { - // - // }) - } else { - console.log(`此好友[${pin}]暂不能被你收取电力`) - } + const facId = await getFactoryIdByPin(pin); + if (facId) await collectElectricity(facId,true, data.list[i]['key']) } } resolve() From 5bb06fb1d9f9c5b931696c89cfe3d58852095bf2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 11:14:03 +0800 Subject: [PATCH 0169/1259] update --- docker/crontab_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 9a845d93..9d02d02b 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -52,7 +52,7 @@ # 天天提鹅 18 * * * * node /scripts/jd_daily_egg.js >> /scripts/logs/jd_daily_egg.log 2>&1 # 金融养猪 -12 13 * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1 +12 * * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1 # 点点券 20 0,20 * * * node /scripts/jd_necklace.js >> /scripts/logs/jd_necklace.log 2>&1 # 京喜工厂 From 9de72cf7ab52e5fc8bdd2c9b758baf0a5acb54f3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 11:39:31 +0800 Subject: [PATCH 0170/1259] =?UTF-8?q?jd=5Fbean=5Fsign.js=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E4=BA=86=E7=AD=BE=E5=88=B0=E6=8E=A8=E9=80=81=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F,=E4=B9=9F=E4=BC=9A?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=98=BE=E7=A4=BAlog=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_sign.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index b1bb810b..10d51b3a 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -1,7 +1,7 @@ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 -更新时间:2020-11-26 +更新时间:2020-11-27 从 github @ruicky改写而来 version v0.0.1 create by ruicky @@ -55,6 +55,8 @@ async function execSign() { try { if (notify.SCKEY || notify.BARK_PUSH || notify.DD_BOT_TOKEN || (notify.TG_BOT_TOKEN && notify.TG_USER_ID) || notify.IGOT_PUSH_KEY) { await exec(`${process.execPath} ${JD_DailyBonusPath} >> ${resultPath}`); + const notifyContent = await fs.readFileSync(resultPath, "utf8"); + console.log(`👇👇👇👇👇👇👇👇👇👇👇LOG记录👇👇👇👇👇👇👇👇👇👇👇\n${notifyContent}\n👆👆👆👆👆👆👆👆👆LOG记录👆👆👆👆👆👆👆👆👆👆👆`); } else { // 如果没有提供通知推送,则打印日志 console.log('没有提供通知推送,则打印脚本执行日志') From 58daa22dc505bccc09e76cfd50a8a73296381a0b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 12:32:55 +0800 Subject: [PATCH 0171/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=81=E5=85=83?= =?UTF-8?q?=E8=A1=97=E8=84=9A=E6=9C=AC=E5=9C=88x=E7=9A=84task=20=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=20https://raw.githubusercontent.com/58xinian/icon/mas?= =?UTF-8?q?ter/jd=5Fsyj.png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_syj.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_syj.js b/jd_syj.js index 18fc684b..b23140af 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -13,7 +13,7 @@ ============Quantumultx=============== [task_local] #十元街 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, enabled=true +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true ================Loon============== [Script] From 8294d9f6b059940e6d7182cd7abefb94e6b7e188 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 27 Nov 2020 13:40:56 +0800 Subject: [PATCH 0172/1259] Delete iCloud5.png --- icon/iCloud5.png | Bin 50792 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 icon/iCloud5.png diff --git a/icon/iCloud5.png b/icon/iCloud5.png deleted file mode 100644 index 9f11de909778d1f3b618cea123558b90082141b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50792 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

!Gr{u)Wn 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 From 808d8c715fdf5d18e0819a7388b2d634ec3365d8 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 27 Nov 2020 13:41:25 +0800 Subject: [PATCH 0173/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=99=E7=A8=8B?= =?UTF-8?q?=E6=89=80=E9=9C=80=E7=9A=84=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新教程所需的图片 --- icon/iCloud5.png | Bin 0 -> 58538 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon/iCloud5.png diff --git a/icon/iCloud5.png b/icon/iCloud5.png new file mode 100644 index 0000000000000000000000000000000000000000..d5651835dba85fcdf06697e76e12df708e57af4f GIT binary patch literal 58538 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

Ud4oDks)ZuBS4krIEb84%_m$ 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 literal 0 HcmV?d00001 From 809b9fcea1898887d0c56a968bf45cc85ce4cdab Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 14:33:53 +0800 Subject: [PATCH 0174/1259] debug --- jd_pet.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_pet.js b/jd_pet.js index 19d38887..cd397bfa 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -145,6 +145,7 @@ async function energyCollect() { async function feedPetsAgain() { const response = await request('initPetTown');//再次初始化萌宠 if (response.code === '0' && response.resultCode === '0' && response.message === 'success') { + console.log(`添加log打印${JSON.stringify(response.result)}`); $.petInfo = response.result; let foodAmount = $.petInfo.foodAmount; //剩余狗粮 if (foodAmount - 100 >= 10) { From d9774de925bcf34fd6721944028251aba8282018 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 16:01:45 +0800 Subject: [PATCH 0175/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=90=8C=E5=AE=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_pet.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index cd397bfa..a5199f1f 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -136,7 +136,7 @@ async function energyCollect() { let function_id = arguments.callee.name.toString(); const response = await request(function_id); // console.log(`收取任务奖励好感度完成:${JSON.stringify(response)}`); - if (response.code === '0') { + if (response.resultCode === '0') { message += `【第${response.result.medalNum + 1}块勋章完成进度】${response.result.medalPercent}%,还需收集${response.result.needCollectEnergy}好感\n`; message += `【已获得勋章】${response.result.medalNum}块,还需收集${response.result.needCollectMedalNum}块即可兑换奖品“${$.petInfo.goodsInfo.goodsName}”\n`; } @@ -145,7 +145,6 @@ async function energyCollect() { async function feedPetsAgain() { const response = await request('initPetTown');//再次初始化萌宠 if (response.code === '0' && response.resultCode === '0' && response.message === 'success') { - console.log(`添加log打印${JSON.stringify(response.result)}`); $.petInfo = response.result; let foodAmount = $.petInfo.foodAmount; //剩余狗粮 if (foodAmount - 100 >= 10) { @@ -163,7 +162,7 @@ async function feedPetsAgain() { // message += `【剩余狗粮】${$.petInfo.foodAmount}g\n`; } else { console.log("目前剩余狗粮:【" + foodAmount + "】g,不再继续投食,保留部分狗粮用于完成第二天任务"); - subTitle = $.petInfo.goodsInfo.goodsName; + subTitle = $.petInfo.goodsInfo && $.petInfo.goodsInfo.goodsName; // message += `【与爱宠相识】${$.petInfo.meetDays}天\n`; // message += `【剩余狗粮】${$.petInfo.foodAmount}g\n`; } @@ -266,7 +265,7 @@ async function slaveHelp() { let response = await request(arguments.callee.name.toString(), {'shareCode': code}); if (response.code === '0' && response.resultCode === '0') { if (response.result.helpStatus === 0) { - console.log('已给好友: 【' + response.result.masterNickName + '】助力'); + console.log('已给好友: 【' + response.result.masterNickName + '】助力成功'); helpPeoples += response.result.masterNickName + ','; } else if (response.result.helpStatus === 1) { // 您今日已无助力机会 From 3aec857ef26d537a1b0fe3482779a772f9e133c6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 18:41:19 +0800 Subject: [PATCH 0176/1259] debug --- jd_joy_run.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index cfefcc58..3d35f826 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -101,19 +101,24 @@ if ($.isNode()) { } //获取来客有礼Token +let count = 0, countFlag = 0; function getToken() { const url = $request.url; $.log(`${$.name}url\n${url}\n`) if (isURL(url, /^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=/)) { const body = JSON.parse($response.body); - const LKYLToken = body.data.token; - $.log(`${$.name} token\n${LKYLToken}\n`) - if ($.getdata('jdJoyRunToken')) { - $.msg($.name, '更新Token: 成功🎉', `\n${LKYLToken}\n`); - } else { - $.msg($.name, '更新Token: 成功🎉', `\n${LKYLToken}\n`); + const LKYLToken = body.data && body.data.token; + if (LKYLToken) { + count ++; + countFlag ++; + $.log(`${$.name} token\n${LKYLToken}\n`); + console.log(`count: ${count}`) + if (count === 3) { + count = 0; + $.msg($.name, '更新Token: 成功🎉', `\n${LKYLToken}\n`); + } + $.setdata(LKYLToken, 'jdJoyRunToken'); } - $.setdata(LKYLToken, 'jdJoyRunToken'); $.done({ body: JSON.stringify(body) }) } else if (isURL(url, /^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=/)){ if ($request && $request.method !== 'OPTIONS') { @@ -134,7 +139,7 @@ function getToken() { $.done({ url: url }) } } else { - $.done({}) + $.done() } } async function main() { From c1a1aec3e64cea79aaeacb9cbcd874f3d2353790 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 27 Nov 2020 19:02:13 +0800 Subject: [PATCH 0177/1259] debug --- jd_joy_run.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 3d35f826..49bd741a 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -35,7 +35,7 @@ http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?c http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token **/ const isRequest = typeof $request != "undefined" -const $ = new Env('来客有礼宠汪汪'); +const $ = new Env('宠汪汪赛跑'); const JD_BASE_API = `https://draw.jdfcloud.com//pet`; //此处填入你需要助力好友的京东用户名 //给下面好友邀请助力的 @@ -115,7 +115,7 @@ function getToken() { console.log(`count: ${count}`) if (count === 3) { count = 0; - $.msg($.name, '更新Token: 成功🎉', `\n${LKYLToken}\n`); + $.msg($.name, '更新Token: 成功🎉', ``); } $.setdata(LKYLToken, 'jdJoyRunToken'); } @@ -133,7 +133,7 @@ function getToken() { //} $.setdata(LKYLToken, 'jdJoyRunToken'); - $.msg($.name, '获取Token: 成功🎉', `\n${LKYLToken}\n`); + $.msg($.name, '获取Token: 成功🎉', ``); // $.done({ body: JSON.stringify(body) }) $.done({ url: url }) From fdeca779feae55b9a1c5b8e0cebc8207e649af8f Mon Sep 17 00:00:00 2001 From: M <44107620+YM1099@users.noreply.github.com> Date: Fri, 27 Nov 2020 21:52:40 +0800 Subject: [PATCH 0178/1259] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6bad1de6..e6d2303d 100644 --- a/README.md +++ b/README.md @@ -39,13 +39,18 @@ 16. 进店领豆([jd_shop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js)) 17. 摇京豆([jd_club_lottery.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js)) 18. 全名开红包([jd_redPacket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js)) -19. 京东多合一签到([jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js)) 【可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) 】 +19. 京东多合一签到([jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js)) 【可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js,iOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) 】 20. 京豆变动通知([jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js)) 21. 京喜工厂([jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js)) 22. 东东小窝([jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js)) 23. 东东工厂([jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js)) 24. 点点券([jd_necklace.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js)) -26. 以及其他一部分在特定时间可用的薅京豆脚本,如 [手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 等。 +25. 京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js)) +26. 京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_rankingList.js)) +27. 十元街([jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js)) +28. 京东金融-天天提鹅([jd_daily_egg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_daily_egg.js)) +29. 京东金融-养猪猪([jd_pigPet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pigPet.js)) +30. 以及其他一部分在特定时间可用的薅京豆脚本:[手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 、[双十一活动领金币](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js) 、[热8超级盲盒](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js) **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** From 3fc44aba312ddb04738f49cc84d489ebd8b313fc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 08:45:13 +0800 Subject: [PATCH 0179/1259] Update jd_joy_run.js --- jd_joy_run.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 49bd741a..35abebbb 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -113,7 +113,7 @@ function getToken() { countFlag ++; $.log(`${$.name} token\n${LKYLToken}\n`); console.log(`count: ${count}`) - if (count === 3) { + if (count === 1) { count = 0; $.msg($.name, '更新Token: 成功🎉', ``); } From 30d06307254d096e8129760c5f1aa41ae30fbd38 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 09:56:26 +0800 Subject: [PATCH 0180/1259] debug --- jd_joy_run.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 35abebbb..0856e261 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -109,12 +109,14 @@ function getToken() { const body = JSON.parse($response.body); const LKYLToken = body.data && body.data.token; if (LKYLToken) { - count ++; - countFlag ++; $.log(`${$.name} token\n${LKYLToken}\n`); + count = $.getdata('countFlag') ? $.getdata('countFlag') * 1 : 0; + count ++; console.log(`count: ${count}`) - if (count === 1) { + $.setdata(`${count}`, 'countFlag'); + if ($.getdata('countFlag') * 1 === 3) { count = 0; + $.setdata(`${count}`, 'countFlag'); $.msg($.name, '更新Token: 成功🎉', ``); } $.setdata(LKYLToken, 'jdJoyRunToken'); From 3c6c6da1c62a9f3f2ec25f6efab740dee8b5edd2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 10:28:13 +0800 Subject: [PATCH 0181/1259] =?UTF-8?q?README.md=E4=B8=8B=E6=8E=89docker?= =?UTF-8?q?=E6=96=B9=E6=B3=953,=E5=A4=B9=E5=B8=A6=E7=A7=81=E6=B4=BB?= =?UTF-8?q?=E4=BB=8E=E6=9C=AA=E8=BF=9B=E8=A1=8C=E8=AF=B4=E6=98=8E,?= =?UTF-8?q?=E4=BB=8E=E6=9C=AA=E6=B3=A8=E6=98=8E=E6=88=91=E5=8E=9F=E5=BA=93?= =?UTF-8?q?(https://github.com/lxk0301/jd=5Fscripts/tree/master)=E4=BB=BB?= =?UTF-8?q?=E4=BD=95=E7=9B=B8=E5=85=B3=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6bad1de6..443b99f8 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ ### 方法三:Docker(NAS或VPS用户) - - 可以精确控制任务运行时间,有三种办法:[docker办法一](https://github.com/lxk0301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js类似)](https://github.com/EvineDeng/jd-base)、[docker办法三](https://github.com/chinnkarahoi/jd-scripts-docker) + - 可以精确控制任务运行时间,有二种办法:[docker办法一](https://github.com/lxk0301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js类似)](https://github.com/EvineDeng/jd-base) - [环境变量](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) #### 注:以上三种运行机制都是Node.js,故您需仔细阅读下面几点 From 14415e561ae1c8844cfbdb0767f2c1d1150fba01 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 11:31:22 +0800 Subject: [PATCH 0182/1259] update --- jd_jdfactory.js | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 69f1e02a..0dc70aa0 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-25 18:19:21 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-27 09:58:02 + * @Last Modified time: 2020-11-28 09:58:02 */ /* 东东工厂,不是京喜工厂 @@ -312,6 +312,7 @@ async function doTask() { //从数码电器首页进入 if (item.status === 1) { console.log(`准备做此任务:${item.taskName}`); + await queryVkComponent(); await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); } else { console.log(`${item.taskName}已完成`); @@ -454,6 +455,41 @@ function jdfactory_makeProduct(skuId) { }) }) } +function queryVkComponent() { + return new Promise(resolve => { + const options = { + "url": `https://api.m.jd.com/client.action?functionId=queryVkComponent`, + "body": `adid=0E38E9F1-4B4C-40A4-A479-DD15E58A5623&area=19_1601_50258_51885&body={"componentId":"4f953e59a3af4b63b4d7c24f172db3c3","taskParam":"{\\"actId\\":\\"8tHNdJLcqwqhkLNA8hqwNRaNu5f\\"}","cpUid":"8tHNdJLcqwqhkLNA8hqwNRaNu5f","taskSDKVersion":"1.0.3","businessId":"babel"}&build=167436&client=apple&clientVersion=9.2.5&d_brand=apple&d_model=iPhone11,8&eid=eidIf12a8121eas2urxgGc+zS5+UYGu1Nbed7bq8YY+gPd0Q0t+iviZdQsxnK/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC+PFHdNYx1A/3Zt8xYR+d3&isBackground=N&joycious=228&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=TF&rfs=0000&scope=11&screen=828*1792&sign=792d92f78cc893f43c32a4f0b2203a41&st=1606533009673&sv=122&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJFKw5SxNDrZGH4Sllq/CDN8uyMr2EAv+1xp60Q9gVAW42IfViu/SFHwjfGAvRI6iMot04FU965+8UfAPZTG6MDwxmIWN7YaTL1ACcfUTG3gtkru+D4w9yowDUIzSuB+u+eoLwM7uynPMJMmGspVGyFIgDXC/tmNibL2k6wYgS249Pa2w5xFnYHQ==&uuid=hjudwgohxzVu96krv/T6Hg==&wifiBssid=1b5809fb84adffec2a397007cc235c03`, + "headers": { + "Cookie": cookie, + "Accept": `*/*`, + "Connection": `keep-alive`, + "Content-Type": `application/x-www-form-urlencoded`, + "Accept-Encoding": `gzip, deflate, br`, + "Host": `api.m.jd.com`, + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "Accept-Language": `zh-Hans-CN;q=1, en-CN;q=0.9`, + } + } + $.post(options, (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + console.log('queryVkComponent', data) + if (safeGet(data)) { + data = JSON.parse(data); + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} //查询当前商品列表 function jdfactory_getProductList(flag) { return new Promise(resolve => { From 5ac2c037187dd9ebdb04983dd2129b10efa66dd6 Mon Sep 17 00:00:00 2001 From: M <44107620+YM1099@users.noreply.github.com> Date: Sat, 28 Nov 2020 12:54:14 +0800 Subject: [PATCH 0183/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e6d2303d..27eddf56 100644 --- a/README.md +++ b/README.md @@ -45,12 +45,15 @@ 22. 东东小窝([jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js)) 23. 东东工厂([jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js)) 24. 点点券([jd_necklace.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js)) -25. 京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js)) -26. 京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_rankingList.js)) -27. 十元街([jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js)) -28. 京东金融-天天提鹅([jd_daily_egg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_daily_egg.js)) -29. 京东金融-养猪猪([jd_pigPet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pigPet.js)) -30. 以及其他一部分在特定时间可用的薅京豆脚本:[手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 、[双十一活动领金币](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js) 、[热8超级盲盒](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js) +25. 十元街([jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js)) +26. 京东金融-天天提鹅([jd_daily_egg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_daily_egg.js)) +27. 京东金融-养猪猪([jd_pigPet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pigPet.js)) +28. 以及其他一部分在特定时间可用的薅京豆脚本:[手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 、[双十一活动领金币](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js) 、[热8超级盲盒](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js) +29. Webhook触发Action([webhook.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/webhook.js)) + +搬运脚本 +1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js)) +2. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_rankingList.js)) **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** From 79acb7350ab13ecf6def3d8b1222483136d55747 Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Sat, 28 Nov 2020 13:46:19 +0800 Subject: [PATCH 0184/1259] Update index.js --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index be67f302..c70aaa66 100644 --- a/index.js +++ b/index.js @@ -15,7 +15,7 @@ exports.main_handler = async (event, context, callback) => { // eval(response.body) //}) - //3.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数非) + //3.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数不推荐) request('https://raw.githubusercontent.com/lxk0301/jd_scripts/master/' + v + '.js', function (error, response, body) { eval(response.body) }) From a429ba78047725fd82776874f8049f060380eae5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 15:18:42 +0800 Subject: [PATCH 0185/1259] =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC,=E4=B8=8A=E7=BA=BF?= =?UTF-8?q?=E9=9A=8F=E6=9C=BA=E5=8A=A9=E5=8A=9B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdFactoryShareCodes.js | 6 +- jd_dreamFactory.js | 763 ++++++++++++++++++----------------------- 2 files changed, 330 insertions(+), 439 deletions(-) diff --git a/jdFactoryShareCodes.js b/jdFactoryShareCodes.js index 4bbbe487..99a5008c 100644 --- a/jdFactoryShareCodes.js +++ b/jdFactoryShareCodes.js @@ -1,5 +1,5 @@ /* -京东种豆得豆互助码 +东东工厂互助码 此文件为Node.js专用。其他用户请忽略 支持京东N个账号 */ @@ -11,7 +11,7 @@ let shareCodes = [ '',//账号一的好友shareCode,不同好友中间用@符号隔开 '',//账号二的好友shareCode,不同好友中间用@符号隔开 ] -// 判断github action里面是否有东东萌宠互助码 +// 判断github action里面是否有东东工厂互助码 if (process.env.DDFACTORY_SHARECODES) { if (process.env.DDFACTORY_SHARECODES.indexOf('&') > -1) { console.log(`您的互助码选择的是用&隔开\n`) @@ -22,7 +22,7 @@ if (process.env.DDFACTORY_SHARECODES) { } else { shareCodes = process.env.DDFACTORY_SHARECODES.split(); } -} else if (process.env.JD_COOKIE) { +} else if (process.env.DDFACTORY_SHARECODES) { console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) } for (let i = 0; i < shareCodes.length; i++) { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index b799618e..628bfc30 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -27,14 +27,11 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip const $ = new Env('京喜工厂'); const JD_API_HOST = 'https://m.jingxi.com'; -let ele, factoryId, productionId; - -let message = '', subTitle = '', option = {}; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 - -let cookiesArr = [], cookie = ''; -const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=']; +const randomCount = 1; +let cookiesArr = [], cookie = '', message = ''; +const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -46,6 +43,7 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) } !(async () => { + await requireConfig(); if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; @@ -57,6 +55,8 @@ if ($.isNode()) { $.index = i + 1; $.isLogin = true; $.nickName = ''; + $.ele = 0; + message = ''; await TotalBean(); console.log(`\n***********开始【京东账号${$.index}】${$.nickName || $.UserName}********\n`); if (!$.isLogin) { @@ -69,11 +69,7 @@ if ($.isNode()) { } continue } - message = ''; - subTitle = ''; - goodsUrl = ''; - taskInfoKey = []; - option = {}; + await shareCodesFormat(); await jdDreamFactory(); } } @@ -87,10 +83,9 @@ if ($.isNode()) { async function jdDreamFactory() { - ele = 0; await userInfo(); - await helpFriends(inviteCodes) - if ($.unActive) return + await helpFriends(); + if (!$.unActive) return await getUserElectricity(); await taskList(); await investElectric(); @@ -102,37 +97,37 @@ async function jdDreamFactory() { // 收取发电机的电力 -function collectElectricity(facId = factoryId, help = false, master) { +function collectElectricity(facId = $.factoryId, help = false, master) { return new Promise(async resolve => { - let url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${facId}&doubleflag=1&sceneval=2&g_login_type=1`; - if (help && master) { - url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&factoryid=${facId}&master=${master}&sceneval=2&g_login_type=1`; + // let url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&apptoken=&pgtimestamp=&phoneID=&factoryid=${facId}&doubleflag=1&sceneval=2&g_login_type=1`; + // if (help && master) { + // url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&factoryid=${facId}&master=${master}&sceneval=2&g_login_type=1`; + // } + let body = `factoryid=${facId}`; + if (master) { + body += `&master=${master}`; } - $.get(taskurl(url), (err, resp, data) => { + $.get(taskurl(`generator/CollectCurrentElectricity`, body), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { + if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { if (help) { - ele += Number(data.data['loginPinCollectElectricity']) + $.ele += Number(data.data['loginPinCollectElectricity']) console.log(`帮助好友收取 ${data.data['CollectElectricity']} 电力,获得 ${data.data['loginPinCollectElectricity']} 电力`); message += `【帮助好友】帮助成功,获得 ${data.data['loginPinCollectElectricity']} 电力\n` } else { - - ele += Number(data.data['CollectElectricity']) + $.ele += Number(data.data['CollectElectricity']) console.log(`收取 ${data.data['loginPinCollectElectricity']} 电力`); message += `【收取发电站】收取成功,获得 ${data.data['CollectElectricity']} 电力\n` } - } else { console.log(data.msg) } - } else { - console.log(`京东服务器返回空数据`) } } } catch (e) { @@ -147,15 +142,14 @@ function collectElectricity(facId = factoryId, help = false, master) { // 投入电力 function investElectric() { return new Promise(async resolve => { - const url = `/dreamfactory/userinfo/InvestElectric?zone=dream_factory&productionId=${productionId}&sceneval=2&g_login_type=1`; - $.get(taskurl(url), (err, resp, data) => { + // const url = `/dreamfactory/userinfo/InvestElectric?zone=dream_factory&productionId=${$.productionId}&sceneval=2&g_login_type=1`; + $.get(taskurl('userinfo/InvestElectric', `productionId=${$.productionId}`), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { - // console.log(data) + if (safeGet(data)) { data = JSON.parse(data); if (data.ret === 0) { console.log(`成功投入电力${data.data.investElectric}电力`); @@ -164,8 +158,6 @@ function investElectric() { console.log(`投入失败,${data.msg}`); message += `【投入电力】投入失败,${data.msg}\n`; } - } else { - console.log(`京东服务器返回空数据`) } } } catch (e) { @@ -180,18 +172,17 @@ function investElectric() { // 初始化任务 function taskList() { return new Promise(async resolve => { - const url = `/newtasksys/newtasksys_front/GetUserTaskStatusList?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1`; - $.get(taskurl(url), async (err, resp, data) => { + // const url = `/newtasksys/newtasksys_front/GetUserTaskStatusList?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1`; + $.get(newtasksysUrl('GetUserTaskStatusList'), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { - // console.log(data) + if (safeGet(data)) { data = JSON.parse(data); let userTaskStatusList = data['data']['userTaskStatusList']; - for (let i = 0; i < userTaskStatusList.length; ++i) { + for (let i = 0; i < userTaskStatusList.length; i++) { const vo = userTaskStatusList[i]; if (vo['awardStatus'] !== 1) { if (vo.completedTimes >= vo.targetTimes) { @@ -222,10 +213,8 @@ function taskList() { } } } - console.log(`完成任务:共领取${ele}电力`) - message += `【每日任务】领奖成功,共计 ${ele} 电力\n`; - } else { - console.log(`京东服务器返回空数据`) + console.log(`完成任务:共领取${$.ele}电力`) + message += `【每日任务】领奖成功,共计 ${$.ele} 电力\n`; } } } catch (e) { @@ -240,28 +229,24 @@ function taskList() { // 获得用户电力情况 function getUserElectricity() { return new Promise(async resolve => { - const url = `/dreamfactory/generator/QueryCurrentElectricityQuantity?zone=dream_factory&factoryid=${factoryId}&sceneval=2&g_login_type=1` - $.get(taskurl(url), async (err, resp, data) => { + // const url = `/dreamfactory/generator/QueryCurrentElectricityQuantity?zone=dream_factory&factoryid=${$.factoryId}&sceneval=2&g_login_type=1` + $.get(taskurl(`generator/QueryCurrentElectricityQuantity`, `factoryid=${$.factoryId}`), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { - // console.log(data) + if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { console.log(`发电机:当前 ${data.data.currentElectricityQuantity} 电力,最大值 ${data.data.maxElectricityQuantity} 电力`) - if (data.data.currentElectricityQuantity === data.data.maxElectricityQuantity - && data.data.doubleElectricityFlag) { + if (data.data.currentElectricityQuantity === data.data.maxElectricityQuantity && data.data.doubleElectricityFlag) { console.log(`发电机:电力可翻倍并收获`) await collectElectricity() } else { message += `【发电机电力】当前 ${data.data.currentElectricityQuantity} 电力,未达到收获标准\n` } } - } else { - console.log(`京东服务器返回空数据`) } } } catch (e) { @@ -276,14 +261,14 @@ function getUserElectricity() { // 收取招工电力 function hireAward() { return new Promise(async resolve => { - const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` - $.get(taskurl(url), async (err, resp, data) => { + // const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` + $.get(taskurl('friend/HireAward', `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 (data) { + if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { console.log(`打工电力:收取成功`) @@ -292,8 +277,6 @@ function hireAward() { console.log(`打工电力:收取失败,${data.msg}`) message += `【打工电力】收取失败,${data.msg}\n` } - } else { - console.log(`京东服务器返回空数据`) } } } catch (e) { @@ -304,33 +287,47 @@ function hireAward() { }) }) } -async function helpFriends(codes) { - for (let code of codes) { +async function helpFriends() { + for (let code of $.newShareCodes) { if (code) { + if ($.encryptPin === code) { + console.log(`不能为自己助力,跳过`); + continue; + } await assistFriend(code); } } } // 帮助用户 function assistFriend(sharepin) { - return new Promise(async resolve => { - const url = `/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1` - $.get(taskurl(url), async (err, resp, data) => { + // const url = `/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1` + const options = { + 'url': `https://m.jingxi.com/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1`, + 'headers': { + "Host": "wq.jd.com", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "Accept": "*/*", + "Accept-Language": "zh,en-US;q=0.7,en;q=0.3", + "Accept-Encoding": "gzip, deflate, br", + "Connection": "keep-alive", + "Referer": "https://wqsd.jd.com/pingou/dream_factory/index.html", + "Cookie": cookie + } + } + $.get(options, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { + if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { console.log(`助力朋友:${sharepin}成功`) } else { console.log(`助力朋友[${sharepin}]失败:${data.msg}`) } - } else { - console.log(`京东服务器返回空数据`) } } } catch (e) { @@ -345,19 +342,18 @@ function assistFriend(sharepin) { // 任务领奖 function completeTask(taskId, taskName) { return new Promise(async resolve => { - const url = `/newtasksys/newtasksys_front/Award?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; - $.get(taskurl(url), (err, resp, data) => { + // const url = `/newtasksys/newtasksys_front/Award?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; + $.get(newtasksysUrl('Award', taskId), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { - // console.log(data) + if (safeGet(data)) { data = JSON.parse(data); switch (data['data']['awardStatus']) { case 1: - ele += Number(data['data']['prizeInfo'].replace('\\n', '')) + $.ele += Number(data['data']['prizeInfo'].replace('\\n', '')) console.log(`领取${taskName}任务奖励成功,收获:${Number(data['data']['prizeInfo'].replace('\\n', ''))}电力`); break case 1013: @@ -368,8 +364,11 @@ function completeTask(taskId, taskName) { console.log(`领取${taskName}任务奖励失败,${data['msg']}`) break } - } else { - console.log(`京东服务器返回空数据`) + // if (data['ret'] === 0) { + // console.log("做任务完成!") + // } else { + // console.log(`异常:${JSON.stringify(data)}`) + // } } } } catch (e) { @@ -384,21 +383,20 @@ function completeTask(taskId, taskName) { // 完成任务 function doTask(taskId) { return new Promise(async resolve => { - const url = `/newtasksys/newtasksys_front/DoTask?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; - $.get(taskurl(url), (err, resp, data) => { + // const url = `/newtasksys/newtasksys_front/DoTask?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; + $.get(newtasksysUrl('DoTask', taskId), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { - // console.log(data) + if (safeGet(data)) { data = JSON.parse(data); - if (data.ret === 0) { + if (data['ret'] === 0) { console.log("做任务完成!") + } else { + console.log(`异常:${JSON.stringify(data)}`) } - } else { - console.log(`京东服务器返回空数据`) } } } catch (e) { @@ -413,129 +411,264 @@ function doTask(taskId) { // 初始化个人信息 function userInfo() { return new Promise(async resolve => { - const url = `/dreamfactory/userinfo/GetUserInfo?zone=dream_factory&pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=&sceneval=2`; - $.get(taskurl(url), async (err, resp, data) => { - data = JSON.parse(data); - if (data['ret'] === 0) { - data = data['data']; - if (data.factoryList && data.productionList) { - const production = data.productionList[0]; - const factory = data.factoryList[0]; - factoryId = factory.factoryId;//工厂ID - productionId = production.productionId;//商品ID - subTitle = data.user.pin; - await GetCommodityDetails(production.commodityDimId); - await DrawProductionStagePrize(productionId); - console.log(`当前电力:${data.user.electric}`) - console.log(`分享码: ${data.user.encryptPin}`); - console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); - message += `【京东账号${$.index}】${$.nickName}\n` - message += `【生产商品】${$.productName}\n`; - message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; - if (production.investedElectric >= production.needElectric) { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`, {'open-url': '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'}) - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`) - } + $.get(taskurl('userinfo/GetUserInfo', `pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=`), async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) } else { - $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 - if (!data.factoryList) { - console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); - $.msg($.name, '', `【提示】此账号[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); - } else if (data.factoryList && !data.productionList) { - console.log(`【提示】此账号京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) - $.msg($.name, '', `【提示】此账号[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); + if (safeGet(data)) { + data = JSON.parse(data); + if (data['ret'] === 0) { + data = data['data']; + $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 + $.encryptPin = ''; + if (data.factoryList && data.productionList) { + const production = data.productionList[0]; + const factory = data.factoryList[0]; + $.factoryId = factory.factoryId;//工厂ID + $.productionId = production.productionId;//商品ID + $.commodityDimId = production.commodityDimId; + $.encryptPin = data.user.encryptPin; + // subTitle = data.user.pin; + await GetCommodityDetails();//获取已选购的商品信息 + await DrawProductionStagePrize();//领取红包 + console.log(`当前电力:${data.user.electric}`) + console.log(`分享码: ${data.user.encryptPin}`); + console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); + message += `【京东账号${$.index}】${$.nickName}\n` + message += `【生产商品】${$.productName}\n`; + message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; + if (production.investedElectric >= production.needElectric) { + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`, {'open-url': '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'}) + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`) + } + } else { + $.unActive = false;//标记是否开启了京喜活动或者选购了商品进行生产 + if (!data.factoryList) { + console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); + $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); + } else if (data.factoryList && !data.productionList) { + console.log(`【提示】此账号京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) + $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); + } + } + } else { + console.log(`异常:${JSON.stringify(data)}`) + } } } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); } - resolve() }) }) } //查询当前生产的商品名称 -function GetCommodityDetails(commodityDimId) { +function GetCommodityDetails() { return new Promise(async resolve => { - const url = `/dreamfactory/diminfo/GetCommodityDetails?zone=dream_factory&sceneval=2&g_login_type=1&commodityId=${commodityDimId}`; - $.get(taskurl(url), (err, resp, data) => { - data = JSON.parse(data); - if (data['ret'] === 0) { - data = data['data']; - $.productName = data['commodityList'][0].name; + // const url = `/dreamfactory/diminfo/GetCommodityDetails?zone=dream_factory&sceneval=2&g_login_type=1&commodityId=${$.commodityDimId}`; + $.get(taskurl('diminfo/GetCommodityDetails', `commodityId=${$.commodityDimId}`), (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']; + $.productName = data['commodityList'][0].name; + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); } - resolve() }) }) } //领取红包 -function DrawProductionStagePrize(productionId) { +function DrawProductionStagePrize() { return new Promise(async resolve => { - const url = `/dreamfactory/userinfo/DrawProductionStagePrize?zone=dream_factory&sceneval=2&g_login_type=1&productionId=${productionId}`; - $.get(taskurl(url), (err, resp, data) => { - console.log(`领取红包(测试中)结果:${data}`) - data = JSON.parse(data); - if (data['ret'] === 0) { - // data = data['data']; - // $.productName = data['commodityList'][0].name; + // const url = `/dreamfactory/userinfo/DrawProductionStagePrize?zone=dream_factory&sceneval=2&g_login_type=1&productionId=${$.productionId}`; + $.get(taskurl('userinfo/DrawProductionStagePrize', `productionId=${$.productionId}`), (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['ret'] === 0) { + // + // } else { + // console.log(`异常:${JSON.stringify(data)}`) + // } + // } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); } - resolve() }) }) } +//偷好友的电力 function stealFriend() { return new Promise(async resolve => { - const url = `//dreamfactory/friend/QueryFactoryManagerList?zone=dream_factory&sceneval=2`; - $.get(taskurl(url), async (err, resp, data) => { - data = JSON.parse(data); - if (data['ret'] === 0) { - data = data['data']; - for (let i = 0; i < data.list.length; ++i) { - let pin = data.list[i]['encryptPin']; - const facId = await getFactoryIdByPin(pin); - if (facId) await collectElectricity(facId,true, data.list[i]['key']) + $.get(taskurl('friend/QueryFactoryManagerList', 'sort=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['data']; + for (let i = 0; i < data.list.length; i++) { + let pin = data.list[i]['encryptPin']; + await getFactoryIdByPin(pin); + if ($.stealFactoryId) await collectElectricity($.stealFactoryId,true, data.list[i]['key']) + } + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); } - resolve() }) }) } function getFactoryIdByPin(pin) { return new Promise((resolve, reject) => { - const url = `/dreamfactory/userinfo/GetUserInfoByPin?zone=dream_factory&pin=${pin}&sceneval=2`; - $.get(taskurl(url), (err, resp, data) => { - data = JSON.parse(data); - if (data['ret'] === 0) { - if (data.data.factoryList) { - //做此判断,有时候返回factoryList为null - resolve(data['data']['factoryList'][0]['factoryId']) + // const url = `/dreamfactory/userinfo/GetUserInfoByPin?zone=dream_factory&pin=${pin}&sceneval=2`; + $.get(taskurl('userinfo/GetUserInfoByPin', `pin=${pin}`), (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) } else { - resolve(); + if (safeGet(data)) { + data = JSON.parse(data); + if (data['ret'] === 0) { + if (data.data.factoryList) { + //做此判断,有时候返回factoryList为null + // resolve(data['data']['factoryList'][0]['factoryId']) + $.stealFactoryId = data['data']['factoryList'][0]['factoryId']; + } + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } } - } else { - reject() + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); } }) }) } async function showMsg() { - let ctrTemp; - if ($.isNode() && process.env.DREAMFACTORY_NOTIFY_CONTROL) { - ctrTemp = `${process.env.DREAMFACTORY_NOTIFY_CONTROL}` === 'false'; - } else if ($.getdata('jdDreamFactory')) { - ctrTemp = $.getdata('jdDreamFactory') === 'false'; - } else { - ctrTemp = `${jdNotify}` === 'false'; - } - if (ctrTemp) { - $.msg($.name, subTitle, message, option); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${subTitle}\n${message}`); + return new Promise(async resolve => { + let ctrTemp; + if ($.isNode() && process.env.DREAMFACTORY_NOTIFY_CONTROL) { + ctrTemp = `${process.env.DREAMFACTORY_NOTIFY_CONTROL}` === 'false'; + } else if ($.getdata('jdDreamFactory')) { + ctrTemp = $.getdata('jdDreamFactory') === 'false'; + } else { + ctrTemp = `${jdNotify}` === 'false'; } - } else { - $.log(`\n${message}\n`); - } + 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/jxfactory/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('./jdDreamFactoryShareCodes.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 = { @@ -576,24 +709,52 @@ function TotalBean() { }) }) } +function safeGet(data) { + try { + if (typeof JSON.parse(data) == "object") { + return true; + } + } catch (e) { + console.log(e); + console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); + return false; + } +} -// 生成url -function taskurl(url, body) { +function taskurl(functionId, body = '') { return { - url: `${JD_API_HOST}${url}`, + url: `${JD_API_HOST}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1`, headers: { 'Cookie': cookie, 'Host': 'm.jingxi.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': 'jdpingou;iPhone;3.14.4;14.0;ae75259f6ca8378672006fc41079cd8c90c53be8;network/wifi;model/iPhone10,2;appBuild/100351;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/62;pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Referer': 'https://wqsd.jd.com/pingou/dream_factory/index.html', + 'Accept-Encoding': 'gzip, deflate, br', + } + } +} +function newtasksysUrl(functionId, taskId) { + let url = `${JD_API_HOST}/newtasksys/newtasksys_front/${functionId}?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1`; + if (taskId) { + url += `&taskId=${taskId}`; + } + return { + url, + "headers": { + 'Cookie': cookie, + 'Host': 'm.jingxi.com', + 'Accept': '*/*', + 'Connection': 'keep-alive', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': 'https://wqsd.jd.com/pingou/dream_factory/index.html', 'Accept-Encoding': 'gzip, deflate, br', } } } - Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 @@ -613,274 +774,4 @@ Date.prototype.Format = function (fmt) { //author: meizz } // 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, o) => { - 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.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 o = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - o = o ? 1 * o : 20, o = e && e.timeout ? e.timeout : o; - const [r, h] = i.split("@"), a = { - url: `http://${h}/v1/scripting/evaluate`, - body: {script_text: t, mock_type: "cron", timeout: o}, - headers: {"X-Key": r, 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), o = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, o) : i ? this.fs.writeFileSync(e, o) : this.fs.writeFileSync(t, o) - } - } - - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let o = t; - for (const t of i) if (o = Object(o)[t], void 0 === o) return s; - return o - } - - 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), o = s ? this.getval(s) : ""; - if (o) try { - const t = JSON.parse(o); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, o] = /^@(.*?)\.(.*?)$/.exec(e), r = this.getval(i), h = i ? "null" === r ? null : r || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, o, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const r = {}; - this.lodash_set(r, o, t), s = this.setval(JSON.stringify(r), 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() ? $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }) : this.isQuanX() ? $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t)) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - 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: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t))) - } - - 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()) $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", $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, 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: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t)) - } - } - - 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 = "", o) { - const r = t => { - if (!t || !this.isLoon() && this.isSurge()) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t["open-url"], s = t.mediaUrl || t["media-url"]; - return {openUrl: e, mediaUrl: s} - } - if (this.isQuanX()) { - let e = t["open-url"] || t.openUrl, s = t["media-url"] || t.mediaUrl; - return {"open-url": e, "media-url": s} - } - } - }; - this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, r(o)) : this.isQuanX() && $notify(e, s, i, r(o))); - 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) -} +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 From 18cf0346dbb3a0dbf8554fd6ab2a967a4d16d733 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 15:20:49 +0800 Subject: [PATCH 0186/1259] update --- jdDreamFactoryShareCodes.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 jdDreamFactoryShareCodes.js diff --git a/jdDreamFactoryShareCodes.js b/jdDreamFactoryShareCodes.js new file mode 100644 index 00000000..b17202a2 --- /dev/null +++ b/jdDreamFactoryShareCodes.js @@ -0,0 +1,31 @@ +/* +京喜工厂互助码 +此文件为Node.js专用。其他用户请忽略 +支持京东N个账号 + */ +//云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 +// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 PLANT_BEAN_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) +// 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 +// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 +let shareCodes = [ + 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==',//账号一的好友shareCode,不同好友中间用@符号隔开 + 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==',//账号二的好友shareCode,不同好友中间用@符号隔开 +] +// 判断github action里面是否有东东萌宠互助码 +if (process.env.DREAM_FACTORY_SHARE_CODES) { + if (process.env.DREAM_FACTORY_SHARE_CODES.indexOf('&') > -1) { + console.log(`您的互助码选择的是用&隔开\n`) + shareCodes = process.env.DREAM_FACTORY_SHARE_CODES.split('&'); + } else if (process.env.DREAM_FACTORY_SHARE_CODES.indexOf('\n') > -1) { + console.log(`您的互助码选择的是用换行隔开\n`) + shareCodes = process.env.DREAM_FACTORY_SHARE_CODES.split('\n'); + } else { + shareCodes = process.env.DREAM_FACTORY_SHARE_CODES.split(); + } +} else if (process.env.DREAM_FACTORY_SHARE_CODES) { + console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) +} +for (let i = 0; i < shareCodes.length; i++) { + const index = (i + 1 === 1) ? '' : (i + 1); + exports['shareCodes' + index] = shareCodes[i]; +} \ No newline at end of file From c1f2f8cf8225f510f285bfb5ac0b48d80fcc1959 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 15:22:30 +0800 Subject: [PATCH 0187/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20secret/=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + 1 file changed, 1 insertion(+) diff --git a/githubAction.md b/githubAction.md index 203e5ad6..0287af8f 100644 --- a/githubAction.md +++ b/githubAction.md @@ -110,6 +110,7 @@ | `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `DDFACTORY_SHARECODES`| 东东工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | | `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`true` | From f37f1c197cf6091b2d8aa0e3f2b13da2b80fcd90 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 28 Nov 2020 15:33:34 +0800 Subject: [PATCH 0188/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 22466792..0450fdaa 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -58,6 +58,7 @@ jobs: if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; if [ $DDFACTORY_SHARECODES ]; then sed -i "/variables/a\ DDFACTORY_SHARECODES: $DDFACTORY_SHARECODES" serverless.yml; fi; + if [ $DREAM_FACTORY_SHARE_CODES ]; then sed -i "/variables/a\ DREAM_FACTORY_SHARE_CODES: $DREAM_FACTORY_SHARE_CODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; From 2abd867efea00c87861f418dab4c2c684df15e13 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 28 Nov 2020 15:35:36 +0800 Subject: [PATCH 0189/1259] Update githubAction.md --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 0287af8f..1d007311 100644 --- a/githubAction.md +++ b/githubAction.md @@ -110,7 +110,7 @@ | `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `DDFACTORY_SHARECODES`| 东东工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | | `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`true` | From 6283167266607f049117f36fe15b48b76b7af335 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 16:23:34 +0800 Subject: [PATCH 0190/1259] update --- jd_dreamFactory.js | 57 +++++++++++++++++++++++++++++++++++++++++++--- jd_jdfactory.js | 2 +- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 628bfc30..217f7895 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -84,6 +84,7 @@ if ($.isNode()) { async function jdDreamFactory() { await userInfo(); + await JoinTuan(); await helpFriends(); if (!$.unActive) return await getUserElectricity(); @@ -584,7 +585,57 @@ function getFactoryIdByPin(pin) { }) }) } - +//开团API +function CreateTuan() { + return new Promise((resolve) => { + $.get(taskurl('tuan/CreateTuan', `activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}`), (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(`开团成功tuanId为\n${data.data['tuanId']}`); + } else { + console.log(`异常:${JSON.stringify(data)}`); + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function JoinTuan() { + return new Promise((resolve) => { + $.get(taskurl('tuan/JoinTuan', `activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('QvqM7GtgQQJUO8jaz1CYBA==')}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}`), (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(`参团成功\n${data.data['tuanId']}`); + } else { + console.log(`参团成功异常:${JSON.stringify(data)}`); + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} async function showMsg() { return new Promise(async resolve => { let ctrTemp; @@ -616,7 +667,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取个${randomCount}码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面`) data = JSON.parse(data); } } @@ -729,7 +780,7 @@ function taskurl(functionId, body = '') { 'Host': 'm.jingxi.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'User-Agent': 'jdpingou;iPhone;3.14.4;14.0;ae75259f6ca8378672006fc41079cd8c90c53be8;network/wifi;model/iPhone10,2;appBuild/100351;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/62;pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'Accept-Language': 'zh-cn', 'Referer': 'https://wqsd.jd.com/pingou/dream_factory/index.html', 'Accept-Encoding': 'gzip, deflate, br', diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 0dc70aa0..79dcddad 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -585,7 +585,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取个${randomCount}码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面`) data = JSON.parse(data); } } From 85d44f9e6e2ad38e140322bd0501ee2ab1984965 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 16:25:17 +0800 Subject: [PATCH 0191/1259] update --- jd_dreamFactory.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 217f7895..3f03e9c0 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -69,6 +69,7 @@ if ($.isNode()) { } continue } + // await JoinTuan(); await shareCodesFormat(); await jdDreamFactory(); } @@ -613,7 +614,7 @@ function CreateTuan() { } function JoinTuan() { return new Promise((resolve) => { - $.get(taskurl('tuan/JoinTuan', `activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('QvqM7GtgQQJUO8jaz1CYBA==')}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}`), (err, resp, data) => { + $.get(taskurl('tuan/JoinTuan', `activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('QvqM7GtgQQJUO8jaz1CYBA==')}&_time=${Date.now()}&_=${Date.now()}`), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From 32b4bf644290c37a6c5e6d30ca0881854ccdd500 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 20:52:33 +0800 Subject: [PATCH 0192/1259] update --- jd_dreamFactory.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 3f03e9c0..894cf109 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -614,7 +614,20 @@ function CreateTuan() { } function JoinTuan() { return new Promise((resolve) => { - $.get(taskurl('tuan/JoinTuan', `activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('QvqM7GtgQQJUO8jaz1CYBA==')}&_time=${Date.now()}&_=${Date.now()}`), (err, resp, data) => { + const options = { + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('QvqM7GtgQQJUO8jaz1CYBA==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Cookie": cookie, + "Host": "m.jingxi.com", + "Referer": "https://st.jingxi.com/pingou/dream_factory/divide.html?exchange=%7B%22activeId%22:%22ilOin38J30PcT9xnWbx9lw%3D%3D%22,%22sTuanId%22:%22QvqM7GtgQQJUO8jaz1CYBA%3D%3D%22,%22sPin%22:%22V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k%3D%22,%22sType%22:%22101%22%7D&ptag=139022.1.2?srv=jinshusongjin_https://wq.jd.com/cube/front/activePublish/dream_factory_report/380556.html_jing", + "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;" + } + } + $.get(options, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -625,7 +638,7 @@ function JoinTuan() { if (data['ret'] === 0) { console.log(`参团成功\n${data.data['tuanId']}`); } else { - console.log(`参团成功异常:${JSON.stringify(data)}`); + console.log(`参团失败:${JSON.stringify(data)}`); } } } From 646b4441a204f34e889ea073011e77a3489d3a32 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 21:48:19 +0800 Subject: [PATCH 0193/1259] =?UTF-8?q?=E8=87=AA=E7=94=A8,=E5=8D=8A=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=8F=90=E9=86=92=E5=BF=83=E6=84=BF=E5=8D=9550?= =?UTF-8?q?=E4=BA=AC=E8=B1=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/jd_Goods.js | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 backUp/jd_Goods.js diff --git a/backUp/jd_Goods.js b/backUp/jd_Goods.js new file mode 100644 index 00000000..319dc6ac --- /dev/null +++ b/backUp/jd_Goods.js @@ -0,0 +1,11 @@ +// 半自动提醒心愿单50京豆。 +// 15 */4 * * * AlipayManor.js + +const $ = new Env('心愿单50京豆'); + +$.msg($.name, "领50京豆啦", "https://h5.m.jd.com/babelDiy/Zeus/3mTNcpWt5JYh3aUCyo6gqKuF4pnx/index.html", {"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/3mTNcpWt5JYh3aUCyo6gqKuF4pnx/index.html%22%20%7D"}); + +$.done(); + +// 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 From ae15ce4474933a997c9b6e14b6301630679d821e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 28 Nov 2020 21:49:10 +0800 Subject: [PATCH 0194/1259] update --- backUp/jd_Goods.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backUp/jd_Goods.js b/backUp/jd_Goods.js index 319dc6ac..9c6e2baa 100644 --- a/backUp/jd_Goods.js +++ b/backUp/jd_Goods.js @@ -1,5 +1,5 @@ // 半自动提醒心愿单50京豆。 -// 15 */4 * * * AlipayManor.js +// 15 */4 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/jd_Goods.js const $ = new Env('心愿单50京豆'); From f0d257c104716bcfa055653d01cf13a993389917 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 29 Nov 2020 09:27:42 +0800 Subject: [PATCH 0195/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=B8=9C=E4=B8=9C=E8=B6=85=E5=B8=82Cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化云函数东东超市Cron --- serverless.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverless.yml b/serverless.yml index 332cf3dc..64e177e8 100644 --- a/serverless.yml +++ b/serverless.yml @@ -61,7 +61,7 @@ inputs: - timer: # 东东超市 parameters: name: jd_superMarket - cronExpression: "0 11 1-23/5 * * * *" + cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - timer: # 京豆变动通知 # 京东排行榜 From c2cd68e0f4977814e1e1411a5684cf3546236435 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 29 Nov 2020 13:37:52 +0800 Subject: [PATCH 0196/1259] =?UTF-8?q?=E6=8D=A2=E7=94=A8=E4=BA=AC=E5=96=9CA?= =?UTF-8?q?PP=E7=9A=84UA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 894cf109..1518a3cb 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -589,7 +589,20 @@ function getFactoryIdByPin(pin) { //开团API function CreateTuan() { return new Promise((resolve) => { - $.get(taskurl('tuan/CreateTuan', `activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}`), (err, resp, data) => { + const options = { + 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Cookie": cookie, + "Host": "m.jingxi.com", + "Referer": "https://st.jingxi.com/pingou/dream_factory/divide.html", + "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;" + } + } + $.get(options, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -615,7 +628,7 @@ function CreateTuan() { function JoinTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('QvqM7GtgQQJUO8jaz1CYBA==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('3lSXPWXkC_7a5fF1gwYCTA==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -813,7 +826,7 @@ function newtasksysUrl(functionId, taskId) { 'Host': 'm.jingxi.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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://wqsd.jd.com/pingou/dream_factory/index.html', 'Accept-Encoding': 'gzip, deflate, br', From 800ee85c4420b6dd6cea0fc35604858817f8c742 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 29 Nov 2020 20:47:03 +0800 Subject: [PATCH 0197/1259] update --- jd_joy_run.js | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 0856e261..e987f88c 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -1,6 +1,6 @@ /** 宠汪汪邀请助力与赛跑助力脚本,感谢github@Zero-S1提供帮助 - 更新时间:2020-11-16(宠汪汪助力更新Token的配置正则表达式已改) + 更新时间:2020-11-29(宠汪汪助力更新Token的配置正则表达式已改) token时效很短,几个小时就失效了,闲麻烦的放弃就行 每天拿到token后,可一次性运行完毕即可。 @@ -43,7 +43,7 @@ let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45 //给下面好友赛跑助力 let run_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); -$.LKYLToken = $.getdata('jdJoyRunToken'); +// $.LKYLToken = $.getdata('jdJoyRunToken'); //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie @@ -101,7 +101,7 @@ if ($.isNode()) { } //获取来客有礼Token -let count = 0, countFlag = 0; +let count = 0; function getToken() { const url = $request.url; $.log(`${$.name}url\n${url}\n`) @@ -118,6 +118,15 @@ function getToken() { count = 0; $.setdata(`${count}`, 'countFlag'); $.msg($.name, '更新Token: 成功🎉', ``); + console.log(`开始上传Token`) + $.http.get({url: `http://ec2-3-87-209-33.compute-1.amazonaws.com/api/v1/jd/joy/${LKYLToken}/`}).then((resp) => { + if (resp.statusCode === 200) { + let { body } = resp; + console.log(`Token提交结果:${body}`) + body = JSON.parse(body); + console.log(`${body.message}`) + } + }); } $.setdata(LKYLToken, 'jdJoyRunToken'); } @@ -144,12 +153,39 @@ function getToken() { $.done() } } +function readToken() { + return new Promise(async resolve => { + $.get({url: `http://ec2-3-87-209-33.compute-1.amazonaws.com/api/v1/jd/joy/read/1/`}, (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); + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} async function main() { - console.log(`打印token \n${$.getdata('jdJoyRunToken')}\n`) if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } + const readTokenRes = await readToken(); + if (readTokenRes && readTokenRes.code === 200) { + $.LKYLToken = readTokenRes.data[0] || $.getdata('jdJoyRunToken'); + } else { + $.LKYLToken = $.getdata('jdJoyRunToken'); + } + console.log(`打印token \n${$.LKYLToken}\n`) if (!$.LKYLToken) { $.msg($.name, '【提示】请先获取来客有礼宠汪汪token', "微信搜索'来客有礼'小程序\n点击底部的'发现'Tab\n即可获取Token"); return; From 1971a323b5718e6dacdefc31e02ea0a08acd8733 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 29 Nov 2020 23:02:08 +0800 Subject: [PATCH 0198/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=80=BB=E8=BE=91,=E5=9C=A8=E6=9C=AA?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E4=BB=BB=E4=BD=95=E5=95=86=E5=93=81=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B,=E5=A6=82=E6=9E=9C=E6=AD=A4?= =?UTF-8?q?=E6=97=B6=E7=94=B5=E9=87=8F=E6=BB=A1=E8=B6=B3=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E6=9C=80=E5=A4=9A=E7=9A=84=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=97=B6,=E5=8F=91=E9=80=81=E6=8F=90=E9=86=92=E9=80=9A?= =?UTF-8?q?=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 79dcddad..1405a28c 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -198,6 +198,13 @@ async function algorithm() { } } else { console.log(`BoxJs或环境变量暂未提供心仪商品\n如需兑换心仪商品,请提供心仪商品名称\n`); + await jdfactory_getProductList(true); + if ($.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0].fullScore) { + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n当前总电量为:${$.batteryValue * 1}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `当前总电量为:${$.batteryValue * 1}\n【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].totalScore}\n请速去活动页面查看`); + } else { + console.log(`\n目前电量${$.batteryValue * 1},不满足兑换\n`) + } } } } else { @@ -477,7 +484,7 @@ function queryVkComponent() { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - console.log('queryVkComponent', data) + // console.log('queryVkComponent', data) if (safeGet(data)) { data = JSON.parse(data); } @@ -491,7 +498,7 @@ function queryVkComponent() { }) } //查询当前商品列表 -function jdfactory_getProductList(flag) { +function jdfactory_getProductList(flag = false) { return new Promise(resolve => { $.post(taskPostUrl('jdfactory_getProductList'), async (err, resp, data) => { try { @@ -503,6 +510,7 @@ function jdfactory_getProductList(flag) { data = JSON.parse(data); if (data.data.bizCode === 0) { $.canMakeList = data.data.result.canMakeList;//当前可选商品列表 sellOut:1为已抢光,0为目前可选择 + $.canMakeList.sort(sortCouponCount); if (!flag) { console.log(`商品名称 可选状态 剩余量`) for (let item of $.canMakeList) { @@ -526,6 +534,9 @@ function jdfactory_getProductList(flag) { }) }) } +function sortCouponCount(a, b) { + return b['couponCount'] - a['couponCount'] +} function jdfactory_getHomeData() { return new Promise(resolve => { $.post(taskPostUrl('jdfactory_getHomeData'), async (err, resp, data) => { @@ -535,7 +546,7 @@ function jdfactory_getHomeData() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { - console.log(data); + // console.log(data); data = JSON.parse(data); if (data.data.bizCode === 0) { $.haveProduct = data.data.result.haveProduct; From 3233f9635b4b45db72f335803edad59e5b4c2274 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 29 Nov 2020 23:56:22 +0800 Subject: [PATCH 0199/1259] update --- jd_dreamFactory.js | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 1518a3cb..e3fc3ca7 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -128,7 +128,11 @@ function collectElectricity(facId = $.factoryId, help = false, master) { message += `【收取发电站】收取成功,获得 ${data.data['CollectElectricity']} 电力\n` } } else { - console.log(data.msg) + if (help) { + console.log(`收取好友电力失败:${data.msg}\n`); + } else { + console.log(`收取电力失败:${data.msg}\n`); + } } } } @@ -241,9 +245,10 @@ function getUserElectricity() { if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { - console.log(`发电机:当前 ${data.data.currentElectricityQuantity} 电力,最大值 ${data.data.maxElectricityQuantity} 电力`) + console.log(`发电机:当前 ${data.data.currentElectricityQuantity} 电力,最大值 ${data.data.maxElectricityQuantity} 电力,达到最大电量才会进行收取`) if (data.data.currentElectricityQuantity === data.data.maxElectricityQuantity && data.data.doubleElectricityFlag) { console.log(`发电机:电力可翻倍并收获`) + await shareReport(); await collectElectricity() } else { message += `【发电机电力】当前 ${data.data.currentElectricityQuantity} 电力,未达到收获标准\n` @@ -259,7 +264,38 @@ function getUserElectricity() { }) }) } - +//满电力的时候分享,电力翻倍 +function shareReport() { + return new Promise(async resolve => { + const options = { + 'url': `https://wq.jd.com/activetmp/helpdraw/sharereport?call=reportshare&active=dreamfactory_platform_test&hj=app&sharetype=2&idctime=${Date.now()}&reportrefer=http%3A%2F%2Fwq.jd.com%2Fcube%2Ffront%2FactivePublish%2Fdream_factory_report%2F380556.html&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'headers': { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Cookie": cookie, + "Host": "wq.jd.com", + "Referer": "https://wqsd.jd.com/pingou/dream_factory/index.html", + "User-Agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + } + } + $.get(options, (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + console.log(`\n分享获取翻倍电力功能(测试中):${data}\n`); + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} // 收取招工电力 function hireAward() { return new Promise(async resolve => { From 5ac4bf97ba157757be9df80afa99f0283da91557 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 07:50:33 +0800 Subject: [PATCH 0200/1259] update --- jd_dreamFactory.js | 4 ++-- jd_joy_run.js | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e3fc3ca7..e227a8dd 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -664,7 +664,7 @@ function CreateTuan() { function JoinTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('3lSXPWXkC_7a5fF1gwYCTA==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('8W4VdqMEQfzmZnSGRgMRCw==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -685,7 +685,7 @@ function JoinTuan() { if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { - console.log(`参团成功\n${data.data['tuanId']}`); + console.log(`参团成功\n${JSON.stringify(data)}\n`); } else { console.log(`参团失败:${JSON.stringify(data)}`); } diff --git a/jd_joy_run.js b/jd_joy_run.js index e987f88c..287d7c93 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -179,12 +179,13 @@ async function main() { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } - const readTokenRes = await readToken(); - if (readTokenRes && readTokenRes.code === 200) { - $.LKYLToken = readTokenRes.data[0] || $.getdata('jdJoyRunToken'); - } else { - $.LKYLToken = $.getdata('jdJoyRunToken'); - } + // const readTokenRes = await readToken(); + // if (readTokenRes && readTokenRes.code === 200) { + // $.LKYLToken = readTokenRes.data[0] || $.getdata('jdJoyRunToken'); + // } else { + // $.LKYLToken = $.getdata('jdJoyRunToken'); + // } + $.LKYLToken = $.getdata('jdJoyRunToken'); console.log(`打印token \n${$.LKYLToken}\n`) if (!$.LKYLToken) { $.msg($.name, '【提示】请先获取来客有礼宠汪汪token', "微信搜索'来客有礼'小程序\n点击底部的'发现'Tab\n即可获取Token"); From 4a009d215cbb5c42792ac1659131a683e4c118e6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 13:57:11 +0800 Subject: [PATCH 0201/1259] update --- jd_joy_run.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 287d7c93..55c117ab 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -102,7 +102,7 @@ if ($.isNode()) { //获取来客有礼Token let count = 0; -function getToken() { +async function getToken() { const url = $request.url; $.log(`${$.name}url\n${url}\n`) if (isURL(url, /^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=/)) { @@ -119,7 +119,7 @@ function getToken() { $.setdata(`${count}`, 'countFlag'); $.msg($.name, '更新Token: 成功🎉', ``); console.log(`开始上传Token`) - $.http.get({url: `http://ec2-3-87-209-33.compute-1.amazonaws.com/api/v1/jd/joy/${LKYLToken}/`}).then((resp) => { + await $.http.get({url: `http://api.turinglabs.net/api/v1/jd/joy/${LKYLToken}/`}).then((resp) => { if (resp.statusCode === 200) { let { body } = resp; console.log(`Token提交结果:${body}`) @@ -154,8 +154,8 @@ function getToken() { } } function readToken() { - return new Promise(async resolve => { - $.get({url: `http://ec2-3-87-209-33.compute-1.amazonaws.com/api/v1/jd/joy/read/1/`}, (err, resp, data) => { + return new Promise(resolve => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/joy/read/1/`}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -179,13 +179,13 @@ async function main() { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } - // const readTokenRes = await readToken(); - // if (readTokenRes && readTokenRes.code === 200) { - // $.LKYLToken = readTokenRes.data[0] || $.getdata('jdJoyRunToken'); - // } else { - // $.LKYLToken = $.getdata('jdJoyRunToken'); - // } - $.LKYLToken = $.getdata('jdJoyRunToken'); + const readTokenRes = await readToken(); + if (readTokenRes && readTokenRes.code === 200) { + $.LKYLToken = readTokenRes.data[0] || $.getdata('jdJoyRunToken'); + } else { + $.LKYLToken = $.getdata('jdJoyRunToken'); + } + // $.LKYLToken = $.getdata('jdJoyRunToken'); console.log(`打印token \n${$.LKYLToken}\n`) if (!$.LKYLToken) { $.msg($.name, '【提示】请先获取来客有礼宠汪汪token', "微信搜索'来客有礼'小程序\n点击底部的'发现'Tab\n即可获取Token"); From 17005351a2f181caf02464a523f22e424a41e379 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 14:16:07 +0800 Subject: [PATCH 0202/1259] update --- jd_dreamFactory.js | 27 +++---- jd_joy_help.js | 2 +- test6.js | 182 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 195 insertions(+), 16 deletions(-) create mode 100644 test6.js diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e227a8dd..37ab753b 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -31,7 +31,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = 1; let cookiesArr = [], cookie = '', message = ''; -const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==']; +const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -55,33 +55,31 @@ if ($.isNode()) { $.index = i + 1; $.isLogin = true; $.nickName = ''; - $.ele = 0; message = ''; + $.ele = 0; await TotalBean(); - console.log(`\n***********开始【京东账号${$.index}】${$.nickName || $.UserName}********\n`); + 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。 + $.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 } continue } - // await JoinTuan(); await shareCodesFormat(); - await jdDreamFactory(); + await jdDreamFactory() } } })() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) async function jdDreamFactory() { await userInfo(); @@ -91,7 +89,6 @@ async function jdDreamFactory() { await getUserElectricity(); await taskList(); await investElectric(); - // await assistFriend('gB99tYLjvPcEFloDgamoBw=='); await hireAward(); await stealFriend(); await showMsg(); @@ -888,4 +885,4 @@ Date.prototype.Format = function (fmt) { //author: meizz } // 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 +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)} \ No newline at end of file diff --git a/jd_joy_help.js b/jd_joy_help.js index 090ad076..3641d891 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -31,7 +31,7 @@ http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?re https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 **/ let url = $request.url -const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb"] +const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] //随机生成m(小)到n(大)的数,包含m和n function randomFriendPin(m,n) { return Math.round(Math.random()*(n - m) + m); diff --git a/test6.js b/test6.js new file mode 100644 index 00000000..8325297d --- /dev/null +++ b/test6.js @@ -0,0 +1,182 @@ +/* +京东京喜工厂 +活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 +或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 + + +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京喜工厂 +10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, enabled=true + +================Loon============== +[Script] +cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 + +===============Surge================= +京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js + +============小火箭========= +京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=200, 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 = 1; +let cookiesArr = [], message = ''; +const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; +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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) +} +!(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 = ''; + $.ele = 0; + await jdDreamFactory() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdDreamFactory() { + await userInfo(); + if (!$.unActive) return + await showMsg(); +} +async function showMsg() { + return new Promise(async resolve => { + let ctrTemp; + if ($.isNode() && process.env.DREAMFACTORY_NOTIFY_CONTROL) { + ctrTemp = `${process.env.DREAMFACTORY_NOTIFY_CONTROL}` === 'false'; + } else if ($.getdata('jdDreamFactory')) { + ctrTemp = $.getdata('jdDreamFactory') === '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 userInfo() { + console.log(`cookie : ${$.cookie}`) + return new Promise(async resolve => { + $.get(taskurl('userinfo/GetUserInfo', `pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=`), 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']; + $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 + $.encryptPin = ''; + if (data.factoryList && data.productionList) { + const production = data.productionList[0]; + const factory = data.factoryList[0]; + $.factoryId = factory.factoryId;//工厂ID + $.productionId = production.productionId;//商品ID + $.commodityDimId = production.commodityDimId; + $.encryptPin = data.user.encryptPin; + // subTitle = data.user.pin; + console.log(`data.user.pin::${data.user.pin}`) + console.log(`当前电力:${data.user.electric}`) + console.log(`分享码: ${data.user.encryptPin}`); + console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); + if (production.investedElectric >= production.needElectric) { + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`, {'open-url': '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'}) + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`) + } + } else { + $.unActive = false;//标记是否开启了京喜活动或者选购了商品进行生产 + if (!data.factoryList) { + console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); + $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); + } else if (data.factoryList && !data.productionList) { + console.log(`【提示】此账号京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) + $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); + } + } + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } 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}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1`, + headers: { + 'Cookie': $.cookie, + 'Host': 'm.jingxi.com', + 'Accept': '*/*', + 'Connection': 'keep-alive', + 'User-Agent': 'jdpingou;iPhone;3.14.4;14.0;ae75259f6ca8378672006fc41079cd8c90c53be8;network/wifi;model/iPhone10,2;appBuild/100351;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/62;pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', + 'Accept-Language': 'zh-cn', + 'Referer': 'https://wqsd.jd.com/pingou/dream_factory/index.html', + 'Accept-Encoding': 'gzip, deflate, br', + } + } +} + + +// 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();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)} \ No newline at end of file From 8e5485ee8484e7f031dd650cfd6a5a1c3b66439b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 14:24:20 +0800 Subject: [PATCH 0203/1259] fix --- jd_joy_run.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 55c117ab..c0fafe92 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -119,7 +119,7 @@ async function getToken() { $.setdata(`${count}`, 'countFlag'); $.msg($.name, '更新Token: 成功🎉', ``); console.log(`开始上传Token`) - await $.http.get({url: `http://api.turinglabs.net/api/v1/jd/joy/${LKYLToken}/`}).then((resp) => { + await $.http.get({url: `http://api.turinglabs.net/api/v1/jd/joy/create/${LKYLToken}/`}).then((resp) => { if (resp.statusCode === 200) { let { body } = resp; console.log(`Token提交结果:${body}`) From 20f506b2704cac1f1b68136eb2c5f3f99b4150b7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 14:31:06 +0800 Subject: [PATCH 0204/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E8=A7=A3=E5=86=B3IOS=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E4=B8=8A=E9=9D=A2surge=E8=BD=AF=E4=BB=B6=E4=B8=8A=E9=9D=A2?= =?UTF-8?q?=E4=B8=A4=E4=B8=AAcookie=E5=8F=AA=E8=B7=91=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 37ab753b..ad314bc1 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -834,7 +834,7 @@ function safeGet(data) { function taskurl(functionId, body = '') { return { - url: `${JD_API_HOST}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1`, + url: `${JD_API_HOST}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}`, headers: { 'Cookie': cookie, 'Host': 'm.jingxi.com', @@ -848,7 +848,7 @@ function taskurl(functionId, body = '') { } } function newtasksysUrl(functionId, taskId) { - let url = `${JD_API_HOST}/newtasksys/newtasksys_front/${functionId}?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1`; + let url = `${JD_API_HOST}/newtasksys/newtasksys_front/${functionId}?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}`; if (taskId) { url += `&taskId=${taskId}`; } From ea05373899106e0b526ae138af206c9efb4a019e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 15:50:11 +0800 Subject: [PATCH 0205/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=90=8C=E5=AE=A0?= =?UTF-8?q?=E8=84=9A=E6=9C=AC,=E6=96=B0=E5=A2=9E=E5=81=9A=20"=E7=82=B9?= =?UTF-8?q?=E7=82=B9=E5=88=B8"=E4=BB=BB=E5=8A=A1=E5=BE=97=E7=8B=97?= =?UTF-8?q?=E7=B2=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 +- jd_pet.js | 36 +++++++++++++++++++++++++++--------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index ad314bc1..db3801ae 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -470,7 +470,7 @@ function userInfo() { await DrawProductionStagePrize();//领取红包 console.log(`当前电力:${data.user.electric}`) console.log(`分享码: ${data.user.encryptPin}`); - console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); + console.log(`生产进度:${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%`); message += `【京东账号${$.index}】${$.nickName}\n` message += `【生产商品】${$.productName}\n`; message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; diff --git a/jd_pet.js b/jd_pet.js index a5199f1f..9c1542fa 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,6 +1,6 @@ /* 东东萌宠 更新地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js -更新时间:2020-11-21 +更新时间:2020-11-30 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -87,7 +87,12 @@ async function jdPet() { if (initPetTownRes.code === '0' && initPetTownRes.resultCode === '0' && initPetTownRes.message === 'success') { $.petInfo = initPetTownRes.result; if ($.petInfo.userStatus === 0) { - $.msg($.name, '【提示】此账号萌宠活动未开始,请手动去京东APP开启活动\n入口:我的->游戏与互动->查看更多', '', { "open-url": "openapp.jdmoble://" }); + $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n萌宠活动未开启\n请手动去京东APP开启活动\n入口:我的->游戏与互动->查看更多开启`, { "open-url": "openapp.jdmoble://" }); + return + } + if (!$.petInfo.goodsInfo) { + $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`, { "open-url": "openapp.jdmoble://" }); + await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`); return } goodsUrl = $.petInfo.goodsInfo && $.petInfo.goodsInfo.goodsUrl; @@ -191,9 +196,9 @@ async function doTask() { if (threeMealInit && !threeMealInit.finished) { if (threeMealInit.timeRange === -1) { console.log(`未到三餐时间`); - return + } else { + await threeMealInitFun(); } - await threeMealInitFun(); } if (browseShopsInit && !browseShopsInit.finished) { await browseShopsInitFun(); @@ -576,7 +581,7 @@ function TotalBean() { async function request(function_id, body = {}) { await $.wait(3000); //歇口气儿, 不然会报操作频繁 return new Promise((resolve, reject) => { - $.get(taskUrl(function_id, body), (err, resp, data) => { + $.post(taskUrl(function_id, body), (err, resp, data) => { try { if (err) { console.log('\n东东萌宠: API查询请求失败 ‼️‼️'); @@ -593,15 +598,28 @@ async function request(function_id, body = {}) { }) }) } +// function taskUrl(function_id, body = {}) { +// return { +// url: `${JD_API_HOST}?functionId=${function_id}&appid=wh5&loginWQBiz=pet-town&body=${escape(JSON.stringify(body))}`, +// headers: { +// Cookie: cookie, +// UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), +// } +// }; +// } function taskUrl(function_id, body = {}) { + body["version"] = 2; + body["channel"] = 'app'; return { - url: `${JD_API_HOST}?functionId=${function_id}&appid=wh5&loginWQBiz=pet-town&body=${escape(JSON.stringify(body))}`, + 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, - UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Cookie': cookie, + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Host': 'api.m.jd.com', + 'Content-Type': 'application/x-www-form-urlencoded', } }; } - // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 From 6633e77bda00b1c75172ba939278061e2b87439b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 16:27:22 +0800 Subject: [PATCH 0206/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=96=B0=E5=A2=9E=E5=88=A0=E9=99=A4=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B=E5=8A=9F=E8=83=BD,=E5=A5=BD=E5=8F=8B=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=90=8E=E5=8F=AF=E4=BB=A5=E7=BB=A7=E7=BB=AD=E6=8B=BF?= =?UTF-8?q?=E5=88=B0=E9=82=80=E8=AF=B7=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 18 ++++-- test6.js | 182 ---------------------------------------------------- 2 files changed, 13 insertions(+), 187 deletions(-) delete mode 100644 test6.js diff --git a/jd_fruit.js b/jd_fruit.js index effe09fc..114c1e2c 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,6 +1,6 @@ /* 东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js -更新时间:2020-11-17 +更新时间:2020-11-30 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -764,9 +764,17 @@ async function clockInIn() { } // async function getAwardInviteFriend() { - await friendListInitForFarm(); - await receiveFriendInvite(); + await friendListInitForFarm();//查询好友列表 console.log(`\n今日已邀请好友${$.friendList.inviteFriendCount}个 / 每日邀请上限${$.friendList.inviteFriendMax}个`); + console.log(`开始删除${$.friendList.friends.length}个好友,可拿每天的邀请奖励`); + for (let friend of $.friendList.friends) { + console.log(`\n开始删除好友 [${friend.shareCode}]`); + const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 }); + if (deleteFriendForFarm && deleteFriendForFarm.code === '0') { + console.log(`删除好友 [${friend.shareCode}] 成功\n`); + } + } + await receiveFriendInvite();//为他人助力,接受邀请成为别人的好友 if ($.friendList.inviteFriendCount > 0) { if ($.friendList.inviteFriendCount > $.friendList.inviteFriendGotAwardCount) { console.log('开始领取邀请好友的奖励'); @@ -865,9 +873,9 @@ async function receiveFriendInvite() { await inviteFriend(code); console.log(`接收邀请成为好友结果:${JSON.stringify($.inviteFriendRes.helpResult)}`) if ($.inviteFriendRes.helpResult.code === '0') { - console.log(`您已成为${$.inviteFriendRes.helpResult.masterUserInfo.nickName}的好友`) + console.log(`成功,您已成为${$.inviteFriendRes.helpResult.masterUserInfo.nickName}的好友`) } else if ($.inviteFriendRes.helpResult.code === '17') { - console.log(`对方已是您的好友`) + console.log(`失败,对方已是您的好友`) } } // console.log(`开始接受6fbd26cc27ac44d6a7fed34092453f77的邀请\n`) diff --git a/test6.js b/test6.js deleted file mode 100644 index 8325297d..00000000 --- a/test6.js +++ /dev/null @@ -1,182 +0,0 @@ -/* -京东京喜工厂 -活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 -或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 - - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜工厂 -10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, enabled=true - -================Loon============== -[Script] -cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 - -===============Surge================= -京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js - -============小火箭========= -京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=200, 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 = 1; -let cookiesArr = [], message = ''; -const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; -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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) -} -!(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 = ''; - $.ele = 0; - await jdDreamFactory() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdDreamFactory() { - await userInfo(); - if (!$.unActive) return - await showMsg(); -} -async function showMsg() { - return new Promise(async resolve => { - let ctrTemp; - if ($.isNode() && process.env.DREAMFACTORY_NOTIFY_CONTROL) { - ctrTemp = `${process.env.DREAMFACTORY_NOTIFY_CONTROL}` === 'false'; - } else if ($.getdata('jdDreamFactory')) { - ctrTemp = $.getdata('jdDreamFactory') === '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 userInfo() { - console.log(`cookie : ${$.cookie}`) - return new Promise(async resolve => { - $.get(taskurl('userinfo/GetUserInfo', `pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=`), 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']; - $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 - $.encryptPin = ''; - if (data.factoryList && data.productionList) { - const production = data.productionList[0]; - const factory = data.factoryList[0]; - $.factoryId = factory.factoryId;//工厂ID - $.productionId = production.productionId;//商品ID - $.commodityDimId = production.commodityDimId; - $.encryptPin = data.user.encryptPin; - // subTitle = data.user.pin; - console.log(`data.user.pin::${data.user.pin}`) - console.log(`当前电力:${data.user.electric}`) - console.log(`分享码: ${data.user.encryptPin}`); - console.log(`生产进度:${(production.investedElectric / production.needElectric).toFixed(2) * 100}%`); - if (production.investedElectric >= production.needElectric) { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`, {'open-url': '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'}) - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`) - } - } else { - $.unActive = false;//标记是否开启了京喜活动或者选购了商品进行生产 - if (!data.factoryList) { - console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); - $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); - } else if (data.factoryList && !data.productionList) { - console.log(`【提示】此账号京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) - $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); - } - } - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } - } 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}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1`, - headers: { - 'Cookie': $.cookie, - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'User-Agent': 'jdpingou;iPhone;3.14.4;14.0;ae75259f6ca8378672006fc41079cd8c90c53be8;network/wifi;model/iPhone10,2;appBuild/100351;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/62;pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://wqsd.jd.com/pingou/dream_factory/index.html', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - - -// 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();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)} \ No newline at end of file From b0c7d560fcc44e3e65021369804750f44db02983 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 20:59:46 +0800 Subject: [PATCH 0207/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=94=B6=E5=9C=B0?= =?UTF-8?q?=E4=B8=8B=E9=9B=B6=E4=BB=B6=E8=8E=B7=E5=BE=97=E7=94=B5=E5=8A=9B?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=9A=82=E6=97=B6=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=81=B7=E5=A5=BD=E5=8F=8B=E7=94=B5=E5=8A=9B=E5=8A=9F=E8=83=BD?= =?UTF-8?q?(=E6=B5=8B=E8=AF=95=E5=8F=8C=E5=80=8D=E7=94=B5=E5=8A=9B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 58 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index db3801ae..e2b3bae2 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -57,6 +57,8 @@ if ($.isNode()) { $.nickName = ''; message = ''; $.ele = 0; + $.pickEle = 0; + $.pickFriendEle = 0 await TotalBean(); console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); if (!$.isLogin) { @@ -90,7 +92,8 @@ async function jdDreamFactory() { await taskList(); await investElectric(); await hireAward(); - await stealFriend(); + await PickUp(); + // await stealFriend(); await showMsg(); } @@ -469,10 +472,12 @@ function userInfo() { await GetCommodityDetails();//获取已选购的商品信息 await DrawProductionStagePrize();//领取红包 console.log(`当前电力:${data.user.electric}`) + console.log(`当前等级:${data.user.currentLevel}`) console.log(`分享码: ${data.user.encryptPin}`); console.log(`生产进度:${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%`); message += `【京东账号${$.index}】${$.nickName}\n` message += `【生产商品】${$.productName}\n`; + message += `【当前等级】${data.user.currentLevel}\n`; message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; if (production.investedElectric >= production.needElectric) { $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`, {'open-url': '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'}) @@ -557,6 +562,50 @@ function DrawProductionStagePrize() { }) }) } +async function PickUp(encryptPin = $.encryptPin, help = false) { + for (let i = 0; i < new Array(5).fill('').length; i++) { + await $.wait(1000); + await PickUpComponent(i + 1, encryptPin, help); + } +} +//收取地下随机零件电力API +//usermaterial/GetUserComponent +function PickUpComponent(index, encryptPin, help) { + return new Promise(resolve => { + $.get(taskurl('usermaterial/PickUpComponent', `placeId=${index}&pin=${encryptPin}`), (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']; + if (help) { + console.log(`收取好友零件成功:获得${data['increaseElectric']}电力\n`); + $.pickFriendEle += data['increaseElectric']; + } else { + console.log(`收取自家零件成功:获得${data['increaseElectric']}电力\n`); + $.pickEle += data['increaseElectric']; + } + } else { + if (help) { + console.log(`收好友零件失败:${JSON.stringify(data)}`) + } else { + console.log(`收零件失败:${JSON.stringify(data)}`) + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} //偷好友的电力 function stealFriend() { return new Promise(async resolve => { @@ -573,7 +622,8 @@ function stealFriend() { for (let i = 0; i < data.list.length; i++) { let pin = data.list[i]['encryptPin']; await getFactoryIdByPin(pin); - if ($.stealFactoryId) await collectElectricity($.stealFactoryId,true, data.list[i]['key']) + if ($.stealFactoryId) await collectElectricity($.stealFactoryId,true, data.list[i]['key']); + await PickUp(pin, true) } } else { console.log(`异常:${JSON.stringify(data)}`) @@ -709,10 +759,10 @@ async function showMsg() { if (ctrTemp) { $.msg($.name, '', message); if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}\n【收取零件】获得${$.pickEle}电力`); } } else { - $.log(`\n${message}\n`); + $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取好友零件】获得${$.pickFriendEle}电力`); } resolve() }) From 4abd728afb8862f4ad1cee9743f2e3521547c04a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 21:47:13 +0800 Subject: [PATCH 0208/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8D=E8=83=BD=E6=B4=BB=E5=8A=A8=E5=8F=8C?= =?UTF-8?q?=E5=80=8D=E7=94=B5=E5=8A=9B=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e2b3bae2..073b46f8 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -105,9 +105,9 @@ function collectElectricity(facId = $.factoryId, help = false, master) { // if (help && master) { // url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&factoryid=${facId}&master=${master}&sceneval=2&g_login_type=1`; // } - let body = `factoryid=${facId}`; - if (master) { - body += `&master=${master}`; + let body = `factoryid=${facId}&apptoken=&pgtimestamp=&phoneID=&doubleflag=1`; + if (help && master) { + body += `factoryid=${facId}&master=${master}`; } $.get(taskurl(`generator/CollectCurrentElectricity`, body), (err, resp, data) => { try { @@ -248,7 +248,7 @@ function getUserElectricity() { console.log(`发电机:当前 ${data.data.currentElectricityQuantity} 电力,最大值 ${data.data.maxElectricityQuantity} 电力,达到最大电量才会进行收取`) if (data.data.currentElectricityQuantity === data.data.maxElectricityQuantity && data.data.doubleElectricityFlag) { console.log(`发电机:电力可翻倍并收获`) - await shareReport(); + // await shareReport(); await collectElectricity() } else { message += `【发电机电力】当前 ${data.data.currentElectricityQuantity} 电力,未达到收获标准\n` From 1c239dae074ed830a79865ef742f14d48eacf05f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 30 Nov 2020 23:11:10 +0800 Subject: [PATCH 0209/1259] =?UTF-8?q?=E7=94=B5=E5=8A=9B=E7=BF=BB=E5=80=8D?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E6=88=90=E5=8A=9F=EF=BC=8C=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E5=81=B7=E5=A5=BD=E5=8F=8B=E7=94=B5=E5=8A=9B=E4=B8=8E=E5=81=B7?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E9=9B=B6=E4=BB=B6=E7=94=B5=E5=8A=9B=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 073b46f8..cd2c2d77 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,5 +1,6 @@ /* 京东京喜工厂 +更新时间:2020-11-30 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -93,7 +94,7 @@ async function jdDreamFactory() { await investElectric(); await hireAward(); await PickUp(); - // await stealFriend(); + await stealFriend(); await showMsg(); } From c715ba9829cc213d67089b3e762a74bf0146bf68 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 1 Dec 2020 09:57:00 +0800 Subject: [PATCH 0210/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E7=9A=84=E5=8A=A9=E5=8A=9B=E5=A5=BD=E5=8F=8BUA=E6=94=B9?= =?UTF-8?q?=E6=88=90=E4=BA=AC=E5=96=9CAPP=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index cd2c2d77..970c8fa2 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -344,14 +344,14 @@ function assistFriend(sharepin) { const options = { 'url': `https://m.jingxi.com/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1`, 'headers': { - "Host": "wq.jd.com", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept": "*/*", - "Accept-Language": "zh,en-US;q=0.7,en;q=0.3", "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", "Connection": "keep-alive", - "Referer": "https://wqsd.jd.com/pingou/dream_factory/index.html", - "Cookie": cookie + "Cookie": cookie, + "Host": "m.jingxi.com", + "Referer": "https://st.jingxi.com/pingou/dream_factory/index.html", + "User-Agent": "jdpingou;iPhone;3.15.2;14.2;f803928b71d2fcd51c7eae549f7bc3062d17f63f;network/4g;model/iPhone11,8;appBuild/100365;ADID/0E38E9F1-4B4C-40A4-A479-DD15E58A5623;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/2;pap/JA2015_311210;brand/apple;supportJDSHWK/1;" } } $.get(options, (err, resp, data) => { From 7aae2d866be3c658fc73f76caa7743b6a4b7d09f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 1 Dec 2020 10:07:43 +0800 Subject: [PATCH 0211/1259] update --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 970c8fa2..b39e6fbb 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -30,7 +30,7 @@ const JD_API_HOST = 'https://m.jingxi.com'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = 1; +const randomCount = $.isNode() ? 20 : 5; let cookiesArr = [], cookie = '', message = ''; const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; From 79a9f0c15075df2aba218d364a246b1a517cc948 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 1 Dec 2020 10:16:39 +0800 Subject: [PATCH 0212/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=9A=8F=E6=9C=BA?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index b39e6fbb..8e7f6471 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -333,7 +333,16 @@ async function helpFriends() { console.log(`不能为自己助力,跳过`); continue; } - await assistFriend(code); + const assistFriendRes = await assistFriend(code); + if (assistFriendRes && assistFriendRes['ret'] === 0) { + console.log(`助力朋友:${code}成功,因一次只能助力一个,故跳出助力`) + break + } else if (assistFriendRes && assistFriendRes['ret'] === 11009) { + console.log(`助力朋友[${code}]失败:${assistFriendRes.msg},跳出助力`); + break + } else { + console.log(`助力朋友[${code}]失败:${assistFriendRes.msg}`) + } } } } @@ -362,17 +371,17 @@ function assistFriend(sharepin) { } else { if (safeGet(data)) { data = JSON.parse(data); - if (data['ret'] === 0) { - console.log(`助力朋友:${sharepin}成功`) - } else { - console.log(`助力朋友[${sharepin}]失败:${data.msg}`) - } + // if (data['ret'] === 0) { + // console.log(`助力朋友:${sharepin}成功`) + // } else { + // console.log(`助力朋友[${sharepin}]失败:${data.msg}`) + // } } } } catch (e) { $.logErr(e, resp) } finally { - resolve(); + resolve(data); } }) }) From c454d64c37eab6b47e1055bfb333f627875a7aac Mon Sep 17 00:00:00 2001 From: tiandong21 <75255743+tiandong21@users.noreply.github.com> Date: Tue, 1 Dec 2020 12:27:43 +0800 Subject: [PATCH 0213/1259] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fa86f5b..a7ddd23e 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ * 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, lxk0301 对于由此引起的任何隐私泄漏或其他后果概不负责. -* 请勿将Script项目的任何内容用于商业或非法目的,否则后果自负. +* 请勿将Script项目的任内容用于商业或非法目的,否则后果自负. * 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本. From f1deb00f8ad687cc446945c4b043981a2f4f5cd6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 1 Dec 2020 17:32:17 +0800 Subject: [PATCH 0214/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E4=B8=8A=E9=9D=A2=E8=BF=90=E8=A1=8C=E6=AF=8F?= =?UTF-8?q?=E5=A4=A9=E5=9C=A822=E7=82=B9=E8=BF=90=E8=A1=8C=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E9=80=9A=E7=9F=A5=EF=BC=8C=E6=9A=82=E6=97=B6?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=81=B7=E5=A5=BD=E5=8F=8B=E7=94=B5=E5=8A=9B?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdDreamFactoryShareCodes.js | 2 +- jd_dreamFactory.js | 24 +++++++++++++++--------- jd_jdfactory.js | 8 +++++--- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/jdDreamFactoryShareCodes.js b/jdDreamFactoryShareCodes.js index b17202a2..5f591dc8 100644 --- a/jdDreamFactoryShareCodes.js +++ b/jdDreamFactoryShareCodes.js @@ -9,7 +9,7 @@ // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let shareCodes = [ 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==',//账号一的好友shareCode,不同好友中间用@符号隔开 - 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==',//账号二的好友shareCode,不同好友中间用@符号隔开 + '1uzRU5HkaUgvy0AB5Q9VUg==@PDPM257r_KuQhil2Y7koNw==',//账号二的好友shareCode,不同好友中间用@符号隔开 ] // 判断github action里面是否有东东萌宠互助码 if (process.env.DREAM_FACTORY_SHARE_CODES) { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 8e7f6471..1ba423df 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -32,7 +32,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; let cookiesArr = [], cookie = '', message = ''; -const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; +const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -86,7 +86,7 @@ if ($.isNode()) { async function jdDreamFactory() { await userInfo(); - await JoinTuan(); + // await JoinTuan();参团功能暂时无效, await helpFriends(); if (!$.unActive) return await getUserElectricity(); @@ -487,7 +487,7 @@ function userInfo() { console.log(`生产进度:${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%`); message += `【京东账号${$.index}】${$.nickName}\n` message += `【生产商品】${$.productName}\n`; - message += `【当前等级】${data.user.currentLevel}\n`; + message += `【当前等级】${data.user.userIdentity} ${data.user.currentLevel}\n`; message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; if (production.investedElectric >= production.needElectric) { $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`, {'open-url': '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'}) @@ -593,7 +593,7 @@ function PickUpComponent(index, encryptPin, help) { if (data['ret'] === 0) { data = data['data']; if (help) { - console.log(`收取好友零件成功:获得${data['increaseElectric']}电力\n`); + console.log(`收取好友[${encryptPin}]零件成功:获得${data['increaseElectric']}电力\n`); $.pickFriendEle += data['increaseElectric']; } else { console.log(`收取自家零件成功:获得${data['increaseElectric']}电力\n`); @@ -601,7 +601,7 @@ function PickUpComponent(index, encryptPin, help) { } } else { if (help) { - console.log(`收好友零件失败:${JSON.stringify(data)}`) + console.log(`收好友[${encryptPin}]零件失败:${JSON.stringify(data)}`) } else { console.log(`收零件失败:${JSON.stringify(data)}`) } @@ -630,10 +630,13 @@ function stealFriend() { if (data['ret'] === 0) { data = data['data']; for (let i = 0; i < data.list.length; i++) { - let pin = data.list[i]['encryptPin']; - await getFactoryIdByPin(pin); - if ($.stealFactoryId) await collectElectricity($.stealFactoryId,true, data.list[i]['key']); - await PickUp(pin, true) + let pin = data.list[i]['encryptPin'];//好友的encryptPin + if (pin === 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=' || pin === 'Bo-jnVs_m9uBvbRzraXcSA==') { + continue + } + await PickUp(pin, true); + // await getFactoryIdByPin(pin);//获取好友工厂ID + // if ($.stealFactoryId) await collectElectricity($.stealFactoryId,true, pin); } } else { console.log(`异常:${JSON.stringify(data)}`) @@ -771,6 +774,9 @@ async function showMsg() { if ($.isNode()) { await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}\n【收取零件】获得${$.pickEle}电力`); } + } else if (new Date().getHours() === 22) { + $.msg($.name, '', `${message}【收取自己零件】获得${$.pickEle}电力\n【收取好友零件】获得${$.pickFriendEle}电力`) + $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取好友零件】获得${$.pickFriendEle}电力`); } else { $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取好友零件】获得${$.pickFriendEle}电力`); } diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 1405a28c..e13a136e 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -203,7 +203,7 @@ async function algorithm() { $.msg($.name, '', `京东账号${$.index}${$.nickName}\n当前总电量为:${$.batteryValue * 1}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `当前总电量为:${$.batteryValue * 1}\n【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].totalScore}\n请速去活动页面查看`); } else { - console.log(`\n目前电量${$.batteryValue * 1},不满足兑换\n`) + console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0].name}所需的 ${$.canMakeList[0].fullScore}电量\n`) } } } @@ -511,10 +511,12 @@ function jdfactory_getProductList(flag = false) { if (data.data.bizCode === 0) { $.canMakeList = data.data.result.canMakeList;//当前可选商品列表 sellOut:1为已抢光,0为目前可选择 $.canMakeList.sort(sortCouponCount); + console.log(`商品名称 可选状态 剩余量`) + for (let item of $.canMakeList) { + console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可 选'} ${item.couponCount}`); + } if (!flag) { - console.log(`商品名称 可选状态 剩余量`) for (let item of $.canMakeList) { - console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可选'} ${item.couponCount}`); if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { await jdfactory_makeProduct(item.skuId); break From fbc0a9cf439e38a4c90f52543148a91c922a45a3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 1 Dec 2020 17:57:46 +0800 Subject: [PATCH 0215/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=AB=AF=E6=AF=8F=E5=A4=A923=E7=82=B9?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=97=B6=E5=BC=B9=E7=AA=97=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E4=B8=80=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index e13a136e..cd86a35d 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -102,7 +102,10 @@ function showMsg() { if (!jdNotify) { $.msg($.name, '', `${message}`); } else { - $.log(message); + $.log(`京东账号${$.index}${$.nickName}\n${message}`); + } + if (new Date().getHours() === 23) { + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); } resolve() }) @@ -174,6 +177,8 @@ async function algorithm() { } } else { console.log(`\n此账号${$.index}${$.nickName}暂未选择商品\n`); + message += `已选商品:暂无\n`; + message += `心仪商品:${wantProduct ? wantProduct : '暂无'}\n`; if (wantProduct) { console.log(`BoxJs或环境变量提供的心仪商品:${wantProduct}\n`); await jdfactory_getProductList(true); @@ -188,6 +193,9 @@ async function algorithm() { wantProductSkuId = item.skuId; } } + message += `心仪商品数量:${couponCount}\n`; + message += `心仪商品所需电量:${totalScore}\n`; + message += `您当前总电量:${$.batteryValue * 1}\n`; if (wantProductSkuId && (($.batteryValue * 1) >= (totalScore))) { console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${$.batteryValue * 1},【满足】兑换此商品所需总电量:${totalScore}`); console.log(`请去活动页面选择心仪商品并手动投入电量兑换\n`); @@ -199,6 +207,9 @@ async function algorithm() { } else { console.log(`BoxJs或环境变量暂未提供心仪商品\n如需兑换心仪商品,请提供心仪商品名称\n`); await jdfactory_getProductList(true); + message += `当前剩余最多商品:${$.canMakeList[0].name}\n`; + message += `兑换所需电量:${$.canMakeList[0].fullScore}\n`; + message += `您当前总电量:${$.batteryValue * 1}\n`; if ($.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0].fullScore) { $.msg($.name, '', `京东账号${$.index}${$.nickName}\n当前总电量为:${$.batteryValue * 1}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `当前总电量为:${$.batteryValue * 1}\n【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].totalScore}\n请速去活动页面查看`); From bee158c78926df21afaf697b5767e85ab654d8ff Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 2 Dec 2020 00:35:16 +0800 Subject: [PATCH 0216/1259] =?UTF-8?q?feat:=20=E4=BA=AC=E5=96=9C=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E7=93=9C=E5=88=861=E4=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxstory.js | 693 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 693 insertions(+) create mode 100644 jd_jxstory.js diff --git a/jd_jxstory.js b/jd_jxstory.js new file mode 100644 index 00000000..656bbbb2 --- /dev/null +++ b/jd_jxstory.js @@ -0,0 +1,693 @@ +/* +京喜故事 +活动入口 :京喜APP->首页浮动窗口去领钱 +每天运行一次即可 + + +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京喜故事 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, tag=京喜故事, enabled=true + +================Loon============== +[Script] +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js,tag=京喜故事 + +===============Surge================= +京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js + +============小火箭========= +京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=200, 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 = 1; +let cookiesArr = [], cookie = '', message = ''; +const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; +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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) +} +!(async () => { + await requireConfig(); + 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 = ''; + $.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/`, {"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 shareCodesFormat(); + await jdDreamFactory() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdDreamFactory() { + await sign() + await taskList() + await userInfo() + 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 => { + // const url = `/newtasksys/newtasksys_front/GetUserTaskStatusList?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1`; + $.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 => { + // const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` + $.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(); + } + }) + }) +} +async function helpFriends() { + for (let code of $.newShareCodes) { + if (code) { + if ($.encryptPin === code) { + console.log(`不能为自己助力,跳过`); + continue; + } + await assistFriend(code); + } + } +} +// 帮助用户 +function assistFriend(sharepin) { + return new Promise(async resolve => { + // const url = `/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1` + const options = { + 'url': `https://m.jingxi.com/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1`, + 'headers': { + "Host": "wq.jd.com", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "Accept": "*/*", + "Accept-Language": "zh,en-US;q=0.7,en;q=0.3", + "Accept-Encoding": "gzip, deflate, br", + "Connection": "keep-alive", + "Referer": "https://wqsd.jd.com/pingou/dream_factory/index.html", + "Cookie": cookie + } + } + $.get(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['ret'] === 0) { + console.log(`助力朋友:${sharepin}成功`) + } else { + console.log(`助力朋友[${sharepin}]失败:${data.msg}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +// 任务领奖 +function completeTask(taskId, taskName) { + return new Promise(async resolve => { + // const url = `/newtasksys/newtasksys_front/Award?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; + $.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 => { + // const url = `/newtasksys/newtasksys_front/DoTask?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; + $.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']; + $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 + $.encryptPin = data.encryptPin; + $.currentMoneyNum = data.currentMoneyNum; + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +//领取红包 +function DrawProductionStagePrize() { + return new Promise(async resolve => { + // const url = `/dreamfactory/userinfo/DrawProductionStagePrize?zone=dream_factory&sceneval=2&g_login_type=1&productionId=${$.productionId}`; + $.get(taskurl('userinfo/DrawProductionStagePrize', `productionId=${$.productionId}`), (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['ret'] === 0) { + // + // } else { + // console.log(`异常:${JSON.stringify(data)}`) + // } + // } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getFactoryIdByPin(pin) { + return new Promise((resolve, reject) => { + // const url = `/dreamfactory/userinfo/GetUserInfoByPin?zone=dream_factory&pin=${pin}&sceneval=2`; + $.get(taskurl('userinfo/GetUserInfoByPin', `pin=${pin}`), (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) { + if (data.data.factoryList) { + //做此判断,有时候返回factoryList为null + // resolve(data['data']['factoryList'][0]['factoryId']) + $.stealFactoryId = data['data']['factoryList'][0]['factoryId']; + } + } 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.DREAMFACTORY_NOTIFY_CONTROL) { + ctrTemp = `${process.env.DREAMFACTORY_NOTIFY_CONTROL}` === 'false'; + } else if ($.getdata('jdDreamFactory')) { + ctrTemp = $.getdata('jdDreamFactory') === '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/jxfactory/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('./jdDreamFactoryShareCodes.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 + } + $.nickName = data['base'].nickname; + } 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://wqsd.jd.com/pingou/dream_factory/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; +} + +// 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();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)} From c5f7e61eefa10e9fdcc7539a199ce8a425694c14 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 09:36:15 +0800 Subject: [PATCH 0217/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=8D=E8=83=BD=E9=A2=86=E5=8F=96=E6=8B=9B?= =?UTF-8?q?=E5=B7=A5=E7=94=B5=E5=8A=9B=E5=A5=96=E5=8A=B1=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 1ba423df..523c821d 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2020-11-30 +更新时间:2020-12-02 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -92,7 +92,7 @@ async function jdDreamFactory() { await getUserElectricity(); await taskList(); await investElectric(); - await hireAward(); + await QueryHireReward();//收取招工电力 await PickUp(); await stealFriend(); await showMsg(); @@ -297,11 +297,42 @@ function shareReport() { }) }) } -// 收取招工电力 -function hireAward() { +//查询有多少的招工电力可收取 +function QueryHireReward() { return new Promise(async resolve => { // const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` - $.get(taskurl('friend/HireAward', `date=${new Date().Format("yyyyMMdd")}&type=0`), async (err, resp, data) => { + $.get(taskurl('friend/QueryHireReward'), 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) { + for (let item of data['data']['hireReward']) { + if (item.date !== new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).Format("yyyyMMdd")) { + await hireAward(item.date); + } + } + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +// 收取招工电力 +function hireAward(date) { + return new Promise(async resolve => { + // const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` + $.get(taskurl('friend/HireAward', `date=${date}&type=0`), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From bfb35010769cfbbbdb9549319bba79581bb44a59 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 11:52:35 +0800 Subject: [PATCH 0218/1259] =?UTF-8?q?=E8=87=AA=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/mySelf.boxjs.json | 34 ++ backUp/qqread.js | 726 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 760 insertions(+) create mode 100644 backUp/mySelf.boxjs.json create mode 100644 backUp/qqread.js diff --git a/backUp/mySelf.boxjs.json b/backUp/mySelf.boxjs.json new file mode 100644 index 00000000..402cd5b1 --- /dev/null +++ b/backUp/mySelf.boxjs.json @@ -0,0 +1,34 @@ +{ + "id": "lxk0301.app.sub2", + "name": "自用", + "author": "@lxk0301", + "icon": "https://avatars0.githubusercontent.com/u/21308593?s=52&v=4", + "repo": "https://github.com/lxk0301/jd_scripts/", + "apps": [ + { + "id": "QQ_READ", + "name": "企鹅阅读(QQ小程序)", + "keys": [ + "qqreadurl1", + "qqreadhd1", + "qqreadtimeurl1", + "qqreadtimehd1" + ], + "settings": [ + { + "id": "qqreadurl1", + "name": "qqreadurlVal", + "val": "https://mqqapi.reader.qq.com/mqq/user/init", + "type": "text", + "desc": "" + } + ], + "author": "@ziye12", + "repo": "https://github.com/ziye12/JavaScript ", + "icons": [ + "https://raw.githubusercontent.com/Orz-3/mini/master/jd.png", + "https://raw.githubusercontent.com/Orz-3/task/master/jd.png" + ] + } + ] +} diff --git a/backUp/qqread.js b/backUp/qqread.js new file mode 100644 index 00000000..6d9f27fe --- /dev/null +++ b/backUp/qqread.js @@ -0,0 +1,726 @@ +/* + 改用,nodejs云端专用。可N个账号。by;lxk0301 + +ziye +本人github地址 https://github.com/ziye12/JavaScript +转载请备注个名字,谢谢 + +11.25 增加 阅读时长上传,阅读金币,阅读随机金币 +11.25 修复翻倍宝箱不同时领取的问题.增加阅读金币判定 +11.25 修复阅读时长问题,阅读金币问题,请重新获取时长cookie +11.26 随机金币只有一次,故去除,调整修复阅读金币问题,增加时长上传限制 +11.26 增加领取周时长奖励 +11.26 增加结束命令 +11.27 调整通知为,成功开启宝箱再通知 +11.28 修复错误 +12.1 调整通知为15次宝箱通知一次 +12.1 优化通知 + +⚠️cookie获取方法: + +进 https://m.q.qq.com/a/s/d3eacc70120b9a37e46bad408c0c4c2a 点我的 获取cookie + +进一本书 看 10秒以下 然后退出,获取阅读时长cookie,看书一定不能超过10秒 + +可能某些页面会卡住,但是能获取到cookie,再注释cookie重写就行了! + + + +⚠️宝箱奖励为20分钟一次,自己根据情况设置定时,建议设置11分钟一次 + +hostname=mqqapi.reader.qq.com + +############## 圈x + +#企鹅读书获取cookie +https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init url script-request-header https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js + +#企鹅读书获取时长cookie +https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js + + +############## loon + +//企鹅读书获取cookie +http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js,requires-header=true, tag=企鹅读书获取cookie + +//企鹅读书获取时长cookie +http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js, requires-header=true, tag=企鹅读书获取时长cookie + + +############## surge + +//企鹅读书获取cookie +企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js, requires-header=true + +//企鹅读书获取时长cookie +企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js, requires-header=true + + +*/ + +const jsname = '企鹅读书' +const $ = Env(jsname) + +console.log(`\n========= 脚本执行时间(TM):${new Date(new Date().getTime() + 0 * 60 * 60 * 1000).toLocaleString('zh', {hour12: false})} =========\n`) + +const logs = 0; //0为关闭日志,1为开启 +const notifyInterval = 3 +//0为关闭通知,1为所有通知,2为宝箱领取成功通知,3为宝箱每15次通知一次 + +const jbid = 1//换号则修改这个值,默认账号1 +const dd = 1//单次任务延迟,默认1秒 +const TIME = 30//单次时长上传限制,默认5分钟 +const maxtime = 20//每日上传时长限制,默认20小时 +const wktimess = 1200//周奖励领取标准,默认1200分钟 +var tz = '' +const qqreadurlVal = `https://mqqapi.reader.qq.com/mqq/user/init`; +// const qqreadurlKey = 'qqreadurl' + jbid +// const qqreadurlVal = $.getdata(qqreadurlKey) + +const qqreadheaderKey = 'qqreadhd' + jbid +let qqreadheaderVal = $.getdata(qqreadheaderKey) + +const qqreadtimeurlKey = 'qqreadtimeurl' + jbid +let qqreadtimeurlVal = $.getdata(qqreadtimeurlKey) + +const qqreadtimeheaderKey = 'qqreadtimehd' + jbid +let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey) +//云函数使用在下面填写 +let QQ_READ_COOKIES = [ + { + qqreadurlVal, + "qqreadheaderVal": "", + "qqreadtimeurlVal": "", + "qqreadtimeheaderVal": "" + } +] +function getNodeCookie() { + if ($.isNode()) { + let QQ_READ_HEADER_VAL = [], QQ_READ_TIME_URL_VAL = [], QQ_READ_TIME_HEADER_VAL = []; + if (process.env.QQ_READ_HEADER_VAL) { + if (process.env.QQ_READ_HEADER_VAL.indexOf('&') > -1) { + console.log(`您的QQ_READ_HEADER_VAL选择的是用&隔开\n`) + QQ_READ_HEADER_VAL = process.env.QQ_READ_HEADER_VAL.split('&'); + } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { + console.log(`您的QQ_READ_HEADER_VAL选择的是用换行隔开\n`) + QQ_READ_HEADER_VAL = process.env.QQ_READ_HEADER_VAL.split('\n'); + } else { + QQ_READ_HEADER_VAL = [process.env.QQ_READ_HEADER_VAL]; + } + // QQ_READ_HEADER_VAL = [...new Set(QQ_READ_HEADER_VAL)] + } + if (process.env.QQ_READ_TIME_URL_VAL) { + if (process.env.QQ_READ_TIME_URL_VAL.indexOf('&') > -1) { + console.log(`您的QQ_READ_TIME_URL_VAL选择的是用&隔开\n`) + QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('&'); + } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { + console.log(`您的QQ_READ_TIME_URL_VAL选择的是用换行隔开\n`) + QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('\n'); + } else { + QQ_READ_TIME_URL_VAL = [process.env.QQ_READ_TIME_URL_VAL]; + } + // QQ_READ_TIME_URL_VAL = [...new Set(QQ_READ_TIME_URL_VAL)] + } + if (process.env.QQ_READ_TIME_HEADER_VAL) { + if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('&') > -1) { + console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用&隔开\n`) + QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('&'); + } else if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('\n') > -1) { + console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用换行隔开\n`) + QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('\n'); + } else { + QQ_READ_TIME_HEADER_VAL = [process.env.QQ_READ_TIME_HEADER_VAL]; + } + // QQ_READ_TIME_HEADER_VAL = [...new Set(QQ_READ_TIME_HEADER_VAL)] + } + if (QQ_READ_HEADER_VAL && QQ_READ_HEADER_VAL.length > 0) QQ_READ_COOKIES = []; + for (let i = 0; i < QQ_READ_HEADER_VAL.length; i ++) { + QQ_READ_COOKIES.push({ + qqreadurlVal, + "qqreadheaderVal": QQ_READ_HEADER_VAL[i] || "", + "qqreadtimeurlVal": QQ_READ_TIME_URL_VAL[i] || "", + "qqreadtimeheaderVal": QQ_READ_TIME_HEADER_VAL[i] || "" + }) + } + } +} +//CK运行 +let isGetCookie = typeof $request !== 'undefined' +if (isGetCookie) { + GetCookie() +} else { + !(async () => { + await getNodeCookie(); + await all(); + })() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) +} + +function GetCookie() { + + if ($request && $request.url.indexOf("init") >= 0) { + + // const qqreadurlVal = $request.url + // if (qqreadurlVal) $.setdata(qqreadurlVal, qqreadurlKey) + // $.log(`[${jsname}] 获取url请求: 成功,qqreadurlVal: ${qqreadurlVal}`) + + // const qqreadbodyVal = $request.body + // if (qqreadbodyVal) $.setdata(qqreadbodyVal, qqreadbodyKey) + // $.log(`[${jsname}] 获取阅读: 成功,qqreadbodyVal: ${qqreadbodyVal}`) + + + const qqreadheaderVal = JSON.stringify($request.headers) + if (qqreadheaderVal) $.setdata(qqreadheaderVal, qqreadheaderKey) + $.log(`[${jsname}] 获取Cookie: 成功,qqreadheaderVal: ${qqreadheaderVal}`) + $.msg(qqreadheaderKey, `获取cookie: 成功🎉`, ``) + + } else if ($request && $request.url.indexOf("addReadTimeWithBid?") >= 0) { + const qqreadtimeurlVal = $request.url + if (qqreadtimeurlVal) $.setdata(qqreadtimeurlVal, qqreadtimeurlKey) + $.log(`[${jsname}] 获取阅读时长url: 成功,qqreadtimeurlVal: ${qqreadtimeurlVal}`) + + const qqreadtimeheaderVal = JSON.stringify($request.headers) + if (qqreadtimeheaderVal) $.setdata(qqreadtimeheaderVal, qqreadtimeheaderKey) + $.log(`[${jsname}] 获取时长header: 成功,qqreadtimeheaderVal: ${qqreadtimeheaderVal}`) + $.msg(qqreadtimeheaderKey, `获取阅读时长cookie: 成功🎉`, ``) + + } + $.done(); +} + + +function all() { + for (let item of QQ_READ_COOKIES) { + if (!item["qqreadheaderVal"] || !item['qqreadtimeurlVal'] || !item['qqreadtimeheaderVal']) { + $.log(`账号暂未提供脚本执行所需的cookie`); + continue + } + qqreadheaderVal = item['qqreadheaderVal']; + qqreadtimeurlVal = item['qqreadtimeurlVal']; + qqreadtimeheaderVal = item['qqreadtimeheaderVal']; + for (let i = 0; i < 18; i++) { + (function (i) { + setTimeout(function () { + if (i == 0) + qqreadinfo();//用户名 + + else if (i == 1) + qqreadconfig();//时长查询 + + else if (i == 2) + qqreadtask();//任务列表 + + else if (i == 3 && task.data.taskList[0].doneFlag == 0) + qqreadsign();//金币签到 + + else if (i == 4 && task.data.treasureBox.doneFlag == 0) + qqreadbox();//宝箱 + + else if (i == 5 && task.data.taskList[2].doneFlag == 0) + qqreadssr1();//阅读金币1 + + else if (i == 6 && config.data.pageParams.todayReadSeconds / 3600 <= maxtime) + qqreadtime();//上传时长 + + else if (i == 7 && task.data.taskList[0].doneFlag == 0) + qqreadtake();//阅豆签到 + + else if (i == 8 && task.data.taskList[1].doneFlag == 0) + qqreaddayread();//阅读任务 + + else if (i == 9 && task.data.taskList[2].doneFlag == 0) + qqreadssr2();//阅读金币2 + + else if (i == 10 && task.data.taskList[3].doneFlag == 0) + qqreadvideo();//视频任务 + + else if (i == 11 && task.data.taskList[0].doneFlag == 0) + qqreadsign2();//签到翻倍 + + else if (i == 12 && task.data.treasureBox.videoDoneFlag == 0) + qqreadbox2();//宝箱翻倍 + + else if (i == 13 && task.data.taskList[2].doneFlag == 0) + qqreadssr3();//阅读金币3 + + else if (i == 14) + qqreadwktime();//周时长查询 + + else if (i == 15) + qqreadpick();//领周时长奖励 + + else if (i == 16) + showmsg();//通知 + + else if (i == 17) + $.done();//结束 + + } + , (i + 1) * dd * 1000); + })(i) + } + } +} + + +//任务列表 +function qqreadtask() { + return new Promise((resolve, reject) => { + const toqqreadtaskurl = { + url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=', + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreadtaskurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 任务列表: ${data}`) + task = JSON.parse(data) + tz += + '【现金余额】:' + + (task.data.user.amount / 10000).toFixed(2) + + '元\n' + + '【第' + + task.data.invite.issue + + '期】:时间' + + task.data.invite.dayRange + + '\n' + + ' 已邀请' + + task.data.invite.inviteCount + + '人,再邀请' + + task.data.invite.nextInviteConfig.count + + '人获得' + + task.data.invite.nextInviteConfig.amount + + '金币\n' + + '【' + + task.data.taskList[0].title + + '】:' + + task.data.taskList[0].amount + + '金币,' + + task.data.taskList[0].actionText + + '\n' + + '【' + + task.data.taskList[1].title + + '】:' + + task.data.taskList[1].amount + + '金币,' + + task.data.taskList[1].actionText + + '\n' + + '【' + + task.data.taskList[2].title + + '】:' + + task.data.taskList[2].amount + + '金币,' + + task.data.taskList[2].actionText + + '\n' + + '【' + + task.data.taskList[3].title + + '】:' + + task.data.taskList[3].amount + + '金币,' + + task.data.taskList[3].actionText + + '\n' + + '【宝箱任务' + + (task.data.treasureBox.count + 1) + + '】:' + + task.data.treasureBox.tipText + + '\n' + + '【' + task.data.fans.title + + '】:' + + task.data.fans.fansCount + + '个好友,' + + task.data.fans.todayAmount + + '金币\n' + + resolve() + + }) + + }) +} + + +//用户名 +function qqreadinfo() { + return new Promise((resolve, reject) => { + const toqqreadinfourl = { + url: qqreadurlVal, + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreadinfourl, (error, response, data) => { + if (logs) $.log(`${jsname}, 用户名: ${data}`) + info = JSON.parse(data) + tz += + '【用户信息】:' + info.data.user.nickName + '\n' + + resolve() + }) + }) +} + + +//阅豆签到 +function qqreadtake() { + return new Promise((resolve, reject) => { + const toqqreadtakeurl = { + url: 'https://mqqapi.reader.qq.com/mqq/sign_in/user', + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.post(toqqreadtakeurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 阅豆签到: ${data}`) + take = JSON.parse(data) + if (take.data.takeTicket > 0) { + tz += + '【阅豆签到】:获得' + take.data.takeTicket + '豆\n' + } + + resolve() + }) + }) +} + + +//阅读时长任务 +function qqreadconfig() { + return new Promise((resolve, reject) => { + const toqqreadconfigurl = { + url: 'https://mqqapi.reader.qq.com/mqq/page/config?router=%2Fpages%2Fbook-read%2Findex&options=', + headers: JSON.parse(qqreadheaderVal), + }; + $.get(toqqreadconfigurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 阅读时长查询: ${data}`) + config = JSON.parse(data) + if (config.code == 0) + tz += '【时长查询】:今日阅读' + (config.data.pageParams.todayReadSeconds / 60).toFixed(0) + '分钟\n' + + + resolve() + }) + }) +} + + +//阅读时长 +function qqreadtime() { + return new Promise((resolve, reject) => { + const toqqreadtimeurl = { + url: qqreadtimeurlVal.replace(/readTime=/g, `readTime=${TIME}`), + headers: JSON.parse(qqreadtimeheaderVal), + + }; + + $.get(toqqreadtimeurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 阅读时长: ${data}`) + time = JSON.parse(data) + if (time.code == 0) + tz += '【阅读时长】:上传' + TIME / 6 + '分钟\n' + + + resolve() + }) + }) +} + + +//阅读金币1 +function qqreadssr1() { + return new Promise((resolve, reject) => { + const toqqreadssr1url = { + url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=30`, + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + if (config.data.pageParams.todayReadSeconds / 60 >= 1) { + + $.get(toqqreadssr1url, (error, response, data) => { + if (logs) $.log(`${jsname}, 金币奖励1: ${data}`) + ssr1 = JSON.parse(data) + if (ssr1.data.amount > 0) + tz += '【阅读金币1】获得' + ssr1.data.amount + '金币\n' + + + resolve() + }) + } + }) +} + + +//阅读金币2 +function qqreadssr2() { + return new Promise((resolve, reject) => { + const toqqreadssr2url = { + url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=300`, + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + if (config.data.pageParams.todayReadSeconds / 60 >= 5) { + + $.get(toqqreadssr2url, (error, response, data) => { + if (logs) $.log(`${jsname}, 金币奖励2: ${data}`) + ssr2 = JSON.parse(data) + if (ssr2.data.amount > 0) + tz += '【阅读金币2】获得' + ssr2.data.amount + '金币\n' + + resolve() + }) + } + }) +} + + +//阅读金币3 +function qqreadssr3() { + return new Promise((resolve, reject) => { + const toqqreadssr3url = { + url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=1800`, + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + + if (config.data.pageParams.todayReadSeconds / 60 >= 30) { + + $.get(toqqreadssr3url, (error, response, data) => { + if (logs) $.log(`${jsname}, 金币奖励3: ${data}`) + ssr3 = JSON.parse(data) + if (ssr3.data.amount > 0) + tz += '【阅读金币3】获得' + ssr3.data.amount + '金币\n' + + + resolve() + }) + } + }) +} + + +//金币签到 +function qqreadsign() { + return new Promise((resolve, reject) => { + const toqqreadsignurl = { + url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in/page', + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreadsignurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 金币签到: ${data}`) + sign = JSON.parse(data) + + if (sign.data.videoDoneFlag) { + tz += + '【金币签到】:获得' + sign.data.todayAmount + '金币\n' + } + + + resolve() + }) + }) +} + + +//金币签到翻倍 +function qqreadsign2() { + return new Promise((resolve, reject) => { + const toqqreadsign2url = { + url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in_video', + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreadsign2url, (error, response, data) => { + if (logs) $.log(`${jsname}, 金币签到翻倍: ${data}`) + sign2 = JSON.parse(data) + + if (sign2.code == 0) { + tz += + '【签到翻倍】:获得' + sign2.data.amount + '金币\n' + } + + resolve() + }) + }) +} + + +//每日阅读 +function qqreaddayread() { + return new Promise((resolve, reject) => { + const toqqreaddayreadurl = { + url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book', + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreaddayreadurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 每日阅读: ${data}`) + dayread = JSON.parse(data) + if (dayread.code == 0) { + tz += + '【每日阅读】:获得' + dayread.data.amount + '金币\n' + + } + + resolve() + }) + }) +} + + +//视频奖励 +function qqreadvideo() { + return new Promise((resolve, reject) => { + const toqqreadvideourl = { + url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/watch_video', + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreadvideourl, (error, response, data) => { + if (logs) $.log(`${jsname}, 视频奖励: ${data}`) + video = JSON.parse(data) + + if (video.code == 0) { + tz += + '【视频奖励】:获得' + video.data.amount + '金币\n' + + } + + resolve() + }) + }) +} + + +//宝箱奖励 +function qqreadbox() { + return new Promise((resolve, reject) => { + + const toqqreadboxurl = { + url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box', + + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreadboxurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 宝箱奖励: ${data}`) + box = JSON.parse(data) + + if (box.data.count >= 0) { + tz += + '【宝箱奖励' + box.data.count + '】:获得' + box.data.amount + '金币\n' + + } + + resolve() + }) + }) +} + +//宝箱奖励翻倍 +function qqreadbox2() { + return new Promise((resolve, reject) => { + + const toqqreadbox2url = { + url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video', + + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreadbox2url, (error, response, data) => { + if (logs) $.log(`${jsname}, 宝箱奖励翻倍: ${data}`) + box2 = JSON.parse(data) + + if (box2.code == 0) { + tz += + '【宝箱翻倍】:获得' + box2.data.amount + '金币\n' + } + + resolve() + }) + }) +} + +//本周阅读时长 +function qqreadwktime() { + return new Promise((resolve, reject) => { + + const toqqreadwktimeurl = { + + url: `https://mqqapi.reader.qq.com/mqq/v1/bookShelfInit`, + + headers: JSON.parse(qqreadheaderVal), + + }; + + $.get(toqqreadwktimeurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 阅读时长: ${data}`) + wktime = JSON.parse(data) + if (wktime.code == 0) + tz += '【本周阅读时长】:' + wktime.data.readTime + '分钟\n' + + resolve() + }) + }) +} + + +//本周阅读时长奖励任务 +function qqreadpick() { + return new Promise((resolve, reject) => { + const toqqreadpickurl = { + url: `https://mqqapi.reader.qq.com/mqq/pickPackageInit`, + headers: JSON.parse(qqreadheaderVal), + }; + + if (wktime.data.readTime >= wktimess) { + $.get(toqqreadpickurl, (error, response, data) => { + if (logs) $.log(`${jsname},周阅读时长奖励任务: ${data}`) + pick = JSON.parse(data) + if (pick.data[7].isPick == true) + tz += '【周时长奖励】:已全部领取\n' + for (let i = 0; i < pick.data.length; i++) { + setTimeout(() => { + var pickid = pick.data[i].readTime + var Packageid = ['10', '10', '20', '30', '50', '80', '100', '120'] + const toqqreadPackageurl = { + url: `https://mqqapi.reader.qq.com/mqq/pickPackage?readTime=${pickid}`, + headers: JSON.parse(qqreadheaderVal), + timeout: 60000 + }; + $.get(toqqreadPackageurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 领周阅读时长: ${data}`) + Package = JSON.parse(data) + if (Package.code == 0) + tz += '【周时长奖励' + (i + 1) + '】:领取' + Packageid[i] + '阅豆\n' + }) + + }, i * 100) + } + + }) + resolve() + } + }) +} + + +function showmsg() { + console.log(tz) + + if (notifyInterval == 1) + $.msg(jsname, '', tz)//显示所有通知 + + else if (notifyInterval == 2 && task.data.treasureBox.doneFlag == 0) + $.msg(jsname, '', tz)//宝箱领取成功通知 + + else if (notifyInterval == 3 && task.data.treasureBox.count == 0 || task.data.treasureBox.count == 15 || task.data.treasureBox.count == 30 || task.data.treasureBox.count == 45 || task.data.treasureBox.count == 60) + $.msg(jsname, '', tz)//宝箱每15次通知一次 + +} + + +// 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)} From 00c130fb09f1a6cfc88f8994f5b3e165c95fd055 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 12:21:17 +0800 Subject: [PATCH 0219/1259] update --- backUp/mySelf.boxjs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backUp/mySelf.boxjs.json b/backUp/mySelf.boxjs.json index 402cd5b1..c1b65db0 100644 --- a/backUp/mySelf.boxjs.json +++ b/backUp/mySelf.boxjs.json @@ -17,7 +17,7 @@ "settings": [ { "id": "qqreadurl1", - "name": "qqreadurlVal", + "name": "qqreadurl1", "val": "https://mqqapi.reader.qq.com/mqq/user/init", "type": "text", "desc": "" From 42e60549b588c09384513c6a1e2b9975d0d72d7f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 12:26:09 +0800 Subject: [PATCH 0220/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=81=E9=B9=85?= =?UTF-8?q?=E9=98=85=E8=AF=BB=EF=BC=8C=E4=BA=91=E7=AB=AFNode.js=E4=B8=93?= =?UTF-8?q?=E7=94=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/mySelf.boxjs.json | 10 +--------- backUp/qqread.js | 4 ++-- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/backUp/mySelf.boxjs.json b/backUp/mySelf.boxjs.json index c1b65db0..d7d99845 100644 --- a/backUp/mySelf.boxjs.json +++ b/backUp/mySelf.boxjs.json @@ -14,15 +14,7 @@ "qqreadtimeurl1", "qqreadtimehd1" ], - "settings": [ - { - "id": "qqreadurl1", - "name": "qqreadurl1", - "val": "https://mqqapi.reader.qq.com/mqq/user/init", - "type": "text", - "desc": "" - } - ], + "settings": [], "author": "@ziye12", "repo": "https://github.com/ziye12/JavaScript ", "icons": [ diff --git a/backUp/qqread.js b/backUp/qqread.js index 6d9f27fe..add95922 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -75,7 +75,7 @@ const maxtime = 20//每日上传时长限制,默认20小时 const wktimess = 1200//周奖励领取标准,默认1200分钟 var tz = '' const qqreadurlVal = `https://mqqapi.reader.qq.com/mqq/user/init`; -// const qqreadurlKey = 'qqreadurl' + jbid +const qqreadurlKey = 'qqreadurl' + jbid // const qqreadurlVal = $.getdata(qqreadurlKey) const qqreadheaderKey = 'qqreadhd' + jbid @@ -174,7 +174,7 @@ function GetCookie() { // if (qqreadbodyVal) $.setdata(qqreadbodyVal, qqreadbodyKey) // $.log(`[${jsname}] 获取阅读: 成功,qqreadbodyVal: ${qqreadbodyVal}`) - + $.setdata(qqreadurlVal, qqreadurlKey); const qqreadheaderVal = JSON.stringify($request.headers) if (qqreadheaderVal) $.setdata(qqreadheaderVal, qqreadheaderKey) $.log(`[${jsname}] 获取Cookie: 成功,qqreadheaderVal: ${qqreadheaderVal}`) From e2e58b7a45c0ede36ed9b4d89eb4150dfa0aea40 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 14:02:14 +0800 Subject: [PATCH 0221/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E9=B9=85?= =?UTF-8?q?=E8=AF=BB=E4=B9=A6=E8=84=9A=E6=9C=AC=EF=BC=8C=E8=87=AA=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/qqread.js | 153 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 105 insertions(+), 48 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index add95922..495ad648 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -33,38 +33,38 @@ hostname=mqqapi.reader.qq.com ############## 圈x #企鹅读书获取cookie -https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init url script-request-header https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js +https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js #企鹅读书获取时长cookie -https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js +https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js ############## loon //企鹅读书获取cookie -http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js,requires-header=true, tag=企鹅读书获取cookie +http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js,requires-header=true, tag=企鹅读书获取cookie //企鹅读书获取时长cookie -http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js, requires-header=true, tag=企鹅读书获取时长cookie +http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true, tag=企鹅读书获取时长cookie ############## surge //企鹅读书获取cookie -企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js, requires-header=true +企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true //企鹅读书获取时长cookie -企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/qqread.js, requires-header=true +企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true */ const jsname = '企鹅读书' const $ = Env(jsname) - +let task = '', config, ssr2 = '', wktime; console.log(`\n========= 脚本执行时间(TM):${new Date(new Date().getTime() + 0 * 60 * 60 * 1000).toLocaleString('zh', {hour12: false})} =========\n`) -const logs = 0; //0为关闭日志,1为开启 +const logs = 1; //0为关闭日志,1为开启 const notifyInterval = 3 //0为关闭通知,1为所有通知,2为宝箱领取成功通知,3为宝箱每15次通知一次 @@ -90,9 +90,9 @@ let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey) let QQ_READ_COOKIES = [ { qqreadurlVal, - "qqreadheaderVal": "", - "qqreadtimeurlVal": "", - "qqreadtimeheaderVal": "" + "qqreadheaderVal": "{\"Accept\":\"*/*\",\"ywsession\":\"s8cyzgxftx92qajavwrxhyag56pekx4h\",\"Connection\":\"keep-alive\",\"Content-Type\":\"application/json\",\"Cookie\":\"ywguid=778732665;ywkey=ywlCt7NxTRWO;platform=ios;channel=mqqmina;mpVersion=0.30.0\",\"Host\":\"mqqapi.reader.qq.com\",\"User-Agent\":\"QQ/8.4.17.638 CFNetwork/1206 Darwin/20.1.0\",\"Referer\":\"https://appservice.qq.com/1110657249/0.30.0/page-frame.html\",\"Accept-Language\":\"zh-cn\",\"Accept-Encoding\":\"gzip, deflate, br\",\"mpversion\":\"0.30.0\"}", + "qqreadtimeurlVal": "https://mqqapi.reader.qq.com/mqq/addReadTimeWithBid?scene=3026&refer=-1&bid=186503&readTime=6415&read_type=0&conttype=1&read_status=0&chapter_info=%5B%7B%221%22%3A%7B%22readTime%22%3A6415%2C%22pay_status%22%3A0%7D%7D%5D&sp=-1", + "qqreadtimeheaderVal": "{\"Accept\":\"*/*\",\"ywsession\":\"s8cyzgxftx92qajavwrxhyag56pekx4h\",\"Connection\":\"keep-alive\",\"Content-Type\":\"application/json\",\"Cookie\":\"ywguid=778732665;ywkey=ywlCt7NxTRWO;platform=ios;channel=mqqmina;mpVersion=0.30.0;qq_ver=8.4.17;os_ver=iOS 14.2;mpos_ver=1.21.0;platform=ios;openid=206EB8919712F9C70C64A938DAC4D567\",\"Host\":\"mqqapi.reader.qq.com\",\"User-Agent\":\"QQ/8.4.17.638 CFNetwork/1206 Darwin/20.1.0\",\"Referer\":\"https://appservice.qq.com/1110657249/0.30.0/page-frame.html\",\"Accept-Language\":\"zh-cn\",\"Accept-Encoding\":\"gzip, deflate, br\",\"mpversion\":\"0.30.0\"}" } ] function getNodeCookie() { @@ -152,7 +152,8 @@ if (isGetCookie) { } else { !(async () => { await getNodeCookie(); - await all(); + await QQ_READ(); + // await all(); })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -193,7 +194,64 @@ function GetCookie() { } $.done(); } +async function QQ_READ() { + for (let item of QQ_READ_COOKIES) { + if (!item["qqreadheaderVal"] || !item['qqreadtimeurlVal'] || !item['qqreadtimeheaderVal']) { + $.log(`账号暂未提供脚本执行所需的cookie`); + continue + } + qqreadheaderVal = item['qqreadheaderVal']; + qqreadtimeurlVal = item['qqreadtimeurlVal']; + qqreadtimeheaderVal = item['qqreadtimeheaderVal']; + await qqreadinfo();//用户名 + // await $.wait(2000) + await qqreadconfig();//时长查询 + // await $.wait(2000) + await qqreadtask();//任务列表 + if (task.data.taskList[1].doneFlag == 0) { + // await $.wait(2000) + await qqreaddayread();//阅读任务 + } + if (task.data.taskList[0].doneFlag == 0) { + // await $.wait(2000) + await qqreadsign();//金币签到 + // await $.wait(2000) + await qqreadtake();//阅豆签到 + // await $.wait(2000) + await qqreadsign2();//签到翻倍 + } + + if (task.data.treasureBox.doneFlag == 0) { + // await $.wait(2000) + await qqreadbox();//宝箱 + } + if (task.data.taskList[2].doneFlag == 0) { + // await $.wait(2000) + await qqreadssr1();//阅读金币1 + await $.wait(3000) + await qqreadssr2();//阅读金币2 + await $.wait(5000) + await qqreadssr3();//阅读金币3 + } + if (task.data.taskList[3].doneFlag == 0) { + // await $.wait(2000) + await qqreadvideo();//视频奖励 + } + if (task.data.treasureBox.videoDoneFlag == 0) { + // await $.wait(2000) + await qqreadbox2();//宝箱翻倍 + } + if (config.data.pageParams.todayReadSeconds / 3600 <= maxtime) { + // await $.wait(2000) + await qqreadtime(); + } + + await qqreadwktime();//周时长查询 + await qqreadpick();//领周时长奖励 + await showmsg();//通知 + } +} function all() { for (let item of QQ_READ_COOKIES) { @@ -354,7 +412,7 @@ function qqreadinfo() { }; $.get(toqqreadinfourl, (error, response, data) => { if (logs) $.log(`${jsname}, 用户名: ${data}`) - info = JSON.parse(data) + const info = JSON.parse(data) tz += '【用户信息】:' + info.data.user.nickName + '\n' @@ -374,7 +432,7 @@ function qqreadtake() { }; $.post(toqqreadtakeurl, (error, response, data) => { if (logs) $.log(`${jsname}, 阅豆签到: ${data}`) - take = JSON.parse(data) + let take = JSON.parse(data) if (take.data.takeTicket > 0) { tz += '【阅豆签到】:获得' + take.data.takeTicket + '豆\n' @@ -417,11 +475,8 @@ function qqreadtime() { $.get(toqqreadtimeurl, (error, response, data) => { if (logs) $.log(`${jsname}, 阅读时长: ${data}`) - time = JSON.parse(data) - if (time.code == 0) - tz += '【阅读时长】:上传' + TIME / 6 + '分钟\n' - - + let time = JSON.parse(data) + if (time.code == 0) tz += '【阅读时长】:上传' + TIME / 6 + '分钟\n' resolve() }) }) @@ -440,7 +495,7 @@ function qqreadssr1() { $.get(toqqreadssr1url, (error, response, data) => { if (logs) $.log(`${jsname}, 金币奖励1: ${data}`) - ssr1 = JSON.parse(data) + let ssr1 = JSON.parse(data) if (ssr1.data.amount > 0) tz += '【阅读金币1】获得' + ssr1.data.amount + '金币\n' @@ -465,12 +520,13 @@ function qqreadssr2() { $.get(toqqreadssr2url, (error, response, data) => { if (logs) $.log(`${jsname}, 金币奖励2: ${data}`) ssr2 = JSON.parse(data) - if (ssr2.data.amount > 0) - tz += '【阅读金币2】获得' + ssr2.data.amount + '金币\n' - + if (ssr2.code === 0) { + if (ssr2.data.amount > 0) tz += '【阅读金币2】获得' + ssr2.data.amount + '金币\n' + } resolve() }) } + resolve() }) } @@ -488,14 +544,14 @@ function qqreadssr3() { $.get(toqqreadssr3url, (error, response, data) => { if (logs) $.log(`${jsname}, 金币奖励3: ${data}`) - ssr3 = JSON.parse(data) - if (ssr3.data.amount > 0) - tz += '【阅读金币3】获得' + ssr3.data.amount + '金币\n' - - + let ssr3 = JSON.parse(data) + if (ssr3.code === 0) { + if (ssr3.data.amount > 0) tz += '【阅读金币3】获得' + ssr3.data.amount + '金币\n' + } resolve() }) } + resolve() }) } @@ -510,7 +566,7 @@ function qqreadsign() { }; $.get(toqqreadsignurl, (error, response, data) => { if (logs) $.log(`${jsname}, 金币签到: ${data}`) - sign = JSON.parse(data) + let sign = JSON.parse(data) if (sign.data.videoDoneFlag) { tz += @@ -534,7 +590,7 @@ function qqreadsign2() { }; $.get(toqqreadsign2url, (error, response, data) => { if (logs) $.log(`${jsname}, 金币签到翻倍: ${data}`) - sign2 = JSON.parse(data) + let sign2 = JSON.parse(data) if (sign2.code == 0) { tz += @@ -557,7 +613,7 @@ function qqreaddayread() { }; $.get(toqqreaddayreadurl, (error, response, data) => { if (logs) $.log(`${jsname}, 每日阅读: ${data}`) - dayread = JSON.parse(data) + let dayread = JSON.parse(data) if (dayread.code == 0) { tz += '【每日阅读】:获得' + dayread.data.amount + '金币\n' @@ -580,7 +636,7 @@ function qqreadvideo() { }; $.get(toqqreadvideourl, (error, response, data) => { if (logs) $.log(`${jsname}, 视频奖励: ${data}`) - video = JSON.parse(data) + let video = JSON.parse(data) if (video.code == 0) { tz += @@ -606,7 +662,7 @@ function qqreadbox() { }; $.get(toqqreadboxurl, (error, response, data) => { if (logs) $.log(`${jsname}, 宝箱奖励: ${data}`) - box = JSON.parse(data) + const box = JSON.parse(data) if (box.data.count >= 0) { tz += @@ -631,7 +687,7 @@ function qqreadbox2() { }; $.get(toqqreadbox2url, (error, response, data) => { if (logs) $.log(`${jsname}, 宝箱奖励翻倍: ${data}`) - box2 = JSON.parse(data) + let box2 = JSON.parse(data) if (box2.code == 0) { tz += @@ -656,11 +712,9 @@ function qqreadwktime() { }; $.get(toqqreadwktimeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅读时长: ${data}`) + if (logs) $.log(`${jsname}, qqreadwktime 阅读时长: ${data}`) wktime = JSON.parse(data) - if (wktime.code == 0) - tz += '【本周阅读时长】:' + wktime.data.readTime + '分钟\n' - + if (wktime.code == 0) tz += '【本周阅读时长】:' + wktime.data.readTime + '分钟\n' resolve() }) }) @@ -678,7 +732,7 @@ function qqreadpick() { if (wktime.data.readTime >= wktimess) { $.get(toqqreadpickurl, (error, response, data) => { if (logs) $.log(`${jsname},周阅读时长奖励任务: ${data}`) - pick = JSON.parse(data) + let pick = JSON.parse(data) if (pick.data[7].isPick == true) tz += '【周时长奖励】:已全部领取\n' for (let i = 0; i < pick.data.length; i++) { @@ -692,7 +746,7 @@ function qqreadpick() { }; $.get(toqqreadPackageurl, (error, response, data) => { if (logs) $.log(`${jsname}, 领周阅读时长: ${data}`) - Package = JSON.parse(data) + let Package = JSON.parse(data) if (Package.code == 0) tz += '【周时长奖励' + (i + 1) + '】:领取' + Packageid[i] + '阅豆\n' }) @@ -703,22 +757,25 @@ function qqreadpick() { }) resolve() } + resolve() }) } function showmsg() { - console.log(tz) + return new Promise(async resolve => { + console.log(tz) - if (notifyInterval == 1) - $.msg(jsname, '', tz)//显示所有通知 + if (notifyInterval == 1) + $.msg(jsname, '', tz)//显示所有通知 - else if (notifyInterval == 2 && task.data.treasureBox.doneFlag == 0) - $.msg(jsname, '', tz)//宝箱领取成功通知 - - else if (notifyInterval == 3 && task.data.treasureBox.count == 0 || task.data.treasureBox.count == 15 || task.data.treasureBox.count == 30 || task.data.treasureBox.count == 45 || task.data.treasureBox.count == 60) - $.msg(jsname, '', tz)//宝箱每15次通知一次 + else if (notifyInterval == 2 && task.data.treasureBox.doneFlag == 0) + $.msg(jsname, '', tz)//宝箱领取成功通知 + else if (notifyInterval == 3 && task.data.treasureBox.count == 0 || task.data.treasureBox.count == 15 || task.data.treasureBox.count == 30 || task.data.treasureBox.count == 45 || task.data.treasureBox.count == 60) + $.msg(jsname, '', tz)//宝箱每15次通知一次 + resolve() + }) } From 76a03cc5d090a66c6cd4b89bf20759c29789ec9d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 14:03:11 +0800 Subject: [PATCH 0222/1259] update --- backUp/qqread.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 495ad648..80e18867 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -90,9 +90,9 @@ let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey) let QQ_READ_COOKIES = [ { qqreadurlVal, - "qqreadheaderVal": "{\"Accept\":\"*/*\",\"ywsession\":\"s8cyzgxftx92qajavwrxhyag56pekx4h\",\"Connection\":\"keep-alive\",\"Content-Type\":\"application/json\",\"Cookie\":\"ywguid=778732665;ywkey=ywlCt7NxTRWO;platform=ios;channel=mqqmina;mpVersion=0.30.0\",\"Host\":\"mqqapi.reader.qq.com\",\"User-Agent\":\"QQ/8.4.17.638 CFNetwork/1206 Darwin/20.1.0\",\"Referer\":\"https://appservice.qq.com/1110657249/0.30.0/page-frame.html\",\"Accept-Language\":\"zh-cn\",\"Accept-Encoding\":\"gzip, deflate, br\",\"mpversion\":\"0.30.0\"}", - "qqreadtimeurlVal": "https://mqqapi.reader.qq.com/mqq/addReadTimeWithBid?scene=3026&refer=-1&bid=186503&readTime=6415&read_type=0&conttype=1&read_status=0&chapter_info=%5B%7B%221%22%3A%7B%22readTime%22%3A6415%2C%22pay_status%22%3A0%7D%7D%5D&sp=-1", - "qqreadtimeheaderVal": "{\"Accept\":\"*/*\",\"ywsession\":\"s8cyzgxftx92qajavwrxhyag56pekx4h\",\"Connection\":\"keep-alive\",\"Content-Type\":\"application/json\",\"Cookie\":\"ywguid=778732665;ywkey=ywlCt7NxTRWO;platform=ios;channel=mqqmina;mpVersion=0.30.0;qq_ver=8.4.17;os_ver=iOS 14.2;mpos_ver=1.21.0;platform=ios;openid=206EB8919712F9C70C64A938DAC4D567\",\"Host\":\"mqqapi.reader.qq.com\",\"User-Agent\":\"QQ/8.4.17.638 CFNetwork/1206 Darwin/20.1.0\",\"Referer\":\"https://appservice.qq.com/1110657249/0.30.0/page-frame.html\",\"Accept-Language\":\"zh-cn\",\"Accept-Encoding\":\"gzip, deflate, br\",\"mpversion\":\"0.30.0\"}" + "qqreadheaderVal": "", + "qqreadtimeurlVal": "", + "qqreadtimeheaderVal": "" } ] function getNodeCookie() { From d3b7fc9a1fa05cb9dd6a4e8b76fb279adb9bd096 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 2 Dec 2020 14:28:26 +0800 Subject: [PATCH 0223/1259] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正描述性问题 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7ddd23e..3fa86f5b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ * 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, lxk0301 对于由此引起的任何隐私泄漏或其他后果概不负责. -* 请勿将Script项目的任内容用于商业或非法目的,否则后果自负. +* 请勿将Script项目的任何内容用于商业或非法目的,否则后果自负. * 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本. From 7556bd7761775119a60c6522cfb6ba2390058ecd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 14:37:42 +0800 Subject: [PATCH 0224/1259] update --- backUp/qqread.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 80e18867..73946be8 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -476,7 +476,7 @@ function qqreadtime() { $.get(toqqreadtimeurl, (error, response, data) => { if (logs) $.log(`${jsname}, 阅读时长: ${data}`) let time = JSON.parse(data) - if (time.code == 0) tz += '【阅读时长】:上传' + TIME / 6 + '分钟\n' + if (time && time.code == 0) tz += '【阅读时长】:上传' + TIME / 6 + '分钟\n' resolve() }) }) From 5c0a102c49f178873ebdbc812e23b331829d87c6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 15:09:29 +0800 Subject: [PATCH 0225/1259] update --- backUp/qqread.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 73946be8..f20bbcbd 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -474,7 +474,7 @@ function qqreadtime() { }; $.get(toqqreadtimeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅读时长: ${data}`) + if (logs) $.log(`${jsname}, qqreadtime-阅读时长: ${data}`) let time = JSON.parse(data) if (time && time.code == 0) tz += '【阅读时长】:上传' + TIME / 6 + '分钟\n' resolve() From fe25ca6cefca3079646d256ce5200721f0d905c6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 15:24:34 +0800 Subject: [PATCH 0226/1259] =?UTF-8?q?=E5=8F=91=E7=8E=B0=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=89=80=E9=9C=80=E7=9A=84token=E5=8F=82=E6=95=B0=E9=87=8C?= =?UTF-8?q?=E9=9D=A2=E5=B8=A6=E6=9C=89&=E7=AC=A6=E5=8F=B7=EF=BC=8C?= =?UTF-8?q?=E6=95=85=E6=8D=A2=E6=88=90@=E5=88=86=E5=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/qqread.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index f20bbcbd..b386c83d 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -99,8 +99,8 @@ function getNodeCookie() { if ($.isNode()) { let QQ_READ_HEADER_VAL = [], QQ_READ_TIME_URL_VAL = [], QQ_READ_TIME_HEADER_VAL = []; if (process.env.QQ_READ_HEADER_VAL) { - if (process.env.QQ_READ_HEADER_VAL.indexOf('&') > -1) { - console.log(`您的QQ_READ_HEADER_VAL选择的是用&隔开\n`) + if (process.env.QQ_READ_HEADER_VAL.indexOf('@') > -1) { + console.log(`您的QQ_READ_HEADER_VAL选择的是用@隔开\n`) QQ_READ_HEADER_VAL = process.env.QQ_READ_HEADER_VAL.split('&'); } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { console.log(`您的QQ_READ_HEADER_VAL选择的是用换行隔开\n`) @@ -111,8 +111,8 @@ function getNodeCookie() { // QQ_READ_HEADER_VAL = [...new Set(QQ_READ_HEADER_VAL)] } if (process.env.QQ_READ_TIME_URL_VAL) { - if (process.env.QQ_READ_TIME_URL_VAL.indexOf('&') > -1) { - console.log(`您的QQ_READ_TIME_URL_VAL选择的是用&隔开\n`) + if (process.env.QQ_READ_TIME_URL_VAL.indexOf('@') > -1) { + console.log(`您的QQ_READ_TIME_URL_VAL选择的是用@隔开\n`) QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('&'); } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { console.log(`您的QQ_READ_TIME_URL_VAL选择的是用换行隔开\n`) @@ -123,8 +123,8 @@ function getNodeCookie() { // QQ_READ_TIME_URL_VAL = [...new Set(QQ_READ_TIME_URL_VAL)] } if (process.env.QQ_READ_TIME_HEADER_VAL) { - if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('&') > -1) { - console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用&隔开\n`) + if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('@') > -1) { + console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用@隔开\n`) QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('&'); } else if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('\n') > -1) { console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用换行隔开\n`) From a38b03cfc38b2d89245e248fdefbb3833745bd04 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 15:48:52 +0800 Subject: [PATCH 0227/1259] update --- backUp/qqread.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index b386c83d..527b5655 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -101,7 +101,7 @@ function getNodeCookie() { if (process.env.QQ_READ_HEADER_VAL) { if (process.env.QQ_READ_HEADER_VAL.indexOf('@') > -1) { console.log(`您的QQ_READ_HEADER_VAL选择的是用@隔开\n`) - QQ_READ_HEADER_VAL = process.env.QQ_READ_HEADER_VAL.split('&'); + QQ_READ_HEADER_VAL = process.env.QQ_READ_HEADER_VAL.split('@'); } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { console.log(`您的QQ_READ_HEADER_VAL选择的是用换行隔开\n`) QQ_READ_HEADER_VAL = process.env.QQ_READ_HEADER_VAL.split('\n'); @@ -109,11 +109,12 @@ function getNodeCookie() { QQ_READ_HEADER_VAL = [process.env.QQ_READ_HEADER_VAL]; } // QQ_READ_HEADER_VAL = [...new Set(QQ_READ_HEADER_VAL)] + $.log(QQ_READ_HEADER_VAL) } if (process.env.QQ_READ_TIME_URL_VAL) { if (process.env.QQ_READ_TIME_URL_VAL.indexOf('@') > -1) { console.log(`您的QQ_READ_TIME_URL_VAL选择的是用@隔开\n`) - QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('&'); + QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('@'); } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { console.log(`您的QQ_READ_TIME_URL_VAL选择的是用换行隔开\n`) QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('\n'); @@ -125,7 +126,7 @@ function getNodeCookie() { if (process.env.QQ_READ_TIME_HEADER_VAL) { if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('@') > -1) { console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用@隔开\n`) - QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('&'); + QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('@'); } else if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('\n') > -1) { console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用换行隔开\n`) QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('\n'); @@ -143,6 +144,7 @@ function getNodeCookie() { "qqreadtimeheaderVal": QQ_READ_TIME_HEADER_VAL[i] || "" }) } + // console.log(`${JSON.stringify(QQ_READ_COOKIES)}`) } } //CK运行 From 5b13fede13de20e9ca0d7b87e00c6a45aee30fa9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 16:04:14 +0800 Subject: [PATCH 0228/1259] update --- backUp/qqread.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 527b5655..204e04aa 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -109,7 +109,7 @@ function getNodeCookie() { QQ_READ_HEADER_VAL = [process.env.QQ_READ_HEADER_VAL]; } // QQ_READ_HEADER_VAL = [...new Set(QQ_READ_HEADER_VAL)] - $.log(QQ_READ_HEADER_VAL) + // $.log(QQ_READ_HEADER_VAL) } if (process.env.QQ_READ_TIME_URL_VAL) { if (process.env.QQ_READ_TIME_URL_VAL.indexOf('@') > -1) { @@ -198,6 +198,7 @@ function GetCookie() { } async function QQ_READ() { for (let item of QQ_READ_COOKIES) { + tz = ''; if (!item["qqreadheaderVal"] || !item['qqreadtimeurlVal'] || !item['qqreadtimeheaderVal']) { $.log(`账号暂未提供脚本执行所需的cookie`); continue @@ -505,6 +506,7 @@ function qqreadssr1() { resolve() }) } + resolve() }) } From be95f0bb18270096b93ed7bbb0070d1c03432fca Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 16:28:35 +0800 Subject: [PATCH 0229/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=91=E7=AB=AF?= =?UTF-8?q?=E7=AE=80=E8=A6=81=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BC=81=E9=B9=85=E9=98=85=E8=AF=BBBoxJs?= =?UTF-8?q?=E8=AE=A2=E9=98=85=EF=BC=88=E8=87=AA=E7=94=A8=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/qqread.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 204e04aa..bd3a19c3 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -1,6 +1,15 @@ /* +****************************************************************************** 改用,nodejs云端专用。可N个账号。by;lxk0301 - + 一个账号需三个环境变量/secret + 分别为 QQ_READ_HEADER_VAL QQ_READ_TIME_URL_VAL QQ_READ_TIME_HEADER_VAL + 多个账号 对应三个环境变量/secret 使用@符号或者换行隔开 + iOS可使用BoxJs可使用此订阅修改复制所需的环境变量 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/mySelf.boxjs.json + 环境变量与BoxJs里面对应关系 + QQ_READ_HEADER_VAL ------》 qqreadhd1 + QQ_READ_TIME_URL_VAL ------》 qqreadtimeurl1 + QQ_READ_TIME_HEADER_VAL ------》 qqreadtimehd1 + ***************************************************************************************************************** ziye 本人github地址 https://github.com/ziye12/JavaScript 转载请备注个名字,谢谢 From 8ff8b0237ebd69dc517f5868f438b685f15b4025 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 2 Dec 2020 17:04:27 +0800 Subject: [PATCH 0230/1259] update --- backUp/mySelf.boxjs.json | 8 +-- backUp/qqread.js | 108 ++++++--------------------------------- 2 files changed, 21 insertions(+), 95 deletions(-) diff --git a/backUp/mySelf.boxjs.json b/backUp/mySelf.boxjs.json index d7d99845..23672011 100644 --- a/backUp/mySelf.boxjs.json +++ b/backUp/mySelf.boxjs.json @@ -9,10 +9,10 @@ "id": "QQ_READ", "name": "企鹅阅读(QQ小程序)", "keys": [ - "qqreadurl1", - "qqreadhd1", - "qqreadtimeurl1", - "qqreadtimehd1" + "qqreadurl", + "qqreadhd", + "qqreadtimeurl", + "qqreadtimehd" ], "settings": [], "author": "@ziye12", diff --git a/backUp/qqread.js b/backUp/qqread.js index bd3a19c3..308b4186 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -6,9 +6,9 @@ 多个账号 对应三个环境变量/secret 使用@符号或者换行隔开 iOS可使用BoxJs可使用此订阅修改复制所需的环境变量 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/mySelf.boxjs.json 环境变量与BoxJs里面对应关系 - QQ_READ_HEADER_VAL ------》 qqreadhd1 - QQ_READ_TIME_URL_VAL ------》 qqreadtimeurl1 - QQ_READ_TIME_HEADER_VAL ------》 qqreadtimehd1 + QQ_READ_HEADER_VAL ------》 qqreadhd + QQ_READ_TIME_URL_VAL ------》 qqreadtimeurl + QQ_READ_TIME_HEADER_VAL ------》 qqreadtimehd ***************************************************************************************************************** ziye 本人github地址 https://github.com/ziye12/JavaScript @@ -77,23 +77,22 @@ const logs = 1; //0为关闭日志,1为开启 const notifyInterval = 3 //0为关闭通知,1为所有通知,2为宝箱领取成功通知,3为宝箱每15次通知一次 -const jbid = 1//换号则修改这个值,默认账号1 const dd = 1//单次任务延迟,默认1秒 const TIME = 30//单次时长上传限制,默认5分钟 const maxtime = 20//每日上传时长限制,默认20小时 const wktimess = 1200//周奖励领取标准,默认1200分钟 var tz = '' const qqreadurlVal = `https://mqqapi.reader.qq.com/mqq/user/init`; -const qqreadurlKey = 'qqreadurl' + jbid +const qqreadurlKey = 'qqreadurl' // const qqreadurlVal = $.getdata(qqreadurlKey) -const qqreadheaderKey = 'qqreadhd' + jbid +const qqreadheaderKey = 'qqreadhd' let qqreadheaderVal = $.getdata(qqreadheaderKey) -const qqreadtimeurlKey = 'qqreadtimeurl' + jbid +const qqreadtimeurlKey = 'qqreadtimeurl' let qqreadtimeurlVal = $.getdata(qqreadtimeurlKey) -const qqreadtimeheaderKey = 'qqreadtimehd' + jbid +const qqreadtimeheaderKey = 'qqreadtimehd' let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey) //云函数使用在下面填写 let QQ_READ_COOKIES = [ @@ -206,26 +205,27 @@ function GetCookie() { $.done(); } async function QQ_READ() { - for (let item of QQ_READ_COOKIES) { + for (let i = 0; i < QQ_READ_COOKIES.length; i++) { + $.log(`\n*************开始QQ账号${i + 1}**************\n`); tz = ''; - if (!item["qqreadheaderVal"] || !item['qqreadtimeurlVal'] || !item['qqreadtimeheaderVal']) { - $.log(`账号暂未提供脚本执行所需的cookie`); + if (!QQ_READ_COOKIES[i]["qqreadheaderVal"] || !QQ_READ_COOKIES[i]['qqreadtimeurlVal'] || !QQ_READ_COOKIES[i]['qqreadtimeheaderVal']) { + $.log(`账号${i + 1}暂未提供脚本执行所需的cookie`); continue } - qqreadheaderVal = item['qqreadheaderVal']; - qqreadtimeurlVal = item['qqreadtimeurlVal']; - qqreadtimeheaderVal = item['qqreadtimeheaderVal']; + qqreadheaderVal = QQ_READ_COOKIES[i]['qqreadheaderVal']; + qqreadtimeurlVal = QQ_READ_COOKIES[i]['qqreadtimeurlVal']; + qqreadtimeheaderVal = QQ_READ_COOKIES[i]['qqreadtimeheaderVal']; await qqreadinfo();//用户名 // await $.wait(2000) await qqreadconfig();//时长查询 // await $.wait(2000) await qqreadtask();//任务列表 - if (task.data.taskList[1].doneFlag == 0) { + if (task.data.taskList[0].doneFlag == 0) { // await $.wait(2000) await qqreaddayread();//阅读任务 } - if (task.data.taskList[0].doneFlag == 0) { + if (task.data.taskList[2].doneFlag == 0) { // await $.wait(2000) await qqreadsign();//金币签到 // await $.wait(2000) @@ -238,7 +238,7 @@ async function QQ_READ() { // await $.wait(2000) await qqreadbox();//宝箱 } - if (task.data.taskList[2].doneFlag == 0) { + if (task.data.taskList[1].doneFlag == 0) { // await $.wait(2000) await qqreadssr1();//阅读金币1 await $.wait(3000) @@ -265,80 +265,6 @@ async function QQ_READ() { } } -function all() { - for (let item of QQ_READ_COOKIES) { - if (!item["qqreadheaderVal"] || !item['qqreadtimeurlVal'] || !item['qqreadtimeheaderVal']) { - $.log(`账号暂未提供脚本执行所需的cookie`); - continue - } - qqreadheaderVal = item['qqreadheaderVal']; - qqreadtimeurlVal = item['qqreadtimeurlVal']; - qqreadtimeheaderVal = item['qqreadtimeheaderVal']; - for (let i = 0; i < 18; i++) { - (function (i) { - setTimeout(function () { - if (i == 0) - qqreadinfo();//用户名 - - else if (i == 1) - qqreadconfig();//时长查询 - - else if (i == 2) - qqreadtask();//任务列表 - - else if (i == 3 && task.data.taskList[0].doneFlag == 0) - qqreadsign();//金币签到 - - else if (i == 4 && task.data.treasureBox.doneFlag == 0) - qqreadbox();//宝箱 - - else if (i == 5 && task.data.taskList[2].doneFlag == 0) - qqreadssr1();//阅读金币1 - - else if (i == 6 && config.data.pageParams.todayReadSeconds / 3600 <= maxtime) - qqreadtime();//上传时长 - - else if (i == 7 && task.data.taskList[0].doneFlag == 0) - qqreadtake();//阅豆签到 - - else if (i == 8 && task.data.taskList[1].doneFlag == 0) - qqreaddayread();//阅读任务 - - else if (i == 9 && task.data.taskList[2].doneFlag == 0) - qqreadssr2();//阅读金币2 - - else if (i == 10 && task.data.taskList[3].doneFlag == 0) - qqreadvideo();//视频任务 - - else if (i == 11 && task.data.taskList[0].doneFlag == 0) - qqreadsign2();//签到翻倍 - - else if (i == 12 && task.data.treasureBox.videoDoneFlag == 0) - qqreadbox2();//宝箱翻倍 - - else if (i == 13 && task.data.taskList[2].doneFlag == 0) - qqreadssr3();//阅读金币3 - - else if (i == 14) - qqreadwktime();//周时长查询 - - else if (i == 15) - qqreadpick();//领周时长奖励 - - else if (i == 16) - showmsg();//通知 - - else if (i == 17) - $.done();//结束 - - } - , (i + 1) * dd * 1000); - })(i) - } - } -} - - //任务列表 function qqreadtask() { return new Promise((resolve, reject) => { From 572ba5117917516946eb112ef4fd45c4d99d7efa Mon Sep 17 00:00:00 2001 From: JohnED512 <55294216+JohnED512@users.noreply.github.com> Date: Wed, 2 Dec 2020 22:43:46 +0800 Subject: [PATCH 0231/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=BA=E5=B0=91?= =?UTF-8?q?=E7=9A=84=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82=E4=BA=92=E5=8A=A9?= =?UTF-8?q?=E7=A0=81secrets=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 0450fdaa..18b79738 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -99,6 +99,7 @@ jobs: PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}} SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}} DDFACTORY_SHARECODES: ${{ secrets.DDFACTORY_SHARECODES}} + DREAM_FACTORY_SHARE_CODES: ${{ secrets.DREAM_FACTORY_SHARE_CODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} From aeb86343afd290306488b837ff171382282935d8 Mon Sep 17 00:00:00 2001 From: deepdark111 <67956668+deepdark111@users.noreply.github.com> Date: Thu, 3 Dec 2020 00:52:26 +0800 Subject: [PATCH 0232/1259] =?UTF-8?q?docker=E6=B7=BB=E5=8A=A0=E4=BA=AC?= =?UTF-8?q?=E5=96=9C=E6=95=85=E4=BA=8Bcron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 9d02d02b..27e713c0 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -6,8 +6,8 @@ ##############短期活动############## -# 暂无 - +# 京喜故事 +10 7 * * * node /scripts/jd_jxstory.js >> /scripts/logs/jd_jxstory.log 2>&1 ##############长期活动############## @@ -62,4 +62,4 @@ # 东东工厂 36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 #十元街 -36 8 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 \ No newline at end of file +36 8 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 From be9878738c0fea4b7e814a890f47213e7d69be71 Mon Sep 17 00:00:00 2001 From: deepdark111 <67956668+deepdark111@users.noreply.github.com> Date: Thu, 3 Dec 2020 00:53:29 +0800 Subject: [PATCH 0233/1259] =?UTF-8?q?docker=E6=B7=BB=E5=8A=A0=E4=BA=AC?= =?UTF-8?q?=E5=96=9C=E6=95=85=E4=BA=8Bcron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list_ts.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index d525d30a..d40db1bf 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -6,7 +6,8 @@ ##############短期活动############## -# 暂无 +# 京喜故事 +10 7 * * * node /scripts/jd_jxstory.js |ts >> /scripts/logs/jd_jxstory.log 2>&1 ##############长期活动############## @@ -62,4 +63,4 @@ # 东东工厂 36 * * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 #十元街 -36 8 * * * node /scripts/jd_syj.js |ts >> /scripts/logs/jd_syj.log 2>&1 \ No newline at end of file +36 8 * * * node /scripts/jd_syj.js |ts >> /scripts/logs/jd_syj.log 2>&1 From 177ad56a6c570a9e878862f12868546d244a23c0 Mon Sep 17 00:00:00 2001 From: deepdark111 <67956668+deepdark111@users.noreply.github.com> Date: Thu, 3 Dec 2020 00:54:04 +0800 Subject: [PATCH 0234/1259] =?UTF-8?q?docker=E6=B7=BB=E5=8A=A0=E4=BA=AC?= =?UTF-8?q?=E5=96=9C=E6=95=85=E4=BA=8Bcron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 27e713c0..c6ea1ea2 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -7,7 +7,7 @@ ##############短期活动############## # 京喜故事 -10 7 * * * node /scripts/jd_jxstory.js >> /scripts/logs/jd_jxstory.log 2>&1 +10 7 * * * node /scripts/jd_jxstory.js >> /scripts/logs/jd_jxstory.log 2>&1 ##############长期活动############## From a6a7d98f704a6e3687923ee4e65c239808a18f9a Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 3 Dec 2020 00:54:52 +0800 Subject: [PATCH 0235/1259] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B=E5=8A=A9=E5=8A=9B=E4=B8=8E=E7=82=B9=E5=87=BB=E5=8E=82?= =?UTF-8?q?=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdJxStoryShareCodes.js | 30 +++++++ jd_jxstory.js | 174 ++++++++++++++++------------------------- 2 files changed, 96 insertions(+), 108 deletions(-) create mode 100644 jdJxStoryShareCodes.js diff --git a/jdJxStoryShareCodes.js b/jdJxStoryShareCodes.js new file mode 100644 index 00000000..94534295 --- /dev/null +++ b/jdJxStoryShareCodes.js @@ -0,0 +1,30 @@ +/* +京喜故事互助码 +此文件为Node.js专用。其他用户请忽略 +支持京东N个账号 + */ +//云服务器腾讯云函数等Node.js用户在此处填写京喜故事的好友码。 +// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 JXSTORY_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) +// 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 +// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 +let shareCodes = [ + '',//账号一的好友shareCode,不同好友中间用@符号隔开 + '',//账号二的好友shareCode +] +// 判断github action里面是否有京喜故事互助码 +if (process.env.JXSTORY_SHARECODES) {if (process.env.JXSTORY_SHARECODES.indexOf('&') > -1) { + console.log(`您的互助码选择的是用&隔开\n`) + shareCodes = process.env.JXSTORY_SHARECODES.split('&'); + } else if (process.env.JXSTORY_SHARECODES.indexOf('\n') > -1) { + console.log(`您的互助码选择的是用换行隔开\n`) + shareCodes = process.env.JXSTORY_SHARECODES.split('\n'); + } else { + shareCodes = process.env.JXSTORY_SHARECODES.split(); + } +} else if (process.env.JXSTORY_SHARECODES) { + console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) +} +for (let i = 0; i < shareCodes.length; i++) { + const index = (i + 1 === 1) ? '' : (i + 1); + exports['shareCodes' + index] = shareCodes[i]; +} diff --git a/jd_jxstory.js b/jd_jxstory.js index 656bbbb2..a7afb5b3 100644 --- a/jd_jxstory.js +++ b/jd_jxstory.js @@ -1,6 +1,6 @@ /* 京喜故事 -活动入口 :京喜APP->首页浮动窗口去领钱 +活动入口 :京喜APP->首页浮动窗口去领钱/京喜工厂-金牌厂长 每天运行一次即可 @@ -29,9 +29,9 @@ const JD_API_HOST = 'https://m.jingxi.com'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = 1; +const randomCount = 3; let cookiesArr = [], cookie = '', message = ''; -const inviteCodes = ['PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; +const inviteCodes = ['qSDHMwUOz7onHcMyaju4KmdSXWf0dlv7LVnTt1Wzemo=']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -70,7 +70,7 @@ if ($.isNode()) { continue } await shareCodesFormat(); - await jdDreamFactory() + await jdJxStory() } } })() @@ -81,14 +81,19 @@ if ($.isNode()) { $.done(); }) -async function jdDreamFactory() { +async function jdJxStory() { + await userInfo() + await helpFriends() await sign() await taskList() - await userInfo() for(let i =0;i { - // const url = `/newtasksys/newtasksys_front/GetUserTaskStatusList?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1`; $.get(newtasksysUrl('GetUserTaskStatusList'), async (err, resp, data) => { try { if (err) { @@ -270,7 +274,6 @@ function finishCard(cardId) { // 升级 function upgrade() { return new Promise(async resolve => { - // const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` $.get(taskurl('UpgradeUserLevelDraw', `date=${new Date().Format("yyyyMMdd")}&type=0`), async (err, resp, data) => { try { if (err) { @@ -292,35 +295,10 @@ function upgrade() { }) }) } -async function helpFriends() { - for (let code of $.newShareCodes) { - if (code) { - if ($.encryptPin === code) { - console.log(`不能为自己助力,跳过`); - continue; - } - await assistFriend(code); - } - } -} -// 帮助用户 -function assistFriend(sharepin) { +// 点击 +function increase() { return new Promise(async resolve => { - // const url = `/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1` - const options = { - 'url': `https://m.jingxi.com/dreamfactory/friend/AssistFriend?zone=dream_factory&sharepin=${escape(sharepin)}&sceneval=2&g_login_type=1`, - 'headers': { - "Host": "wq.jd.com", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "Accept": "*/*", - "Accept-Language": "zh,en-US;q=0.7,en;q=0.3", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Referer": "https://wqsd.jd.com/pingou/dream_factory/index.html", - "Cookie": cookie - } - } - $.get(options, (err, resp, data) => { + $.get(taskurl('IncreaseUserMoney'), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -329,9 +307,50 @@ function assistFriend(sharepin) { if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { - console.log(`助力朋友:${sharepin}成功`) + 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(`助力朋友[${sharepin}]失败:${data.msg}`) + console.log(`助力朋友[${shareId}]失败:${data.msg}`) } } } @@ -347,7 +366,6 @@ function assistFriend(sharepin) { // 任务领奖 function completeTask(taskId, taskName) { return new Promise(async resolve => { - // const url = `/newtasksys/newtasksys_front/Award?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; $.get(newtasksysUrl('Award', taskId), (err, resp, data) => { try { if (err) { @@ -388,7 +406,6 @@ function completeTask(taskId, taskName) { // 完成任务 function doTask(taskId) { return new Promise(async resolve => { - // const url = `/newtasksys/newtasksys_front/DoTask?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; $.get(newtasksysUrl('DoTask', taskId), (err, resp, data) => { try { if (err) { @@ -426,8 +443,8 @@ function userInfo() { data = JSON.parse(data); if (data['ret'] === 0) { data = data['data']; - $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 - $.encryptPin = data.encryptPin; + $.shareId = data['shareId']; + console.log(`分享码: ${data['shareId']}`); $.currentMoneyNum = data.currentMoneyNum; } else { console.log(`异常:${JSON.stringify(data)}`) @@ -442,72 +459,13 @@ function userInfo() { }) }) } -//领取红包 -function DrawProductionStagePrize() { - return new Promise(async resolve => { - // const url = `/dreamfactory/userinfo/DrawProductionStagePrize?zone=dream_factory&sceneval=2&g_login_type=1&productionId=${$.productionId}`; - $.get(taskurl('userinfo/DrawProductionStagePrize', `productionId=${$.productionId}`), (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['ret'] === 0) { - // - // } else { - // console.log(`异常:${JSON.stringify(data)}`) - // } - // } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getFactoryIdByPin(pin) { - return new Promise((resolve, reject) => { - // const url = `/dreamfactory/userinfo/GetUserInfoByPin?zone=dream_factory&pin=${pin}&sceneval=2`; - $.get(taskurl('userinfo/GetUserInfoByPin', `pin=${pin}`), (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) { - if (data.data.factoryList) { - //做此判断,有时候返回factoryList为null - // resolve(data['data']['factoryList'][0]['factoryId']) - $.stealFactoryId = data['data']['factoryList'][0]['factoryId']; - } - } 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.DREAMFACTORY_NOTIFY_CONTROL) { - ctrTemp = `${process.env.DREAMFACTORY_NOTIFY_CONTROL}` === 'false'; - } else if ($.getdata('jdDreamFactory')) { - ctrTemp = $.getdata('jdDreamFactory') === 'false'; + 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'; } @@ -525,7 +483,7 @@ async function showMsg() { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/jxfactory/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/jxstory/read/${randomCount}/`}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -570,7 +528,7 @@ function requireConfig() { return new Promise(resolve => { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; - const shareCodes = $.isNode() ? require('./jdDreamFactoryShareCodes.js') : ''; + const shareCodes = $.isNode() ? require('./jdJxStoryShareCodes.js') : ''; console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; if ($.isNode()) { @@ -666,7 +624,7 @@ function newtasksysUrl(functionId, taskId) { '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://wqsd.jd.com/pingou/dream_factory/index.html', + 'Referer': 'https://st.jingxi.com/pingou/jx_factory_story/index.html', 'Accept-Encoding': 'gzip, deflate, br', } } From c2ebac3c1e52c48211956ac23fbdfbdd47b4b5d2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 15:24:44 +0800 Subject: [PATCH 0236/1259] update --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a8ffa8bd..3b508184 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ /node_modules/ /.idea -/index.js /.history /box.dat /CookieSet.json +/jdCookie.js From 99af9ecb6e5412853f59de5135933c7a612e2b09 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 16:32:57 +0800 Subject: [PATCH 0237/1259] =?UTF-8?q?=E7=82=B9=E5=87=BB=E5=8E=82=E9=95=BF?= =?UTF-8?q?=E5=BE=97=E9=92=9E=E7=A5=A8=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=8C=BA?= =?UTF-8?q?=E5=88=86=E4=B8=80=E4=B8=8B=E6=89=8B=E6=9C=BA=E7=AB=AF=E5=92=8C?= =?UTF-8?q?=E4=BA=91=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 4 ++-- docker/crontab_list_ts.sh | 4 ++-- jd_jxstory.js | 18 +++++++++++------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index c6ea1ea2..a6bb4bac 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -6,8 +6,8 @@ ##############短期活动############## -# 京喜故事 -10 7 * * * node /scripts/jd_jxstory.js >> /scripts/logs/jd_jxstory.log 2>&1 +# 京喜故事(2020.12.12活动过期) +10 * * * * node /scripts/jd_jxstory.js >> /scripts/logs/jd_jxstory.log 2>&1 ##############长期活动############## diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index d40db1bf..0b13ca13 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -6,8 +6,8 @@ ##############短期活动############## -# 京喜故事 -10 7 * * * node /scripts/jd_jxstory.js |ts >> /scripts/logs/jd_jxstory.log 2>&1 +# 京喜故事(2020.12.12活动过期) +10 * * * * node /scripts/jd_jxstory.js |ts >> /scripts/logs/jd_jxstory.log 2>&1 ##############长期活动############## diff --git a/jd_jxstory.js b/jd_jxstory.js index a7afb5b3..7c1260c3 100644 --- a/jd_jxstory.js +++ b/jd_jxstory.js @@ -31,7 +31,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = 3; let cookiesArr = [], cookie = '', message = ''; -const inviteCodes = ['qSDHMwUOz7onHcMyaju4KmdSXWf0dlv7LVnTt1Wzemo=']; +const inviteCodes = ['qSDHMwUOz7onHcMyaju4KmdSXWf0dlv7LVnTt1Wzemo=@iuGNoGYvk9YdEImUAz25Wyzm7oeggrm0JSIYgZdHJGI=', 'iuGNoGYvk9YdEImUAz25Wyzm7oeggrm0JSIYgZdHJGI=']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -90,8 +90,12 @@ async function jdJxStory() { await upgrade(); } await cardList() - $.click = true; - while($.click){ + if ($.isNode()) { + $.click = true; + while($.click){ + await increase() + } + } else { await increase() } } @@ -516,10 +520,10 @@ function shareCodesFormat() { 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 || [])])]; - } + // const readShareCodeRes = await readShareCode(); + // if (readShareCodeRes && readShareCodeRes.code === 200) { + // $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; + // } console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`) resolve(); }) From cd93f231c9a34b8d8ee1ede916019da4a2986b72 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 16:57:50 +0800 Subject: [PATCH 0238/1259] update --- backUp/mySelf.boxjs.json | 1 - backUp/qqread.js | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/backUp/mySelf.boxjs.json b/backUp/mySelf.boxjs.json index 23672011..0aa942c0 100644 --- a/backUp/mySelf.boxjs.json +++ b/backUp/mySelf.boxjs.json @@ -9,7 +9,6 @@ "id": "QQ_READ", "name": "企鹅阅读(QQ小程序)", "keys": [ - "qqreadurl", "qqreadhd", "qqreadtimeurl", "qqreadtimehd" diff --git a/backUp/qqread.js b/backUp/qqread.js index 308b4186..767c34c0 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -98,9 +98,9 @@ let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey) let QQ_READ_COOKIES = [ { qqreadurlVal, - "qqreadheaderVal": "", - "qqreadtimeurlVal": "", - "qqreadtimeheaderVal": "" + "qqreadheaderVal": ``, + "qqreadtimeurlVal": ``, + "qqreadtimeheaderVal": `` } ] function getNodeCookie() { @@ -185,7 +185,7 @@ function GetCookie() { // if (qqreadbodyVal) $.setdata(qqreadbodyVal, qqreadbodyKey) // $.log(`[${jsname}] 获取阅读: 成功,qqreadbodyVal: ${qqreadbodyVal}`) - $.setdata(qqreadurlVal, qqreadurlKey); + // $.setdata(qqreadurlVal, qqreadurlKey); const qqreadheaderVal = JSON.stringify($request.headers) if (qqreadheaderVal) $.setdata(qqreadheaderVal, qqreadheaderKey) $.log(`[${jsname}] 获取Cookie: 成功,qqreadheaderVal: ${qqreadheaderVal}`) From 5470b0a495186ae45de2630e965bd612186ae218 Mon Sep 17 00:00:00 2001 From: chongshengB <53459145+chongshengB@users.noreply.github.com> Date: Thu, 3 Dec 2020 17:02:27 +0800 Subject: [PATCH 0239/1259] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82ua?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 脚本自带的ua不能正常给别人助力,替换后正常 --- jd_dreamFactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 523c821d..fc78f9ef 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -391,7 +391,7 @@ function assistFriend(sharepin) { "Cookie": cookie, "Host": "m.jingxi.com", "Referer": "https://st.jingxi.com/pingou/dream_factory/index.html", - "User-Agent": "jdpingou;iPhone;3.15.2;14.2;f803928b71d2fcd51c7eae549f7bc3062d17f63f;network/4g;model/iPhone11,8;appBuild/100365;ADID/0E38E9F1-4B4C-40A4-A479-DD15E58A5623;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/2;pap/JA2015_311210;brand/apple;supportJDSHWK/1;" + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" } } $.get(options, (err, resp, data) => { @@ -982,4 +982,4 @@ Date.prototype.Format = function (fmt) { //author: meizz } // 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();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)} \ No newline at end of file +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)} From 48f5dec9c49b3d54e0cceafa6a6e0f0241cb94aa Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 17:33:54 +0800 Subject: [PATCH 0240/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=20=E6=94=B6=E5=8F=960=E7=94=B5=E5=8A=9B=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD=E5=A6=82?= =?UTF-8?q?=E9=81=87=E5=88=B0=E5=8F=8C=E5=80=8D=E7=94=B5=E5=8A=9B=E6=94=B6?= =?UTF-8?q?=E5=8F=96=E8=BE=BE=E5=88=B0=E4=B8=8A=E9=99=90=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E7=AD=89=E9=9B=86=E6=BB=A1=E5=86=8D=E6=94=B6?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 523c821d..3f78bf19 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -125,7 +125,7 @@ function collectElectricity(facId = $.factoryId, help = false, master) { message += `【帮助好友】帮助成功,获得 ${data.data['loginPinCollectElectricity']} 电力\n` } else { $.ele += Number(data.data['CollectElectricity']) - console.log(`收取 ${data.data['loginPinCollectElectricity']} 电力`); + console.log(`收取 ${data.data['CollectElectricity']} 电力`); message += `【收取发电站】收取成功,获得 ${data.data['CollectElectricity']} 电力\n` } } else { @@ -246,13 +246,21 @@ function getUserElectricity() { if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { - console.log(`发电机:当前 ${data.data.currentElectricityQuantity} 电力,最大值 ${data.data.maxElectricityQuantity} 电力,达到最大电量才会进行收取`) - if (data.data.currentElectricityQuantity === data.data.maxElectricityQuantity && data.data.doubleElectricityFlag) { - console.log(`发电机:电力可翻倍并收获`) - // await shareReport(); - await collectElectricity() + console.log(`\nnextCollectDoubleFlag::${data.data.nextCollectDoubleFlag}`); + console.log(`nextCollectDoubleType::${data.data.nextCollectDoubleType}\n`); + $.log(`下次集满收取${data.data.nextCollectDoubleFlag === 1 ? '可' : '不可'}双倍电力`) + console.log(`发电机:当前 ${data.data.currentElectricityQuantity} 电力,最大值 ${data.data.maxElectricityQuantity} 电力`) + if (data.data.nextCollectDoubleFlag === 1) { + if (data.data.currentElectricityQuantity === data.data.maxElectricityQuantity && data.data.doubleElectricityFlag) { + console.log(`发电机:电力可翻倍并收获`) + // await shareReport(); + await collectElectricity() + } else { + message += `【发电机电力】当前 ${data.data.currentElectricityQuantity} 电力,未达到收获标准\n` + } } else { - message += `【发电机电力】当前 ${data.data.currentElectricityQuantity} 电力,未达到收获标准\n` + //再收取双倍电力达到上限时,直接收取,不再等到满级 + await collectElectricity() } } } From a19923bf8bbcea8de16f25e7c83570d80ab418dd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 18:57:41 +0800 Subject: [PATCH 0241/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index a20fb2e1..b510c312 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2020-12-02 +更新时间:2020-12-03 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -86,7 +86,7 @@ if ($.isNode()) { async function jdDreamFactory() { await userInfo(); - // await JoinTuan();参团功能暂时无效, + await JoinTuan();参团功能暂时无效, await helpFriends(); if (!$.unActive) return await getUserElectricity(); @@ -763,7 +763,7 @@ function CreateTuan() { function JoinTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&tuanId=${escape('8W4VdqMEQfzmZnSGRgMRCw==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&tuanId=${escape('Vvx2b7wVTWaeqwm9Yf5Kfw==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -772,7 +772,7 @@ function JoinTuan() { "Cookie": cookie, "Host": "m.jingxi.com", "Referer": "https://st.jingxi.com/pingou/dream_factory/divide.html?exchange=%7B%22activeId%22:%22ilOin38J30PcT9xnWbx9lw%3D%3D%22,%22sTuanId%22:%22QvqM7GtgQQJUO8jaz1CYBA%3D%3D%22,%22sPin%22:%22V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k%3D%22,%22sType%22:%22101%22%7D&ptag=139022.1.2?srv=jinshusongjin_https://wq.jd.com/cube/front/activePublish/dream_factory_report/380556.html_jing", - "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;" + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" } } $.get(options, (err, resp, data) => { From 56b074b9b7057c0f7c5833c9ce6a2bd2f26f7604 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 19:11:33 +0800 Subject: [PATCH 0242/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index b510c312..20a2e2ca 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -86,7 +86,7 @@ if ($.isNode()) { async function jdDreamFactory() { await userInfo(); - await JoinTuan();参团功能暂时无效, + await JoinTuan();//参团功能暂时无效, await helpFriends(); if (!$.unActive) return await getUserElectricity(); From 58b45953c14f8ae648665b2a4fe47ddce337c848 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 08:11:27 +0800 Subject: [PATCH 0243/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 20a2e2ca..ac9f32b5 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -763,7 +763,7 @@ function CreateTuan() { function JoinTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&tuanId=${escape('Vvx2b7wVTWaeqwm9Yf5Kfw==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&tuanId=${escape('DIgeLKl6_15TRDSHgzqc1A==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -772,7 +772,7 @@ function JoinTuan() { "Cookie": cookie, "Host": "m.jingxi.com", "Referer": "https://st.jingxi.com/pingou/dream_factory/divide.html?exchange=%7B%22activeId%22:%22ilOin38J30PcT9xnWbx9lw%3D%3D%22,%22sTuanId%22:%22QvqM7GtgQQJUO8jaz1CYBA%3D%3D%22,%22sPin%22:%22V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k%3D%22,%22sType%22:%22101%22%7D&ptag=139022.1.2?srv=jinshusongjin_https://wq.jd.com/cube/front/activePublish/dream_factory_report/380556.html_jing", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" + "User-Agent": "jdpingou" } } $.get(options, (err, resp, data) => { From 4f0c6204f75f32fbbaa498a0750271512e604424 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 08:27:37 +0800 Subject: [PATCH 0244/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index ac9f32b5..f8e5adcf 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -763,7 +763,7 @@ function CreateTuan() { function JoinTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&tuanId=${escape('DIgeLKl6_15TRDSHgzqc1A==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&tuanId=${escape('CATqQ7rzehBqvRdZTpXgdA==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", From affa4c36b38f8ee7e8a8c7afa1e9cd5b1b37422b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 10:19:46 +0800 Subject: [PATCH 0245/1259] fix bug --- jd_jdfactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index cd86a35d..865bf0ae 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -211,8 +211,8 @@ async function algorithm() { message += `兑换所需电量:${$.canMakeList[0].fullScore}\n`; message += `您当前总电量:${$.batteryValue * 1}\n`; if ($.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0].fullScore) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n当前总电量为:${$.batteryValue * 1}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `当前总电量为:${$.batteryValue * 1}\n【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].totalScore}\n请速去活动页面查看`); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); } else { console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0].name}所需的 ${$.canMakeList[0].fullScore}电量\n`) } From 46101b787db664028137b1e131850641dc744b8f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 11:54:35 +0800 Subject: [PATCH 0246/1259] =?UTF-8?q?=E5=8F=82=E5=9B=A2=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E5=9B=A2=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 159 +++++++++++++++++++++++++++++++++++++++++++-- jd_jdfactory.js | 8 +-- 2 files changed, 159 insertions(+), 8 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index f8e5adcf..0226fb0f 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -86,7 +86,7 @@ if ($.isNode()) { async function jdDreamFactory() { await userInfo(); - await JoinTuan();//参团功能暂时无效, + await JoinTuan();//参团 await helpFriends(); if (!$.unActive) return await getUserElectricity(); @@ -95,6 +95,7 @@ async function jdDreamFactory() { await QueryHireReward();//收取招工电力 await PickUp(); await stealFriend(); + await tuanActivity(); await showMsg(); } @@ -721,11 +722,118 @@ function getFactoryIdByPin(pin) { }) }) } +async function tuanActivity() { + const tuanConfig = await QueryActiveConfig(); + if (tuanConfig && tuanConfig.ret === 0) { + const { activeId, surplusOpenTuanNum, tuanId } = tuanConfig['data']['userTuanInfo']; + if (!tuanId && surplusOpenTuanNum > 0) { + //开团 + $.log(`准备开团`) + await CreateTuan(); + } else if (tuanId) { + //查询词团信息 + const QueryTuanRes = await QueryTuan(activeId, tuanId); + if (QueryTuanRes && QueryTuanRes.ret === 0) { + const { tuanInfo } = QueryTuanRes.data; + for (let item of tuanInfo) { + const { realTuanNum, tuanNum } = item; + $.log(`\n开团情况:${realTuanNum}/${tuanNum}\n`) + if (realTuanNum === tuanNum) { + $.log(`开始领取开团奖励`); + await tuanAward(activeId, tuanId); + } else { + $.log(`\n此团未达领取团奖励人数:${tuanNum}人\n`) + } + } + } + } + } +} +//可获取开团后的团ID,如果团ID为空并且surplusOpenTuanNum>0,则可继续开团 +//如果团ID不为空,则查询QueryTuan() +function QueryActiveConfig() { + return new Promise((resolve) => { + const options = { + 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryActiveConfig?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Cookie": cookie, + "Host": "m.jingxi.com", + "Referer": "https://st.jingxi.com/pingou/dream_factory/divide.html", + "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;" + } + } + $.get(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['ret'] === 0) { + const { userTuanInfo } = data['data']; + console.log(`\n团活动ID ${userTuanInfo.activeId}`); + console.log(`团ID ${userTuanInfo.tuanId}\n`); + } else { + console.log(`QueryActiveConfig异常:${JSON.stringify(data)}`); + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function QueryTuan(activeId, tuanId) { + return new Promise((resolve) => { + const options = { + 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryTuan?activeId=${escape(activeId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Cookie": cookie, + "Host": "m.jingxi.com", + "Referer": "https://st.jingxi.com/pingou/dream_factory/divide.html", + "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;" + } + } + $.get(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['ret'] === 0) { + // $.log(`\n开团情况:${data.data.tuanInfo.realTuanNum}/${data.data.tuanInfo.tuanNum}\n`) + } else { + console.log(`异常:${JSON.stringify(data)}`); + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} //开团API function CreateTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape('ilOin38J30PcT9xnWbx9lw==')}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -760,10 +868,10 @@ function CreateTuan() { }) }) } -function JoinTuan() { +function JoinTuan(tuanId = 'V74lkIg_O8jWXDkl_2swMA==') { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&tuanId=${escape('CATqQ7rzehBqvRdZTpXgdA==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -798,6 +906,49 @@ function JoinTuan() { }) }) } +function tuanAward(activeId, tuanId) { + return new Promise((resolve) => { + const options = { + 'url': `https://m.jingxi.com/dreamfactory/tuan/Award?activeId=${escape(activeId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Cookie": cookie, + "Host": "m.jingxi.com", + "Referer": "https://st.jingxi.com/pingou/dream_factory/divide.html", + "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;" + } + } + $.get(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['ret'] === 0) { + console.log(`开团奖励${data.data['electric']}领取成功`); + message += `【开团奖励】${data.data['electric']}领取成功\n`; + } else if (data['ret'] === 10212) { + console.log(`${JSON.stringify(data)}`); + $.log(`准备开团`) + await CreateTuan(); + } else { + console.log(`异常:${JSON.stringify(data)}`); + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} async function showMsg() { return new Promise(async resolve => { let ctrTemp; diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 865bf0ae..b6ee71fd 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -158,7 +158,7 @@ async function algorithm() { console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【满足】兑换此商品所需总电量:${totalScore + 100000}`); console.log(`请去活动页面更换成心仪商品并手动投入电量兑换\n`); $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面更换成心仪商品并手动投入电量兑换`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面更换成心仪商品并手动投入电量兑换`); } else { console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${remainScore * 1 + useScore * 1}\n不满足兑换心仪商品的条件\n`) } @@ -169,7 +169,7 @@ async function algorithm() { console.log(`BoxJs或环境变量暂未提供心仪商品,下面为您目前选的${name} 发送提示通知\n`); // await jdfactory_addEnergy(); $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请速去活动页面查看`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请速去活动页面查看`); } else { console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【不满足】兑换此商品所需总电量:${totalScore}`) console.log(`故不一次性投入电力,一直放到蓄电池累计\n`); @@ -200,7 +200,7 @@ async function algorithm() { console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${$.batteryValue * 1},【满足】兑换此商品所需总电量:${totalScore}`); console.log(`请去活动页面选择心仪商品并手动投入电量兑换\n`); $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); } else { console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${$.batteryValue * 1}\n不满足兑换心仪商品的条件\n`) } @@ -212,7 +212,7 @@ async function algorithm() { message += `您当前总电量:${$.batteryValue * 1}\n`; if ($.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0].fullScore) { $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); } else { console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0].name}所需的 ${$.canMakeList[0].fullScore}电量\n`) } From 839eb6ec79460ac3abd855942c251d828769b987 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 15:07:31 +0800 Subject: [PATCH 0247/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E5=8F=82=E5=9B=A2=E7=9A=84=E5=A5=96=E5=8A=B1?= =?UTF-8?q?(500=E7=94=B5=E5=8A=9B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 122 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 106 insertions(+), 16 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 0226fb0f..b528e22b 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -31,6 +31,12 @@ const JD_API_HOST = 'https://m.jingxi.com'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; +const tuanActiveId = `jfkcidGQavswLOBcAWljrw==`; +const tuanIDs = [ + 'VOcrtYB9nzwxcRGHZAIirA==', + 'A-CujUJn3N3XDU4y7Yusvg==', + '22uTFAf6W--EBN0Z64tXZg==', +] let cookiesArr = [], cookie = '', message = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; @@ -86,7 +92,7 @@ if ($.isNode()) { async function jdDreamFactory() { await userInfo(); - await JoinTuan();//参团 + await joinLeaderTuan();//参团 await helpFriends(); if (!$.unActive) return await getUserElectricity(); @@ -96,6 +102,7 @@ async function jdDreamFactory() { await PickUp(); await stealFriend(); await tuanActivity(); + await QueryAllTuan(); await showMsg(); } @@ -726,6 +733,8 @@ async function tuanActivity() { const tuanConfig = await QueryActiveConfig(); if (tuanConfig && tuanConfig.ret === 0) { const { activeId, surplusOpenTuanNum, tuanId } = tuanConfig['data']['userTuanInfo']; + console.log(`今日剩余开团次数:${surplusOpenTuanNum}次`); + $.surplusOpenTuanNum = surplusOpenTuanNum; if (!tuanId && surplusOpenTuanNum > 0) { //开团 $.log(`准备开团`) @@ -736,11 +745,19 @@ async function tuanActivity() { if (QueryTuanRes && QueryTuanRes.ret === 0) { const { tuanInfo } = QueryTuanRes.data; for (let item of tuanInfo) { - const { realTuanNum, tuanNum } = item; - $.log(`\n开团情况:${realTuanNum}/${tuanNum}\n`) + const { realTuanNum, tuanNum, userInfo } = item; + $.log(`\n开团情况:${realTuanNum}/${tuanNum}\n`); if (realTuanNum === tuanNum) { - $.log(`开始领取开团奖励`); - await tuanAward(activeId, tuanId); + for (let user of userInfo) { + if (user.encryptPin === $.encryptPin) { + if (user.receiveElectric && user.receiveElectric > 0) { + console.log(`您在${new Date(user.joinTime * 1000).toLocaleString()}开团奖励已经领取成功\n`) + } else { + $.log(`开始领取开团奖励`); + await tuanAward(item.tuanActiveId, item.tuanId);//isTuanLeader + } + } + } } else { $.log(`\n此团未达领取团奖励人数:${tuanNum}人\n`) } @@ -754,7 +771,7 @@ async function tuanActivity() { function QueryActiveConfig() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryActiveConfig?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryActiveConfig?activeId=${escape(tuanActiveId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -833,7 +850,7 @@ function QueryTuan(activeId, tuanId) { function CreateTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape(tuanActiveId)}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -868,10 +885,17 @@ function CreateTuan() { }) }) } -function JoinTuan(tuanId = 'V74lkIg_O8jWXDkl_2swMA==') { +async function joinLeaderTuan() { + for (let tuanId of tuanIDs) { + if (tuanId) { + await JoinTuan(tuanId); + } + } +} +function JoinTuan(tuanId) { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape('jfkcidGQavswLOBcAWljrw==')}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape(tuanActiveId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -906,7 +930,65 @@ function JoinTuan(tuanId = 'V74lkIg_O8jWXDkl_2swMA==') { }) }) } -function tuanAward(activeId, tuanId) { +//查询所有的团情况(自己开团以及参加别人的团) +function QueryAllTuan() { + return new Promise((resolve) => { + const options = { + 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryAllTuan?activeId=${escape(tuanActiveId)}&pageNo=1&pageSize=10&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Cookie": cookie, + "Host": "m.jingxi.com", + "Referer": "https://st.jingxi.com/pingou/dream_factory/divide.html", + "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;" + } + } + $.get(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['ret'] === 0) { + const { tuanInfo } = data; + for (let item of tuanInfo) { + if (item.tuanNum === item.realTuanNum) { + // console.log(`参加团主【${item.tuanLeader}】已成功`) + const { userInfo } = item; + for (let item2 of userInfo) { + if (item2.encryptPin === $.encryptPin) { + if (item2.receiveElectric && item2.receiveElectric > 0) { + console.log(`${new Date(item2.joinTime * 1000).toLocaleString()}参加团主【${item2.nickName}】的奖励已经领取成功`) + } else { + console.log(`开始领取${new Date(item2.joinTime * 1000).toLocaleString()}参加团主【${item2.nickName}】的奖励`) + await tuanAward(item.tuanActiveId, item.tuanId, item.tuanLeader === $.encryptPin);//isTuanLeader + } + } + } + } else { + console.log(`${new Date(item.beginTime * 1000).toLocaleString()}参加团主【${item.tuanLeader}】失败`) + } + } + } else { + console.log(`QueryAllTuan异常:${JSON.stringify(data)}`); + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +//开团人的领取奖励API +function tuanAward(activeId, tuanId, isTuanLeader = true) { return new Promise((resolve) => { const options = { 'url': `https://m.jingxi.com/dreamfactory/tuan/Award?activeId=${escape(activeId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, @@ -930,12 +1012,20 @@ function tuanAward(activeId, tuanId) { if (safeGet(data)) { data = JSON.parse(data); if (data['ret'] === 0) { - console.log(`开团奖励${data.data['electric']}领取成功`); - message += `【开团奖励】${data.data['electric']}领取成功\n`; + if (isTuanLeader) { + console.log(`开团奖励(团长)${data.data['electric']}领取成功`); + message += `【开团(团长)奖励】${data.data['electric']}领取成功\n`; + } else { + console.log(`参团奖励${data.data['electric']}领取成功`); + message += `【参团奖励】${data.data['electric']}领取成功\n`; + } } else if (data['ret'] === 10212) { console.log(`${JSON.stringify(data)}`); - $.log(`准备开团`) - await CreateTuan(); + + if (isTuanLeader && $.surplusOpenTuanNum > 0) { + $.log(`团奖励已领取,准备开团`); + await CreateTuan(); + } } else { console.log(`异常:${JSON.stringify(data)}`); } @@ -993,8 +1083,8 @@ function readShareCode() { resolve(data); } }) - // await $.wait(2000); - // resolve() + await $.wait(5000); + resolve() }) } //格式化助力码 From cdd6a055307b37be81dc06f8a9365ab76fc4d8d4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 15:31:55 +0800 Subject: [PATCH 0248/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index b528e22b..6dee0bd3 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -33,9 +33,9 @@ let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭 const randomCount = $.isNode() ? 20 : 5; const tuanActiveId = `jfkcidGQavswLOBcAWljrw==`; const tuanIDs = [ - 'VOcrtYB9nzwxcRGHZAIirA==', - 'A-CujUJn3N3XDU4y7Yusvg==', - '22uTFAf6W--EBN0Z64tXZg==', + "XgKt9JBOEZEqFpTk1gw79g==", + 'lvArkUAPQtXfjt9O7PGh9A==', + 'Edcyq9n8AFJH16varH0-bw==' ] let cookiesArr = [], cookie = '', message = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; @@ -752,6 +752,7 @@ async function tuanActivity() { if (user.encryptPin === $.encryptPin) { if (user.receiveElectric && user.receiveElectric > 0) { console.log(`您在${new Date(user.joinTime * 1000).toLocaleString()}开团奖励已经领取成功\n`) + if ($.surplusOpenTuanNum > 0) await CreateTuan(); } else { $.log(`开始领取开团奖励`); await tuanAward(item.tuanActiveId, item.tuanId);//isTuanLeader @@ -1015,6 +1016,10 @@ function tuanAward(activeId, tuanId, isTuanLeader = true) { if (isTuanLeader) { console.log(`开团奖励(团长)${data.data['electric']}领取成功`); message += `【开团(团长)奖励】${data.data['electric']}领取成功\n`; + if ($.surplusOpenTuanNum > 0) { + $.log(`开团奖励(团长)已领取,准备开团`); + await CreateTuan(); + } } else { console.log(`参团奖励${data.data['electric']}领取成功`); message += `【参团奖励】${data.data['electric']}领取成功\n`; From 22067cdab91629cc7fd67550eb413b460da32ed3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 18:55:31 +0800 Subject: [PATCH 0249/1259] update --- jd_dreamFactory.js | 47 ++++++++++++++++++++++++++++++++++++++++------ jd_small_home.js | 2 +- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 6dee0bd3..cf247cc3 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2020-12-03 +更新时间:2020-12-04 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -887,11 +887,12 @@ function CreateTuan() { }) } async function joinLeaderTuan() { - for (let tuanId of tuanIDs) { - if (tuanId) { - await JoinTuan(tuanId); - } - } + await updateTuanIds(); + if (!$.tuanIdS) await updateTuanIdsCDN(); + for (let tuanId of $.tuanIdS.tuanIds) { + if (!tuanId) continue + await JoinTuan(tuanId); + } } function JoinTuan(tuanId) { return new Promise((resolve) => { @@ -1044,6 +1045,40 @@ function tuanAward(activeId, tuanId, isTuanLeader = true) { }) }) } +function updateTuanIds(url = 'https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_updateFactoryTuanId.json') { + return new Promise(resolve => { + $.get({url}, (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + } else { + $.tuanIdS = JSON.parse(data); + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function updateTuanIdsCDN(url = 'https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateFactoryTuanId.json') { + return new Promise(resolve => { + $.get({url}, (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + } else { + $.tuanIdS = JSON.parse(data); + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} async function showMsg() { return new Promise(async resolve => { let ctrTemp; diff --git a/jd_small_home.js b/jd_small_home.js index e991d08d..eb8c0985 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -157,7 +157,7 @@ async function doChannelsListTask(taskId, taskType) { } async function helpFriends() { await updateInviteCode(); - if (!$.updatePkActivityIdRes) await updateInviteCodeCDN(); + if (!$.inviteCodes) await updateInviteCodeCDN(); for (let item of $.inviteCodes.inviteCode) { if (!item) continue await createAssistUser(item, $.createAssistUserID || "1318106976846299138"); From 40d73014e40eaadd8b4db47f588f5ef8737f0853 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 19:02:45 +0800 Subject: [PATCH 0250/1259] update --- jd_dreamFactory.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index cf247cc3..6aed2aec 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -32,11 +32,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; const tuanActiveId = `jfkcidGQavswLOBcAWljrw==`; -const tuanIDs = [ - "XgKt9JBOEZEqFpTk1gw79g==", - 'lvArkUAPQtXfjt9O7PGh9A==', - 'Edcyq9n8AFJH16varH0-bw==' -] + let cookiesArr = [], cookie = '', message = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; @@ -1123,7 +1119,7 @@ function readShareCode() { resolve(data); } }) - await $.wait(5000); + await $.wait(10000); resolve() }) } From 90e7ed8ce52a64707bf631cc6960985126244b48 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 13:54:20 +0800 Subject: [PATCH 0251/1259] update --- jd_818.js | 2 +- jd_dreamFactory.js | 2 +- jd_small_home.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_818.js b/jd_818.js index ae635a2d..52127410 100644 --- a/jd_818.js +++ b/jd_818.js @@ -847,7 +847,7 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/lxk0301/updat }) }) } -function updateShareCodesCDN(url = 'https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json') { +function updateShareCodesCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_shareCodes.json') { return new Promise(resolve => { //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 6aed2aec..77011e82 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1058,7 +1058,7 @@ function updateTuanIds(url = 'https://raw.githubusercontent.com/lxk0301/updateTe }) }) } -function updateTuanIdsCDN(url = 'https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateFactoryTuanId.json') { +function updateTuanIdsCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_updateFactoryTuanId.json') { return new Promise(resolve => { $.get({url}, (err, resp, data) => { try { diff --git a/jd_small_home.js b/jd_small_home.js index eb8c0985..1484fb87 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -710,7 +710,7 @@ function updateInviteCode(url = 'https://raw.githubusercontent.com/lxk0301/updat }) }) } -function updateInviteCodeCDN(url = 'https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateSmallHomeInviteCode.json') { +function updateInviteCodeCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_updateSmallHomeInviteCode.json') { return new Promise(resolve => { $.get({url}, async (err, resp, data) => { try { From d4f7d55965227cd83e4105f73cb1d76871fc2801 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 14:16:18 +0800 Subject: [PATCH 0252/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=9C=AA=E5=BC=80=E9=80=9A=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=92=8C=E6=9C=AA=E9=80=89=E8=B4=AD=E5=95=86=E5=93=81=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E5=BC=B9=E7=AA=97=E9=80=9A=E7=9F=A5=EF=BC=8C=E5=8F=AA?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=89=93=E5=8D=B0=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 77011e82..e44f89c2 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -533,17 +533,17 @@ function userInfo() { message += `【当前等级】${data.user.userIdentity} ${data.user.currentLevel}\n`; message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; if (production.investedElectric >= production.needElectric) { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`, {'open-url': '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'}) - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去兑换`) + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去京喜APP->首页->好物0元造进行兑换`, {'open-url': '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'}) + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去京喜APP->首页->好物0元造进行兑换`) } } else { $.unActive = false;//标记是否开启了京喜活动或者选购了商品进行生产 if (!data.factoryList) { - console.log('【提示】此账号京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); - $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); + console.log('【提示】京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); + // $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); } else if (data.factoryList && !data.productionList) { - console.log(`【提示】此账号京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) - $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); + console.log(`【提示】京东账号${$.index}[${$.nickName}]京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) + // $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); } } } else { From 15870032d9b082e7c2229c644af107bb9fc2acba Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 14:46:18 +0800 Subject: [PATCH 0253/1259] =?UTF-8?q?=E5=AE=A0=E6=B1=AA=E6=B1=AA=E8=B5=9B?= =?UTF-8?q?=E8=B7=91=E5=A2=9E=E5=8A=A0=E6=8E=A7=E5=88=B6=E5=8F=82=E5=8A=A0?= =?UTF-8?q?=E5=A4=9A=E5=B0=91=E4=BA=BA=E7=9A=84=E8=B5=9B=E8=B7=91=E6=AF=94?= =?UTF-8?q?=E8=B5=9B=EF=BC=8C=E9=BB=98=E8=AE=A4=E8=BF=98=E6=98=AF2?= =?UTF-8?q?=E4=BA=BA=EF=BC=8C=E5=8F=AF=E9=80=9A=E8=BF=87BoxJs=E6=88=96?= =?UTF-8?q?=E8=80=85=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F/secret=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=8E=A7=E5=88=B6=E3=80=82=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E5=90=8D=E7=A7=B0JOY=5FTEAM=5FLEVEL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 3 ++- jd_joy.js | 15 +++++++++------ jd_joy_run.js | 8 ++++---- lxk0301.boxjs.json | 25 +++++++++++++++++++++++-- 4 files changed, 38 insertions(+), 13 deletions(-) diff --git a/githubAction.md b/githubAction.md index 1d007311..acc3bd21 100644 --- a/githubAction.md +++ b/githubAction.md @@ -96,7 +96,8 @@ | `JD_818_SHAREID_NOTIFY` | 京东818互助码通知开关 | 非必须 | 控制jd_818.js脚本是否在获取互助码后通知,`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | | `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制jd_joy_feedPets.js脚本喂食数量 ,可以填的数字10,20,40,80 , 其他数字不可. | | `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制jd_joy_steal.js脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | -| `JOY_RUN_FLAG` | 宠汪汪参加双人赛跑 | 非必须 | 控制jd_joy.js脚本是否参加双人赛跑,`false`为否,`true`为是,脚本默认是`true` | +| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制jd_joy.js脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | +| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制jd_joy.js脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效) | | `JD_JOY_REWARD_NAME` | 宠汪汪积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | | `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 控制jd_blueCoin.js兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | | `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | 控制jd_blueCoin.js兑换奖品成功后是否静默运行, `false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | diff --git a/jd_joy.js b/jd_joy.js index 7df3fffe..d52d288c 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -2,7 +2,7 @@ jd宠汪汪 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_joy.js 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js IOS用户支持京东双账号,NodeJs用户支持N个京东账号 -更新时间:2020-11-03 +更新时间:2020-12-05 建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 feedCount:自定义 每次喂养数量; 等级只和喂养次数有关,与数量无关 推荐每次投喂10个,积累狗粮,然后去聚宝盆赌每小时的幸运奖,据观察,投入3000-6000中奖概率大,超过7000基本上注定亏本,即使是第一名 @@ -37,6 +37,7 @@ if ($.isNode()) { } let message = '', subTitle = ''; let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //每次喂养数量 [10,20,40,80] +let teamLevel = 2;//参加多少人的赛跑比赛,默认是双人赛跑,可选2,10,50。其他不可选,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛 //是否参加宠汪汪双人赛跑(据目前观察,参加双人赛跑不消耗狗粮,如需参加其他多人赛跑,请关闭) // 默认 'true' 参加双人赛跑,如需关闭 ,请改成 'false'; let joyRunFlag = true; @@ -137,11 +138,12 @@ async function joinTwoPeopleRun() { let raceUsers = $.petRaceResult.data.raceUsers; console.log(`赛跑状态:${petRaceResult}\n`); if (petRaceResult === 'not_participate') { - console.log('暂未参赛,现在为您参加双人赛跑'); - await runMatch(2); + teamLevel = $.isNode() ? (process.env.JOY_TEAM_LEVEL ? process.env.JOY_TEAM_LEVEL : teamLevel) : ($.getdata('JOY_TEAM_LEVEL') ? $.getdata('JOY_TEAM_LEVEL') : teamLevel); + console.log(`暂未参赛,现在为您参加${teamLevel}人赛跑`); + await runMatch(teamLevel * 1); if ($.runMatchResult.success) { - console.log(`双人赛跑参加成功\n`); - message += `双人赛跑:成功参加\n`; + console.log(`${teamLevel}人赛跑参加成功\n`); + message += `${teamLevel}人赛跑:成功参加\n`; await getPetRace(); petRaceResult = $.petRaceResult.data.petRaceResult; raceUsers = $.petRaceResult.data.raceUsers; @@ -160,7 +162,8 @@ async function joinTwoPeopleRun() { await receiveJoyRunAward(); console.log(`领取赛跑奖励结果:${JSON.stringify($.receiveJoyRunAwardRes)}`) if ($.receiveJoyRunAwardRes.success) { - $.msg($.name, '双人赛跑取得获胜', `【京东账号${$.index}】${$.nickName}\n太棒了,恭喜您获得300积分奖励`) + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLevel}人赛跑取得获胜\n恭喜您已获得相应的积分奖励`); + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `${teamLevel}人赛跑取得获胜\n恭喜您已获得相应的积分奖励`) } } if (petRaceResult === 'participate') { diff --git a/jd_joy_run.js b/jd_joy_run.js index c0fafe92..534ade1b 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -38,10 +38,10 @@ const isRequest = typeof $request != "undefined" const $ = new Env('宠汪汪赛跑'); const JD_BASE_API = `https://draw.jdfcloud.com//pet`; //此处填入你需要助力好友的京东用户名 -//给下面好友邀请助力的 -let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58"]; -//给下面好友赛跑助力 -let run_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58"]; +//下面给出好友邀请助力的示例填写规则 +let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd"]; +//下面给出好友赛跑助力的示例填写规则 +let run_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); // $.LKYLToken = $.getdata('jdJoyRunToken'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 81aa8440..eb3edd64 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -406,10 +406,31 @@ }, { "id": "joyRunFlag", - "name": "是否参加双人赛跑(默认参加)", + "name": "是否参加赛跑(默认参加)", "val": true, "type": "boolean", - "desc": "开启脚本将会为您自动参加双人赛跑" + "desc": "开启脚本将会为您自动参加赛跑(默认参加双人赛跑)" + }, + { + "id": "JOY_TEAM_LEVEL", + "name": "宠汪汪赛跑级别选择", + "val": "2", + "type": "radios", + "desc": "参加多少人的赛跑比赛,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛", + "items": [ + { + "key": "2", + "label": "双人PK赛" + }, + { + "key": "10", + "label": "10人突围赛" + }, + { + "key": "50", + "label": "50人挑战赛" + } + ] }, { "id": "joyFeedCount", From 379a9444f76fb0425acdaa91e3d280c3c9beb226 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 19:58:01 +0800 Subject: [PATCH 0254/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E6=8B=BE=E5=8F=96=E5=9C=B0=E4=B8=8B=E9=9B=B6?= =?UTF-8?q?=E4=BB=B6=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=87=8F=E5=B0=91=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E8=BF=90=E8=A1=8C=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 181 +++++++++++++++++++++++++++------------------ 1 file changed, 110 insertions(+), 71 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e44f89c2..ad456c56 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -61,7 +61,8 @@ if ($.isNode()) { message = ''; $.ele = 0; $.pickEle = 0; - $.pickFriendEle = 0 + $.pickFriendEle = 0; + $.friendList = []; await TotalBean(); console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); if (!$.isLogin) { @@ -95,7 +96,7 @@ async function jdDreamFactory() { await taskList(); await investElectric(); await QueryHireReward();//收取招工电力 - await PickUp(); + await PickUp();//收取自家的地下零件 await stealFriend(); await tuanActivity(); await QueryAllTuan(); @@ -277,38 +278,7 @@ function getUserElectricity() { }) }) } -//满电力的时候分享,电力翻倍 -function shareReport() { - return new Promise(async resolve => { - const options = { - 'url': `https://wq.jd.com/activetmp/helpdraw/sharereport?call=reportshare&active=dreamfactory_platform_test&hj=app&sharetype=2&idctime=${Date.now()}&reportrefer=http%3A%2F%2Fwq.jd.com%2Fcube%2Ffront%2FactivePublish%2Fdream_factory_report%2F380556.html&_=${Date.now()}&sceneval=2&g_login_type=1`, - 'headers': { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Cookie": cookie, - "Host": "wq.jd.com", - "Referer": "https://wqsd.jd.com/pingou/dream_factory/index.html", - "User-Agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`\n分享获取翻倍电力功能(测试中):${data}\n`); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} + //查询有多少的招工电力可收取 function QueryHireReward() { return new Promise(async resolve => { @@ -616,14 +586,69 @@ function DrawProductionStagePrize() { }) } async function PickUp(encryptPin = $.encryptPin, help = false) { - for (let i = 0; i < new Array(5).fill('').length; i++) { - await $.wait(1000); - await PickUpComponent(i + 1, encryptPin, help); + const GetUserComponentRes = await GetUserComponent(encryptPin); + if (GetUserComponentRes && GetUserComponentRes['ret'] === 0) { + const { componentList } = GetUserComponentRes['data']; + if (componentList && componentList.length <= 0) { + if (help) { + $.log(`好友【${encryptPin}】地下暂无零件可收`) + } else { + $.log(`自家地下暂无零件可收`) + } + } + for (let item of componentList) { + await $.wait(1000); + const PickUpComponentRes = await PickUpComponent(item['placeId'], encryptPin); + if (PickUpComponentRes) { + if (PickUpComponentRes['ret'] === 0) { + const data = PickUpComponentRes['data']; + if (help) { + console.log(`收取好友[${encryptPin}]零件成功:获得${data['increaseElectric']}电力\n`); + $.pickFriendEle += data['increaseElectric']; + } else { + console.log(`收取自家零件成功:获得${data['increaseElectric']}电力\n`); + $.pickEle += data['increaseElectric']; + } + } else { + if (help) { + console.log(`收好友[${encryptPin}]零件失败:${PickUpComponentRes.msg},直接跳出`) + } else { + console.log(`收自己地下零件失败:${PickUpComponentRes.msg},直接跳出`) + } + break + } + } + } } } +function GetUserComponent(pin = $.encryptPin) { + return new Promise(resolve => { + $.get(taskurl('usermaterial/GetUserComponent', `pin=${pin}`), (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) { + + } else { + console.log(`GetUserComponent失败:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} //收取地下随机零件电力API -//usermaterial/GetUserComponent -function PickUpComponent(index, encryptPin, help) { + +function PickUpComponent(index, encryptPin) { return new Promise(resolve => { $.get(taskurl('usermaterial/PickUpComponent', `placeId=${index}&pin=${encryptPin}`), (err, resp, data) => { try { @@ -633,36 +658,49 @@ function PickUpComponent(index, encryptPin, help) { } else { if (safeGet(data)) { data = JSON.parse(data); - if (data['ret'] === 0) { - data = data['data']; - if (help) { - console.log(`收取好友[${encryptPin}]零件成功:获得${data['increaseElectric']}电力\n`); - $.pickFriendEle += data['increaseElectric']; - } else { - console.log(`收取自家零件成功:获得${data['increaseElectric']}电力\n`); - $.pickEle += data['increaseElectric']; - } - } else { - if (help) { - console.log(`收好友[${encryptPin}]零件失败:${JSON.stringify(data)}`) - } else { - console.log(`收零件失败:${JSON.stringify(data)}`) - } - } + // if (data['ret'] === 0) { + // data = data['data']; + // if (help) { + // console.log(`收取好友[${encryptPin}]零件成功:获得${data['increaseElectric']}电力\n`); + // $.pickFriendEle += data['increaseElectric']; + // } else { + // console.log(`收取自家零件成功:获得${data['increaseElectric']}电力\n`); + // $.pickEle += data['increaseElectric']; + // } + // } else { + // if (help) { + // console.log(`收好友[${encryptPin}]零件失败:${JSON.stringify(data)}`) + // } else { + // console.log(`收零件失败:${JSON.stringify(data)}`) + // } + // } } } } catch (e) { $.logErr(e, resp) } finally { - resolve(); + resolve(data); } }) }) } //偷好友的电力 -function stealFriend() { +async function stealFriend() { + await getFriendList(); + $.friendList = [...new Set($.friendList)]; + for (let i = 0; i < $.friendList.length; i++) { + let pin = $.friendList[i];//好友的encryptPin + if (pin === 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=' || pin === 'Bo-jnVs_m9uBvbRzraXcSA==') { + continue + } + await PickUp(pin, true); + // await getFactoryIdByPin(pin);//获取好友工厂ID + // if ($.stealFactoryId) await collectElectricity($.stealFactoryId,true, pin); + } +} +function getFriendList(sort = 0) { return new Promise(async resolve => { - $.get(taskurl('friend/QueryFactoryManagerList', 'sort=0'), async (err, resp, data) => { + $.get(taskurl('friend/QueryFactoryManagerList', `sort=${sort}`), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -672,17 +710,19 @@ function stealFriend() { data = JSON.parse(data); if (data['ret'] === 0) { data = data['data']; - for (let i = 0; i < data.list.length; i++) { - let pin = data.list[i]['encryptPin'];//好友的encryptPin - if (pin === 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=' || pin === 'Bo-jnVs_m9uBvbRzraXcSA==') { - continue - } - await PickUp(pin, true); - // await getFactoryIdByPin(pin);//获取好友工厂ID - // if ($.stealFactoryId) await collectElectricity($.stealFactoryId,true, pin); + if (data.list && data.list.length <= 0) { + console.log(`查询好友列表完成,共${$.friendList.length}好友,下面开始拾取好友地下的零件\n`); + return } + let friendsEncryptPins = []; + for (let item of data.list) { + friendsEncryptPins.push(item.encryptPin); + } + $.friendList = [...$.friendList, ...friendsEncryptPins]; + if (!$.isNode()) return + await getFriendList(data.sort); } else { - console.log(`异常:${JSON.stringify(data)}`) + console.log(`QueryFactoryManagerList异常:${JSON.stringify(data)}`) } } } @@ -694,7 +734,6 @@ function stealFriend() { }) }) } - function getFactoryIdByPin(pin) { return new Promise((resolve, reject) => { // const url = `/dreamfactory/userinfo/GetUserInfoByPin?zone=dream_factory&pin=${pin}&sceneval=2`; @@ -1091,10 +1130,10 @@ async function showMsg() { await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}\n【收取零件】获得${$.pickEle}电力`); } } else if (new Date().getHours() === 22) { - $.msg($.name, '', `${message}【收取自己零件】获得${$.pickEle}电力\n【收取好友零件】获得${$.pickFriendEle}电力`) - $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取好友零件】获得${$.pickFriendEle}电力`); + $.msg($.name, '', `${message}【收取自己零件】获得${$.pickEle}电力\n【收取${$.friendList.length}好友零件】获得${$.pickFriendEle}电力`) + $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取${$.friendList.length}好友零件】获得${$.pickFriendEle}电力`); } else { - $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取好友零件】获得${$.pickFriendEle}电力`); + $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取${$.friendList.length}好友零件】获得${$.pickFriendEle}电力`); } resolve() }) From 2414af3de7910e95ac486cb6e86d9a65412b47a7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 20:20:27 +0800 Subject: [PATCH 0255/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8A=A9=E5=8A=9B=E5=A5=BD=E5=8F=8B=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E8=8A=82=E7=9C=81=E8=84=9A=E6=9C=AC=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E6=97=B6=E9=97=B4=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=8B=9B?= =?UTF-8?q?=E5=B7=A5=E8=BF=9B=E5=BA=A6=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 71 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 54 insertions(+), 17 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index ad456c56..46d2e19d 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -63,6 +63,7 @@ if ($.isNode()) { $.pickEle = 0; $.pickFriendEle = 0; $.friendList = []; + $.canHelpFlag = true;//能否助力朋友 await TotalBean(); console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); if (!$.isLogin) { @@ -75,7 +76,6 @@ if ($.isNode()) { } continue } - await shareCodesFormat(); await jdDreamFactory() } } @@ -89,6 +89,7 @@ if ($.isNode()) { async function jdDreamFactory() { await userInfo(); + await QueryFriendList();//查询今日招工情况以及剩余助力次数 await joinLeaderTuan();//参团 await helpFriends(); if (!$.unActive) return @@ -340,23 +341,28 @@ function hireAward(date) { }) } async function helpFriends() { - for (let code of $.newShareCodes) { - if (code) { - if ($.encryptPin === code) { - console.log(`不能为自己助力,跳过`); - continue; - } - const assistFriendRes = await assistFriend(code); - if (assistFriendRes && assistFriendRes['ret'] === 0) { - console.log(`助力朋友:${code}成功,因一次只能助力一个,故跳出助力`) - break - } else if (assistFriendRes && assistFriendRes['ret'] === 11009) { - console.log(`助力朋友[${code}]失败:${assistFriendRes.msg},跳出助力`); - break - } else { - console.log(`助力朋友[${code}]失败:${assistFriendRes.msg}`) + if ($.canHelpFlag) { + await shareCodesFormat(); + for (let code of $.newShareCodes) { + if (code) { + if ($.encryptPin === code) { + console.log(`不能为自己助力,跳过`); + continue; + } + const assistFriendRes = await assistFriend(code); + if (assistFriendRes && assistFriendRes['ret'] === 0) { + console.log(`助力朋友:${code}成功,因一次只能助力一个,故跳出助力`) + break + } else if (assistFriendRes && assistFriendRes['ret'] === 11009) { + console.log(`助力朋友[${code}]失败:${assistFriendRes.msg},跳出助力`); + break + } else { + console.log(`助力朋友[${code}]失败:${assistFriendRes.msg}`) + } } } + } else { + $.log(`今日助力好友机会已耗尽\n`); } } // 帮助用户 @@ -399,7 +405,38 @@ function assistFriend(sharepin) { }) }) } - +//查询助力招工情况 +function QueryFriendList() { + return new Promise(async resolve => { + $.get(taskurl('friend/QueryFriendList'), (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']; + const { assistListToday = [], assistNumMax, hireListToday = [], hireNumMax } = data; + if (assistListToday.length === assistNumMax) { + $.canHelpFlag = false; + } + $.log(`【今日招工进度】${hireListToday.length}/${hireNumMax}`); + message += `【招工进度】${hireListToday.length}/${hireNumMax}\n`; + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} // 任务领奖 function completeTask(taskId, taskName) { return new Promise(async resolve => { From 6245b7f987b965fe80f9dd74e20165b814ab05a0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 20:55:24 +0800 Subject: [PATCH 0256/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E7=BA=A2?= =?UTF-8?q?=E5=8C=85=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 46d2e19d..ba466270 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2020-12-04 +更新时间:2020-12-05 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -524,13 +524,19 @@ function userInfo() { if (data.factoryList && data.productionList) { const production = data.productionList[0]; const factory = data.factoryList[0]; + const productionStage = data.productionStage; $.factoryId = factory.factoryId;//工厂ID $.productionId = production.productionId;//商品ID $.commodityDimId = production.commodityDimId; $.encryptPin = data.user.encryptPin; // subTitle = data.user.pin; await GetCommodityDetails();//获取已选购的商品信息 - await DrawProductionStagePrize();//领取红包 + if (productionStage['productionStageAwardStatus'] === 1) { + $.log(`可以开红包了\n`); + await DrawProductionStagePrize();//领取红包 + } else { + $.log(`再加${productionStage['productionStageProgress']}电力可开红包\n`) + } console.log(`当前电力:${data.user.electric}`) console.log(`当前等级:${data.user.currentLevel}`) console.log(`分享码: ${data.user.encryptPin}`); From 5cf11db338fa991395cd675fc5267fc188a96470 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 21:21:54 +0800 Subject: [PATCH 0257/1259] update --- jd_dreamFactory.js | 2 +- jd_joy.js | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index ba466270..8047f6bc 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -552,7 +552,7 @@ function userInfo() { } else { $.unActive = false;//标记是否开启了京喜活动或者选购了商品进行生产 if (!data.factoryList) { - console.log('【提示】京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n'); + console.log(`【提示】京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动\n`); // $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); } else if (data.factoryList && !data.productionList) { console.log(`【提示】京东账号${$.index}[${$.nickName}]京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) diff --git a/jd_joy.js b/jd_joy.js index d52d288c..e834b744 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -159,11 +159,16 @@ async function joinTwoPeopleRun() { } if (petRaceResult === 'unreceive') { console.log('今日参赛的比赛已经结束,现在领取奖励'); + await getWinCoin(); + let winCoin = 0; + if ($.getWinCoinRes && $.getWinCoinRes.success) { + winCoin = $.getWinCoinRes.data.winCoin; + } await receiveJoyRunAward(); console.log(`领取赛跑奖励结果:${JSON.stringify($.receiveJoyRunAwardRes)}`) if ($.receiveJoyRunAwardRes.success) { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLevel}人赛跑取得获胜\n恭喜您已获得相应的积分奖励`); - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `${teamLevel}人赛跑取得获胜\n恭喜您已获得相应的积分奖励`) + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLevel}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n${teamLevel}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) } } if (petRaceResult === 'participate') { @@ -653,6 +658,29 @@ function getBackupInfo() { }) }) } +//查询赛跑获得多少积分 +function getWinCoin() { + return new Promise(resolve => { + const url = `${weAppUrl}/combat/detail/v2?help=false&reqSource=weapp`; + $.get(taskUrl(url, 'draw.jdfcloud.com', `weapp`), (err, resp, data) => { + try { + if (err) { + console.log('\n京东宠汪汪: API查询请求失败 ‼️‼️') + } else { + // console.log('查询应援团信息API',(data)) + // $.appGetPetTaskConfigRes = JSON.parse(data); + if (data) { + $.getWinCoinRes = JSON.parse(data); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }) + }) +} //领取赛跑奖励API function receiveJoyRunAward() { return new Promise(resolve => { From 0d1334e38a38d4dbc20e7ddef41f25965652b1ff Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 5 Dec 2020 22:38:35 +0800 Subject: [PATCH 0258/1259] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=AE=A0=E6=B1=AA=E6=B1=AA=E6=8E=A7=E5=88=B6=E5=8F=82?= =?UTF-8?q?=E5=8A=A0=E5=A4=9A=E5=B0=91=E4=BA=BA=E6=AF=94=E8=B5=9B=E7=9A=84?= =?UTF-8?q?secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 同步云函数宠汪汪控制参加多少人比赛的secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 18b79738..245675fa 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -45,6 +45,7 @@ jobs: if [ $JOY_FEED_COUNT ]; then sed -i "/variables/a\ JOY_FEED_COUNT: $JOY_FEED_COUNT" serverless.yml; fi; if [ $JOY_HELP_FEED ]; then sed -i "/variables/a\ JOY_HELP_FEED: $JOY_HELP_FEED" serverless.yml; fi; if [ $JOY_RUN_FLAG ]; then sed -i "/variables/a\ JOY_RUN_FLAG: $JOY_RUN_FLAG" serverless.yml; fi; + if [ $JOY_TEAM_LEVEL ]; then sed -i "/variables/a\ JOY_TEAM_LEVEL: $JOY_TEAM_LEVEL" serverless.yml; fi; if [ $JD_JOY_REWARD_NAME ]; then sed -i "/variables/a\ JD_JOY_REWARD_NAME: $JD_JOY_REWARD_NAME" serverless.yml; fi; if [ $MARKET_COIN_TO_BEANS ]; then sed -i "/variables/a\ MARKET_COIN_TO_BEANS: $MARKET_COIN_TO_BEANS" serverless.yml; fi; if [ $MARKET_REWARD_NOTIFY ]; then sed -i "/variables/a\ MARKET_REWARD_NOTIFY: $MARKET_REWARD_NOTIFY" serverless.yml; fi; @@ -86,6 +87,7 @@ jobs: JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}} JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}} JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}} + JOY_TEAM_LEVEL: ${{ secrets.JOY_TEAM_LEVEL}} JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}} MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}} MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}} From e2b8d2e3c43cc83ee013a1b5533bafc823ebc358 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 6 Dec 2020 14:03:31 +0800 Subject: [PATCH 0259/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8B=BE=E5=8F=96=E5=9C=B0=E4=B8=8B=E9=9B=B6?= =?UTF-8?q?=E4=BB=B6=E5=8A=9F=E8=83=BD=EF=BC=8C=E8=BE=BE=E5=88=B0=E4=B8=8A?= =?UTF-8?q?=E9=99=90=E5=90=8E=E4=B8=8D=E5=86=8D=E7=BB=A7=E7=BB=AD=EF=BC=8C?= =?UTF-8?q?=E8=8A=82=E7=9C=81=E8=84=9A=E6=9C=AC=E8=BF=90=E8=A1=8C=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 19 ++++++++++++++----- jd_lotteryMachine.js | 2 +- jd_rankingList.js | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 8047f6bc..e2e1eb50 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -629,6 +629,7 @@ function DrawProductionStagePrize() { }) } async function PickUp(encryptPin = $.encryptPin, help = false) { + $.pickUpMyselfComponent = true; const GetUserComponentRes = await GetUserComponent(encryptPin); if (GetUserComponentRes && GetUserComponentRes['ret'] === 0) { const { componentList } = GetUserComponentRes['data']; @@ -638,6 +639,7 @@ async function PickUp(encryptPin = $.encryptPin, help = false) { } else { $.log(`自家地下暂无零件可收`) } + $.pickUpMyselfComponent = false; } for (let item of componentList) { await $.wait(1000); @@ -656,7 +658,8 @@ async function PickUp(encryptPin = $.encryptPin, help = false) { if (help) { console.log(`收好友[${encryptPin}]零件失败:${PickUpComponentRes.msg},直接跳出`) } else { - console.log(`收自己地下零件失败:${PickUpComponentRes.msg},直接跳出`) + console.log(`收自己地下零件失败:${PickUpComponentRes.msg},直接跳出`); + $.pickUpMyselfComponent = false; } break } @@ -729,6 +732,10 @@ function PickUpComponent(index, encryptPin) { } //偷好友的电力 async function stealFriend() { + if (!$.pickUpMyselfComponent) { + $.log(`今日收取零件已达上限,偷好友零件也达到上限,故跳出`) + return + } await getFriendList(); $.friendList = [...new Set($.friendList)]; for (let i = 0; i < $.friendList.length; i++) { @@ -1159,6 +1166,8 @@ function updateTuanIdsCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/mast } async function showMsg() { return new Promise(async resolve => { + message += `【收取自己零件】${$.pickUpMyselfComponent ? `获得${$.pickEle}电力` : `今日已达上限`}\n`; + message += `【收取好友零件】${$.pickUpMyselfComponent ? `获得${$.pickFriendEle}电力` : `今日已达上限`}\n`; let ctrTemp; if ($.isNode() && process.env.DREAMFACTORY_NOTIFY_CONTROL) { ctrTemp = `${process.env.DREAMFACTORY_NOTIFY_CONTROL}` === 'false'; @@ -1170,13 +1179,13 @@ async function showMsg() { if (ctrTemp) { $.msg($.name, '', message); if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}\n【收取零件】获得${$.pickEle}电力`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}`); } } else if (new Date().getHours() === 22) { - $.msg($.name, '', `${message}【收取自己零件】获得${$.pickEle}电力\n【收取${$.friendList.length}好友零件】获得${$.pickFriendEle}电力`) - $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取${$.friendList.length}好友零件】获得${$.pickFriendEle}电力`); + $.msg($.name, '', `${message}`) + $.log(`\n${message}`); } else { - $.log(`\n${message}【收取自己零件】获得${$.pickEle}电力\n【收取${$.friendList.length}好友零件】获得${$.pickFriendEle}电力`); + $.log(`\n${message}`); } resolve() }) diff --git a/jd_lotteryMachine.js b/jd_lotteryMachine.js index 452a1d67..3b15d131 100644 --- a/jd_lotteryMachine.js +++ b/jd_lotteryMachine.js @@ -47,7 +47,7 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/yangtingxiao/ }) }) } -function updateShareCodesCDN(url = 'https://cdn.jsdelivr.net/gh/yangtingxiao/QuantumultX@master/scripts/jd/jd_lotteryMachine.js') { +function updateShareCodesCDN(url = 'https://raw.fastgit.org/yangtingxiao/QuantumultX/master/scripts/jd/jd_lotteryMachine.js') { return new Promise(resolve => { $.get({url}, async (err, resp, data) => { try { diff --git a/jd_rankingList.js b/jd_rankingList.js index 71bf00c7..24f2ce8f 100644 --- a/jd_rankingList.js +++ b/jd_rankingList.js @@ -48,7 +48,7 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/yangtingxiao/ }) }) } -function scriptsCDN(url = 'https://cdn.jsdelivr.net/gh/yangtingxiao/QuantumultX@master/scripts/jd/jd_rankingList.js') { +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 { From c47967727b59466318831e2db50ffec79ade1e18 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 6 Dec 2020 16:05:17 +0800 Subject: [PATCH 0260/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=E5=95=86=E5=93=81=E5=8F=AF?= =?UTF-8?q?=E5=85=91=E6=8D=A2=E6=97=B6=E7=9A=84=E9=80=9A=E7=9F=A5=E9=A2=91?= =?UTF-8?q?=E7=8E=87=20=E6=AF=94=E5=A6=82=E5=85=91=E6=8D=A2(=E8=B6=85?= =?UTF-8?q?=E6=97=B6)=E6=88=AA=E6=AD=A2=E6=97=B6=E9=97=B4=E6=98=AF2020/12/?= =?UTF-8?q?8=2009:20:04,=E7=8E=B0=E5=9C=A8=E6=97=B6=E9=97=B4=E6=98=AF2020/?= =?UTF-8?q?12/6=20=E4=B8=80:=E5=9C=A8=E5=85=91=E6=8D=A2=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E8=BF=99=E4=B8=80=E5=A4=A9(2020/12/8=2009:20:04)=E7=9A=84?= =?UTF-8?q?=E5=89=8D2=E5=B0=8F=E6=97=B6=E5=86=85=E9=80=9A=E7=9F=A5=20?= =?UTF-8?q?=E4=BA=8C:=E5=9C=A8=E5=85=91=E6=8D=A2=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E5=89=8D=E7=9A=84=E6=97=B6=E9=97=B4=E6=AF=8F?= =?UTF-8?q?=E5=A4=A9=E4=BB=85=E4=BB=85=E9=80=9A=E7=9F=A5=E4=B8=89=E6=AC=A1?= =?UTF-8?q?(2020/12/6=209,10,11=E7=82=B9,=E4=BB=A5=E5=8F=8A=E5=9C=A82020/1?= =?UTF-8?q?2/7=209,10,11=E7=82=B9=E5=90=84=E9=80=9A=E7=9F=A5=E4=B8=80?= =?UTF-8?q?=E6=AC=A1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 92 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 85 insertions(+), 7 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e2e1eb50..1b13aa9d 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -32,7 +32,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; const tuanActiveId = `jfkcidGQavswLOBcAWljrw==`; - +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 = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; @@ -101,6 +101,7 @@ async function jdDreamFactory() { await stealFriend(); await tuanActivity(); await QueryAllTuan(); + await exchangeProNotify(); await showMsg(); } @@ -425,7 +426,7 @@ function QueryFriendList() { $.log(`【今日招工进度】${hireListToday.length}/${hireNumMax}`); message += `【招工进度】${hireListToday.length}/${hireNumMax}\n`; } else { - console.log(`异常:${JSON.stringify(data)}`) + console.log(`QueryFriendList异常:${JSON.stringify(data)}`) } } } @@ -493,7 +494,7 @@ function doTask(taskId) { if (data['ret'] === 0) { console.log("做任务完成!") } else { - console.log(`异常:${JSON.stringify(data)}`) + console.log(`DoTask异常:${JSON.stringify(data)}`) } } } @@ -521,6 +522,7 @@ function userInfo() { data = data['data']; $.unActive = true;//标记是否开启了京喜活动或者选购了商品进行生产 $.encryptPin = ''; + $.shelvesList = []; if (data.factoryList && data.productionList) { const production = data.productionList[0]; const factory = data.factoryList[0]; @@ -546,8 +548,8 @@ function userInfo() { message += `【当前等级】${data.user.userIdentity} ${data.user.currentLevel}\n`; message += `【生产进度】${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%\n`; if (production.investedElectric >= production.needElectric) { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去京喜APP->首页->好物0元造进行兑换`, {'open-url': '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'}) - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}\n已生产完,请速去京喜APP->首页->好物0元造进行兑换`) + $.log(`可以对方商品了`) + // await exchangeProNotify() } } else { $.unActive = false;//标记是否开启了京喜活动或者选购了商品进行生产 @@ -560,7 +562,7 @@ function userInfo() { } } } else { - console.log(`异常:${JSON.stringify(data)}`) + console.log(`GetUserInfo异常:${JSON.stringify(data)}`) } } } @@ -588,7 +590,39 @@ function GetCommodityDetails() { data = data['data']; $.productName = data['commodityList'][0].name; } else { - console.log(`异常:${JSON.stringify(data)}`) + console.log(`GetCommodityDetails异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +// 查询已完成商品 +function GetShelvesList(pageNo = 1) { + return new Promise(async resolve => { + $.get(taskurl('userinfo/GetShelvesList', `pageNo=${pageNo}&pageSize=12`), (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']; + const { shelvesList } = data; + if (shelvesList) { + $.shelvesList = [...$.shelvesList, ...shelvesList]; + pageNo ++ + GetShelvesList(pageNo); + } + } else { + console.log(`GetShelvesList异常:${JSON.stringify(data)}`) } } } @@ -1164,6 +1198,50 @@ function updateTuanIdsCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/mast }) }) } +function checkExchange() { + +} +//商品可兑换时的通知 +async function exchangeProNotify() { + await GetShelvesList(); + let exchangeEndTime, exchangeEndHours, nowHours; + //脚本运行的UTC+8时区的时间戳 + let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); + if ($.shelvesList && $.shelvesList.length > 0) console.log(`\n 商品名 兑换状态`) + for (let shel of $.shelvesList) { + console.log(`${shel['name']} ${shel['exchangeStatus'] === 1 ? '未兑换' : shel['exchangeStatus'] === 2 ? '已兑换' : '兑换超时'}`) + if (shel['exchangeStatus'] === 1) { + exchangeEndTime = shel['exchangeEndTime'] * 1000; + $.picture = shel['picture']; + // 兑换截止时间点 + exchangeEndHours = new Date(exchangeEndTime + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).getHours(); + //兑换截止时间(年月日 时分秒) + $.exchangeEndTime = new Date(exchangeEndTime + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString('zh', {hour12: false}); + //脚本运行此时的时间点 + nowHours = nowTimes.getHours(); + } + } + if (exchangeEndTime) { + //比如兑换(超时)截止时间是2020/12/8 09:20:04,现在时间是2020/12/6 + if (nowTimes < exchangeEndTime) { + //还可以兑换 + // 一:在兑换超时这一天(2020/12/8 09:20:04)的前2小时内通知 + if ((exchangeEndTime - nowTimes) <= 3600000 * 2) { + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}${(exchangeEndTime - nowTimes) / 60*60*1000}分钟后兑换超时\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, {'open-url': jxOpenUrl, 'media-url': $.picture}) + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}${(exchangeEndTime - nowTimes) / 60*60*1000}分钟后兑换超时\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, { url: jxOpenUrl }) + } + //二:在兑换超时日期前的时间一天通知三次(2020/12/6 9,10,11点,以及在2020/12/7 9,10,11点各通知一次) + if (nowHours === exchangeEndHours || nowHours === (exchangeEndHours + 1) || nowHours === (exchangeEndHours + 2)) { + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}已可兑换\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, {'open-url': jxOpenUrl, 'media-url': $.picture}) + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}已可兑换\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, { url: jxOpenUrl }) + } + } else { + //兑换已超时 + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}兑换已超时,请重新选择商品生产\n【兑换截止时间】${$.exchangeEndTime}`, {'open-url': jxOpenUrl}) + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}兑换已超时,请重新选择商品生产\n【兑换截止时间】${$.exchangeEndTime}`, { url: jxOpenUrl }) + } + } +} async function showMsg() { return new Promise(async resolve => { message += `【收取自己零件】${$.pickUpMyselfComponent ? `获得${$.pickEle}电力` : `今日已达上限`}\n`; From d922e5f14cc318b34ec1833254a23d49292370ca Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 6 Dec 2020 22:34:12 +0800 Subject: [PATCH 0261/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 27 ++++++++++++++++----------- jd_joy.js | 7 ++++--- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index b6ee71fd..a0198b78 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-25 18:19:21 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-28 09:58:02 + * @Last Modified time: 2020-12-06 22:58:02 */ /* 东东工厂,不是京喜工厂 @@ -45,7 +45,7 @@ if ($.isNode()) { } else { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } -let wantProduct = ``;//心仪商品名称 +let wantProduct = `移动电源`;//心仪商品名称 const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVWnYaS5m9cZ2ariXVJwHf0bgkG7Uo']; !(async () => { @@ -193,16 +193,21 @@ async function algorithm() { wantProductSkuId = item.skuId; } } - message += `心仪商品数量:${couponCount}\n`; - message += `心仪商品所需电量:${totalScore}\n`; - message += `您当前总电量:${$.batteryValue * 1}\n`; - if (wantProductSkuId && (($.batteryValue * 1) >= (totalScore))) { - console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${$.batteryValue * 1},【满足】兑换此商品所需总电量:${totalScore}`); - console.log(`请去活动页面选择心仪商品并手动投入电量兑换\n`); - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); + if (totalScore) { + // 库存存在您设置的心仪商品 + message += `心仪商品数量:${couponCount}\n`; + message += `心仪商品所需电量:${totalScore}\n`; + message += `您当前总电量:${$.batteryValue * 1}\n`; + if (wantProductSkuId && (($.batteryValue * 1) >= (totalScore))) { + console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${$.batteryValue * 1},【满足】兑换此商品所需总电量:${totalScore}`); + console.log(`请去活动页面选择心仪商品并手动投入电量兑换\n`); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); + } else { + console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${$.batteryValue * 1}\n不满足兑换心仪商品的条件\n`) + } } else { - console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${$.batteryValue * 1}\n不满足兑换心仪商品的条件\n`) + message += `目前库存:暂无您设置的心仪商品\n`; } } else { console.log(`BoxJs或环境变量暂未提供心仪商品\n如需兑换心仪商品,请提供心仪商品名称\n`); diff --git a/jd_joy.js b/jd_joy.js index e834b744..ec392ea2 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -2,7 +2,7 @@ jd宠汪汪 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_joy.js 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js IOS用户支持京东双账号,NodeJs用户支持N个京东账号 -更新时间:2020-12-05 +更新时间:2020-12-06 建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 feedCount:自定义 每次喂养数量; 等级只和喂养次数有关,与数量无关 推荐每次投喂10个,积累狗粮,然后去聚宝盆赌每小时的幸运奖,据观察,投入3000-6000中奖概率大,超过7000基本上注定亏本,即使是第一名 @@ -134,11 +134,11 @@ async function joinTwoPeopleRun() { console.log(`\n===========以下是双人赛跑信息========\n`) await getPetRace(); if ($.petRaceResult) { + teamLevel = $.isNode() ? (process.env.JOY_TEAM_LEVEL ? process.env.JOY_TEAM_LEVEL : teamLevel) : ($.getdata('JOY_TEAM_LEVEL') ? $.getdata('JOY_TEAM_LEVEL') : teamLevel); let petRaceResult = $.petRaceResult.data.petRaceResult; let raceUsers = $.petRaceResult.data.raceUsers; console.log(`赛跑状态:${petRaceResult}\n`); if (petRaceResult === 'not_participate') { - teamLevel = $.isNode() ? (process.env.JOY_TEAM_LEVEL ? process.env.JOY_TEAM_LEVEL : teamLevel) : ($.getdata('JOY_TEAM_LEVEL') ? $.getdata('JOY_TEAM_LEVEL') : teamLevel); console.log(`暂未参赛,现在为您参加${teamLevel}人赛跑`); await runMatch(teamLevel * 1); if ($.runMatchResult.success) { @@ -168,7 +168,7 @@ async function joinTwoPeopleRun() { console.log(`领取赛跑奖励结果:${JSON.stringify($.receiveJoyRunAwardRes)}`) if ($.receiveJoyRunAwardRes.success) { $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLevel}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n${teamLevel}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) + if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n${teamLevel}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) } } if (petRaceResult === 'participate') { @@ -612,6 +612,7 @@ function getPetRace() { } //参加赛跑API function runMatch(teamLevel, timeout = 5000) { + if (teamLevel === 10 || teamLevel === 50) timeout = 60000; console.log(`正在参赛中,请稍等${timeout / 1000}秒,以防多个账号匹配到统一赛场\n`) return new Promise(async resolve => { await $.wait(timeout); From 250193b329cdf0c1da8845d421b1394f665493b6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 6 Dec 2020 22:57:09 +0800 Subject: [PATCH 0262/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E4=B8=9C?= =?UTF-8?q?=E4=B8=9C=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=20=E6=AF=8F?= =?UTF-8?q?=E6=97=A510-13=E7=82=B9=E5=B7=A1=E5=8E=82=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=9C=AA=E5=81=9A=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index a0198b78..7f48bca3 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -1,6 +1,6 @@ /* * @Author: lxk0301 https://github.com/lxk0301 - * @Date: 2020-11-25 18:19:21 + * @Date: 2020-12-06 18:19:21 * @Last Modified by: lxk0301 * @Last Modified time: 2020-12-06 22:58:02 */ @@ -45,7 +45,7 @@ if ($.isNode()) { } else { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } -let wantProduct = `移动电源`;//心仪商品名称 +let wantProduct = ``;//心仪商品名称 const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVWnYaS5m9cZ2ariXVJwHf0bgkG7Uo']; !(async () => { @@ -289,11 +289,11 @@ async function doTask() { } if (item.taskType === 10) { if (item.status === 1) { - if (item.threeMealInfoVos.status === 1) { + if (item.threeMealInfoVos[0].status === 1) { //可以做此任务 console.log(`准备做此任务:${item.taskName}`); - await jdfactory_collectScore(item.threeMealInfoVos.taskToken); - } else if (item.threeMealInfoVos.status === 0) { + await jdfactory_collectScore(item.threeMealInfoVos[0].taskToken); + } else if (item.threeMealInfoVos[0].status === 0) { console.log(`${item.taskName} 任务已错过时间`) } } else if (item.status === 2){ From dd14edf2d690af9a39b0b476154c3e32a67f9cd4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 09:27:24 +0800 Subject: [PATCH 0263/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E8=87=AA=E5=8A=A8=E9=A2=86=E5=8F=96?= =?UTF-8?q?=E5=8A=B3=E6=A8=A1=E7=94=B5=E5=8A=9B=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 1b13aa9d..ccb46400 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2020-12-05 +更新时间:2020-12-07 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -296,7 +296,7 @@ function QueryHireReward() { if (data['ret'] === 0) { for (let item of data['data']['hireReward']) { if (item.date !== new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).Format("yyyyMMdd")) { - await hireAward(item.date); + await hireAward(item.date, item.type); } } } else { @@ -313,10 +313,10 @@ function QueryHireReward() { }) } // 收取招工电力 -function hireAward(date) { +function hireAward(date, type = 0) { return new Promise(async resolve => { // const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` - $.get(taskurl('friend/HireAward', `date=${date}&type=0`), async (err, resp, data) => { + $.get(taskurl('friend/HireAward', `date=${date}&type=${type}`), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From 415c5ba658b28dda3d1dc2d47716135e29124be8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 09:46:35 +0800 Subject: [PATCH 0264/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0timeout=E8=B6=85?= =?UTF-8?q?=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 4 +++- jd_jdfactory.js | 4 ++-- jd_pet.js | 4 +++- jd_plantBean.js | 4 +++- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index 114c1e2c..b0f4eeee 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1222,7 +1222,7 @@ function timeFormat(time) { return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); } function readShareCode() { - return new Promise(resolve => { + return new Promise(async resolve => { $.get({url: `http://api.turinglabs.net/api/v1/jd/farm/read/${randomCount}/`}, (err, resp, data) => { try { if (err) { @@ -1240,6 +1240,8 @@ function readShareCode() { resolve(data); } }) + await $.wait(10000); + resolve() }) } function shareCodesFormat() { diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 7f48bca3..ba9d5c3a 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -624,8 +624,8 @@ function readShareCode() { resolve(data); } }) - // await $.wait(2000); - // resolve() + await $.wait(10000); + resolve() }) } //格式化助力码 diff --git a/jd_pet.js b/jd_pet.js index 9c1542fa..7e712810 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -436,7 +436,7 @@ async function showMsg() { } } function readShareCode() { - return new Promise(resolve => { + return new Promise(async resolve => { $.get({url: `http://api.turinglabs.net/api/v1/jd/pet/read/${randomCount}/`}, (err, resp, data) => { try { if (err) { @@ -454,6 +454,8 @@ function readShareCode() { resolve(data); } }) + await $.wait(10000); + resolve() }) } function shareCodesFormat() { diff --git a/jd_plantBean.js b/jd_plantBean.js index 5a143237..00760e26 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -501,7 +501,7 @@ async function plantBeanIndex() { $.plantBeanIndexResult = await request('plantBeanIndex');//plantBeanIndexBody } function readShareCode() { - return new Promise(resolve => { + return new Promise(async resolve => { $.get({url: `http://api.turinglabs.net/api/v1/jd/bean/read/${randomCount}/`}, (err, resp, data) => { try { if (err) { @@ -519,6 +519,8 @@ function readShareCode() { resolve(data); } }) + await $.wait(15000); + resolve() }) } //格式化助力码 From 447b04322b67a8104125c6e2cb7f4965aded82ce Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 09:52:45 +0800 Subject: [PATCH 0265/1259] update --- jd_plantBean.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_plantBean.js b/jd_plantBean.js index 00760e26..1640b5f3 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -96,7 +96,7 @@ async function jdPlantBean() { awardState = roundList[0].awardState; $.taskList = $.plantBeanIndexResult.data.taskList; subTitle = `【京东昵称】${$.plantBeanIndexResult.data.plantUserInfo.plantNickName}`; - message += `【上期时间】${roundList[0].dateDesc}\n`; + message += `【上期时间】${roundList[0].dateDesc.replace('上期 ', '')}\n`; message += `【上期成长值】${roundList[0].growth}\n`; await receiveNutrients();//定时领取营养液 await doHelp();//助力 From f8dd9e996a9bb290b66b4a930fa664f0507f004c Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 10:31:37 +0800 Subject: [PATCH 0266/1259] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E9=87=91?= =?UTF-8?q?=E6=A6=9C=E5=B9=B4=E7=BB=88=E5=A5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdSplitShareCodes.js | 31 ++++ jd_split.js | 367 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 398 insertions(+) create mode 100644 jdSplitShareCodes.js create mode 100644 jd_split.js diff --git a/jdSplitShareCodes.js b/jdSplitShareCodes.js new file mode 100644 index 00000000..08ba75d4 --- /dev/null +++ b/jdSplitShareCodes.js @@ -0,0 +1,31 @@ +/* +金榜年终奖互助码 +此文件为Node.js专用。其他用户请忽略 +支持京东N个账号 + */ +//云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 +// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 PLANT_BEAN_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) +// 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 +// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 +let shareCodes = [ + '',//账号一的好友shareCode,不同好友中间用@符号隔开 + '',//账号二的好友shareCode,不同好友中间用@符号隔开 +] +// 判断github action里面是否有东东工厂互助码 +if (process.env.JDSPLIT_SHARECODES) { + if (process.env.JDSPLIT_SHARECODES.indexOf('&') > -1) { + console.log(`您的互助码选择的是用&隔开\n`) + shareCodes = process.env.JDSPLIT_SHARECODES.split('&'); + } else if (process.env.JDSPLIT_SHARECODES.indexOf('\n') > -1) { + console.log(`您的互助码选择的是用换行隔开\n`) + shareCodes = process.env.JDSPLIT_SHARECODES.split('\n'); + } else { + shareCodes = process.env.JDSPLIT_SHARECODES.split(); + } +} else if (process.env.JDSPLIT_SHARECODES) { + console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) +} +for (let i = 0; i < shareCodes.length; i++) { + const index = (i + 1 === 1) ? '' : (i + 1); + exports['shareCodes' + index] = shareCodes[i]; +} diff --git a/jd_split.js b/jd_split.js new file mode 100644 index 00000000..26ac4523 --- /dev/null +++ b/jd_split.js @@ -0,0 +1,367 @@ +/* +金榜年终奖 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#金榜年终奖 +10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=年终奖, enabled=true + +================Loon============== +[Script] +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js,tag=年终奖 + +===============Surge================= +金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js + +============小火箭========= +金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, cronexpr="10 0 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +const JD_API_HOST = 'https://api.m.jd.com/client.action'; +const inviteCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH']; +!(async () => { + await requireConfig(); + 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 = ''; + 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 shareCodesFormat(); + 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 => { + 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 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 readShareCode() { + console.log(`开始`) + return new Promise(async resolve => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/jdsplit/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(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`); + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From af570a0c501e3a4214bd44391d14772c710befb1 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 10:38:21 +0800 Subject: [PATCH 0267/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_split.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_split.js b/jd_split.js index 26ac4523..7f1716d5 100644 --- a/jd_split.js +++ b/jd_split.js @@ -5,17 +5,17 @@ ============Quantumultx=============== [task_local] #金榜年终奖 -10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=年终奖, enabled=true +10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js,tag=年终奖 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js,tag=年终奖 ===============Surge================= -金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js +金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js ============小火箭========= -金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, cronexpr="10 0 * * *", timeout=200, enable=true +金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, cronexpr="10 0 * * *", timeout=200, enable=true */ const $ = new Env('金榜年终奖'); From c1c9fec518677a3a5b3aad3e31c5ae3b2631b095 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 11:11:01 +0800 Subject: [PATCH 0268/1259] =?UTF-8?q?=E7=9F=AD=E6=9C=9F=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=EF=BC=8C=E5=8E=BB=E6=8E=89=E7=9B=B8=E5=85=B3=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdSplitShareCodes.js | 31 -------------------- jd_split.js | 67 +------------------------------------------- 2 files changed, 1 insertion(+), 97 deletions(-) delete mode 100644 jdSplitShareCodes.js diff --git a/jdSplitShareCodes.js b/jdSplitShareCodes.js deleted file mode 100644 index 08ba75d4..00000000 --- a/jdSplitShareCodes.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -金榜年终奖互助码 -此文件为Node.js专用。其他用户请忽略 -支持京东N个账号 - */ -//云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 PLANT_BEAN_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) -// 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 -// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 -let shareCodes = [ - '',//账号一的好友shareCode,不同好友中间用@符号隔开 - '',//账号二的好友shareCode,不同好友中间用@符号隔开 -] -// 判断github action里面是否有东东工厂互助码 -if (process.env.JDSPLIT_SHARECODES) { - if (process.env.JDSPLIT_SHARECODES.indexOf('&') > -1) { - console.log(`您的互助码选择的是用&隔开\n`) - shareCodes = process.env.JDSPLIT_SHARECODES.split('&'); - } else if (process.env.JDSPLIT_SHARECODES.indexOf('\n') > -1) { - console.log(`您的互助码选择的是用换行隔开\n`) - shareCodes = process.env.JDSPLIT_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JDSPLIT_SHARECODES.split(); - } -} else if (process.env.JDSPLIT_SHARECODES) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) -} -for (let i = 0; i < shareCodes.length; i++) { - const index = (i + 1 === 1) ? '' : (i + 1); - exports['shareCodes' + index] = shareCodes[i]; -} diff --git a/jd_split.js b/jd_split.js index 7f1716d5..651f8300 100644 --- a/jd_split.js +++ b/jd_split.js @@ -35,9 +35,8 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH']; +$.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH']; !(async () => { - await requireConfig(); if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; @@ -62,7 +61,6 @@ const inviteCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5nJc } continue } - await shareCodesFormat(); await jdSplit() } } @@ -232,69 +230,6 @@ function jdsplit_getTaskDetail() { }) } -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/jdsplit/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(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`); - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); - resolve() - }) -} function taskPostUrl(function_id, body = {}, function_id2) { let url = `${JD_API_HOST}`; if (function_id2) { From 93fae3dc5ceec3b7fd77fec07f41a21f33728ccd Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 11:11:14 +0800 Subject: [PATCH 0269/1259] =?UTF-8?q?=E7=A7=92=E6=9D=80=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_ms_redrain.js | 184 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 jd_ms_redrain.js diff --git a/jd_ms_redrain.js b/jd_ms_redrain.js new file mode 100644 index 00000000..7b3bdf9c --- /dev/null +++ b/jd_ms_redrain.js @@ -0,0 +1,184 @@ +/* +秒杀红包雨,可以获取3次,一天运行一次即可 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#秒杀红包雨 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ms_redrain.png, enabled=true + +================Loon============== +[Script] +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 + +===============Surge================= +秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js + +============小火箭========= +秒杀红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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; + } + 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 + } + 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(resolve => { + $.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` + + } else if (data.subCode === '8') { + 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))}&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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 3755d5b1e108da777fd7a8c12ec37c1e66026386 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 11:22:22 +0800 Subject: [PATCH 0270/1259] =?UTF-8?q?=E7=A7=92=E6=9D=80=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8=E8=84=9A=E6=9C=AC=EF=BC=8C=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=80=E4=B8=8BiOS=E4=BB=A3=E7=90=86=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=E5=BC=B9=E7=AA=97=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_ms_redrain.js | 5 +++-- jd_split.js | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/jd_ms_redrain.js b/jd_ms_redrain.js index 7b3bdf9c..4ba9d49c 100644 --- a/jd_ms_redrain.js +++ b/jd_ms_redrain.js @@ -95,11 +95,12 @@ function getRedRain() { data = JSON.parse(data); if (data.subCode === '0') { console.log(`领取成功,获得${JSON.stringify(data.lotteryResult)}`) - message+= `领取成功,获得${JSON.stringify(data.lotteryResult)}\n` + // 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 += `领取失败,今日已签到`; + message += `领取失败,今日已签到\n`; } else { console.log(`异常:${JSON.stringify(data)}`) } diff --git a/jd_split.js b/jd_split.js index 651f8300..4ae1007f 100644 --- a/jd_split.js +++ b/jd_split.js @@ -1,5 +1,5 @@ /* -金榜年终奖 +金榜年终奖 ,活动2020-12-12日结束 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== @@ -35,7 +35,7 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; -$.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH']; +$.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH', 'P04z54XCjVUnIaW5u2ak7ZCdan1BT0NlbBGZ1-rnMYj']; !(async () => { if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); From 355eb1d8cacf61136701f54894ff980780d02c89 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 11:30:05 +0800 Subject: [PATCH 0271/1259] =?UTF-8?q?docker=E6=96=B0=E5=A2=9E=E6=96=B0?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 5 ++++- docker/crontab_list_ts.sh | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index a6bb4bac..951f131e 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -8,7 +8,8 @@ ##############短期活动############## # 京喜故事(2020.12.12活动过期) 10 * * * * node /scripts/jd_jxstory.js >> /scripts/logs/jd_jxstory.log 2>&1 - +# 金榜年终奖(2020.12.12活动过期) +10 7 * * * node /scripts/jd_split.js >> /scripts/logs/jd_split.log 2>&1 ##############长期活动############## # 签到 @@ -63,3 +64,5 @@ 36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 #十元街 36 8 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 +#秒杀红包雨 +40 8 * * * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 0b13ca13..b41b19c2 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -8,8 +8,8 @@ ##############短期活动############## # 京喜故事(2020.12.12活动过期) 10 * * * * node /scripts/jd_jxstory.js |ts >> /scripts/logs/jd_jxstory.log 2>&1 - - +# 金榜年终奖(2020.12.12活动过期) +10 7 * * * node /scripts/jd_split.js |ts >> /scripts/logs/jd_split.log 2>&1 ##############长期活动############## # 签到 @@ -64,3 +64,5 @@ 36 * * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 #十元街 36 8 * * * node /scripts/jd_syj.js |ts >> /scripts/logs/jd_syj.log 2>&1 +#秒杀红包雨 +40 8 * * * node /scripts/jd_ms_redrain.js |ts >> /scripts/logs/jd_ms_redrain.log 2>&1 From 9033828b9c80852fe03851ba762f9918a1707ad3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 11:49:03 +0800 Subject: [PATCH 0272/1259] =?UTF-8?q?=E7=BA=A2=E5=8C=85=E9=9B=A8=E4=BF=AE?= =?UTF-8?q?=E6=94=B9task=E5=9B=BE=E6=A0=87=EF=BC=8C=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E5=86=99=E6=98=8E=E6=B4=BB=E5=8A=A8=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_ms_redrain.js | 4 +++- jd_split.js | 14 +++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/jd_ms_redrain.js b/jd_ms_redrain.js index 4ba9d49c..446e24c2 100644 --- a/jd_ms_redrain.js +++ b/jd_ms_redrain.js @@ -1,12 +1,14 @@ /* 秒杀红包雨,可以获取3次,一天运行一次即可 +活动时间:2020-12-1 到 2020-12-31 +活动入口:首页👉秒杀👉往下拉(手指向上滑动)👉可以看到狂撒2亿京东 更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #秒杀红包雨 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ms_redrain.png, enabled=true +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true ================Loon============== [Script] diff --git a/jd_split.js b/jd_split.js index 4ae1007f..a225c3cb 100644 --- a/jd_split.js +++ b/jd_split.js @@ -1,5 +1,7 @@ /* -金榜年终奖 ,活动2020-12-12日结束 +金榜年终奖 +活动时间:2020-12-12日结束 +活动入口:京东APP首页右边浮动飘窗 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== @@ -79,14 +81,8 @@ async function jdSplit() { } 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}`); - } + message += `任务已做完:具体奖品去发活动页面查看\n活动入口:京东APP首页右边浮动飘窗`; + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); resolve() }) } From d484963e1d2254e693ae409f3f113b6283b22a02 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 13:40:37 +0800 Subject: [PATCH 0273/1259] =?UTF-8?q?=E9=A6=96=E9=A1=B5-=E9=A2=86=E4=BA=AC?= =?UTF-8?q?=E8=B1=86-=E5=AE=8C=E6=88=905=E4=B8=AA=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 257 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 jd_bean_home.js diff --git a/jd_bean_home.js b/jd_bean_home.js new file mode 100644 index 00000000..84312dab --- /dev/null +++ b/jd_bean_home.js @@ -0,0 +1,257 @@ +/* +领京豆额外奖励 +入口:首页-领京豆 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#领京豆额外奖励 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true + +================Loon============== +[Script] +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 + +===============Surge================= +领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js + +============小火箭========= +领京豆额外奖励 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, cronexpr="10 7 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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; + $.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 jdBeanHome(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdBeanHome() { + await getTaskList() + await showMsg(); +} + +function showMsg() { + return new Promise(resolve => { + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + resolve() + }) +} + +function getTaskList() { + return new Promise(resolve => { + const body = {"rnVersion": "4.7", "rnClient": "2", "source": "AppHome"}; + $.post(taskUrl('findBeanHome', 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); + let beanTask = data.data.floorList.filter(vo => vo.floorName === "种豆得豆定制化场景")[0] + if (!beanTask.viewed) { + await receiveTask() + await $.wait(3000) + } + + let tasks = data.data.floorList.filter(vo => vo.floorName === "赚京豆")[0]['stageList'] + for (let i = 0; i < tasks.length; ++i) { + const vo = tasks[i] + if (vo.viewed) continue + await receiveTask(vo.stageId, `4_${vo.stageId}`) + await $.wait(3000) + } + await award() + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function receiveTask(itemId = "zddd", type = "3") { + return new Promise(resolve => { + const body = {"awardFlag": false, "itemId": itemId, "source": "home", "type": type}; + $.post(taskUrl('beanHomeTask', 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) { + console.log(`完成任务成功,进度${data.data.taskProgress}/${data.data.taskThreshold}`) + } + else{ + console.log(`完成任务失败,${data.errorMessage}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + + +function award() { + return new Promise(resolve => { + const body = {"awardFlag": true, "source": "home"}; + $.post(taskUrl('beanHomeTask', 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) { + console.log(`领奖成功,获得 ${data.data.beanNum} 个京豆`) + message += `领奖成功,获得 ${data.data.beanNum} 个京豆\n` + } else { + console.log(`领奖失败,${data.errorMessage}`) + message += `领奖失败,${data.errorMessage}\n` + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function taskUrl(function_id, body) { + body["version"] = "9.0.0.1"; + body["monitor_source"] = "plant_app_plant_index"; + body["monitor_refer"] = ""; + return { + url: JD_API_HOST, + body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=ld&client=apple&area=5_274_49707_49973&build=167283&clientVersion=9.1.0`, + headers: { + 'Cookie': cookie, + 'Host': 'api.m.jd.com', + 'Accept': '*/*', + 'Connection': 'keep-alive', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-Hans-CN;q=1,en-CN;q=0.9', + 'Accept-Encoding': 'gzip, deflate, br', + 'Content-Type': "application/x-www-form-urlencoded" + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} From 1f5b0103ffdb4bea3dccba5dc2b4806b18ed0d78 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 7 Dec 2020 14:02:01 +0800 Subject: [PATCH 0274/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=A2=86=E4=BA=AC=E8=B1=86=E9=A2=9D=E5=A4=96=E5=A5=96?= =?UTF-8?q?=E5=8A=B1Cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增领京豆额外奖励Cron --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 64e177e8..a4d14fdd 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: # 京豆变动通知 # 京东排行榜 + - timer: # 京豆变动通知 # 京东排行榜 # 领京豆额外奖励 parameters: - name: jd_bean_change_jd_rankingList + name: jd_bean_change_jd_rankingList_jd_bean_home cronExpression: "0 0 10 * * * *" enable: true - argument: jd_bean_change&jd_rankingList + argument: jd_bean_change&jd_rankingList&jd_bean_home - timer: # 金融养猪#十元街 parameters: name: jd_pigPet_jd_syj From f625b0a82740883c03d063b194747b1a63f20634 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 14:31:53 +0800 Subject: [PATCH 0275/1259] =?UTF-8?q?=E5=81=A5=E5=BA=B7=E6=8A=BD=E5=A5=96?= =?UTF-8?q?=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_health.js | 385 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 385 insertions(+) create mode 100644 jd_health.js diff --git a/jd_health.js b/jd_health.js new file mode 100644 index 00000000..978a6f6b --- /dev/null +++ b/jd_health.js @@ -0,0 +1,385 @@ +/* +健康抽奖机 +活动地址: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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, enabled=true + +================Loon============== +[Script] +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 + +===============Surge================= +健康抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js + +============小火箭========= +健康抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, cronexpr="10 0 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +const JD_API_HOST = 'https://api.m.jd.com/client.action'; +const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e']; +!(async () => { + await requireConfig(); + 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 = ''; + 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 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 811a1126e7af2d41111a79f4e6bc74dfe219fcb4 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 7 Dec 2020 15:38:03 +0800 Subject: [PATCH 0276/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=96=B0=E5=A2=9E=E7=A7=92=E6=9D=80=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步新增秒杀红包雨 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index a4d14fdd..85c7f751 100644 --- a/serverless.yml +++ b/serverless.yml @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace - - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝 + - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝# 秒杀红包雨 parameters: - name: redPacket_shop_unsubscribe_lotteryMachine_small_home + name: redPacket_shop_unsubscribe_lotteryMachine_small_home_ms_redrain cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine&jd_small_home + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine&jd_small_home&jd_ms_redrain - timer: # 京东天天加速# 天天提鹅 parameters: name: jd_speed_jd_daily_egg From 34d696b5d046e7c3ceef9ec06108905374284b6e Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 15:48:56 +0800 Subject: [PATCH 0277/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E6=B1=BD=E8=BD=A6?= =?UTF-8?q?=EF=BC=8C=E7=AD=BE=E5=88=B0=E6=BB=A1500=E8=B5=9B=E7=82=B9?= =?UTF-8?q?=E5=8F=AF=E5=85=91=E6=8D=A2500=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_car.js | 601 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 601 insertions(+) create mode 100644 jd_car.js diff --git a/jd_car.js b/jd_car.js new file mode 100644 index 00000000..bc792368 --- /dev/null +++ b/jd_car.js @@ -0,0 +1,601 @@ +/* +京东汽车,签到满500赛点可兑换500京豆 +长期活动 +活动入口:首页👉京东汽车👉屏幕右中部,车主福利 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东汽车 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车 + +===============Surge================= +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js + +============小火箭========= +京东汽车 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, cronexpr="10 7 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +const JD_API_HOST = 'https://car-member.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; + } + 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 jdCar(); + await showMsg(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdCar() { + 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 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); + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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) { + 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) +} From 9dec14ac983f9e96f14a99e91b69508b2b313aeb Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 7 Dec 2020 16:32:21 +0800 Subject: [PATCH 0278/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=96=B0=E5=A2=9E=E5=81=A5=E5=BA=B7=E6=8A=BD=E5=A5=96?= =?UTF-8?q?=E6=9C=BA&=E4=BA=AC=E4=B8=9C=E6=B1=BD=E8=BD=A6Cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步新增健康抽奖机&京东汽车Cron --- serverless.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/serverless.yml b/serverless.yml index 85c7f751..40a6cbcc 100644 --- a/serverless.yml +++ b/serverless.yml @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace - - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝# 秒杀红包雨 + - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝# 秒杀红包雨# 健康抽奖机 parameters: - name: redPacket_shop_unsubscribe_lotteryMachine_small_home_ms_redrain + name: redPacket_shop_unsubscribe_lotteryMachine_small_home_ms_redrain_health cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine&jd_small_home&jd_ms_redrain + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine&jd_small_home&jd_ms_redrain&jd_health - timer: # 京东天天加速# 天天提鹅 parameters: name: jd_speed_jd_daily_egg @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: # 京豆变动通知 # 京东排行榜 # 领京豆额外奖励 + - timer: # 京豆变动通知 # 京东排行榜 # 领京豆额外奖励 # 京东汽车 parameters: - name: jd_bean_change_jd_rankingList_jd_bean_home + name: bean_change_rankingList_bean_home_car cronExpression: "0 0 10 * * * *" enable: true - argument: jd_bean_change&jd_rankingList&jd_bean_home + argument: jd_bean_change&jd_rankingList&jd_bean_home&jd_car - timer: # 金融养猪#十元街 parameters: name: jd_pigPet_jd_syj From eb15d29b722682cc4829de507bc2b8b9967099d1 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 16:49:41 +0800 Subject: [PATCH 0279/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=BF=AB=E9=80=92?= =?UTF-8?q?=E7=AD=BE=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 签到领豆,14天内满4次和7次享额外奖励,每天运行一次即可 --- jd_kd.js | 197 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 jd_kd.js diff --git a/jd_kd.js b/jd_kd.js new file mode 100644 index 00000000..50c410aa --- /dev/null +++ b/jd_kd.js @@ -0,0 +1,197 @@ +/* +京东快递签到 +活动地址:https://jingcai-h5.jd.com/#/ +签到领豆,14天内满4次和7次享额外奖励,每天运行一次即可 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js + +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东快递签到 +10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true + +================Loon============== +[Script] +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到 + +===============Surge================= +京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js + +============小火箭========= +京东快递签到 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, cronexpr="10 0 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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; + } + 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 userSignIn(); + await showMsg(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +function showMsg() { + return new Promise(resolve => { + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + resolve() + }) +} +function userSignIn() { + return new Promise(resolve => { + $.post(taskUrl(), (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.code === 1) { + console.log(`今日签到成功,获得${data.content[0].title}`) + message += `今日签到成功,获得${data.content[0].title} 🐶\n`; + + } else if (data.code === -1) { + console.log(`今日已签到`) + message += `【签到】失败,今日已签到`; + } else { + console.log(`异常:${JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function taskUrl() { + return { + url: `https://lop-proxy.jd.com/jiFenApi/signInAndGetReward`, + body: '[{"userNo":"$cooMrdGatewayUid$"}]', + 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': '1607330170578', + '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From a75691bcba1dcbcc41526b5917454c242e4e816d Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 17:40:39 +0800 Subject: [PATCH 0280/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E4=BB=A3=E5=B1=9E?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=20=E7=B1=BB=E4=BC=BC=E5=8D=81=E5=85=83?= =?UTF-8?q?=E8=A1=97=EF=BC=8C=E9=99=90=E6=A0=A1=E5=9B=AD=E7=94=A8=E6=88=B7?= =?UTF-8?q?=20=E4=B8=80=E5=91=A8=E7=AD=BE=E5=88=B0=E4=B8=8B=E6=9D=A5?= =?UTF-8?q?=E5=8F=AF=E8=8E=B7=E5=BE=9730=E4=BA=AC=E8=B1=86=EF=BC=8C?= =?UTF-8?q?=E4=B8=80=E5=A4=A9=E4=BB=BB=E6=84=8F=E6=97=B6=E5=88=BB=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E4=B8=80=E6=AC=A1=E5=8D=B3=E5=8F=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_ds.js | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 jd_ds.js diff --git a/jd_ds.js b/jd_ds.js new file mode 100644 index 00000000..40e6bed3 --- /dev/null +++ b/jd_ds.js @@ -0,0 +1,198 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-27 09:19:21 + * @Last Modified by: shylocks https://github.com/shylocks + * @Last Modified time: 2020-12-7 17:39:02 + */ +/* +京东代属脚本,类似十元街,限校园用户 +一周签到下来可获得30京豆,一天任意时刻运行一次即可 + +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js +参考github@jidesheng6修改而来 +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东代属 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 + +===============Surge================= +京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js + +============小火箭========= +京东代属 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, cronexpr="10 7 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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; + $.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 userSignIn(); + await showMsg(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +function showMsg() { + return new Promise(resolve => { + $.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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 376f0d30900f79d2a8e942f1822415026c58a833 Mon Sep 17 00:00:00 2001 From: layne Date: Mon, 7 Dec 2020 17:43:46 +0800 Subject: [PATCH 0281/1259] jd_car code compress --- jd_car.js | 284 +----------------------------------------------------- 1 file changed, 1 insertion(+), 283 deletions(-) diff --git a/jd_car.js b/jd_car.js index bc792368..11312705 100644 --- a/jd_car.js +++ b/jd_car.js @@ -316,286 +316,4 @@ function safeGet(data) { } // 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) -} +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)} From 27fee9bc2e60ff2d755547683cd287d03003245f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 17:53:35 +0800 Subject: [PATCH 0282/1259] update --- jd_car.js | 18 ++++++++++-------- jd_ds.js | 2 +- jd_health.js | 4 ++-- jd_split.js | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/jd_car.js b/jd_car.js index bc792368..d4ca966c 100644 --- a/jd_car.js +++ b/jd_car.js @@ -1,5 +1,5 @@ /* -京东汽车,签到满500赛点可兑换500京豆 +京东汽车,签到满500赛点可兑换500京豆,一天运行一次即可 长期活动 活动入口:首页👉京东汽车👉屏幕右中部,车主福利 更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js @@ -127,13 +127,15 @@ function mission() { } else { if (safeGet(data)) { data = JSON.parse(data); - 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) // 等待防黑 + 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) // 等待防黑 + } } } } diff --git a/jd_ds.js b/jd_ds.js index 40e6bed3..abcdbd65 100644 --- a/jd_ds.js +++ b/jd_ds.js @@ -5,7 +5,7 @@ * @Last Modified time: 2020-12-7 17:39:02 */ /* -京东代属脚本,类似十元街,限校园用户 +京东代属脚本,类似十元街,⚠️⚠️⚠️⚠️限校园用户可使用,其他用户签到失败无京豆 一周签到下来可获得30京豆,一天任意时刻运行一次即可 更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js diff --git a/jd_health.js b/jd_health.js index 978a6f6b..bcfc2a2a 100644 --- a/jd_health.js +++ b/jd_health.js @@ -1,5 +1,5 @@ /* -健康抽奖机 +健康抽奖机 ,活动于2020-12-31日结束 活动地址:https://h5.m.jd.com/babelDiy/Zeus/3HBUP66Gnx92mRt2bXbT9VamYWSx/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -36,7 +36,7 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e']; +const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5m9cZ2T6jChKkh8FWbFAplQ', `P04z54XCjVUnoaW5u2ak7ZCdan1Bdbpik_F9ud7lznm`, `P04z54XCjVUnoaW5m9cZ2ariXVJwFN5uKHNqnc`]; !(async () => { await requireConfig(); if (!cookiesArr[0]) { diff --git a/jd_split.js b/jd_split.js index a225c3cb..9ff7f6b2 100644 --- a/jd_split.js +++ b/jd_split.js @@ -37,7 +37,7 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; -$.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH', 'P04z54XCjVUnIaW5u2ak7ZCdan1BT0NlbBGZ1-rnMYj']; +$.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5m9cZ2T6jChKki0Hfndla5k', 'P04z54XCjVUnIaW5u2ak7ZCdan1BT0NlbBGZ1-rnMYj', 'P04z54XCjVUnIaW5m9cZ2ariXVJwI64DaVTNXQ']; !(async () => { if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); From c56ffeae0c203eaeb906a91d9632c61f57682e3b Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 7 Dec 2020 18:11:19 +0800 Subject: [PATCH 0283/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=96=B0=E5=A2=9E=E4=BA=AC=E4=B8=9C=E5=BF=AB=E9=80=92?= =?UTF-8?q?=E3=80=81=E4=BC=98=E5=8C=96jd=5Fbean=5Fsign=E7=9A=84Cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步新增京东快递、优化jd_bean_sign的Cron --- serverless.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/serverless.yml b/serverless.yml index 40a6cbcc..8c4e03b7 100644 --- a/serverless.yml +++ b/serverless.yml @@ -19,7 +19,7 @@ inputs: - timer: # 签到 parameters: name: jd_bean_sign - cronExpression: "0 0 0,3 * * * *" + cronExpression: "0 0 0,7 * * * *" enable: true argument: jd_bean_sign - timer: # 京小超兑换奖品# 摇京豆 @@ -70,12 +70,12 @@ inputs: cronExpression: "0 0 10 * * * *" enable: true argument: jd_bean_change&jd_rankingList&jd_bean_home&jd_car - - timer: # 金融养猪#十元街 + - timer: # 金融养猪#十元街# 京东快递 parameters: - name: jd_pigPet_jd_syj - cronExpression: "0 12 13 * * * *" + name: pigPet_syj_kd + cronExpression: "0 3 2 * * * *" enable: true - argument: jd_pigPet&jd_syj + argument: jd_pigPet&jd_syj&jd_kd environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From a1f7091e77188e6004e3137057eaa21938fd5ce0 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 22:37:38 +0800 Subject: [PATCH 0284/1259] =?UTF-8?q?=E6=95=B0=E7=A0=81=E5=8A=A0=E8=B4=AD?= =?UTF-8?q?=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_digital_floor.js | 393 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 393 insertions(+) create mode 100644 jd_digital_floor.js diff --git a/jd_digital_floor.js b/jd_digital_floor.js new file mode 100644 index 00000000..13bcd811 --- /dev/null +++ b/jd_digital_floor.js @@ -0,0 +1,393 @@ +/* +数码加购京豆 +共计25京豆,一天运行一次即可 +活动时间:2020-12-4 到 2020-12-11 +活动入口:https://prodev.m.jd.com/mall/active/nKxVyPnuLwAsQSTfidZ9z4RKVZy/index.html#/ +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#数码加购京豆 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆 + +===============Surge================= +数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js + +============小火箭========= +数码加购京豆 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, cronexpr="10 7 * * *", timeout=200, 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`,'9d4262a5-1a02-4ae7-8a86-8d070d531464']; +//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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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/', {"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 = ''; + 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 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(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) { + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 1829331b093bb41f95c3f25d7a2835303d928d7d Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 7 Dec 2020 23:20:27 +0800 Subject: [PATCH 0285/1259] =?UTF-8?q?=E7=9B=B4=E6=92=AD=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8=20=E6=AF=8F=E5=A4=A90,9,11,13,15,17,19,20,21,23?= =?UTF-8?q?=E5=8F=AF=E9=A2=86=EF=BC=8C=E6=AF=8F=E6=97=A5=E4=B8=8A=E9=99=90?= =?UTF-8?q?=E6=9C=AA=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 184 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 jd_live_redrain.js diff --git a/jd_live_redrain.js b/jd_live_redrain.js new file mode 100644 index 00000000..86fd5a54 --- /dev/null +++ b/jd_live_redrain.js @@ -0,0 +1,184 @@ +/* +直播红包雨 +每天0,9,11,13,15,17,19,20,21,23可领,每日上限未知 +活动时间:2020-12-7 到 2020-12-12 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 + +===============Surge================= +直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js + +============小火箭========= +直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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; + } + 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 getRedRain(); + 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 => { + const body = {"actId":"RRA3dFHoZXGThSnctvtAf69dmVyEDfm"}; + $.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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 3a8f9510ae842327828c10ee9f9248447470d243 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 09:21:50 +0800 Subject: [PATCH 0286/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=81=E5=85=83?= =?UTF-8?q?=E8=A1=97=E7=AD=BE=E5=88=B0=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_syj.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/jd_syj.js b/jd_syj.js index b23140af..06720e00 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -86,10 +86,11 @@ function showMsg() { resolve() }) } +let signFlag = 0; function userSignIn() { return new Promise(resolve => { const body = {"activityId":"8d6845fe2e77425c82d5078d314d33c5","inviterId":"VMIQlLQqjQyjZokQmv5bIDgq011L0Ov8","channel":"MiniProgram"}; - $.get(taskUrl('userSignIn', body), (err, resp, data) => { + $.get(taskUrl('userSignIn', body), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -98,7 +99,8 @@ function userSignIn() { if (safeGet(data)) { data = JSON.parse(data); if (data.code === 0) { - console.log(`今日签到成功`) + signFlag = 0; + console.log(`${$.name}今日签到成功`); if (data.data) { let { alreadySignDays, beanTotalNum, todayPrize, eachDayPrize } = data.data; message += `【第${alreadySignDays}日签到】成功,获得${todayPrize.beanAmount}京豆 🐶\n`; @@ -109,6 +111,13 @@ function userSignIn() { } 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 { console.log(`异常:${JSON.stringify(data)}`) } From b4df13245a08515004746da4aef9a149f6c89a31 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 8 Dec 2020 09:23:10 +0800 Subject: [PATCH 0287/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8activityID=E5=8F=98=E5=8A=A8=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 69 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 57 insertions(+), 12 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 86fd5a54..85f7a873 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -33,7 +33,8 @@ 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_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { + }; } else { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } @@ -43,6 +44,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } + await getRedRain(); for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -59,21 +61,21 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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。 + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 } continue } - await getRedRain(); + await receiveRedRain(); await showMsg(); } } })() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) function showMsg() { return new Promise(resolve => { @@ -81,9 +83,33 @@ function showMsg() { resolve() }) } + function getRedRain() { return new Promise(resolve => { - const body = {"actId":"RRA3dFHoZXGThSnctvtAf69dmVyEDfm"}; + $.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 url = data.data.iconArea[0].data.activityUrl + $.activityId = url.substr(url.indexOf("id=") + 3) + } + } + } 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) { @@ -95,7 +121,7 @@ function getRedRain() { 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` + message += `${data.lotteryResult.jPeasList[0].ext}:${(data.lotteryResult.jPeasList[0].quantity)}京豆\n` } else if (data.subCode === '8') { console.log(`今日次数已满`) @@ -113,9 +139,25 @@ function getRedRain() { }) }) } + +function taskPostUrl(function_id, body = {}) { + return { + url: `https://api.m.jd.com/client.action?functionId=${function_id}`, + body: 'body=%7B%22liveId%22%3A%222940585%22%7D&build=167408&client=apple&clientVersion=9.2.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=Y&joycious=193&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&scope=01&sign=7e971605d8af9b6e40feb41e62893a63&st=1607389929151&sv=111&uts=0f31TVRjBSsxtiCuhT3/0Snw3oVtxkoVjP%2BnIIqtRBVZ6VIHub43H/trIkV5b%2BgqoCQ7mbttSEPca%2BOXsRcbxYda9CyPEW6BOlaC6KrfHnFbOmKyzcBSs1CpUf7QbFhQreXDZZjo44tCH2GKLlG5xh9SbE/Hggt//Go27hw79QdJ92%2BRFXGOEwN13aZu%2BrjHy50cnmfHmG8oU05aJ6vcjA%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}`, + 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", @@ -129,6 +171,7 @@ function taskUrl(function_id, body = {}) { } } } + function TotalBean() { return new Promise(async resolve => { const options = { @@ -169,6 +212,7 @@ function TotalBean() { }) }) } + function safeGet(data) { try { if (typeof JSON.parse(data) == "object") { @@ -180,5 +224,6 @@ function safeGet(data) { return false; } } + // 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)} From 0527361cecd01ecfa064eece14473d93c42fa46c Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 8 Dec 2020 09:32:58 +0800 Subject: [PATCH 0288/1259] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 85f7a873..f63e36ce 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -45,6 +45,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; return; } await getRedRain(); + if(!$.activityId) return for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -65,7 +66,14 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; } continue } - await receiveRedRain(); + 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(); } } @@ -94,8 +102,13 @@ function getRedRain() { } 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) { From 84b5a70d4deca940306dc3246e4f9bdc58079d2d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 09:38:19 +0800 Subject: [PATCH 0289/1259] =?UTF-8?q?docker=E6=96=B9=E6=B3=95=E4=B8=80?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B0=E5=A2=9E=E7=9A=84=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 18 ++++++++++++++++-- docker/crontab_list_ts.sh | 22 ++++++++++++++++++---- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 951f131e..85c6801d 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -10,6 +10,14 @@ 10 * * * * node /scripts/jd_jxstory.js >> /scripts/logs/jd_jxstory.log 2>&1 # 金榜年终奖(2020.12.12活动过期) 10 7 * * * node /scripts/jd_split.js >> /scripts/logs/jd_split.log 2>&1 +# 秒杀红包雨(2020.12.31活动过期) +40 8 * * * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 +# 健康抽奖机(2020.12.31活动过期) +10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 +# 直播红包雨(2020.12.12活动过期) +0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 +# 数码加购京豆(会加3-4个商品到购物车🛒,介意者勿用 , 2020.12.11活动过期) +# 8 0 * * * node /scripts/jd_digital_floor.js >> /scripts/logs/jd_digital_floor.log 2>&1 ##############长期活动############## # 签到 @@ -64,5 +72,11 @@ 36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 #十元街 36 8 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 -#秒杀红包雨 -40 8 * * * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 +# 京东代属(注:限校园用户可使用) +36 9 * * * node /scripts/jd_ds.js >> /scripts/logs/jd_ds.log 2>&1 +# 京东快递签到 +23 1 * * * node /scripts/jd_kd.js >> /scripts/logs/jd_kd.log 2>&1 +# 京东汽车(签到满500赛点可兑换500京豆) +33 2 * * * node /scripts/jd_car.js >> /scripts/logs/jd_car.log 2>&1 +# 领京豆额外奖励(每日可获得3京豆) +33 4 * * * node /scripts/jd_baen_home.js >> /scripts/logs/jd_baen_home.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index b41b19c2..777595c4 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -10,6 +10,14 @@ 10 * * * * node /scripts/jd_jxstory.js |ts >> /scripts/logs/jd_jxstory.log 2>&1 # 金榜年终奖(2020.12.12活动过期) 10 7 * * * node /scripts/jd_split.js |ts >> /scripts/logs/jd_split.log 2>&1 +# 秒杀红包雨(2020.12.31活动过期) +40 8 * * * node /scripts/jd_ms_redrain.js |ts >> /scripts/logs/jd_ms_redrain.log 2>&1 +# 健康抽奖机(2020.12.31活动过期) +10 0 * * * node /scripts/jd_health.js |ts >> /scripts/logs/jd_health.log 2>&1 +# 直播红包雨(2020.12.12活动过期) +0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js |ts >> /scripts/logs/jd_live_redrain.log 2>&1 +# 数码加购京豆(会加3-4个商品到购物车🛒,介意者勿用 , 2020.12.11活动过期) +# 8 0 * * * node /scripts/jd_digital_floor.js |ts >> /scripts/logs/jd_digital_floor.log 2>&1 ##############长期活动############## # 签到 @@ -62,7 +70,13 @@ 16 6 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 # 东东工厂 36 * * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 -#十元街 -36 8 * * * node /scripts/jd_syj.js |ts >> /scripts/logs/jd_syj.log 2>&1 -#秒杀红包雨 -40 8 * * * node /scripts/jd_ms_redrain.js |ts >> /scripts/logs/jd_ms_redrain.log 2>&1 +# 十元街 +36 8,18 * * * node /scripts/jd_syj.js |ts >> /scripts/logs/jd_syj.log 2>&1 +# 京东代属(注:限校园用户可使用) +36 9 * * * node /scripts/jd_ds.js |ts >> /scripts/logs/jd_ds.log 2>&1 +# 京东快递签到 +23 1 * * * node /scripts/jd_kd.js |ts >> /scripts/logs/jd_kd.log 2>&1 +# 京东汽车(签到满500赛点可兑换500京豆) +33 2 * * * node /scripts/jd_car.js |ts >> /scripts/logs/jd_car.log 2>&1 +# 领京豆额外奖励(每日可获得3京豆) +33 4 * * * node /scripts/jd_baen_home.js |ts >> /scripts/logs/jd_baen_home.log 2>&1 \ No newline at end of file From e006138a27429dcd3bd254c6051407dec9866474 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 10:17:06 +0800 Subject: [PATCH 0290/1259] =?UTF-8?q?=E8=A7=A3=E5=BC=80docker=E9=87=8C?= =?UTF-8?q?=E9=9D=A2=E5=8A=A0=E8=B4=AD=E5=BE=97=E4=BA=AC=E8=B1=86=E7=9A=84?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 4 ++-- docker/crontab_list_ts.sh | 4 ++-- jd_digital_floor.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 85c6801d..a6ef419a 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -16,8 +16,8 @@ 10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 # 直播红包雨(2020.12.12活动过期) 0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 -# 数码加购京豆(会加3-4个商品到购物车🛒,介意者勿用 , 2020.12.11活动过期) -# 8 0 * * * node /scripts/jd_digital_floor.js >> /scripts/logs/jd_digital_floor.log 2>&1 +# 数码加购京豆(2020.12.11活动过期) + 8 0 * * * node /scripts/jd_digital_floor.js >> /scripts/logs/jd_digital_floor.log 2>&1 ##############长期活动############## # 签到 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 777595c4..e39bed5f 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -16,8 +16,8 @@ 10 0 * * * node /scripts/jd_health.js |ts >> /scripts/logs/jd_health.log 2>&1 # 直播红包雨(2020.12.12活动过期) 0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js |ts >> /scripts/logs/jd_live_redrain.log 2>&1 -# 数码加购京豆(会加3-4个商品到购物车🛒,介意者勿用 , 2020.12.11活动过期) -# 8 0 * * * node /scripts/jd_digital_floor.js |ts >> /scripts/logs/jd_digital_floor.log 2>&1 +# 数码加购京豆(2020.12.11活动过期) + 8 0 * * * node /scripts/jd_digital_floor.js |ts >> /scripts/logs/jd_digital_floor.log 2>&1 ##############长期活动############## # 签到 diff --git a/jd_digital_floor.js b/jd_digital_floor.js index 13bcd811..87639008 100644 --- a/jd_digital_floor.js +++ b/jd_digital_floor.js @@ -28,7 +28,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; -const inviteCodes = [`40cd108f-9eed-4897-b795-45a5b221cd6b`,'9d4262a5-1a02-4ae7-8a86-8d070d531464']; +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()) { From a0d8f0757b267f55a6c64722b6036db51a778813 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 11:16:24 +0800 Subject: [PATCH 0291/1259] fix --- docker/crontab_list.sh | 2 +- docker/crontab_list_ts.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index a6ef419a..4c656d93 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -79,4 +79,4 @@ # 京东汽车(签到满500赛点可兑换500京豆) 33 2 * * * node /scripts/jd_car.js >> /scripts/logs/jd_car.log 2>&1 # 领京豆额外奖励(每日可获得3京豆) -33 4 * * * node /scripts/jd_baen_home.js >> /scripts/logs/jd_baen_home.log 2>&1 +33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index e39bed5f..be1452dc 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -79,4 +79,4 @@ # 京东汽车(签到满500赛点可兑换500京豆) 33 2 * * * node /scripts/jd_car.js |ts >> /scripts/logs/jd_car.log 2>&1 # 领京豆额外奖励(每日可获得3京豆) -33 4 * * * node /scripts/jd_baen_home.js |ts >> /scripts/logs/jd_baen_home.log 2>&1 \ No newline at end of file +33 4 * * * node /scripts/jd_bean_home.js |ts >> /scripts/logs/jd_bean_home.log 2>&1 \ No newline at end of file From 689bd713cd8986ca38f11f46c3b56fccc0ded912 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 11:31:57 +0800 Subject: [PATCH 0292/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list_ts.sh | 2 +- jd_live_redrain.js | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index be1452dc..b1dd6213 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -17,7 +17,7 @@ # 直播红包雨(2020.12.12活动过期) 0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js |ts >> /scripts/logs/jd_live_redrain.log 2>&1 # 数码加购京豆(2020.12.11活动过期) - 8 0 * * * node /scripts/jd_digital_floor.js |ts >> /scripts/logs/jd_digital_floor.log 2>&1 +8 0 * * * node /scripts/jd_digital_floor.js |ts >> /scripts/logs/jd_digital_floor.log 2>&1 ##############长期活动############## # 签到 diff --git a/jd_live_redrain.js b/jd_live_redrain.js index f63e36ce..66dca29b 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -102,13 +102,17 @@ function getRedRain() { } 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)}`) + if (data.data.iconArea) { + 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)}`) + } else { + console.log(`暂无红包雨`) + } } } } catch (e) { From d5d33f79e110a23300ec65a75ba492590d239492 Mon Sep 17 00:00:00 2001 From: Star-20202020 <74408783+Star-20202020@users.noreply.github.com> Date: Tue, 8 Dec 2020 14:31:20 +0800 Subject: [PATCH 0293/1259] Create lxk0301_gallery.json --- QuantumultX/lxk0301_gallery.json | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 QuantumultX/lxk0301_gallery.json diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json new file mode 100644 index 00000000..c8b037b2 --- /dev/null +++ b/QuantumultX/lxk0301_gallery.json @@ -0,0 +1,35 @@ +{ + "name":"lxk0301 task gallery", + "description":"https://github.com/lxk0301/jd_scripts", + "task":[ + "5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js , tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", + "20 7-19/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js , tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", + "10 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js , tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", + "15 */2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js , tag=宠汪汪 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "12 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js , tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "0 0,6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js , tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 0,8,12,16 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "8 */3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", + "15 */5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", + "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", + "11 1-23/5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", + "15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "20 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", + "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", + "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png" + ] +} From cc63e39c06b2873c5cf4dc1c63ad0a0dfef55161 Mon Sep 17 00:00:00 2001 From: Star-20202020 <74408783+Star-20202020@users.noreply.github.com> Date: Tue, 8 Dec 2020 14:36:36 +0800 Subject: [PATCH 0294/1259] Add files via upload --- .../3B3B3933-D53E-42BA-842F-2DA525FDEB18.jpeg | Bin 0 -> 677932 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 QuantumultX/3B3B3933-D53E-42BA-842F-2DA525FDEB18.jpeg diff --git a/QuantumultX/3B3B3933-D53E-42BA-842F-2DA525FDEB18.jpeg b/QuantumultX/3B3B3933-D53E-42BA-842F-2DA525FDEB18.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..754536f0a3ef5c80105dd556de10d0dace8fd7d2 GIT binary patch literal 677932 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�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%0D}gNS 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

Qqp><%K`O0c$J^(4+*D5TT>7Y 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 Date: Tue, 8 Dec 2020 15:07:03 +0800 Subject: [PATCH 0295/1259] Update lxk0301_gallery.json --- QuantumultX/lxk0301_gallery.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index c8b037b2..8065f315 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -30,6 +30,7 @@ "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png" + "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动" ] } From e9cb37b35207b98d0692155825019ee316b24e21 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 15:16:38 +0800 Subject: [PATCH 0296/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=81=97=E6=BC=8F?= =?UTF-8?q?=E7=9A=84=E5=B0=8F=E7=B1=B3=E8=BF=90=E5=8A=A8=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 2 +- backUp/xmSports.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 8065f315..8fabdb74 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -31,6 +31,6 @@ "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动" + "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] } diff --git a/backUp/xmSports.js b/backUp/xmSports.js index 16ffd1b3..9bb8b1c0 100644 --- a/backUp/xmSports.js +++ b/backUp/xmSports.js @@ -19,7 +19,7 @@ Surge 圈X [task_local] # 小米运动 -15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, enabled=true +15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true [rewrite_local] # 小米运动获取Token ^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js From faa9368e6e47e3888598dc49692c0fb117086771 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 15:23:45 +0800 Subject: [PATCH 0297/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=E5=95=86=E5=93=81=E5=8F=AF?= =?UTF-8?q?=E5=85=91=E6=8D=A2=E6=97=B6=E7=9A=84=E9=80=9A=E7=9F=A5=E9=A2=91?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 8fabdb74..78497688 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -26,7 +26,7 @@ "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", From bcf66c585fd8d62b31612351c7d10a196efe88f8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 15:25:50 +0800 Subject: [PATCH 0298/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9icon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 78497688..51baa667 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -21,7 +21,7 @@ "2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "20 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", - "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", From 3448d57a1e34386807b6e9b8aa99dbaaf1d03b0a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 19:55:42 +0800 Subject: [PATCH 0299/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index ba9d5c3a..ff91ff87 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -158,7 +158,7 @@ async function algorithm() { console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【满足】兑换此商品所需总电量:${totalScore + 100000}`); console.log(`请去活动页面更换成心仪商品并手动投入电量兑换\n`); $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面更换成心仪商品并手动投入电量兑换`); + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面更换成心仪商品并手动投入电量兑换`); } else { console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${remainScore * 1 + useScore * 1}\n不满足兑换心仪商品的条件\n`) } @@ -169,7 +169,7 @@ async function algorithm() { console.log(`BoxJs或环境变量暂未提供心仪商品,下面为您目前选的${name} 发送提示通知\n`); // await jdfactory_addEnergy(); $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请速去活动页面查看`); + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n所选商品${name}目前数量:${couponCount}\n当前总电量为:${remainScore * 1 + useScore * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请速去活动页面查看`); } else { console.log(`\n所选商品${name}目前数量:${couponCount},且当前总电量为:${remainScore * 1 + useScore * 1},【不满足】兑换此商品所需总电量:${totalScore}`) console.log(`故不一次性投入电力,一直放到蓄电池累计\n`); @@ -202,7 +202,7 @@ async function algorithm() { console.log(`\n提供的心仪商品${name}目前数量:${couponCount},且当前总电量为:${$.batteryValue * 1},【满足】兑换此商品所需总电量:${totalScore}`); console.log(`请去活动页面选择心仪商品并手动投入电量兑换\n`); $.msg($.name, '', `京东账号${$.index}${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n您提供的心仪商品${name}目前数量:${couponCount}\n当前总电量为:${$.batteryValue * 1}\n【满足】兑换此商品所需总电量:${totalScore}\n请去活动页面选择此心仪商品并手动投入电量兑换`); } else { console.log(`您心仪商品${name}\n当前数量为:${couponCount}\n兑换所需电量为:${totalScore}\n您当前总电量为:${$.batteryValue * 1}\n不满足兑换心仪商品的条件\n`) } @@ -217,7 +217,7 @@ async function algorithm() { message += `您当前总电量:${$.batteryValue * 1}\n`; if ($.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0].fullScore) { $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); } else { console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0].name}所需的 ${$.canMakeList[0].fullScore}电量\n`) } From 4dd11144da4ea4eeeba15773830e2eea063c042c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 8 Dec 2020 19:59:41 +0800 Subject: [PATCH 0300/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 57 ------------------------------------------------------- 1 file changed, 57 deletions(-) diff --git a/README.md b/README.md index 3fa86f5b..2a903127 100644 --- a/README.md +++ b/README.md @@ -120,63 +120,6 @@ 3、box可以支持多账号 -``` -# QuantumultX - -#东东农场 -5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true - -#东东萌宠 -15 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true - -# 种豆得豆 -1 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true - -#天天加速 -8 */3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true - -#京东摇钱树 -3 */2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true - -#京东宠汪汪 -15 */2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true - -#宠汪汪偷好友积分与狗粮 -0 0,6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true - -#京东宠汪汪喂食 -15 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true - -#宠汪汪积分兑换奖品 -0 0-16/8,12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true - -# 宠汪汪邀请助力与赛跑助力 -15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true - -#京小超 -11 1-23/5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js, tag=京小超, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true - -#京小超兑换奖品 -0 0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js, tag=京小超兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true - -#进店领豆 -10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true - -#摇京豆 -5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true - -#京东全民开红包 -1 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true - -#京豆变动通知 -2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, enabled=true - -#京东手机狂欢城 -1 0-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js, tag=京东手机狂欢城, enabled=true - -#京东星推官 -2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, tag=京东星推官, enabled=true -``` ### 赞赏码(开发维护不易,请赏杯茶水费)
From 751e12cedc8ae5e81a3793331a6f380f30a11e93 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 8 Dec 2020 22:53:58 +0800 Subject: [PATCH 0301/1259] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain2.js | 242 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 jd_live_redrain2.js diff --git a/jd_live_redrain2.js b/jd_live_redrain2.js new file mode 100644 index 00000000..a7a12622 --- /dev/null +++ b/jd_live_redrain2.js @@ -0,0 +1,242 @@ +/* +超级直播间红包雨 +每天20-23半点可领,每日上限未知 +活动时间:活动时间未知 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#超级直播间红包雨 +30 20-23/1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨 + +===============Surge================= +超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js + +============小火箭========= +超级直播间红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, cronexpr="30 20-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') : ''; +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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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; + } + 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/`, {"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 + } + 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: 'body=%7B%22liveId%22%3A%222944191%22%7D&client=apple&clientVersion=9.2.0&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&joycious=193&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&sign=50a7412cd1a664dd2c774720919c1623&st=1607438893006&sv=122&uts=0f31TVRjBSvNs/AdsIxcW3vOKTLS9m1Bkfr/wtDAnp3AVWQdjqfHK3cMzb8cm5zGmHoA7HXEP%2BEKvfkFqnuOUa47UbSXEBYqy8Xe9uFiFqLzothzz1rNDYFYUEBZke8y0AZ/s6K2pX86xNF4VWMYj/eLiATygM4HjgJI3Iok15tt%2BsrrbWI9QIPHucqMJOGYQCG0fM0VouQZwf8dOKAxkw%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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 12449b6ee495332e753d7f3ec22f9806f4cde8f0 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 8 Dec 2020 23:33:07 +0800 Subject: [PATCH 0302/1259] =?UTF-8?q?=E8=8B=B9=E6=9E=9C=E6=8A=BD=E5=A5=96?= =?UTF-8?q?=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_apple_live.js | 403 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 403 insertions(+) create mode 100644 jd_apple_live.js diff --git a/jd_apple_live.js b/jd_apple_live.js new file mode 100644 index 00000000..32ea767f --- /dev/null +++ b/jd_apple_live.js @@ -0,0 +1,403 @@ +/* +苹果抽奖机 +活动于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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, enabled=true + +================Loon============== +[Script] +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js,tag=苹果抽奖机 + +===============Surge================= +苹果抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js + +============小火箭========= +苹果抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, cronexpr="10 0 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +const JD_API_HOST = 'https://api.m.jd.com/client.action'; +const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow`, `P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow`]; +!(async () => { + await requireConfig(); + 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 = ''; + 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 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From bc2e90ccb298c5b97ea4a2c389ed22043c3cad4b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 9 Dec 2020 07:48:33 +0800 Subject: [PATCH 0303/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index ccb46400..407a05da 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -31,7 +31,7 @@ const JD_API_HOST = 'https://m.jingxi.com'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; -const tuanActiveId = `jfkcidGQavswLOBcAWljrw==`; +const tuanActiveId = `gaVXW_NJ0KPEA2LyUhoXzA==`; 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 = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; From 462b197b2714188998b2c2bc29cc42054422d615 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 9 Dec 2020 10:09:50 +0800 Subject: [PATCH 0304/1259] =?UTF-8?q?=E7=BA=A2=E5=8C=85=E9=9B=A8=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=EF=BC=8C=E5=90=A6=E5=88=99=E4=BC=9A=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=9A=82=E6=97=A0=E7=BA=A2=E5=8C=85=E9=9B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 66dca29b..2c6597cf 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -160,7 +160,7 @@ function receiveRedRain() { function taskPostUrl(function_id, body = {}) { return { url: `https://api.m.jd.com/client.action?functionId=${function_id}`, - body: 'body=%7B%22liveId%22%3A%222940585%22%7D&build=167408&client=apple&clientVersion=9.2.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=Y&joycious=193&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&scope=01&sign=7e971605d8af9b6e40feb41e62893a63&st=1607389929151&sv=111&uts=0f31TVRjBSsxtiCuhT3/0Snw3oVtxkoVjP%2BnIIqtRBVZ6VIHub43H/trIkV5b%2BgqoCQ7mbttSEPca%2BOXsRcbxYda9CyPEW6BOlaC6KrfHnFbOmKyzcBSs1CpUf7QbFhQreXDZZjo44tCH2GKLlG5xh9SbE/Hggt//Go27hw79QdJ92%2BRFXGOEwN13aZu%2BrjHy50cnmfHmG8oU05aJ6vcjA%3D%3D', + body: 'area=12_904_908_57903&body=%7B%22liveId%22%3A%222956873%22%7D&build=167408&client=apple&clientVersion=9.2.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=4fefb7b802a8b1d7ae4529ec32b0bda8&st=1607470636080&sv=121&uts=0f31TVRjBSvNs/AdsIxcW3vOKTLS9m1Bkfr/wtDAnp1q%2BaUi8exzmBNoKgjayIUv6x2Kyf6ccTzo3NpoIr0XxE05GZbP8oOh2s6rmFPTTjPhnIs%2BkxDNq6jbLa/OXerurB%2BctY3Sg9OWaR6%2BnF4XsNtDZrNmKU57jtBoJWI8O2D/lA%2B%2B7sFMhxC%2BxMi9yfyM%2BT%2Bu5DbTBDJCOR1QUIScQw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D', headers: { 'Host': 'api.m.jd.com', 'content-type': 'application/x-www-form-urlencoded', From 96ce84e67a6595fe4f47a2fb9b9bd2919db2fcd8 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 9 Dec 2020 10:27:33 +0800 Subject: [PATCH 0305/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=8BLoon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index b3d8a571..4f92c089 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -98,4 +98,28 @@ http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?re http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 # 小米运动获取Token -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token \ No newline at end of file +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token + +# 直播红包雨 +cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 + +# 苹果抽奖机 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js,tag=苹果抽奖机 + +# 京东代属 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 + +# 京东快递 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到 + +# 京东汽车 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车 + +# 领京豆额外奖励 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 + +# 京东秒杀红包雨 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 + +# 金榜年终奖 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js,tag=年终奖 From 720f712b6f41c0ec60e8c46bb5872f9eb593c062 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 9 Dec 2020 10:31:18 +0800 Subject: [PATCH 0306/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E7=BA=A2=E5=8C=85=E9=9B=A8=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 290 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 286 insertions(+), 4 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 2c6597cf..4566ca75 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -45,7 +45,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; return; } await getRedRain(); - if(!$.activityId) return + if (!$.activityId) return for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -103,8 +103,8 @@ function getRedRain() { if (safeGet(data)) { data = JSON.parse(data); if (data.data.iconArea) { - let act = data.data.iconArea[0] - let url = data.data.iconArea[0].data.activityUrl + let act = data.data.iconArea.filter(vo => vo['type'] === "platform_red_packege_rain")[0] + let url = act.data.activityUrl $.activityId = url.substr(url.indexOf("id=") + 3) $.startTime = act.startTime $.endTime = act.endTime @@ -243,4 +243,286 @@ function safeGet(data) { } // 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)} +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) +} From 3ce1959fbe096768bbafd87931a4313877ad84ab Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 9 Dec 2020 10:32:52 +0800 Subject: [PATCH 0307/1259] pretty --- jd_live_redrain.js | 288 +-------------------------------------------- 1 file changed, 3 insertions(+), 285 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 4566ca75..3364be7c 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -45,7 +45,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; return; } await getRedRain(); - if (!$.activityId) return + if(!$.activityId) return for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -103,7 +103,7 @@ function getRedRain() { if (safeGet(data)) { data = JSON.parse(data); if (data.data.iconArea) { - let act = data.data.iconArea.filter(vo => vo['type'] === "platform_red_packege_rain")[0] + let act = data.data.iconArea.filter(vo=>vo['type']==="platform_red_packege_rain")[0] let url = act.data.activityUrl $.activityId = url.substr(url.indexOf("id=") + 3) $.startTime = act.startTime @@ -243,286 +243,4 @@ function safeGet(data) { } // 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) -} +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)} From 5af444ee87571f6d86999aa3e5f874af5f6e3def Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 9 Dec 2020 12:10:28 +0800 Subject: [PATCH 0308/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=B7=BB=E5=8A=A0=E7=94=9F=E4=BA=A7=E5=95=86?= =?UTF-8?q?=E5=93=81=E7=9A=84=E6=89=80=E9=9C=80=E7=94=B5=E5=8A=9B=E4=B8=8E?= =?UTF-8?q?=E5=B7=B2=E6=8A=95=E7=94=B5=E5=8A=9B=E7=9A=84=E6=89=93=E5=8D=B0?= =?UTF-8?q?log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 407a05da..cf4a1737 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -542,6 +542,8 @@ function userInfo() { console.log(`当前电力:${data.user.electric}`) console.log(`当前等级:${data.user.currentLevel}`) console.log(`分享码: ${data.user.encryptPin}`); + console.log(`已投入电力:${production.investedElectric}`); + console.log(`所需电力:${production.needElectric}`); console.log(`生产进度:${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%`); message += `【京东账号${$.index}】${$.nickName}\n` message += `【生产商品】${$.productName}\n`; From 47a3a0ade68c95b643b32ad426f227621dd09d15 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 9 Dec 2020 12:53:36 +0800 Subject: [PATCH 0309/1259] =?UTF-8?q?fix=E4=BA=91=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E7=82=B9=E7=82=B9=E5=88=B820=E7=82=B9=E6=9C=AA=E9=A2=86?= =?UTF-8?q?=E5=8F=96=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix云函数点点券20点未领取的bug --- serverless.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverless.yml b/serverless.yml index 8c4e03b7..b7763dba 100644 --- a/serverless.yml +++ b/serverless.yml @@ -43,7 +43,7 @@ inputs: - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券 parameters: name: jd_joy_reward_jd_joy_steal_jd_necklace - cronExpression: "0 0 0-16/8 * * * *" + cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝# 秒杀红包雨# 健康抽奖机 From 3e5747e4064f1b99d507816d5aba3502b817a9f3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 9 Dec 2020 14:38:56 +0800 Subject: [PATCH 0310/1259] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=8E=9F=E4=BD=9C=E8=80=85=E4=BC=81=E9=B9=85=E9=98=85=E8=AF=BB?= =?UTF-8?q?=E7=9A=841=E9=87=91=E5=B8=81=E9=97=AE=E9=A2=98,=E5=9C=88xtask?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B7=BB=E5=8A=A0=E8=8B=B9=E6=9E=9C=E6=8A=BD?= =?UTF-8?q?=E5=A5=96=E6=9C=BA=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 1 + backUp/mySelf.boxjs.json | 2 +- backUp/qqread.js | 604 +++++++++++++------------------ jdDreamFactoryShareCodes.js | 6 +- jd_dreamFactory.js | 2 +- 5 files changed, 258 insertions(+), 357 deletions(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 51baa667..91f4420d 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -31,6 +31,7 @@ "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] } diff --git a/backUp/mySelf.boxjs.json b/backUp/mySelf.boxjs.json index 0aa942c0..15e015a4 100644 --- a/backUp/mySelf.boxjs.json +++ b/backUp/mySelf.boxjs.json @@ -9,7 +9,7 @@ "id": "QQ_READ", "name": "企鹅阅读(QQ小程序)", "keys": [ - "qqreadhd", + "qqreadbodyVal", "qqreadtimeurl", "qqreadtimehd" ], diff --git a/backUp/qqread.js b/backUp/qqread.js index 767c34c0..48c6d374 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -38,32 +38,22 @@ ziye ⚠️宝箱奖励为20分钟一次,自己根据情况设置定时,建议设置11分钟一次 hostname=mqqapi.reader.qq.com - ############## 圈x - -#企鹅读书获取cookie -https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js - +#企鹅读书获取更新body +https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track url script-request-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js #企鹅读书获取时长cookie https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js - - ############## loon - -//企鹅读书获取cookie -http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js,requires-header=true, tag=企鹅读书获取cookie - -//企鹅读书获取时长cookie +#企鹅读书获取更新body +http-request https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js,requires-body=true, tag=企鹅读书获取更新body +#企鹅读书获取时长cookie http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true, tag=企鹅读书获取时长cookie - - ############## surge +#企鹅读书获取更新body +企鹅读书获取更新body = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, script-update-interval=0 +#企鹅读书获取时长cookie +企鹅读书获取时长cookie = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js -//企鹅读书获取cookie -企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true - -//企鹅读书获取时长cookie -企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true */ @@ -74,20 +64,14 @@ let task = '', config, ssr2 = '', wktime; console.log(`\n========= 脚本执行时间(TM):${new Date(new Date().getTime() + 0 * 60 * 60 * 1000).toLocaleString('zh', {hour12: false})} =========\n`) const logs = 1; //0为关闭日志,1为开启 -const notifyInterval = 3 -//0为关闭通知,1为所有通知,2为宝箱领取成功通知,3为宝箱每15次通知一次 -const dd = 1//单次任务延迟,默认1秒 const TIME = 30//单次时长上传限制,默认5分钟 const maxtime = 20//每日上传时长限制,默认20小时 const wktimess = 1200//周奖励领取标准,默认1200分钟 -var tz = '' -const qqreadurlVal = `https://mqqapi.reader.qq.com/mqq/user/init`; -const qqreadurlKey = 'qqreadurl' -// const qqreadurlVal = $.getdata(qqreadurlKey) +let tz = '' +const qqreadbodyValKey = 'qqreadbodyVal' +let qqreadbodyVal = $.getdata(qqreadbodyValKey) -const qqreadheaderKey = 'qqreadhd' -let qqreadheaderVal = $.getdata(qqreadheaderKey) const qqreadtimeurlKey = 'qqreadtimeurl' let qqreadtimeurlVal = $.getdata(qqreadtimeurlKey) @@ -97,24 +81,23 @@ let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey) //云函数使用在下面填写 let QQ_READ_COOKIES = [ { - qqreadurlVal, - "qqreadheaderVal": ``, + "qqreadbodyVal": ``, "qqreadtimeurlVal": ``, "qqreadtimeheaderVal": `` } ] function getNodeCookie() { if ($.isNode()) { - let QQ_READ_HEADER_VAL = [], QQ_READ_TIME_URL_VAL = [], QQ_READ_TIME_HEADER_VAL = []; + let QQ_READ_BODY_VAL = [], QQ_READ_TIME_URL_VAL = [], QQ_READ_TIME_HEADER_VAL = []; if (process.env.QQ_READ_HEADER_VAL) { if (process.env.QQ_READ_HEADER_VAL.indexOf('@') > -1) { console.log(`您的QQ_READ_HEADER_VAL选择的是用@隔开\n`) - QQ_READ_HEADER_VAL = process.env.QQ_READ_HEADER_VAL.split('@'); + QQ_READ_BODY_VAL = process.env.QQ_READ_HEADER_VAL.split('@'); } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { console.log(`您的QQ_READ_HEADER_VAL选择的是用换行隔开\n`) - QQ_READ_HEADER_VAL = process.env.QQ_READ_HEADER_VAL.split('\n'); + QQ_READ_BODY_VAL = process.env.QQ_READ_HEADER_VAL.split('\n'); } else { - QQ_READ_HEADER_VAL = [process.env.QQ_READ_HEADER_VAL]; + QQ_READ_BODY_VAL = [process.env.QQ_READ_HEADER_VAL]; } // QQ_READ_HEADER_VAL = [...new Set(QQ_READ_HEADER_VAL)] // $.log(QQ_READ_HEADER_VAL) @@ -143,11 +126,10 @@ function getNodeCookie() { } // QQ_READ_TIME_HEADER_VAL = [...new Set(QQ_READ_TIME_HEADER_VAL)] } - if (QQ_READ_HEADER_VAL && QQ_READ_HEADER_VAL.length > 0) QQ_READ_COOKIES = []; - for (let i = 0; i < QQ_READ_HEADER_VAL.length; i ++) { + if (QQ_READ_BODY_VAL && QQ_READ_BODY_VAL.length > 0) QQ_READ_COOKIES = []; + for (let i = 0; i < QQ_READ_BODY_VAL.length; i ++) { QQ_READ_COOKIES.push({ - qqreadurlVal, - "qqreadheaderVal": QQ_READ_HEADER_VAL[i] || "", + "qqreadbodyVal": QQ_READ_BODY_VAL[i] || "", "qqreadtimeurlVal": QQ_READ_TIME_URL_VAL[i] || "", "qqreadtimeheaderVal": QQ_READ_TIME_HEADER_VAL[i] || "" }) @@ -174,24 +156,13 @@ if (isGetCookie) { } function GetCookie() { - - if ($request && $request.url.indexOf("init") >= 0) { - - // const qqreadurlVal = $request.url - // if (qqreadurlVal) $.setdata(qqreadurlVal, qqreadurlKey) - // $.log(`[${jsname}] 获取url请求: 成功,qqreadurlVal: ${qqreadurlVal}`) - - // const qqreadbodyVal = $request.body - // if (qqreadbodyVal) $.setdata(qqreadbodyVal, qqreadbodyKey) - // $.log(`[${jsname}] 获取阅读: 成功,qqreadbodyVal: ${qqreadbodyVal}`) - - // $.setdata(qqreadurlVal, qqreadurlKey); - const qqreadheaderVal = JSON.stringify($request.headers) - if (qqreadheaderVal) $.setdata(qqreadheaderVal, qqreadheaderKey) - $.log(`[${jsname}] 获取Cookie: 成功,qqreadheaderVal: ${qqreadheaderVal}`) - $.msg(qqreadheaderKey, `获取cookie: 成功🎉`, ``) - - } else if ($request && $request.url.indexOf("addReadTimeWithBid?") >= 0) { + if ($request.body && $request.body.indexOf("bookDetail_bottomBar_read_C") >= 0 && $request.body.indexOf("bookRead_show_I") >= 0 && $request.body.indexOf("topBar_left_back_C") < 0 && $request.body.indexOf("bookRead_dropOut_shelfYes_C") < 0) { + const qqreadbodyVal = $request.body; + if (qqreadbodyVal) $.setdata(qqreadbodyVal, qqreadbodyValKey); + $.log(`[${jsname}] 获取更新body: 成功,qqreadbodyVal: ${qqreadbodyVal}`); + $.msg(jsname, `获取更新body: 成功🎉`, ``); + } + if ($request && $request.url.indexOf("addReadTimeWithBid?") >= 0) { const qqreadtimeurlVal = $request.url if (qqreadtimeurlVal) $.setdata(qqreadtimeurlVal, qqreadtimeurlKey) $.log(`[${jsname}] 获取阅读时长url: 成功,qqreadtimeurlVal: ${qqreadtimeurlVal}`) @@ -200,7 +171,6 @@ function GetCookie() { if (qqreadtimeheaderVal) $.setdata(qqreadtimeheaderVal, qqreadtimeheaderKey) $.log(`[${jsname}] 获取时长header: 成功,qqreadtimeheaderVal: ${qqreadtimeheaderVal}`) $.msg(qqreadtimeheaderKey, `获取阅读时长cookie: 成功🎉`, ``) - } $.done(); } @@ -208,14 +178,15 @@ async function QQ_READ() { for (let i = 0; i < QQ_READ_COOKIES.length; i++) { $.log(`\n*************开始QQ账号${i + 1}**************\n`); tz = ''; - if (!QQ_READ_COOKIES[i]["qqreadheaderVal"] || !QQ_READ_COOKIES[i]['qqreadtimeurlVal'] || !QQ_READ_COOKIES[i]['qqreadtimeheaderVal']) { + if (!QQ_READ_COOKIES[i]["qqreadbodyVal"] || !QQ_READ_COOKIES[i]['qqreadtimeurlVal'] || !QQ_READ_COOKIES[i]['qqreadtimeheaderVal']) { $.log(`账号${i + 1}暂未提供脚本执行所需的cookie`); continue } - qqreadheaderVal = QQ_READ_COOKIES[i]['qqreadheaderVal']; + qqreadbodyVal = QQ_READ_COOKIES[i]['qqreadbodyVal']; qqreadtimeurlVal = QQ_READ_COOKIES[i]['qqreadtimeurlVal']; qqreadtimeheaderVal = QQ_READ_COOKIES[i]['qqreadtimeheaderVal']; await qqreadinfo();//用户名 + await qqreadtrack(); // await $.wait(2000) await qqreadconfig();//时长查询 // await $.wait(2000) @@ -261,460 +232,389 @@ async function QQ_READ() { await qqreadwktime();//周时长查询 await qqreadpick();//领周时长奖励 - await showmsg();//通知 + // await showmsg();//通知 } } -//任务列表 +// 任务列表 function qqreadtask() { return new Promise((resolve, reject) => { const toqqreadtaskurl = { - url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=', - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=", + headers: JSON.parse(qqreadtimeheaderVal), + + timeout: 60000, }; $.get(toqqreadtaskurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 任务列表: ${data}`) - task = JSON.parse(data) + if (logs) $.log(`${jsname}, 任务列表: ${data}`); + task = JSON.parse(data); + kz += + `【现金余额】:${(task.data.user.amount / 10000).toFixed(2)}元\n` + + `【已开宝箱】:${task.data.treasureBox.count}个\n`; + tz += - '【现金余额】:' + - (task.data.user.amount / 10000).toFixed(2) + - '元\n' + - '【第' + - task.data.invite.issue + - '期】:时间' + - task.data.invite.dayRange + - '\n' + - ' 已邀请' + - task.data.invite.inviteCount + - '人,再邀请' + - task.data.invite.nextInviteConfig.count + - '人获得' + - task.data.invite.nextInviteConfig.amount + - '金币\n' + - '【' + - task.data.taskList[0].title + - '】:' + - task.data.taskList[0].amount + - '金币,' + - task.data.taskList[0].actionText + - '\n' + - '【' + - task.data.taskList[1].title + - '】:' + - task.data.taskList[1].amount + - '金币,' + - task.data.taskList[1].actionText + - '\n' + - '【' + - task.data.taskList[2].title + - '】:' + - task.data.taskList[2].amount + - '金币,' + - task.data.taskList[2].actionText + - '\n' + - '【' + - task.data.taskList[3].title + - '】:' + - task.data.taskList[3].amount + - '金币,' + - task.data.taskList[3].actionText + - '\n' + - '【宝箱任务' + - (task.data.treasureBox.count + 1) + - '】:' + - task.data.treasureBox.tipText + - '\n' + - '【' + task.data.fans.title + - '】:' + - task.data.fans.fansCount + - '个好友,' + - task.data.fans.todayAmount + - '金币\n' + `【现金余额】:${(task.data.user.amount / 10000).toFixed(2)}元\n` + + `【第${task.data.invite.issue}期】:时间${task.data.invite.dayRange}\n` + + ` 已邀请${task.data.invite.inviteCount}人,再邀请${task.data.invite.nextInviteConfig.count}人获得${task.data.invite.nextInviteConfig.amount}金币\n` + + `【${task.data.taskList[0].title}】:${task.data.taskList[0].amount}金币,${task.data.taskList[0].actionText}\n` + + `【${task.data.taskList[1].title}】:${task.data.taskList[1].amount}金币,${task.data.taskList[1].actionText}\n` + + `【${task.data.taskList[2].title}】:${task.data.taskList[2].amount}金币,${task.data.taskList[2].actionText}\n` + + `【${task.data.taskList[3].title}】:${task.data.taskList[3].amount}金币,${task.data.taskList[3].actionText}\n` + + `【宝箱任务${task.data.treasureBox.count + 1}】:${ + task.data.treasureBox.tipText + }\n` + + `【${task.data.fans.title}】:${task.data.fans.fansCount}个好友,${task.data.fans.todayAmount}金币\n`; - resolve() - - }) - - }) + resolve(); + }); + }); } -//用户名 +// 更新 +function qqreadtrack() { + return new Promise((resolve, reject) => { + const body = qqreadbodyVal.replace(new RegExp(/"dis":[0-9]{13}/), `"dis":${new Date().getTime()}`) + const toqqreadtrackurl = { + url: "https://mqqapi.reader.qq.com/log/v4/mqq/track", + headers: JSON.parse(qqreadtimeheaderVal), + body: body, + timeout: 60000, + }; + $.post(toqqreadtrackurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 更新: ${data}`); + let track = JSON.parse(data); + tz += `【数据更新】:更新${track.msg}\n`; + resolve(); + }); + }); +} + + +// 用户名 function qqreadinfo() { return new Promise((resolve, reject) => { const toqqreadinfourl = { - url: qqreadurlVal, - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + url: "https://mqqapi.reader.qq.com/mqq/user/init", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.get(toqqreadinfourl, (error, response, data) => { - if (logs) $.log(`${jsname}, 用户名: ${data}`) - const info = JSON.parse(data) - tz += - '【用户信息】:' + info.data.user.nickName + '\n' + if (logs) $.log(`${jsname}, 用户名: ${data}`); + let info = JSON.parse(data); + kz += `\n========== 【${info.data.user.nickName}】 ==========\n`; + tz += `\n========== 【${info.data.user.nickName}】 ==========\n`; - resolve() - }) - }) + resolve(); + }); + }); } - -//阅豆签到 +// 阅豆签到 function qqreadtake() { return new Promise((resolve, reject) => { const toqqreadtakeurl = { - url: 'https://mqqapi.reader.qq.com/mqq/sign_in/user', - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + url: "https://mqqapi.reader.qq.com/mqq/sign_in/user", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.post(toqqreadtakeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅豆签到: ${data}`) - let take = JSON.parse(data) + if (logs) $.log(`${jsname}, 阅豆签到: ${data}`); + let take = JSON.parse(data); if (take.data.takeTicket > 0) { - tz += - '【阅豆签到】:获得' + take.data.takeTicket + '豆\n' + tz += `【阅豆签到】:获得${take.data.takeTicket}豆\n`; } - resolve() - }) - }) + resolve(); + }); + }); } - -//阅读时长任务 +// 阅读时长任务 function qqreadconfig() { return new Promise((resolve, reject) => { const toqqreadconfigurl = { - url: 'https://mqqapi.reader.qq.com/mqq/page/config?router=%2Fpages%2Fbook-read%2Findex&options=', - headers: JSON.parse(qqreadheaderVal), + url: + "https://mqqapi.reader.qq.com/mqq/page/config?router=%2Fpages%2Fbook-read%2Findex&options=", + headers: JSON.parse(qqreadtimeheaderVal), }; $.get(toqqreadconfigurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅读时长查询: ${data}`) - config = JSON.parse(data) + if (logs) $.log(`${jsname}, 阅读时长查询: ${data}`); + config = JSON.parse(data); if (config.code == 0) - tz += '【时长查询】:今日阅读' + (config.data.pageParams.todayReadSeconds / 60).toFixed(0) + '分钟\n' + tz += `【时长查询】:今日阅读${( + config.data.pageParams.todayReadSeconds / 60 + ).toFixed(0)}分钟\n`; - - resolve() - }) - }) + resolve(); + }); + }); } - -//阅读时长 +// 阅读时长 function qqreadtime() { return new Promise((resolve, reject) => { const toqqreadtimeurl = { url: qqreadtimeurlVal.replace(/readTime=/g, `readTime=${TIME}`), headers: JSON.parse(qqreadtimeheaderVal), - }; - $.get(toqqreadtimeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, qqreadtime-阅读时长: ${data}`) - let time = JSON.parse(data) - if (time && time.code == 0) tz += '【阅读时长】:上传' + TIME / 6 + '分钟\n' - resolve() - }) - }) + if (logs) $.log(`${jsname}, 阅读时长: ${data}`); + let time = JSON.parse(data); + if (time.code == 0) tz += `【阅读时长】:上传${TIME / 6}分钟\n`; + + resolve(); + }); + }); } - -//阅读金币1 +// 阅读金币1 function qqreadssr1() { return new Promise((resolve, reject) => { const toqqreadssr1url = { url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=30`, - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; - if (config.data.pageParams.todayReadSeconds / 60 >= 1) { - + if (config.data && config.data.pageParams.todayReadSeconds / 60 >= 1) { $.get(toqqreadssr1url, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币奖励1: ${data}`) - let ssr1 = JSON.parse(data) + if (logs) $.log(`${jsname}, 金币奖励1: ${data}`); + let ssr1 = JSON.parse(data); if (ssr1.data.amount > 0) - tz += '【阅读金币1】获得' + ssr1.data.amount + '金币\n' + tz += `【阅读金币1】获得${ssr1.data.amount}金币\n`; - - resolve() - }) + resolve(); + }); } - resolve() - }) + }); } - -//阅读金币2 +// 阅读金币2 function qqreadssr2() { return new Promise((resolve, reject) => { const toqqreadssr2url = { url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=300`, - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; - if (config.data.pageParams.todayReadSeconds / 60 >= 5) { - + if (config.data && config.data.pageParams.todayReadSeconds / 60 >= 5) { $.get(toqqreadssr2url, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币奖励2: ${data}`) - ssr2 = JSON.parse(data) - if (ssr2.code === 0) { - if (ssr2.data.amount > 0) tz += '【阅读金币2】获得' + ssr2.data.amount + '金币\n' - } - resolve() - }) + if (logs) $.log(`${jsname}, 金币奖励2: ${data}`); + ssr2 = JSON.parse(data); + if (ssr2.data.amount > 0) + tz += `【阅读金币2】获得${ssr2.data.amount}金币\n`; + + resolve(); + }); } - resolve() - }) + }); } - -//阅读金币3 +// 阅读金币3 function qqreadssr3() { return new Promise((resolve, reject) => { const toqqreadssr3url = { url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=1800`, - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; - - if (config.data.pageParams.todayReadSeconds / 60 >= 30) { - + if (config.data && config.data.pageParams.todayReadSeconds / 60 >= 30) { $.get(toqqreadssr3url, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币奖励3: ${data}`) - let ssr3 = JSON.parse(data) - if (ssr3.code === 0) { - if (ssr3.data.amount > 0) tz += '【阅读金币3】获得' + ssr3.data.amount + '金币\n' - } - resolve() - }) + if (logs) $.log(`${jsname}, 金币奖励3: ${data}`); + let ssr3 = JSON.parse(data); + if (ssr3.data.amount > 0) + tz += `【阅读金币3】获得${ssr3.data.amount}金币\n`; + + resolve(); + }); } - resolve() - }) + }); } - -//金币签到 +// 金币签到 function qqreadsign() { return new Promise((resolve, reject) => { const toqqreadsignurl = { - url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in/page', - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in/page", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.get(toqqreadsignurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币签到: ${data}`) - let sign = JSON.parse(data) - + if (logs) $.log(`${jsname}, 金币签到: ${data}`); + sign = JSON.parse(data); if (sign.data.videoDoneFlag) { - tz += - '【金币签到】:获得' + sign.data.todayAmount + '金币\n' + tz += `【金币签到】:获得${sign.data.todayAmount}金币\n`; } - - - resolve() - }) - }) + resolve(); + }); + }); } - -//金币签到翻倍 +// 金币签到翻倍 function qqreadsign2() { return new Promise((resolve, reject) => { const toqqreadsign2url = { - url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in_video', - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in_video", + + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.get(toqqreadsign2url, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币签到翻倍: ${data}`) - let sign2 = JSON.parse(data) - + if (logs) $.log(`${jsname}, 金币签到翻倍: ${data}`); + let sign2 = JSON.parse(data); if (sign2.code == 0) { - tz += - '【签到翻倍】:获得' + sign2.data.amount + '金币\n' + tz += `【签到翻倍】:获得${sign2.data.amount}金币\n`; } - resolve() - }) - }) + resolve(); + }); + }); } - -//每日阅读 +// 每日阅读 function qqreaddayread() { return new Promise((resolve, reject) => { const toqqreaddayreadurl = { - url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book', - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book", + + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.get(toqqreaddayreadurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 每日阅读: ${data}`) - let dayread = JSON.parse(data) + if (logs) $.log(`${jsname}, 每日阅读: ${data}`); + let dayread = JSON.parse(data); if (dayread.code == 0) { - tz += - '【每日阅读】:获得' + dayread.data.amount + '金币\n' - + tz += `【每日阅读】:获得${dayread.data.amount}金币\n`; } - resolve() - }) - }) + resolve(); + }); + }); } - -//视频奖励 +// 视频奖励 function qqreadvideo() { return new Promise((resolve, reject) => { const toqqreadvideourl = { - url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/watch_video', - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/watch_video", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.get(toqqreadvideourl, (error, response, data) => { - if (logs) $.log(`${jsname}, 视频奖励: ${data}`) - let video = JSON.parse(data) - + if (logs) $.log(`${jsname}, 视频奖励: ${data}`); + let video = JSON.parse(data); if (video.code == 0) { - tz += - '【视频奖励】:获得' + video.data.amount + '金币\n' - + tz += `【视频奖励】:获得${video.data.amount}金币\n`; } - resolve() - }) - }) + resolve(); + }); + }); } - -//宝箱奖励 +// 宝箱奖励 function qqreadbox() { return new Promise((resolve, reject) => { - const toqqreadboxurl = { - url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box', - - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.get(toqqreadboxurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 宝箱奖励: ${data}`) - const box = JSON.parse(data) - + if (logs) $.log(`${jsname}, 宝箱奖励: ${data}`); + let box = JSON.parse(data); if (box.data.count >= 0) { - tz += - '【宝箱奖励' + box.data.count + '】:获得' + box.data.amount + '金币\n' - + tz += `【宝箱奖励${box.data.count}】:获得${box.data.amount}金币\n`; } - resolve() - }) - }) + resolve(); + }); + }); } -//宝箱奖励翻倍 +// 宝箱奖励翻倍 function qqreadbox2() { return new Promise((resolve, reject) => { - const toqqreadbox2url = { - url: 'https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video', + url: + "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video", - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.get(toqqreadbox2url, (error, response, data) => { - if (logs) $.log(`${jsname}, 宝箱奖励翻倍: ${data}`) - let box2 = JSON.parse(data) - + if (logs) $.log(`${jsname}, 宝箱奖励翻倍: ${data}`); + let box2 = JSON.parse(data); if (box2.code == 0) { - tz += - '【宝箱翻倍】:获得' + box2.data.amount + '金币\n' + tz += `【宝箱翻倍】:获得${box2.data.amount}金币\n`; } - resolve() - }) - }) + resolve(); + }); + }); } -//本周阅读时长 +// 本周阅读时长 function qqreadwktime() { return new Promise((resolve, reject) => { - const toqqreadwktimeurl = { - url: `https://mqqapi.reader.qq.com/mqq/v1/bookShelfInit`, - - headers: JSON.parse(qqreadheaderVal), - + headers: JSON.parse(qqreadtimeheaderVal), }; - $.get(toqqreadwktimeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, qqreadwktime 阅读时长: ${data}`) - wktime = JSON.parse(data) - if (wktime.code == 0) tz += '【本周阅读时长】:' + wktime.data.readTime + '分钟\n' - resolve() - }) - }) + if (logs) $.log(`${jsname}, 阅读时长: ${data}`); + wktime = JSON.parse(data); + if (wktime.code == 0) + tz += `【本周阅读时长】:${wktime.data.readTime}分钟\n`; + + resolve(); + }); + }); } - -//本周阅读时长奖励任务 +// 本周阅读时长奖励任务 function qqreadpick() { return new Promise((resolve, reject) => { const toqqreadpickurl = { url: `https://mqqapi.reader.qq.com/mqq/pickPackageInit`, - headers: JSON.parse(qqreadheaderVal), + headers: JSON.parse(qqreadtimeheaderVal), }; - - if (wktime.data.readTime >= wktimess) { + if (wktime.data.readTime >= wktimess && wktime.data.readTime <= 1250) { $.get(toqqreadpickurl, (error, response, data) => { - if (logs) $.log(`${jsname},周阅读时长奖励任务: ${data}`) - let pick = JSON.parse(data) - if (pick.data[7].isPick == true) - tz += '【周时长奖励】:已全部领取\n' + if (logs) $.log(`${jsname},周阅读时长奖励任务: ${data}`); + let pick = JSON.parse(data); + if (pick.data[7].isPick == true) tz += "【周时长奖励】:已全部领取\n"; + for (let i = 0; i < pick.data.length; i++) { setTimeout(() => { - var pickid = pick.data[i].readTime - var Packageid = ['10', '10', '20', '30', '50', '80', '100', '120'] + const pickid = pick.data[i].readTime; + const Packageid = [ + "10", + "10", + "20", + "30", + "50", + "80", + "100", + "120", + ]; const toqqreadPackageurl = { url: `https://mqqapi.reader.qq.com/mqq/pickPackage?readTime=${pickid}`, - headers: JSON.parse(qqreadheaderVal), - timeout: 60000 + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, }; $.get(toqqreadPackageurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 领周阅读时长: ${data}`) - let Package = JSON.parse(data) + if (logs) $.log(`${jsname}, 领周阅读时长: ${data}`); + Package = JSON.parse(data); if (Package.code == 0) - tz += '【周时长奖励' + (i + 1) + '】:领取' + Packageid[i] + '阅豆\n' - }) - - }, i * 100) + tz += `【周时长奖励${i + 1}】:领取${Packageid[i]}阅豆\n`; + }); + }, i * 100); } - - }) - resolve() + }); + resolve(); } - resolve() - }) -} - - -function showmsg() { - return new Promise(async resolve => { - console.log(tz) - - if (notifyInterval == 1) - $.msg(jsname, '', tz)//显示所有通知 - - else if (notifyInterval == 2 && task.data.treasureBox.doneFlag == 0) - $.msg(jsname, '', tz)//宝箱领取成功通知 - - else if (notifyInterval == 3 && task.data.treasureBox.count == 0 || task.data.treasureBox.count == 15 || task.data.treasureBox.count == 30 || task.data.treasureBox.count == 45 || task.data.treasureBox.count == 60) - $.msg(jsname, '', tz)//宝箱每15次通知一次 - resolve() - }) + }); } diff --git a/jdDreamFactoryShareCodes.js b/jdDreamFactoryShareCodes.js index 5f591dc8..61148552 100644 --- a/jdDreamFactoryShareCodes.js +++ b/jdDreamFactoryShareCodes.js @@ -4,12 +4,12 @@ 支持京东N个账号 */ //云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 PLANT_BEAN_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) +// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 DREAM_FACTORY_SHARE_CODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let shareCodes = [ - 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==',//账号一的好友shareCode,不同好友中间用@符号隔开 - '1uzRU5HkaUgvy0AB5Q9VUg==@PDPM257r_KuQhil2Y7koNw==',//账号二的好友shareCode,不同好友中间用@符号隔开 + 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==@-OvElMzqeyeGBWazWYjI1Q==',//账号一的好友shareCode,不同好友中间用@符号隔开 + '1uzRU5HkaUgvy0AB5Q9VUg==@PDPM257r_KuQhil2Y7koNw==@-OvElMzqeyeGBWazWYjI1Q==',//账号二的好友shareCode,不同好友中间用@符号隔开 ] // 判断github action里面是否有东东萌宠互助码 if (process.env.DREAM_FACTORY_SHARE_CODES) { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index cf4a1737..5a9c6b93 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -34,7 +34,7 @@ const randomCount = $.isNode() ? 20 : 5; const tuanActiveId = `gaVXW_NJ0KPEA2LyUhoXzA==`; 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 = ''; -const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw=="]; +const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { From 36330593fe3f3dcee62bc1b6da5d2c5fa83b74df Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 9 Dec 2020 14:56:56 +0800 Subject: [PATCH 0311/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/qqread.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 48c6d374..320da6d4 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -6,7 +6,7 @@ 多个账号 对应三个环境变量/secret 使用@符号或者换行隔开 iOS可使用BoxJs可使用此订阅修改复制所需的环境变量 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/mySelf.boxjs.json 环境变量与BoxJs里面对应关系 - QQ_READ_HEADER_VAL ------》 qqreadhd + QQ_READ_HEADER_VAL ------》 qqreadbodyVal QQ_READ_TIME_URL_VAL ------》 qqreadtimeurl QQ_READ_TIME_HEADER_VAL ------》 qqreadtimehd ***************************************************************************************************************** @@ -68,7 +68,7 @@ const logs = 1; //0为关闭日志,1为开启 const TIME = 30//单次时长上传限制,默认5分钟 const maxtime = 20//每日上传时长限制,默认20小时 const wktimess = 1200//周奖励领取标准,默认1200分钟 -let tz = '' +let tz = '',kz; const qqreadbodyValKey = 'qqreadbodyVal' let qqreadbodyVal = $.getdata(qqreadbodyValKey) @@ -232,10 +232,12 @@ async function QQ_READ() { await qqreadwktime();//周时长查询 await qqreadpick();//领周时长奖励 - // await showmsg();//通知 + await showmsg();//通知 } } - +function showmsg() { + $.msg(jsname, "", tz); // 宝箱每15次通知一次 +} // 任务列表 function qqreadtask() { return new Promise((resolve, reject) => { @@ -359,7 +361,7 @@ function qqreadtime() { headers: JSON.parse(qqreadtimeheaderVal), }; $.get(toqqreadtimeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅读时长: ${data}`); + if (logs) $.log(`${jsname}, 阅读时长qqreadtime: ${data}`); let time = JSON.parse(data); if (time.code == 0) tz += `【阅读时长】:上传${TIME / 6}分钟\n`; @@ -614,6 +616,7 @@ function qqreadpick() { }); resolve(); } + resolve(); }); } From 68f9b6e2d18c353c623e6b73dac3ee0110c002f2 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 9 Dec 2020 16:35:59 +0800 Subject: [PATCH 0312/1259] PUBG --- Loon/lxk0301_LoonTask.conf | 3 + jd_pubg.js | 500 +++++++++++++++++++++++++++++++++++++ 2 files changed, 503 insertions(+) create mode 100644 jd_pubg.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 4f92c089..24eee260 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -123,3 +123,6 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 金榜年终奖 cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js,tag=年终奖 + +# PUBG +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js,tag=PUBG diff --git a/jd_pubg.js b/jd_pubg.js new file mode 100644 index 00000000..2bea1504 --- /dev/null +++ b/jd_pubg.js @@ -0,0 +1,500 @@ +/* +PUBG +活动于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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, tag=PUBG, enabled=true + +================Loon============== +[Script] +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js,tag=PUBG + +===============Surge================= +PUBG = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js + +============小火箭========= +PUBG = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, cronexpr="10 0 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +const JD_API_HOST = 'https://starsingle.m.jd.com/guardianstar/'; +const inviteCodes = ['65561ad5-af72-4d1c-a5be-37b3de372b67@2d5f579d-e6d1-479e-931f-c275d602caf5','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/', {"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 = ''; + 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 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] + 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) { + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 91bdcb573b3c2c43d19568d252f898f7946fbd35 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 9 Dec 2020 17:42:55 +0800 Subject: [PATCH 0313/1259] =?UTF-8?q?=E5=9C=88x=E5=92=8Cdocker=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=96=B0=E5=A2=9E=E8=84=9A=E6=9C=AC,=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=84=9A=E6=9C=AC=E5=86=85=E7=BD=AE=E8=AF=B4=E6=98=8E?= =?UTF-8?q?(=E4=BC=9A=E7=BB=99=E5=86=85=E7=BD=AE=E7=A0=81=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E5=8A=A9=E5=8A=9B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 1 + docker/crontab_list.sh | 6 +++++- docker/crontab_list_ts.sh | 4 ++++ jd_apple_live.js | 3 ++- jd_digital_floor.js | 1 + jd_health.js | 1 + jd_pubg.js | 5 +++-- jd_split.js | 1 + 8 files changed, 18 insertions(+), 4 deletions(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 91f4420d..1db5c159 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -32,6 +32,7 @@ "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "10 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, tag=PUBG, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] } diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 4c656d93..edde6fd1 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -17,7 +17,11 @@ # 直播红包雨(2020.12.12活动过期) 0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 # 数码加购京豆(2020.12.11活动过期) - 8 0 * * * node /scripts/jd_digital_floor.js >> /scripts/logs/jd_digital_floor.log 2>&1 +8 0 * * * node /scripts/jd_digital_floor.js >> /scripts/logs/jd_digital_floor.log 2>&1 +# jd_apple_live +8 0,20 * * * node /scripts/jd_apple_live.js >> /scripts/logs/jd_apple_live.log 2>&1 +# jd_pubg +8 1,20 * * * node /scripts/jd_pubg.js >> /scripts/logs/jd_pubg.log 2>&1 ##############长期活动############## # 签到 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index b1dd6213..90039c3c 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -18,6 +18,10 @@ 0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js |ts >> /scripts/logs/jd_live_redrain.log 2>&1 # 数码加购京豆(2020.12.11活动过期) 8 0 * * * node /scripts/jd_digital_floor.js |ts >> /scripts/logs/jd_digital_floor.log 2>&1 +# jd_apple_live +8 0,20 * * * node /scripts/jd_apple_live.js |ts >> /scripts/logs/jd_apple_live.log 2>&1 +# jd_pubg +8 1,20 * * * node /scripts/jd_pubg.js |ts >> /scripts/logs/jd_pubg.log 2>&1 ##############长期活动############## # 签到 diff --git a/jd_apple_live.js b/jd_apple_live.js index 32ea767f..09081143 100644 --- a/jd_apple_live.js +++ b/jd_apple_live.js @@ -1,5 +1,6 @@ /* 苹果抽奖机 +脚本会给内置的码进行助力 活动于2020-12-14日结束 活动地址:https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/ 已支持IOS双京东账号,Node.js支持N个京东账号 @@ -37,7 +38,7 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow`, `P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow`]; +const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow@P04z54XCjVUm4aW5u2ak7ZCdan1BeYMuZ9HwF34gJjW@P04z54XCjVUm4aW5m9cZ2T6jChKkkjZEdhiKUY`, `P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow`]; !(async () => { await requireConfig(); if (!cookiesArr[0]) { diff --git a/jd_digital_floor.js b/jd_digital_floor.js index 87639008..4d518ee8 100644 --- a/jd_digital_floor.js +++ b/jd_digital_floor.js @@ -1,5 +1,6 @@ /* 数码加购京豆 +脚本会给内置的码进行助力 共计25京豆,一天运行一次即可 活动时间:2020-12-4 到 2020-12-11 活动入口:https://prodev.m.jd.com/mall/active/nKxVyPnuLwAsQSTfidZ9z4RKVZy/index.html#/ diff --git a/jd_health.js b/jd_health.js index bcfc2a2a..bc435556 100644 --- a/jd_health.js +++ b/jd_health.js @@ -1,5 +1,6 @@ /* 健康抽奖机 ,活动于2020-12-31日结束 +脚本会给内置的码进行助力 活动地址:https://h5.m.jd.com/babelDiy/Zeus/3HBUP66Gnx92mRt2bXbT9VamYWSx/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js diff --git a/jd_pubg.js b/jd_pubg.js index 2bea1504..ed8b4122 100644 --- a/jd_pubg.js +++ b/jd_pubg.js @@ -1,5 +1,6 @@ /* -PUBG +PUBG ,运行时间会比较久,Surge请加大timeout时间 +脚本会给内置的码进行助力 活动于2020-12-13日结束 活动地址:https://starsingle.m.jd.com/static/index.html#/?fromChangeSkinNum=PUBG 已支持IOS双京东账号,Node.js支持N个京东账号 @@ -133,7 +134,7 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://starsingle.m.jd.com/guardianstar/'; -const inviteCodes = ['65561ad5-af72-4d1c-a5be-37b3de372b67@2d5f579d-e6d1-479e-931f-c275d602caf5','65561ad5-af72-4d1c-a5be-37b3de372b67@2d5f579d-e6d1-479e-931f-c275d602caf5'] +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]) { diff --git a/jd_split.js b/jd_split.js index 9ff7f6b2..f2b4e441 100644 --- a/jd_split.js +++ b/jd_split.js @@ -1,5 +1,6 @@ /* 金榜年终奖 +脚本会给内置的码进行助力 活动时间:2020-12-12日结束 活动入口:京东APP首页右边浮动飘窗 已支持IOS双京东账号,Node.js支持N个京东账号 From b81f99eec9198a7b1889591ccc2f9058cae8935b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 9 Dec 2020 18:16:49 +0800 Subject: [PATCH 0314/1259] update --- jd_pubg.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_pubg.js b/jd_pubg.js index ed8b4122..4459bd82 100644 --- a/jd_pubg.js +++ b/jd_pubg.js @@ -414,7 +414,7 @@ function taskUrl(function_id, body = {}) { 'cache-control': 'no-cache', "origin": "https://starsingle.m.jd.com", 'Content-Type': 'application/x-www-form-urlencoded', - 'dnt': 1, + 'dnt': '1', 'pragma': 'no-cache', 'referer': 'https://starsingle.m.jd.com/static/index.html', 'timestamp': `${t}`, @@ -437,7 +437,7 @@ function taskPostUrl(body = "{}", functionId = 'doTask') { 'cache-control': 'no-cache', "origin": "https://starsingle.m.jd.com", 'Content-Type': 'application/x-www-form-urlencoded', - 'dnt': 1, + 'dnt': '1', 'pragma': 'no-cache', 'referer': 'https://starsingle.m.jd.com/static/index.html', 'timestamp': `${t}`, From 60ff0aebc7892a30830610f00bb6c7ca4644fcda Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 10 Dec 2020 08:55:22 +0800 Subject: [PATCH 0315/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=9B=B4=E6=92=AD1?= =?UTF-8?q?8=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live.js | 273 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 jd_live.js diff --git a/jd_live.js b/jd_live.js new file mode 100644 index 00000000..6d9f58f5 --- /dev/null +++ b/jd_live.js @@ -0,0 +1,273 @@ +/* +京东直播,每日18豆 +活动结束时间未知 +活动地址:https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/ +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东直播 +10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, enabled=true + +================Loon============== +[Script] +cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js,tag=京东直播 + +===============Surge================= +京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js + +============小火箭========= +京东直播 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, cronexpr="10-20/5 12 * * *", timeout=200, 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); +} +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; + $.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 jdHealth() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) +async function jdHealth() { + $.bean = 0 + await getTaskList() + message += `领奖完成,共计获得 ${$.bean} 京豆\n` + await showMsg(); +} + +function getTs() { + return new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 +} +function showMsg() { + return new Promise(resolve => { + if (!jdNotify) { + $.msg($.name, '', `${message}`); + } else { + $.log(`京东账号${$.index}${$.nickName}\n${message}`); + } + resolve() + }) +} + +// 开始看 +function getTaskList() { + let body = {"timestamp": new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000 } + return new Promise(resolve => { + $.get(taskUrl("liveChannelTaskListToM", 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(`去做分享直播间任务`) + await shareTask() + await awardTask() + console.log(`去做浏览直播间任务`) + await viewTask() + await awardTask("commonViewTask") + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function viewTask() { + let body = 'body=%7B%22liveId%22%3A%223008300%22%2C%22type%22%3A%22viewTask%22%2C%22authorId%22%3A%22644894%22%2C%22extra%22%3A%7B%22time%22%3A120%7D%7D&build=167408&client=apple&clientVersion=9.2.0&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&joycious=194&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&scope=01&sign=90e14adc21c4bf31232a1ded5f4ba40e&st=1607561111999&sv=111&uts=0f31TVRjBSsxGLJHVBkddxFxBqY/8qFkrfEYLL0gkhB/JVGyEYIoD8r5rLvootZziQYAUyvIPogdJpesEuOMmvlisDx6AR2SEsfp381xPoggwvq8XaMYlOnHUV66TZiSfC%2BSgcLpB2v9cy/0Z41tT%2BuLheoEwBwDDYzANkZjncUI9PDCWpCg5/i0A14XfnsUTfQHbMqa3vwsY6QtsbNsgA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D' + return new Promise(resolve => { + $.post(taskPostUrl("liveChannelReportDataV912", 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); + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function shareTask() { + let body = 'body=%7B%22liveId%22%3A%222995233%22%2C%22type%22%3A%22shareTask%22%2C%22authorId%22%3A%22682780%22%2C%22extra%22%3A%7B%22num%22%3A1%7D%7D&build=167408&client=apple&clientVersion=9.2.0&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=Y&joycious=194&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=457d557a0902f43cbdf9fb735d2bcd64&st=1607559819969&sv=110&uts=0f31TVRjBSsxGLJHVBkddxFxBqY/8qFkrfEYLL0gkhB/JVGyEYIoD8r5rLvootZziQYAUyvIPogdJpesEuOMmvlisDx6AR2SEsfp381xPoggwvq8XaMYlOnHUV66TZiSfC%2BSgcLpB2v9cy/0Z41tT%2BuLheoEwBwDDYzANkZjncUI9PDCWpCg5/i0A14XfnsUTfQHbMqa3vwsY6QtsbNsgA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D' + return new Promise(resolve => { + $.post(taskPostUrl("liveChannelReportDataV912", 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); + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function awardTask(type="shareTask") { + let body = `functionId=getChannelTaskRewardToM&appid=h5-live&body=%7B%22type%22%3A%22${type}%22%2C%22liveId%22%3A%222942545%22%7D&v=${getTs()}` + return new Promise(resolve => { + $.post(taskPostUrl(null, body,"https://api.m.jd.com/api"), 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") { + $.bean += data.sum + console.log(`任务领奖成功,获得 ${data.sum} 京豆`); + message += `任务领奖成功,获得 ${data.sum} 京豆\n` + } else { + console.log(`任务领奖失败,${data.msg}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function taskPostUrl(function_id, body = {}, url=null) { + if(!url) url = `${JD_API_HOST}?functionId=${function_id}` + return { + url: url, + body: 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_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +function taskUrl(function_id, body = {}) { + return { + url: `${JD_API_HOST}?functionId=${function_id}&appid=h5-live&body=${escape(JSON.stringify(body))}&v=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 7ef6074dd15f84c245d3ba1f5a58f317282780f5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 10 Dec 2020 10:42:46 +0800 Subject: [PATCH 0316/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BC=81=E9=B9=85?= =?UTF-8?q?=E9=98=85=E8=AF=BB=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/qqread.js | 86 ++++++++++++++++++++++++++------------------ jd_dreamFactory.js | 5 ++- jd_lotteryMachine.js | 5 ++- jd_small_home.js | 5 ++- 4 files changed, 63 insertions(+), 38 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 320da6d4..0c5903ca 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -60,7 +60,7 @@ http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script- const jsname = '企鹅读书' const $ = Env(jsname) -let task = '', config, ssr2 = '', wktime; +let task = '', config, ssr2 = '', wktime, day = 0; console.log(`\n========= 脚本执行时间(TM):${new Date(new Date().getTime() + 0 * 60 * 60 * 1000).toLocaleString('zh', {hour12: false})} =========\n`) const logs = 1; //0为关闭日志,1为开启 @@ -186,58 +186,73 @@ async function QQ_READ() { qqreadtimeurlVal = QQ_READ_COOKIES[i]['qqreadtimeurlVal']; qqreadtimeheaderVal = QQ_READ_COOKIES[i]['qqreadtimeheaderVal']; await qqreadinfo();//用户名 + await qqreadwktime();//周时长查询 await qqreadtrack(); - // await $.wait(2000) await qqreadconfig();//时长查询 - // await $.wait(2000) await qqreadtask();//任务列表 - + if (config.data.pageParams.todayReadSeconds / 3600 <= maxtime) { + await qqreadtime();// 上传时长 + } + await qqreadpick();//领周时长奖励 if (task.data.taskList[0].doneFlag == 0) { - // await $.wait(2000) await qqreaddayread();//阅读任务 } - if (task.data.taskList[2].doneFlag == 0) { - // await $.wait(2000) - await qqreadsign();//金币签到 - // await $.wait(2000) - await qqreadtake();//阅豆签到 - // await $.wait(2000) - await qqreadsign2();//签到翻倍 + if (task.data.taskList[1].doneFlag == 0) { + await $.wait(5000) + await qqreadssr1();//阅读金币1 + } + if (task.data.taskList[2].doneFlag == 0) { + await qqreadsign();//金币签到 + await qqreadtake();//阅豆签到 + } + if (task.data.taskList[3].doneFlag == 0) { + await qqreadvideo();//视频奖励 } - if (task.data.treasureBox.doneFlag == 0) { - // await $.wait(2000) await qqreadbox();//宝箱 } if (task.data.taskList[1].doneFlag == 0) { - // await $.wait(2000) - await qqreadssr1();//阅读金币1 - await $.wait(3000) + await $.wait(5000) await qqreadssr2();//阅读金币2 + } + if (task.data.taskList[2].doneFlag == 0) { + await qqreadsign2();//金币签到 + } + + if (task.data.treasureBox.videoDoneFlag == 0) { + await qqreadbox2();//宝箱翻倍 + } + if (task.data.taskList[1].doneFlag == 0) { await $.wait(5000) await qqreadssr3();//阅读金币3 } - if (task.data.taskList[3].doneFlag == 0) { - // await $.wait(2000) - await qqreadvideo();//视频奖励 + if (task.data.user.amount >= 100000) { + await qqreadwithdraw(); } - if (task.data.treasureBox.videoDoneFlag == 0) { - // await $.wait(2000) - await qqreadbox2();//宝箱翻倍 - } - if (config.data.pageParams.todayReadSeconds / 3600 <= maxtime) { - // await $.wait(2000) - await qqreadtime(); - } - - await qqreadwktime();//周时长查询 - await qqreadpick();//领周时长奖励 await showmsg();//通知 } } function showmsg() { $.msg(jsname, "", tz); // 宝箱每15次通知一次 } +//提现 +function qqreadwithdraw() { + return new Promise((resolve, reject) => { + const toqqreadwithdrawurl = { + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/withdraw?amount=100000", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, + }; + $.post(toqqreadwithdrawurl, (error, response, data) => { + if (logs) $.log(`${jsname}, 提现: ${data}`); + let withdraw = JSON.parse(data); + if (withdraw.data.code == 0) + tz += `【现金提现】:成功提现10元\n`; + kz += `【现金提现】:成功提现10元\n`; + resolve(); + }); + }); +} // 任务列表 function qqreadtask() { return new Promise((resolve, reject) => { @@ -384,10 +399,9 @@ function qqreadssr1() { let ssr1 = JSON.parse(data); if (ssr1.data.amount > 0) tz += `【阅读金币1】获得${ssr1.data.amount}金币\n`; - - resolve(); }); } + resolve(); }); } @@ -406,9 +420,10 @@ function qqreadssr2() { if (ssr2.data.amount > 0) tz += `【阅读金币2】获得${ssr2.data.amount}金币\n`; - resolve(); + }); } + resolve(); }); } @@ -427,9 +442,10 @@ function qqreadssr3() { if (ssr3.data.amount > 0) tz += `【阅读金币3】获得${ssr3.data.amount}金币\n`; - resolve(); + }); } + resolve(); }); } diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 5a9c6b93..bca7e0b9 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1010,6 +1010,7 @@ function CreateTuan() { async function joinLeaderTuan() { await updateTuanIds(); if (!$.tuanIdS) await updateTuanIdsCDN(); + if (!$.tuanIdS) await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateFactoryTuanId.json'); for (let tuanId of $.tuanIdS.tuanIds) { if (!tuanId) continue await JoinTuan(tuanId); @@ -1184,7 +1185,7 @@ function updateTuanIds(url = 'https://raw.githubusercontent.com/lxk0301/updateTe }) } function updateTuanIdsCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_updateFactoryTuanId.json') { - return new Promise(resolve => { + return new Promise(async resolve => { $.get({url}, (err, resp, data) => { try { if (err) { @@ -1198,6 +1199,8 @@ function updateTuanIdsCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/mast resolve(); } }) + await $.wait(3000) + resolve(); }) } function checkExchange() { diff --git a/jd_lotteryMachine.js b/jd_lotteryMachine.js index 3b15d131..34012781 100644 --- a/jd_lotteryMachine.js +++ b/jd_lotteryMachine.js @@ -29,6 +29,7 @@ async function main() { if ($.body) { eval($.body); } + $.done() } function updateShareCodes(url = 'https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_lotteryMachine.js') { return new Promise(resolve => { @@ -48,7 +49,7 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/yangtingxiao/ }) } function updateShareCodesCDN(url = 'https://raw.fastgit.org/yangtingxiao/QuantumultX/master/scripts/jd/jd_lotteryMachine.js') { - return new Promise(resolve => { + return new Promise(async resolve => { $.get({url}, async (err, resp, data) => { try { if (err) { @@ -63,6 +64,8 @@ function updateShareCodesCDN(url = 'https://raw.fastgit.org/yangtingxiao/Quantum resolve(); } }) + await $.wait(3000) + resolve(); }) } diff --git a/jd_small_home.js b/jd_small_home.js index 1484fb87..d310a1be 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -158,6 +158,7 @@ async function doChannelsListTask(taskId, taskType) { async function helpFriends() { await updateInviteCode(); if (!$.inviteCodes) await updateInviteCodeCDN(); + if (!$.inviteCodes) await updateInviteCodeCDN('https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateSmallHomeInviteCode.json'); for (let item of $.inviteCodes.inviteCode) { if (!item) continue await createAssistUser(item, $.createAssistUserID || "1318106976846299138"); @@ -711,7 +712,7 @@ function updateInviteCode(url = 'https://raw.githubusercontent.com/lxk0301/updat }) } function updateInviteCodeCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_updateSmallHomeInviteCode.json') { - return new Promise(resolve => { + return new Promise(async resolve => { $.get({url}, async (err, resp, data) => { try { if (err) { @@ -726,6 +727,8 @@ function updateInviteCodeCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/m resolve(); } }) + await $.wait(3000) + resolve(); }) } function taskUrl(url, body = {}) { From 5b020cc6e25cc3fb7884e2394f77e5c4bdfe4705 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 10 Dec 2020 10:49:40 +0800 Subject: [PATCH 0317/1259] update --- jd_pubg.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_pubg.js b/jd_pubg.js index 4459bd82..f24a256d 100644 --- a/jd_pubg.js +++ b/jd_pubg.js @@ -208,7 +208,7 @@ function taskList(get=1) { if (safeGet(data)) { data = JSON.parse(data); let vo = data.data[0] - console.log(`您的${$.name}好友助力码为:${vo.shareId}`) + 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) { @@ -234,7 +234,7 @@ function taskList(get=1) { } for (let i = 0; i< vo.shopList.length;++i){ let shop = vo.shopList[i] - if(shop.shopStatus === 0) { + 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) From 4de99ec690647246b69c85c8c850d5c1e52278d6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 10 Dec 2020 11:00:54 +0800 Subject: [PATCH 0318/1259] =?UTF-8?q?=E5=88=A0=E9=99=A4=20jd=5Flive=5Fredr?= =?UTF-8?q?ain2.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain2.js | 242 -------------------------------------------- 1 file changed, 242 deletions(-) delete mode 100644 jd_live_redrain2.js diff --git a/jd_live_redrain2.js b/jd_live_redrain2.js deleted file mode 100644 index a7a12622..00000000 --- a/jd_live_redrain2.js +++ /dev/null @@ -1,242 +0,0 @@ -/* -超级直播间红包雨 -每天20-23半点可领,每日上限未知 -活动时间:活动时间未知 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#超级直播间红包雨 -30 20-23/1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨 - -===============Surge================= -超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js - -============小火箭========= -超级直播间红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, cronexpr="30 20-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') : ''; -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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); -} -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; - } - 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/`, {"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 - } - 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: 'body=%7B%22liveId%22%3A%222944191%22%7D&client=apple&clientVersion=9.2.0&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&joycious=193&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&sign=50a7412cd1a664dd2c774720919c1623&st=1607438893006&sv=122&uts=0f31TVRjBSvNs/AdsIxcW3vOKTLS9m1Bkfr/wtDAnp3AVWQdjqfHK3cMzb8cm5zGmHoA7HXEP%2BEKvfkFqnuOUa47UbSXEBYqy8Xe9uFiFqLzothzz1rNDYFYUEBZke8y0AZ/s6K2pX86xNF4VWMYj/eLiATygM4HjgJI3Iok15tt%2BsrrbWI9QIPHucqMJOGYQCG0fM0VouQZwf8dOKAxkw%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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - } - } -} - -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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){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)} From 8bd88326981781919492b4e89545c76702119acc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 10 Dec 2020 14:34:42 +0800 Subject: [PATCH 0319/1259] update --- jd_joy.js | 52 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/jd_joy.js b/jd_joy.js index ec392ea2..c6752690 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -131,12 +131,12 @@ async function joinTwoPeopleRun() { joyRunFlag = process.env.JOY_RUN_FLAG; } if (`${joyRunFlag}` === 'true') { - console.log(`\n===========以下是双人赛跑信息========\n`) + teamLevel = $.isNode() ? (process.env.JOY_TEAM_LEVEL ? process.env.JOY_TEAM_LEVEL : teamLevel) : ($.getdata('JOY_TEAM_LEVEL') ? $.getdata('JOY_TEAM_LEVEL') : teamLevel); + console.log(`\n===========以下是${teamLevel}人赛跑信息========\n`) await getPetRace(); if ($.petRaceResult) { - teamLevel = $.isNode() ? (process.env.JOY_TEAM_LEVEL ? process.env.JOY_TEAM_LEVEL : teamLevel) : ($.getdata('JOY_TEAM_LEVEL') ? $.getdata('JOY_TEAM_LEVEL') : teamLevel); let petRaceResult = $.petRaceResult.data.petRaceResult; - let raceUsers = $.petRaceResult.data.raceUsers; + // let raceUsers = $.petRaceResult.data.raceUsers; console.log(`赛跑状态:${petRaceResult}\n`); if (petRaceResult === 'not_participate') { console.log(`暂未参赛,现在为您参加${teamLevel}人赛跑`); @@ -146,7 +146,8 @@ async function joinTwoPeopleRun() { message += `${teamLevel}人赛跑:成功参加\n`; await getPetRace(); petRaceResult = $.petRaceResult.data.petRaceResult; - raceUsers = $.petRaceResult.data.raceUsers; + await getRankList(); + // raceUsers = $.petRaceResult.data.raceUsers; // console.log(`参赛后的状态:${petRaceResult}`) console.log(`双人赛跑助力请自己手动去邀请好友,脚本不带赛跑助力功能\n`); } @@ -172,25 +173,26 @@ async function joinTwoPeopleRun() { } } if (petRaceResult === 'participate') { - if(raceUsers) { - for (let index =0; index < raceUsers.length; index++) { - if (raceUsers[index].myself) { - console.log(`您当前里程:${raceUsers[index].distance}KM\n`); - message += `您当前里程:${raceUsers[index].distance}km\n`; + await getRankList(); + if($.raceUsers && $.raceUsers.length > 0) { + for (let index = 0; index < $.raceUsers.length; index++) { + if (index === 0) { + console.log(`您当前里程:${$.raceUsers[index].distance}KM\n当前排名:第${$.raceUsers[index].rank}名\n将获得积分:${$.raceUsers[index].coin}\n`); + // message += `您当前里程:${$.raceUsers[index].distance}km\n`; } else { - console.log(`对手当前里程:${raceUsers[index].distance}KM\n`); - message += `对手当前里程:${raceUsers[index].distance}km\n`; + console.log(`对手当前里程:${$.raceUsers[index].distance}KM`); + // message += `对手当前里程:${$.raceUsers[index].distance}km\n`; } } } - console.log('今日已参赛,下面显示应援团信息\n'); + console.log('\n今日已参赛,下面显示应援团信息'); await getBackupInfo(); if ($.getBackupInfoResult.success) { const { currentNickName, totalMembers, totalDistance, backupList } = $.getBackupInfoResult.data; console.log(`${currentNickName}的应援团信息如下\n团员:${totalMembers}个\n团员助力的里程数:${totalDistance}\n`); if (backupList && backupList.length > 0) { for (let item of backupList) { - console.log(`${item.nickName}为您助力${item.distance}km\n`); + console.log(`${item.nickName}为您助力${item.distance}km`); } } else { console.log(`暂无好友为您助力赛跑,如需助力,请手动去邀请好友助力\n`); @@ -610,6 +612,30 @@ function getPetRace() { }) }) } +//查询赛跑排行榜 +function getRankList() { + return new Promise(resolve => { + const url = `${JD_API_HOST}/combat/getRankList`; + $.raceUsers = []; + $.get(taskUrl(url, `jdjoy.jd.com`, 'h5'), (err, resp, data) => { + try { + if (err) { + console.log('\n京东宠汪汪: API查询请求失败 ‼️‼️') + } else { + // console.log('查询赛跑信息API',(data)) + data = JSON.parse(data); + if (data.success) { + $.raceUsers = data.datas; + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }) + }) +} //参加赛跑API function runMatch(teamLevel, timeout = 5000) { if (teamLevel === 10 || teamLevel === 50) timeout = 60000; From 0ed772f136632e8eb643d2d70ec5adb223e0fdbc Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 10 Dec 2020 15:04:45 +0800 Subject: [PATCH 0320/1259] =?UTF-8?q?=E6=8A=A2=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index 84312dab..c894efbc 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -25,7 +25,6 @@ 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()) { @@ -66,6 +65,17 @@ const JD_API_HOST = 'https://api.m.jd.com/'; await jdBeanHome(); } } + for (let i = 0; i < cookiesArr.length; i++) { + if (cookiesArr[i]) { + $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) + console.log(`${$.UserName}去帮助下一个人`) + cookie = cookiesArr[i]; + let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] + await help(code[0], code[1]) + // 去帮助作者 + await help("4C95367420A5D13E4BEE034620F963B4", "786588200200192000") + } + } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') From 7dba97ceacc32f99544f3348c6613b5afb9e992f Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 10 Dec 2020 22:38:25 +0800 Subject: [PATCH 0321/1259] =?UTF-8?q?=E6=8A=A2=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 171 +++++++++++++++++++++++++++++++++++++++++---- jd_live_redrain.js | 2 +- 2 files changed, 159 insertions(+), 14 deletions(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index c894efbc..9a09941c 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -1,5 +1,6 @@ /* -领京豆额外奖励 +领京豆额外奖励&抢京豆 +脚本自带助力码,介意者可将 29行 helpAuthor 变量设置为 false 入口:首页-领京豆 更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js 已支持IOS双京东账号, Node.js支持N个京东账号 @@ -25,6 +26,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 +const helpAuthor = true; // 是否帮助作者助力,false打开通知推送,true关闭通知推送 //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; if ($.isNode()) { @@ -38,6 +40,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { + $.newShareCodes = [] + await getAuthorShareCode() if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; @@ -65,17 +69,21 @@ const JD_API_HOST = 'https://api.m.jd.com/'; await jdBeanHome(); } } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - console.log(`${$.UserName}去帮助下一个人`) - cookie = cookiesArr[i]; - let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] - await help(code[0], code[1]) - // 去帮助作者 - await help("4C95367420A5D13E4BEE034620F963B4", "786588200200192000") + for (let i = 0; i < cookiesArr.length; i++) { + if (cookiesArr[i]) { + $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) + console.log(`${$.UserName}去帮助下一个人`) + cookie = cookiesArr[i]; + if ($.newShareCodes.length > 1) { + let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] + await help(code[0], code[1]) + } + if (helpAuthor && $.authorCode) { + console.log(`去帮助作者`) + await help($.authorCode[0], $.authorCode[1]) + } + } } - } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -85,10 +93,131 @@ const JD_API_HOST = 'https://api.m.jd.com/'; }) async function jdBeanHome() { + await getUserInfo() await getTaskList() await showMsg(); } +function getAuthorShareCode() { + return new Promise(resolve => { + $.get({url: "http://ql4kk90rw.hb-bkt.clouddn.com/catch"}, async (err, resp, data) => { + try { + if (err) { + } else { + $.authorCode = data.replace('\n', '').split(' ') + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getUserInfo() { + return new Promise(resolve => { + $.post(taskUrl('signBeanGroupStageIndex', '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); + $.actId = data.data.jklInfo.keyId + let {shareCode, groupCode} = data.data + if (!shareCode) { + console.log(`未获取到助力码,去开团`) + await hitGroup() + } else { + console.log(shareCode, groupCode) + // 去做逛会场任务 + if (data.data.beanActivityVisitVenue.taskStatus === '0') { + await help(shareCode, groupCode, 1) + } + $.newShareCodes.push([shareCode, groupCode]) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function hitGroup() { + return new Promise(resolve => { + const body = {"activeType": 2,}; + $.get(taskGetUrl('signGroupHit', 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.respCode === "SG150") { + let {shareCode, groupCode} = data.data.signGroupMain + if (shareCode) { + $.newShareCodes.push([shareCode, groupCode]) + console.log('开团成功') + await help(shareCode, groupCode, 1) + } else { + console.log(`为获取到助力码,错误信息${JSON.stringify(data.data)}`) + } + } else { + console.log(`开团失败,错误信息${JSON.stringify(data.data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function help(shareCode, groupCode, isTask = 0) { + return new Promise(resolve => { + const body = { + "activeType": 2, + "groupCode": groupCode, + "shareCode": shareCode, + "activeId": $.actId, + }; + if (isTask) { + console.log(`【抢京豆】做任务获取助力`) + body['isTask'] = "1" + } else { + console.log(`【抢京豆】去助力好友${shareCode}`) + body['source'] = "guest" + } + $.get(taskGetUrl('signGroupHelp', 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.data.helpToast}`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + function showMsg() { return new Promise(resolve => { $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); @@ -145,8 +274,7 @@ function receiveTask(itemId = "zddd", type = "3") { data = JSON.parse(data); if (data.data) { console.log(`完成任务成功,进度${data.data.taskProgress}/${data.data.taskThreshold}`) - } - else{ + } else { console.log(`完成任务失败,${data.errorMessage}`) } } @@ -190,6 +318,23 @@ function award() { }) } +function taskGetUrl(function_id, body) { + return { + url: `${JD_API_HOST}client.action?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=ld&clientVersion=9.2.0`, + headers: { + 'Cookie': cookie, + 'Host': 'api.m.jd.com', + 'Accept': '*/*', + 'Connection': 'keep-alive', + 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-Hans-CN;q=1,en-CN;q=0.9', + 'Accept-Encoding': 'gzip, deflate, br', + 'Content-Type': "application/x-www-form-urlencoded" + } + } +} + + function taskUrl(function_id, body) { body["version"] = "9.0.0.1"; body["monitor_source"] = "plant_app_plant_index"; diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 3364be7c..93d5b72a 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -160,7 +160,7 @@ function receiveRedRain() { 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%222956873%22%7D&build=167408&client=apple&clientVersion=9.2.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=4fefb7b802a8b1d7ae4529ec32b0bda8&st=1607470636080&sv=121&uts=0f31TVRjBSvNs/AdsIxcW3vOKTLS9m1Bkfr/wtDAnp1q%2BaUi8exzmBNoKgjayIUv6x2Kyf6ccTzo3NpoIr0XxE05GZbP8oOh2s6rmFPTTjPhnIs%2BkxDNq6jbLa/OXerurB%2BctY3Sg9OWaR6%2BnF4XsNtDZrNmKU57jtBoJWI8O2D/lA%2B%2B7sFMhxC%2BxMi9yfyM%2BT%2Bu5DbTBDJCOR1QUIScQw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D', + body: 'area=12_904_908_57903&body=%7B%22liveId%22%3A%222977339%22%7D&build=167408&client=apple&clientVersion=9.2.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=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=7c878be46c1c182ce71c938553f58494&st=1607607883677&sv=112&uts=0f31TVRjBSsDGINmdElmZlgBxMZQifcxhB/BdpQKugK5FCEju7Leo5s3A7Zdtp26Lr/GN95ifNG2e9Z50/RCKCyx02P1XSE47LtSLCluITW4qy423r6P1Ur3ahCansAfEtZJ09PxFoA%2B2pndSh53eluf9ziHm0/GGf8jx03zkCVyfnomf6t347W0XeCuyI/BxC2XVXHDzwVmjBo7pLYmpg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=96fe93266f1662fa0e7d281ddcf33714', headers: { 'Host': 'api.m.jd.com', 'content-type': 'application/x-www-form-urlencoded', From f2185cbf13b8aaa2076509d6a125f59f2652e785 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 10 Dec 2020 23:59:25 +0800 Subject: [PATCH 0322/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=BD=9C=E8=80=85=E5=8A=A9=E5=8A=9B=E7=A0=81=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index 9a09941c..537c4e1f 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -42,6 +42,7 @@ const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { $.newShareCodes = [] await getAuthorShareCode() + return if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; @@ -100,7 +101,7 @@ async function jdBeanHome() { function getAuthorShareCode() { return new Promise(resolve => { - $.get({url: "http://ql4kk90rw.hb-bkt.clouddn.com/catch"}, async (err, resp, data) => { + $.get({url: "https://cdn.jsdelivr.net/gh/shylocks/updateTeam@main/jd_bean_home"}, async (err, resp, data) => { try { if (err) { } else { From 16be89fb7a91309bb0645cd2bd77faf0296a7542 Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 11 Dec 2020 07:26:00 +0800 Subject: [PATCH 0323/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=80=E5=9B=A2?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 1 - 1 file changed, 1 deletion(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index 537c4e1f..d3e7d09f 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -42,7 +42,6 @@ const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { $.newShareCodes = [] await getAuthorShareCode() - return if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; From 07e00f2e881463b1bc3910358a95c0fe667df02d Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 11 Dec 2020 07:34:52 +0800 Subject: [PATCH 0324/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_digital_floor.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/jd_digital_floor.js b/jd_digital_floor.js index 4d518ee8..f1553b02 100644 --- a/jd_digital_floor.js +++ b/jd_digital_floor.js @@ -281,7 +281,8 @@ function shareCodesFormat() { }) } function requireConfig() { - return new Promise(resolve => { + return new Promise(async resolve => { + await getAuthorShareCode() console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; const shareCodes = [] //$.isNode() ? require('./jdSplitShareCodes.js') : ''; @@ -298,6 +299,22 @@ function requireConfig() { 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}`, From 490467d5a477b2a48febfe87d1bd342a1f3cd795 Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 11 Dec 2020 07:41:10 +0800 Subject: [PATCH 0325/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0body?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 93d5b72a..d8ebd8de 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -106,6 +106,7 @@ function getRedRain() { let act = data.data.iconArea.filter(vo=>vo['type']==="platform_red_packege_rain")[0] let url = act.data.activityUrl $.activityId = url.substr(url.indexOf("id=") + 3) + console.log($.activityId) $.startTime = act.startTime $.endTime = act.endTime console.log(`下一场红包雨开始时间:${new Date(act.startTime)}`) @@ -160,7 +161,7 @@ function receiveRedRain() { 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%222977339%22%7D&build=167408&client=apple&clientVersion=9.2.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=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=7c878be46c1c182ce71c938553f58494&st=1607607883677&sv=112&uts=0f31TVRjBSsDGINmdElmZlgBxMZQifcxhB/BdpQKugK5FCEju7Leo5s3A7Zdtp26Lr/GN95ifNG2e9Z50/RCKCyx02P1XSE47LtSLCluITW4qy423r6P1Ur3ahCansAfEtZJ09PxFoA%2B2pndSh53eluf9ziHm0/GGf8jx03zkCVyfnomf6t347W0XeCuyI/BxC2XVXHDzwVmjBo7pLYmpg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=96fe93266f1662fa0e7d281ddcf33714', + body: 'area=12_904_908_57903&body=%7B%22liveId%22%3A%222997252%22%7D&build=167408&client=apple&clientVersion=9.2.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=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=706f847a6252a4fe03869b2901bb0815&st=1607643593651&sv=110&uts=0f31TVRjBSsDGINmdElmZlgBxMZQifcxhB/BdpQKugK3pigFDsPY3x%2BIXMm0vOlDa%2BujRn1irmu%2BjbgWg0C%2B9Qd9NZvImI0ZQc/fN8EoflUT3Sb6VQm0WwdM77kwyb56x3lxaqFyeh3r1KEOHCier47iIpyuyvVQVG2KbTKocIo0CS9xpYtzkQr1dLgceiIho7GvOrMiBQ%2BtyUe/1wcqtg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D', headers: { 'Host': 'api.m.jd.com', 'content-type': 'application/x-www-form-urlencoded', From 108cb4a32357720d171a35465fb85cc041c32028 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 11 Dec 2020 08:49:37 +0800 Subject: [PATCH 0326/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=96=B0=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=9B=B4=E6=92=AD?= =?UTF-8?q?18=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步新增京东直播18豆 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index b7763dba..e4213ab2 100644 --- a/serverless.yml +++ b/serverless.yml @@ -40,12 +40,12 @@ inputs: cronExpression: "0 3 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory - - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券 + - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券# 京东直播18豆 parameters: - name: jd_joy_reward_jd_joy_steal_jd_necklace + name: joy_reward_joy_steal_necklace_live cronExpression: "0 0 0-16/8,20 * * * *" enable: true - argument: jd_joy_reward&jd_joy_steal&jd_necklace + argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝# 秒杀红包雨# 健康抽奖机 parameters: name: redPacket_shop_unsubscribe_lotteryMachine_small_home_ms_redrain_health From c510f10723ef71e47bcf0da69a7289855b008260 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 09:49:59 +0800 Subject: [PATCH 0327/1259] =?UTF-8?q?=E5=9C=88x,loon=E7=AD=89=E8=AE=A2?= =?UTF-8?q?=E9=98=85,docker=E6=B7=BB=E5=8A=A0=E4=BA=AC=E4=B8=9C=E7=9B=B4?= =?UTF-8?q?=E6=92=AD(jd=5Flive.js)=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 7 +++++-- QuantumultX/lxk0301_gallery.json | 1 + docker/crontab_list.sh | 2 ++ docker/crontab_list_ts.sh | 4 +++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 24eee260..27616530 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -122,7 +122,10 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 # 金榜年终奖 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js,tag=年终奖 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖 # PUBG -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js,tag=PUBG +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, tag=PUBG + +# 京东直播 +cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 1db5c159..e5c8feca 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -33,6 +33,7 @@ "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, tag=PUBG, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] } diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index edde6fd1..a1a71cde 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -84,3 +84,5 @@ 33 2 * * * node /scripts/jd_car.js >> /scripts/logs/jd_car.log 2>&1 # 领京豆额外奖励(每日可获得3京豆) 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 +# 京东直播(每日18豆) +10-20/5 11 * * * node /scripts/jd_live.js |ts >> /scripts/logs/jd_live.log 2>&1 \ No newline at end of file diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 90039c3c..4271b171 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -83,4 +83,6 @@ # 京东汽车(签到满500赛点可兑换500京豆) 33 2 * * * node /scripts/jd_car.js |ts >> /scripts/logs/jd_car.log 2>&1 # 领京豆额外奖励(每日可获得3京豆) -33 4 * * * node /scripts/jd_bean_home.js |ts >> /scripts/logs/jd_bean_home.log 2>&1 \ No newline at end of file +33 4 * * * node /scripts/jd_bean_home.js |ts >> /scripts/logs/jd_bean_home.log 2>&1 +# 京东直播(每日18豆) +10-20/5 11 * * * node /scripts/jd_live.js |ts >> /scripts/logs/jd_live.log 2>&1 \ No newline at end of file From 1a3fd2958249a640f90e94e6fba5efd85fbdbdbc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 10:17:40 +0800 Subject: [PATCH 0328/1259] fix --- docker/crontab_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index a1a71cde..4fd063d4 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -85,4 +85,4 @@ # 领京豆额外奖励(每日可获得3京豆) 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) -10-20/5 11 * * * node /scripts/jd_live.js |ts >> /scripts/logs/jd_live.log 2>&1 \ No newline at end of file +10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 \ No newline at end of file From dc12cd3f432f10e1586d55c5e1d8bfc75cb84170 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 12:02:42 +0800 Subject: [PATCH 0329/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B0=8F=E7=AA=9D,?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A3=85=E9=A5=B0=E9=A2=86=E4=BA=AC=E8=B1=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_small_home.js | 138 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 110 insertions(+), 28 deletions(-) diff --git a/jd_small_home.js b/jd_small_home.js index d310a1be..38321aab 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-12 11:42:12 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-23 12:27:20 + * @Last Modified time: 2020-12-11 12:27:20 */ /* 东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js @@ -103,6 +103,7 @@ async function smallHome() { await lottery(); await doAllTask(); await queryByUserId(); + await queryFurnituresCenterList(); await showMsg(); } function showMsg() { @@ -118,33 +119,7 @@ async function lottery() { console.log(`免费抽奖机会今日已使用\n`) } } -//获取详情 -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`; - message += `【当前WO币】${data.body.woB}\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} + async function doChannelsListTask(taskId, taskType) { await queryChannelsList(taskId); for (let item of $.queryChannelsList) { @@ -270,6 +245,94 @@ async function 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) { + let { buy, list } = data.body; + $.canBuyList = []; + list.map((item, index) => { + if (buy.some((buyItem) => buyItem === item.id)) return + $.canBuyList.push(item); + }) + $.canBuyList.sort(sortByjdBeanNum); + 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 => { @@ -747,6 +810,25 @@ function taskUrl(url, body = {}) { } } } +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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +function sortByjdBeanNum(a, b) { + return b['jdBeanNum'] - a['jdBeanNum']; +} function TotalBean() { return new Promise(async resolve => { const options = { From 008fde86286b99c16bef5c1b22eeca8de988e9a8 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 13:56:01 +0800 Subject: [PATCH 0330/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E5=85=A5=E5=8F=A3=E6=96=87=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E6=95=B4=E7=90=86=E5=8F=82=E6=95=B0=E9=85=8D=E7=BD=AE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 5 +- docker/crontab_list_ts.sh | 5 +- docker/default_task.sh | 94 +++++++++++++++ docker/docker_entrypoint.sh | 113 ++++++++++++++++++ docker/{ => example}/docker-compose.yml | 0 .../docker多账户使用独立容器使用说明.md | 0 .../jd_scripts.my_crontab_list.syno.json | 0 docker/{ => example}/jd_scripts.syno.json | 0 8 files changed, 211 insertions(+), 6 deletions(-) create mode 100644 docker/default_task.sh create mode 100644 docker/docker_entrypoint.sh rename docker/{ => example}/docker-compose.yml (100%) rename docker/{ => example}/docker多账户使用独立容器使用说明.md (100%) rename docker/{ => example}/jd_scripts.my_crontab_list.syno.json (100%) rename docker/{ => example}/jd_scripts.syno.json (100%) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 4fd063d4..1a8acffe 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,6 +1,5 @@ -50 */1 * * * git -C /scripts/ pull >> /scripts/logs/pull.log 2>&1 -52 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} -53 */1 * * * npm install --prefix /scripts >> /scripts/logs/npm_install.log 2>&1 +#必须要的默认定时任务请勿删除 +52 */1 * * * sh /scripts/default_task.sh |ts >> /scripts/logs/pull.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 4271b171..105dc20a 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -1,6 +1,5 @@ -50 */1 * * * git -C /scripts/ pull |ts >> /scripts/logs/pull.log 2>&1 -52 */1 * * * crontab /scripts/docker/${CRONTAB_LIST_FILE} -53 */1 * * * npm install --prefix /scripts |ts >> /scripts/logs/npm_install.log 2>&1 +#必须要的默认定时任务请勿删除 +52 */1 * * * sh /scripts/default_task.sh |ts >> /scripts/logs/pull.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log diff --git a/docker/default_task.sh b/docker/default_task.sh new file mode 100644 index 00000000..c413b19c --- /dev/null +++ b/docker/default_task.sh @@ -0,0 +1,94 @@ +#!/bin/sh +set -e + +echo "定时任务更新代码,git 拉取最新代码,并安装更新依赖..." +git -C /scripts pull +npm install --prefix /scripts + +######################################获取docker构建文件里面的自定义信息方法-start##################################################### +function getDockerImageLabel() { + repo=akyakya/jd_scripts + imageTag=test + token=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull" | jq -r '.token') + digest=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/manifests/${imageTag}" | jq .config.digest -r) + labels=$(curl -s -L -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/blobs/$digest" | jq .config.Labels) + echo $labels +} +######################################获取docker构建文件里面的自定义信息方法-end##################################################### + + +######################################对比版本版本号大小方法-start################################################################### +function version_gt() { + test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" +} +######################################对比版本版本号大小方法-end################################################################### +#######################################通知用户更新镜像-start##################################################################### +if type jq >/dev/null 2>&1; then + updateContext=$(getDockerImageLabel | jq .UPDATE_CONTEXT) + version=$(getDockerImageLabel | jq .VERSION) +fi + +#通知通知用户更新镜像 +if [ ! $BUILD_VERSION ]; then + if [ $version ]; then + cd /scripts/docker + node notify_docker_user.js + fi +else + if version_gt $version $BUILD_VERSION; then + cd /scripts/docker + node notify_docker_user.js + fi +fi +#######################################通知用户更新镜像-end##################################################################### + +##兼容旧镜像的环境变量 +if [ !$DEFAULT_LIST_FILE ]; then + defaultListFile="/scripts/docker/crontab_list.sh" +else + defaultListFile="/scripts/docker/$DEFAULT_LIST_FILE" +fi + +customListFile="/scripts/docker/$CUSTOM_LIST_FILE" +mergedListFile="/scripts/docker/merged_list_file.sh" + +if type ts >/dev/null 2>&1; then + echo 'moreutils tools installed, default task append |ts output' + echo '系统已安装moreutils工具包,默认定时任务增加|ts 输出' + ##复制一个新文件来追加|ts,防止git pull的时候冲突 + cp $defaultListFile /scripts/docker/default_list.sh + defaultListFile="/scripts/docker/default_list.sh" + + sed -i 's/>>/|ts >>/g' $defaultListFile +fi + +echo "定时任务合并加载最新定时任务列表..." +#判断 自定义文件是否存在 是否存在 +if [ $CUSTOM_LIST_FILE ]; then + echo "您配置了自定义任务文件:$CUSTOM_LIST_FILE,自定义任务类型为:$CUSTOM_LIST_MERGE_TYPE..." + if [ -f "$customListFile" ]; then + if [ $CUSTOM_LIST_MERGE_TYPE == "append" ]; then + echo "合并默认定时任务文件:$DEFAULT_LIST_FILE 和 自定义定时任务文件:$CUSTOM_LIST_FILE" + cat $defaultListFile >$mergedListFile + echo -e "" >>$mergedListFile + cat $customListFile >>$mergedListFile + elif [ $CUSTOM_LIST_MERGE_TYPE == "overwrite" ]; then + cat $customListFile >$mergedListFile + echo "$CUSTOM_LIST_FILE but file ..." + echo "配置了自定义任务文件:$CUSTOM_LIST_FILE,自定义任务类型为:$CUSTOM_LIST_MERGE_TYPE..." + touch "$customListFile" + else + echo "配置配置了错误的自定义定时任务类型:$CUSTOM_LIST_MERGE_TYPE,自定义任务类型为只能为append或者overwrite..." + cat $defaultListFile >$mergedListFile + fi + else + echo "配置的自定义任务文件:$CUSTOM_LIST_FILE未找到,使用默认配置$DEFAULT_LIST_FILE..." + cat $defaultListFile >$mergedListFile + fi +else + echo "当前使用的为默认定时任务文件 $DEFAULT_LIST_FILE ..." + cat $defaultListFile >$mergedListFile +fi + +echo "加载最新的定时任务文件..." +crontab $mergedListFile diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh new file mode 100644 index 00000000..737009d9 --- /dev/null +++ b/docker/docker_entrypoint.sh @@ -0,0 +1,113 @@ +#!/bin/sh +set -e + +export LANG="zh_CN.UTF-8" + +if [ $1 ]; then + echo "Currently does not support specifying startup parameters" + echo "Please delete the last command attached to $(docker run) or the configured $(command:) parameter in $(docker-compose.yml)" + echo "暂时不支持指定启动参数,请删除 docker run时最后附带的命令 或者 docker-compose.yml中的配置的command:指令 " +fi + +echo "##############################################################################" +echo "Container start , Pull the latest code..." +echo "容器启动,git 拉取最新代码..." +git -C /scripts pull +npm install --prefix /scripts +echo "##############################################################################" + +######################################获取docker构建文件里面的自定义信息方法-start##################################################### +function getDockerImageLabel() { + repo=akyakya/jd_scripts + imageTag=test + token=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull" | jq -r '.token') + digest=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/manifests/${imageTag}" | jq .config.digest -r) + labels=$(curl -s -L -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/blobs/$digest" | jq .config.Labels) + echo $labels +} +######################################获取docker构建文件里面的自定义信息方法-end##################################################### + + +######################################对比版本版本号大小方法-start################################################################### +function version_gt() { + test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" +} +######################################对比版本版本号大小方法-end################################################################### +#######################################通知用户更新镜像-start##################################################################### +if type jq >/dev/null 2>&1; then + updateContext=$(getDockerImageLabel | jq .UPDATE_CONTEXT) + version=$(getDockerImageLabel | jq .VERSION) +fi + +#通知通知用户更新镜像 +if [ ! $BUILD_VERSION ]; then + if [ $version ]; then + cd /scripts/docker + node notify_docker_user.js + fi +else + if version_gt $version $BUILD_VERSION; then + cd /scripts/docker + node notify_docker_user.js + fi +fi +#######################################通知用户更新镜像-end##################################################################### + +##兼容旧镜像的环境变量 +if [ !$DEFAULT_LIST_FILE ]; then + defaultListFile="/scripts/docker/crontab_list.sh" +else + defaultListFile="/scripts/docker/$DEFAULT_LIST_FILE" +fi + +customListFile="/scripts/docker/$CUSTOM_LIST_FILE" +mergedListFile="/scripts/docker/merged_list_file.sh" + +if type ts >/dev/null 2>&1; then + echo 'moreutils tools installed, default task append |ts output' + echo '系统已安装moreutils工具包,默认定时任务增加|ts 输出' + ##复制一个新文件来追加|ts,防止git pull的时候冲突 + cp $defaultListFile /scripts/docker/default_list.sh + defaultListFile="/scripts/docker/default_list.sh" + + sed -i 's/>>/|ts >>/g' $defaultListFile +fi + +#判断 自定义文件是否存在 是否存在 +if [ $CUSTOM_LIST_FILE ]; then + echo "You have configured a custom list file: $CUSTOM_LIST_FILE, custom list merge type: $CUSTOM_LIST_MERGE_TYPE..." + echo "您配置了自定义任务文件:$CUSTOM_LIST_FILE,自定义任务类型为:$CUSTOM_LIST_MERGE_TYPE..." + if [ -f "$customListFile" ]; then + if [ $CUSTOM_LIST_MERGE_TYPE == "append" ]; then + echo "merge default list file: $DEFAULT_LIST_FILE and custom list file: $CUSTOM_LIST_FILE" + echo "合并默认定时任务文件:$DEFAULT_LIST_FILE 和 自定义定时任务文件:$CUSTOM_LIST_FILE" + cat $defaultListFile >$mergedListFile + echo -e "" >>$mergedListFile + cat $customListFile >>$mergedListFile + elif [ $CUSTOM_LIST_MERGE_TYPE == "overwrite" ]; then + cat $customListFile >$mergedListFile + echo "merge custom list file: $CUSTOM_LIST_FILE..." + echo "合并自定义任务文件:$CUSTOM_LIST_FILE" + touch "$customListFile" + else + echo "配置配置了错误的自定义定时任务类型:$CUSTOM_LIST_MERGE_TYPE,自定义任务类型为只能为append或者overwrite..." + cat $defaultListFile >$mergedListFile + fi + else + echo "Not found custom list file: $CUSTOM_LIST_FILE ,use default list file: $DEFAULT_LIST_FILE" + echo "自定义任务文件:$CUSTOM_LIST_FILE 未找到,使用默认配置$DEFAULT_LIST_FILE..." + cat $defaultListFile >$mergedListFile + fi +else + echo "The currently used is the default crontab task file: $DEFAULT_LIST_FILE ..." + echo "当前使用的为默认定时任务文件 $DEFAULT_LIST_FILE ..." + cat $defaultListFile >$mergedListFile +fi + +echo "Load the latest crontab task file..." +echo "加载最新的定时任务文件..." +crontab $mergedListFile + +echo "Start crontab task main process..." +echo "启动crondtab定时任务主进程..." +crond -f diff --git a/docker/docker-compose.yml b/docker/example/docker-compose.yml similarity index 100% rename from docker/docker-compose.yml rename to docker/example/docker-compose.yml diff --git a/docker/docker多账户使用独立容器使用说明.md b/docker/example/docker多账户使用独立容器使用说明.md similarity index 100% rename from docker/docker多账户使用独立容器使用说明.md rename to docker/example/docker多账户使用独立容器使用说明.md diff --git a/docker/jd_scripts.my_crontab_list.syno.json b/docker/example/jd_scripts.my_crontab_list.syno.json similarity index 100% rename from docker/jd_scripts.my_crontab_list.syno.json rename to docker/example/jd_scripts.my_crontab_list.syno.json diff --git a/docker/jd_scripts.syno.json b/docker/example/jd_scripts.syno.json similarity index 100% rename from docker/jd_scripts.syno.json rename to docker/example/jd_scripts.syno.json From 3a059271d35cb1c257aa1c1af5e80bf772e777e8 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 13:56:32 +0800 Subject: [PATCH 0331/1259] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E9=95=9C=E5=83=8Ftag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index c413b19c..286268f7 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -8,7 +8,7 @@ npm install --prefix /scripts ######################################获取docker构建文件里面的自定义信息方法-start##################################################### function getDockerImageLabel() { repo=akyakya/jd_scripts - imageTag=test + imageTag=dev token=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull" | jq -r '.token') digest=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/manifests/${imageTag}" | jq .config.digest -r) labels=$(curl -s -L -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/blobs/$digest" | jq .config.Labels) From 3090334fa875197f1cb7995b77e53478d8bc23dd Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 14:00:31 +0800 Subject: [PATCH 0332/1259] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- docker/crontab_list_ts.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 1a8acffe..b4ac3948 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,5 +1,5 @@ #必须要的默认定时任务请勿删除 -52 */1 * * * sh /scripts/default_task.sh |ts >> /scripts/logs/pull.log 2>&1 +52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/pull.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 105dc20a..4c5b8cfb 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -1,5 +1,5 @@ #必须要的默认定时任务请勿删除 -52 */1 * * * sh /scripts/default_task.sh |ts >> /scripts/logs/pull.log 2>&1 +52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/pull.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log From 02dcb495b674b231ae2f7c232b8aac0e8d264121 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 14:31:04 +0800 Subject: [PATCH 0333/1259] =?UTF-8?q?=F0=9F=93=A6=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=8C=85=E5=90=AB=E5=BF=85=E9=A1=BB?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=BB=98=E8=AE=A4=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89=E5=B0=B1=E5=8A=A0=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 8 ++++++-- docker/docker_entrypoint.sh | 8 +++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 286268f7..aad63727 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -16,7 +16,6 @@ function getDockerImageLabel() { } ######################################获取docker构建文件里面的自定义信息方法-end##################################################### - ######################################对比版本版本号大小方法-start################################################################### function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" @@ -53,7 +52,6 @@ customListFile="/scripts/docker/$CUSTOM_LIST_FILE" mergedListFile="/scripts/docker/merged_list_file.sh" if type ts >/dev/null 2>&1; then - echo 'moreutils tools installed, default task append |ts output' echo '系统已安装moreutils工具包,默认定时任务增加|ts 输出' ##复制一个新文件来追加|ts,防止git pull的时候冲突 cp $defaultListFile /scripts/docker/default_list.sh @@ -90,5 +88,11 @@ else cat $defaultListFile >$mergedListFile fi +# 判断最后要加载的定时任务是否包含默认定时任务,不包含的话就加进去 +if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then + echo -e >>$mergedListFile + echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile +fi + echo "加载最新的定时任务文件..." crontab $mergedListFile diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 737009d9..f36aa47d 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -19,7 +19,7 @@ echo "########################################################################## ######################################获取docker构建文件里面的自定义信息方法-start##################################################### function getDockerImageLabel() { repo=akyakya/jd_scripts - imageTag=test + imageTag=dev token=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull" | jq -r '.token') digest=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/manifests/${imageTag}" | jq .config.digest -r) labels=$(curl -s -L -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/blobs/$digest" | jq .config.Labels) @@ -104,6 +104,12 @@ else cat $defaultListFile >$mergedListFile fi +# 判断最后要加载的定时任务是否包含默认定时任务,不包含的话就加进去 +if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then + echo -e >>$mergedListFile + echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile +fi + echo "Load the latest crontab task file..." echo "加载最新的定时任务文件..." crontab $mergedListFile From 0100845a0b2989dd6d660d915e13955dbd9c0765 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 14:47:13 +0800 Subject: [PATCH 0334/1259] =?UTF-8?q?=E2=9C=85=20=E6=B5=8B=E8=AF=95dev=20t?= =?UTF-8?q?ag=E9=95=9C=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 10 ++++++++++ docker/docker_entrypoint.sh | 9 +++++++-- docker/notify_docker_user.js | 7 +++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 docker/notify_docker_user.js diff --git a/docker/default_task.sh b/docker/default_task.sh index aad63727..a66acd54 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -21,10 +21,20 @@ function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" } ######################################对比版本版本号大小方法-end################################################################### + +if [ ! $BUILD_VERSION ]; then + +fi #######################################通知用户更新镜像-start##################################################################### if type jq >/dev/null 2>&1; then updateContext=$(getDockerImageLabel | jq .UPDATE_CONTEXT) + export NOTIFY_CONTEXT=$updateContext version=$(getDockerImageLabel | jq .VERSION) +else + # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 + export NOTIFY_CONTEXT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" + cd /scripts/docker + node notify_docker_user.js fi #通知通知用户更新镜像 diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index f36aa47d..7581813b 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -27,18 +27,23 @@ function getDockerImageLabel() { } ######################################获取docker构建文件里面的自定义信息方法-end##################################################### - ######################################对比版本版本号大小方法-start################################################################### function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" } ######################################对比版本版本号大小方法-end################################################################### + #######################################通知用户更新镜像-start##################################################################### if type jq >/dev/null 2>&1; then updateContext=$(getDockerImageLabel | jq .UPDATE_CONTEXT) + export NOTIFY_CONTEXT=$updateContext version=$(getDockerImageLabel | jq .VERSION) +else + #第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 + export NOTIFY_CONTEXT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" + cd /scripts/docker + node notify_docker_user.js fi - #通知通知用户更新镜像 if [ ! $BUILD_VERSION ]; then if [ $version ]; then diff --git a/docker/notify_docker_user.js b/docker/notify_docker_user.js new file mode 100644 index 00000000..4516f663 --- /dev/null +++ b/docker/notify_docker_user.js @@ -0,0 +1,7 @@ +const notify = require('../sendNotify'); + +function image_update_notify() { + notify.sendNotify("⚠️Docker镜像版本更新通知⚠️", process.env.NOTIFY_CONTEXT) +} + +image_update_notify(); \ No newline at end of file From e1c743646ed17163317c3d11f6bdab871e065dbf Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 14:48:11 +0800 Subject: [PATCH 0335/1259] =?UTF-8?q?=E6=94=B9=E5=86=99=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86=E9=80=BB=E8=BE=91.=E4=BB=8E=E9=AB=98?= =?UTF-8?q?=E5=88=B0=E4=BD=8E=E7=9A=84=E4=BA=AC=E8=B1=86=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E5=85=91=E6=8D=A2.=E5=A6=82WO=E5=B8=81=E4=B8=8D=E5=A4=9F?= =?UTF-8?q?=E5=88=99=E4=B8=80=E7=9B=B4=E6=94=92=E7=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_small_home.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/jd_small_home.js b/jd_small_home.js index 38321aab..57c22166 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -2,15 +2,13 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-12 11:42:12 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-11 12:27:20 + * @Last Modified time: 2020-12-11 14:27:20 */ /* 东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js 现有功能: 做日常任务任务,每日抽奖(有机会活动京豆,使用的是免费机会,不消耗WO币) -助力好友:一个账号一天只能助力一次(即:每个人助力机会只有一次) -后期有空优化相互助力功能 -TODO;装扮领京豆(使用WO币购买装饰品可以获得京豆,分别可获得5,20,50,100,200,400,700,1200京豆) +自动使用WO币购买装饰品可以获得京豆,分别可获得5,20,50,100,200,400,700,1200京豆) 注:目前使用此脚本会给脚本内置的两个码进行助力,请知晓 @@ -263,12 +261,18 @@ function queryFurnituresCenterList() { $.canBuyList.push(item); }) $.canBuyList.sort(sortByjdBeanNum); - for (let canBuyItem of $.canBuyList) { - if (canBuyItem.needWoB <= $.woB) { - await furnituresCenterPurchase(canBuyItem.id, canBuyItem.jdBeanNum); - break - } + 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 + // } + // } } } } From 0e75223c45cae10260a07995e755b75d92088edf Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 14:59:20 +0800 Subject: [PATCH 0336/1259] =?UTF-8?q?=F0=9F=94=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 4 +--- docker/docker_entrypoint.sh | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index a66acd54..f81f6fa4 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -22,10 +22,8 @@ function version_gt() { } ######################################对比版本版本号大小方法-end################################################################### -if [ ! $BUILD_VERSION ]; then - -fi #######################################通知用户更新镜像-start##################################################################### +echo "检查docker镜像更新更新..." if type jq >/dev/null 2>&1; then updateContext=$(getDockerImageLabel | jq .UPDATE_CONTEXT) export NOTIFY_CONTEXT=$updateContext diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 7581813b..cc0c2fad 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -34,6 +34,8 @@ function version_gt() { ######################################对比版本版本号大小方法-end################################################################### #######################################通知用户更新镜像-start##################################################################### +echo "check docker images update..." +echo "检查docker镜像更新更新..." if type jq >/dev/null 2>&1; then updateContext=$(getDockerImageLabel | jq .UPDATE_CONTEXT) export NOTIFY_CONTEXT=$updateContext From b81c92a89f02a611bf533564b9e2524a4688efd1 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 15:34:22 +0800 Subject: [PATCH 0337/1259] =?UTF-8?q?=E2=9C=85=20=E6=B5=8B=E6=98=AFdev?= =?UTF-8?q?=E9=95=9C=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 6 +++--- docker/docker_entrypoint.sh | 8 ++++---- docker/notify_docker_user.js | 4 +++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index f81f6fa4..5628f727 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -25,9 +25,9 @@ function version_gt() { #######################################通知用户更新镜像-start##################################################################### echo "检查docker镜像更新更新..." if type jq >/dev/null 2>&1; then - updateContext=$(getDockerImageLabel | jq .UPDATE_CONTEXT) - export NOTIFY_CONTEXT=$updateContext - version=$(getDockerImageLabel | jq .VERSION) + labels=$(getDockerImageLabel) + export NOTIFY_CONTENT=$(echo $labels | jq .UPDATE_CONTENT) + version=$(echo $labels | jq .VERSION) else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 export NOTIFY_CONTEXT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index cc0c2fad..dbc204d3 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -37,12 +37,12 @@ function version_gt() { echo "check docker images update..." echo "检查docker镜像更新更新..." if type jq >/dev/null 2>&1; then - updateContext=$(getDockerImageLabel | jq .UPDATE_CONTEXT) - export NOTIFY_CONTEXT=$updateContext - version=$(getDockerImageLabel | jq .VERSION) + labels=$(getDockerImageLabel) + export NOTIFY_CONTENT=$(echo $labels | jq .UPDATE_CONTENT) + version=$(echo $labels | jq .VERSION) else #第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 - export NOTIFY_CONTEXT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" + export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" cd /scripts/docker node notify_docker_user.js fi diff --git a/docker/notify_docker_user.js b/docker/notify_docker_user.js index 4516f663..55916d06 100644 --- a/docker/notify_docker_user.js +++ b/docker/notify_docker_user.js @@ -1,7 +1,9 @@ const notify = require('../sendNotify'); function image_update_notify() { - notify.sendNotify("⚠️Docker镜像版本更新通知⚠️", process.env.NOTIFY_CONTEXT) + if (process.env.NOTIFY_CONTENT) { + notify.sendNotify("⚠️Docker镜像版本更新通知⚠️", process.env.NOTIFY_CONTENT) + } } image_update_notify(); \ No newline at end of file From f6fc84728c0a5a0133431d432b79dbbf5c942123 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 15:51:57 +0800 Subject: [PATCH 0338/1259] =?UTF-8?q?=E5=AE=8C=E5=96=84log=E6=89=93?= =?UTF-8?q?=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 4 ++++ docker/docker_entrypoint.sh | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 5628f727..d8bccffe 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -30,6 +30,7 @@ if type jq >/dev/null 2>&1; then version=$(echo $labels | jq .VERSION) else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 + echo "当前容版版本过旧,发送镜像更新通知" export NOTIFY_CONTEXT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" cd /scripts/docker node notify_docker_user.js @@ -38,11 +39,13 @@ fi #通知通知用户更新镜像 if [ ! $BUILD_VERSION ]; then if [ $version ]; then + echo "当前容器版本为空,dockerhub仓库版本为$version,发送通知" cd /scripts/docker node notify_docker_user.js fi else if version_gt $version $BUILD_VERSION; then + echo "当前容器版本为$BUILD_VERSION,dockerhub仓库版本为$version,发送通知" cd /scripts/docker node notify_docker_user.js fi @@ -98,6 +101,7 @@ fi # 判断最后要加载的定时任务是否包含默认定时任务,不包含的话就加进去 if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then + echo "合并后的定时任务文件,未包含必须的默认定时任务,增加默认定时任务..." echo -e >>$mergedListFile echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index dbc204d3..ebc1e8ff 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -41,19 +41,26 @@ if type jq >/dev/null 2>&1; then export NOTIFY_CONTENT=$(echo $labels | jq .UPDATE_CONTENT) version=$(echo $labels | jq .VERSION) else - #第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 - export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" + # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 + echo "Current container version is too old, send update notification" + echo "当前版本过旧,发送镜像更新通知" + export NOTIFY_CONTEXT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" cd /scripts/docker node notify_docker_user.js fi + #通知通知用户更新镜像 if [ ! $BUILD_VERSION ]; then if [ $version ]; then + echo "Current container version is empty, dockerhub lastet $version, send update notification" + echo "当前容器版本为空,dockerhub仓库版本为$version,发送更新通知" cd /scripts/docker node notify_docker_user.js fi else if version_gt $version $BUILD_VERSION; then + echo "Current container version $BUILD_VERSION, dockerhub lastet version $version, send update notification" + echo "当前容器版本为$BUILD_VERSION,dockerhub仓库版本为$version,发送通知" cd /scripts/docker node notify_docker_user.js fi @@ -113,6 +120,8 @@ fi # 判断最后要加载的定时任务是否包含默认定时任务,不包含的话就加进去 if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then + echo "Merged crontab task file,the required default task is not included, append default task..." + echo "合并后的定时任务文件,未包含必须的默认定时任务,增加默认定时任务..." echo -e >>$mergedListFile echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi From ea7e8a4a1ad60427b7720ea36ea8ae09c438ccf5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 15:55:42 +0800 Subject: [PATCH 0339/1259] =?UTF-8?q?=E4=B8=8D=E9=9C=80=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E7=9A=84=E8=84=9A=E6=9C=AC,IOS=E4=B8=8A=E6=94=AF=E6=8C=81=20?= =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=A4=9A=E8=B4=A6=E5=8F=B7=20Ck=20=E7=AE=A1?= =?UTF-8?q?=E7=90=86,=E5=A4=9A=E8=B4=A6=E5=8F=B7cookie=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E8=A7=81=20https://raw.githubusercontent.com?= =?UTF-8?q?/lxk0301/jd=5Fscripts/master/JD=5Fextra=5Fcookie.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_818.js | 17 +++++++++++++++-- jd_apple_live.js | 14 ++++++++++++++ jd_bean_change.js | 17 +++++++++++++++-- jd_bean_home.js | 15 ++++++++++++++- jd_blueCoin.js | 18 +++++++++++++++--- jd_car.js | 15 ++++++++++++++- jd_club_lottery.js | 17 +++++++++++++++-- jd_daily_egg.js | 16 +++++++++++++++- jd_digital_floor.js | 14 ++++++++++++++ jd_dreamFactory.js | 17 +++++++++++++++-- jd_ds.js | 14 ++++++++++++++ jd_health.js | 14 ++++++++++++++ jd_jdfactory.js | 14 ++++++++++++++ jd_joy.js | 17 +++++++++++++++-- jd_joy_reward.js | 17 +++++++++++++++-- jd_jxstory.js | 17 +++++++++++++++-- jd_kd.js | 14 ++++++++++++++ jd_live.js | 14 ++++++++++++++ jd_live_redrain.js | 15 ++++++++++++++- jd_moneyTree.js | 17 +++++++++++++++-- jd_ms_redrain.js | 14 ++++++++++++++ jd_necklace.js | 14 ++++++++++++++ jd_pigPet.js | 16 +++++++++++++++- jd_pubg.js | 14 ++++++++++++++ jd_redPacket.js | 17 +++++++++++++++-- jd_shop.js | 17 +++++++++++++++-- jd_small_home.js | 15 ++++++++++++++- jd_speed.js | 17 +++++++++++++++-- jd_split.js | 14 ++++++++++++++ jd_syj.js | 14 ++++++++++++++ jd_unsubscribe.js | 17 +++++++++++++++-- 31 files changed, 449 insertions(+), 33 deletions(-) diff --git a/jd_818.js b/jd_818.js index 52127410..ddfa8e6c 100644 --- a/jd_818.js +++ b/jd_818.js @@ -44,8 +44,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; @@ -916,5 +918,16 @@ async function showMsg() { $.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手动复制粘贴修改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/jd_apple_live.js b/jd_apple_live.js index 09081143..0e1609e4 100644 --- a/jd_apple_live.js +++ b/jd_apple_live.js @@ -35,6 +35,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; @@ -400,5 +403,16 @@ function safeGet(data) { 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("",`\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/jd_bean_change.js b/jd_bean_change.js index f5448a74..f1141397 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -33,8 +33,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } !(async () => { if (!cookiesArr[0]) { @@ -202,5 +204,16 @@ function getJingBeanBalanceDetail(page) { }) }) } +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("",`\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/jd_bean_home.js b/jd_bean_home.js index d3e7d09f..028cd280 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -36,6 +36,9 @@ if ($.isNode()) { 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/'; @@ -407,6 +410,16 @@ function safeGet(data) { 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_blueCoin.js b/jd_blueCoin.js index 34a85a95..f4f941d3 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -28,8 +28,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; @@ -415,5 +417,15 @@ function taskUrl(function_id, body = {}) { } } } - +function jsonParse(str) { + if (typeof str == "string") { + try { + return JSON.parse(str); + } catch (e) { + console.log(e); + $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + return []; + } + } +} 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)} diff --git a/jd_car.js b/jd_car.js index 7c91bdcf..b7c4cb5e 100644 --- a/jd_car.js +++ b/jd_car.js @@ -36,6 +36,9 @@ if ($.isNode()) { 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://car-member.jd.com/api/'; @@ -316,6 +319,16 @@ function safeGet(data) { 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("",`\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/jd_club_lottery.js b/jd_club_lottery.js index bf13da48..5733dc78 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -32,8 +32,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { @@ -377,6 +379,17 @@ function TotalBean() { }) }) } +function jsonParse(str) { + if (typeof str == "string") { + try { + return JSON.parse(str); + } catch (e) { + console.log(e); + $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + return []; + } + } +} function taskUrl(function_id, body = {}, appId = 'vip_h5') { return { url: `${JD_API_HOST}?functionId=${function_id}&appid=${appId}&body=${escape(JSON.stringify(body))}&_=${Date.now()}`, diff --git a/jd_daily_egg.js b/jd_daily_egg.js index b19ac6b9..76672f9a 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -22,7 +22,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } !(async () => { if (!cookiesArr[0]) { @@ -221,5 +224,16 @@ function taskUrl(function_id, body) { } } } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_digital_floor.js b/jd_digital_floor.js index f1553b02..b426fc7a 100644 --- a/jd_digital_floor.js +++ b/jd_digital_floor.js @@ -38,6 +38,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://digital-floor.m.jd.com/adf/index/'; @@ -407,5 +410,16 @@ function safeGet(data) { 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("",`\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/jd_dreamFactory.js b/jd_dreamFactory.js index bca7e0b9..c0c85a21 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -43,7 +43,10 @@ if ($.isNode()) { if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; } else { - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } !(async () => { await requireConfig(); @@ -1439,6 +1442,16 @@ Date.prototype.Format = function (fmt) { //author: meizz 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手动复制粘贴修改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();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/jd_ds.js b/jd_ds.js index abcdbd65..20a5ad05 100644 --- a/jd_ds.js +++ b/jd_ds.js @@ -42,6 +42,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/'; @@ -194,5 +197,16 @@ function safeGet(data) { 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("",`\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/jd_health.js b/jd_health.js index bc435556..f8f3f846 100644 --- a/jd_health.js +++ b/jd_health.js @@ -34,6 +34,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; @@ -382,5 +385,16 @@ function safeGet(data) { 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("",`\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/jd_jdfactory.js b/jd_jdfactory.js index ff91ff87..ca98901f 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -43,6 +43,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } let wantProduct = ``;//心仪商品名称 @@ -735,5 +738,16 @@ function safeGet(data) { 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("",`\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/jd_joy.js b/jd_joy.js index c6752690..e2473c53 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -32,8 +32,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } let message = '', subTitle = ''; let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //每次喂养数量 [10,20,40,80] @@ -811,5 +813,16 @@ function taskPostUrl(url, body, reqSource, Host, ContentType) { } } } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_joy_reward.js b/jd_joy_reward.js index 1f5749c7..3992fdb5 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -30,8 +30,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://jdjoy.jd.com'; !(async () => { @@ -271,5 +273,16 @@ function TotalBean() { }) }) } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_jxstory.js b/jd_jxstory.js index 7c1260c3..e1584a36 100644 --- a/jd_jxstory.js +++ b/jd_jxstory.js @@ -40,7 +40,10 @@ if ($.isNode()) { if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; } else { - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } !(async () => { await requireConfig(); @@ -650,6 +653,16 @@ Date.prototype.Format = function (fmt) { //author: meizz 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手动复制粘贴修改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();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/jd_kd.js b/jd_kd.js index 50c410aa..04688ace 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -36,6 +36,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/api'; @@ -193,5 +196,16 @@ function safeGet(data) { 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("",`\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/jd_live.js b/jd_live.js index 6d9f58f5..7e318647 100644 --- a/jd_live.js +++ b/jd_live.js @@ -33,6 +33,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; @@ -269,5 +272,16 @@ function safeGet(data) { 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("",`\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/jd_live_redrain.js b/jd_live_redrain.js index d8ebd8de..3bb01362 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -36,6 +36,9 @@ if ($.isNode()) { 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/api'; @@ -242,6 +245,16 @@ function safeGet(data) { 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("",`\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/jd_moneyTree.js b/jd_moneyTree.js index b2f5cc48..7d224444 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -26,8 +26,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } let jdNotify = true;//是否开启静默运行,默认true开启 @@ -644,5 +646,16 @@ function taskurl(function_id, body) { } } } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_ms_redrain.js b/jd_ms_redrain.js index 446e24c2..0f3a009c 100644 --- a/jd_ms_redrain.js +++ b/jd_ms_redrain.js @@ -35,6 +35,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/api'; @@ -183,5 +186,16 @@ function safeGet(data) { 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("",`\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/jd_necklace.js b/jd_necklace.js index c6cb87d7..1467ea4e 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -39,6 +39,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } @@ -305,5 +308,16 @@ function safeGet(data) { 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("",`\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/jd_pigPet.js b/jd_pigPet.js index e71c979f..ce5afd65 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -27,7 +27,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]) + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } !(async () => { if (!cookiesArr[0]) { @@ -665,5 +668,16 @@ function taskUrl(function_id, body) { } } } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_pubg.js b/jd_pubg.js index f24a256d..174b9156 100644 --- a/jd_pubg.js +++ b/jd_pubg.js @@ -131,6 +131,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://starsingle.m.jd.com/guardianstar/'; @@ -497,5 +500,16 @@ function safeGet(data) { 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("",`\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/jd_redPacket.js b/jd_redPacket.js index c72f8b91..6aad9662 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -38,8 +38,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/api'; @@ -316,5 +318,16 @@ function taskUrl(function_id, body) { } } } +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("",`\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/jd_shop.js b/jd_shop.js index fe62485f..ecf3d544 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -26,8 +26,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } let message = '', subTitle = ''; @@ -201,5 +203,16 @@ function TotalBean() { }) }) } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_small_home.js b/jd_small_home.js index 57c22166..be5564c3 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -51,6 +51,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } @@ -882,6 +885,16 @@ function safeGet(data) { 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("",`\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/jd_speed.js b/jd_speed.js index 176230fb..d1887b89 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -30,8 +30,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } let jdNotify = true;//是否开启静默运行。默认true开启 let message = '', subTitle = ''; @@ -513,5 +515,16 @@ function TotalBean() { }) }) } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_split.js b/jd_split.js index f2b4e441..4b77a554 100644 --- a/jd_split.js +++ b/jd_split.js @@ -35,6 +35,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; @@ -295,5 +298,16 @@ function safeGet(data) { 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("",`\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/jd_syj.js b/jd_syj.js index 06720e00..bda67111 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -40,6 +40,9 @@ if ($.isNode()) { }) 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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const JD_API_HOST = 'https://api.m.jd.com/api'; @@ -198,5 +201,16 @@ function safeGet(data) { 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("",`\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/jd_unsubscribe.js b/jd_unsubscribe.js index 7e04f0a1..968bef48 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -29,8 +29,10 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); } const jdNotify = $.getdata('jdUnsubscribeNotify');//是否关闭通知,false打开通知推送,true关闭通知推送 let goodPageSize = $.getdata('jdUnsubscribePageSize') || 20;// 运行一次取消多少个已关注的商品。数字0表示不取关任何商品 @@ -332,5 +334,16 @@ function requireConfig() { resolve() }) } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} From bf8c41623ae96c51f11703630ffd345cc6b0466e Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 16:09:37 +0800 Subject: [PATCH 0340/1259] =?UTF-8?q?shell=E8=84=9A=E6=9C=AC=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 5 +++-- docker/docker_entrypoint.sh | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index d8bccffe..da61c000 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -25,9 +25,10 @@ function version_gt() { #######################################通知用户更新镜像-start##################################################################### echo "检查docker镜像更新更新..." if type jq >/dev/null 2>&1; then + echo "获取dockerhub仓库镜像labels信息..." labels=$(getDockerImageLabel) - export NOTIFY_CONTENT=$(echo $labels | jq .UPDATE_CONTENT) - version=$(echo $labels | jq .VERSION) + export NOTIFY_CONTENT=$(echo $labels | jq -r .UPDATE_CONTENT) + version=$(echo $labels | jq -r .VERSION) else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 echo "当前容版版本过旧,发送镜像更新通知" diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index ebc1e8ff..9b818252 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -37,9 +37,11 @@ function version_gt() { echo "check docker images update..." echo "检查docker镜像更新更新..." if type jq >/dev/null 2>&1; then + echo "get dockerhub repo images labels..." + echo "获取dockerhub仓库镜像labels信息..." labels=$(getDockerImageLabel) - export NOTIFY_CONTENT=$(echo $labels | jq .UPDATE_CONTENT) - version=$(echo $labels | jq .VERSION) + export NOTIFY_CONTENT=$(echo $labels | jq -r .UPDATE_CONTENT) + version=$(echo $labels | jq -r .VERSION) else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 echo "Current container version is too old, send update notification" From 5f315a1a5366ed08965165ac58f4e4354ec931e1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 16:12:35 +0800 Subject: [PATCH 0341/1259] update --- jd_fruit.js | 2 +- jd_pet.js | 2 +- jd_plantBean.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index b0f4eeee..9902fd00 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -85,7 +85,7 @@ async function jdFruit() { // option['media-url'] = $.farmInfo.farmUserPro.goodsImage; subTitle = `【京东账号${$.index}】${$.nickName}`; message = `【水果名称】${$.farmInfo.farmUserPro.name}\n`; - console.log(`\n【您的互助码shareCode】 ${$.farmInfo.farmUserPro.shareCode}\n`); + console.log(`\n【您的${$.name}互助码shareCode】 ${$.farmInfo.farmUserPro.shareCode}\n`); console.log(`\n【已成功兑换水果】${$.farmInfo.farmUserPro.winTimes}次\n`); message += `【已兑换水果】${$.farmInfo.farmUserPro.winTimes}次\n`; await masterHelpShare();//助力好友 diff --git a/jd_pet.js b/jd_pet.js index 7e712810..4fac23da 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -115,7 +115,7 @@ async function jdPet() { } return } - console.log(`\n【您的互助码shareCode】 ${$.petInfo.shareCode}\n`); + console.log(`\n【您的${$.name}互助码shareCode】 ${$.petInfo.shareCode}\n`); await taskInit(); if ($.taskInit.resultCode === '9999' || !$.taskInit.result) { console.log('初始化任务异常, 请稍后再试'); diff --git a/jd_plantBean.js b/jd_plantBean.js index 1640b5f3..e4237bd2 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -89,7 +89,7 @@ async function jdPlantBean() { if ($.plantBeanIndexResult.code === '0') { const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl $.myPlantUuid = getParam(shareUrl, 'plantUuid') - console.log(`\n【您的互助码plantUuid】 ${$.myPlantUuid}\n`); + console.log(`\n【您的${$.name}互助码】 ${$.myPlantUuid}\n`); roundList = $.plantBeanIndexResult.data.roundList; currentRoundId = roundList[1].roundId;//本期的roundId lastRoundId = roundList[0].roundId;//上期的roundId From 8a745b13a3c7d25e4dd0068ac4cc71a7afef04f0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 16:39:20 +0800 Subject: [PATCH 0342/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E5=A4=9A=E8=B4=A6=E5=8F=B7=20Ck=20=E7=AE=A1=E7=90=86=E7=9A=84?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F,=E7=9B=AE=E5=89=8D=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E9=A1=BA=E5=BA=8F=E4=B8=BA(NobyDa=E7=9A=84Co?= =?UTF-8?q?okieJD,CookieJD2,=E7=84=B6=E5=90=8E=E5=8A=A0=E4=B8=8A=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E5=A4=9A=E8=B4=A6=E5=8F=B7=E7=9A=84cookie)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_818.js | 4 +++- jd_apple_live.js | 4 +++- jd_bean_change.js | 4 +++- jd_bean_home.js | 4 +++- jd_blueCoin.js | 4 +++- jd_car.js | 4 +++- jd_club_lottery.js | 4 +++- jd_daily_egg.js | 4 +++- jd_digital_floor.js | 4 +++- jd_dreamFactory.js | 4 +++- jd_ds.js | 4 +++- jd_health.js | 4 +++- jd_jdfactory.js | 4 +++- jd_joy.js | 4 +++- jd_joy_feedPets.js | 4 +++- jd_joy_reward.js | 4 +++- jd_joy_run.js | 4 +++- jd_jxstory.js | 4 +++- jd_kd.js | 4 +++- jd_live.js | 4 +++- jd_live_redrain.js | 4 +++- jd_moneyTree.js | 4 +++- jd_ms_redrain.js | 4 +++- jd_necklace.js | 4 +++- jd_pigPet.js | 4 +++- jd_pubg.js | 4 +++- jd_redPacket.js | 4 +++- jd_shop.js | 4 +++- jd_small_home.js | 4 +++- jd_speed.js | 4 +++- jd_split.js | 4 +++- jd_syj.js | 4 +++- jd_unsubscribe.js | 4 +++- jd_xtg.js | 5 +++-- 34 files changed, 102 insertions(+), 35 deletions(-) diff --git a/jd_818.js b/jd_818.js index ddfa8e6c..3f7ff7ed 100644 --- a/jd_818.js +++ b/jd_818.js @@ -47,7 +47,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; diff --git a/jd_apple_live.js b/jd_apple_live.js index 0e1609e4..49b40a29 100644 --- a/jd_apple_live.js +++ b/jd_apple_live.js @@ -38,7 +38,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow@P04z54XCjVUm4aW5u2ak7ZCdan1BeYMuZ9HwF34gJjW@P04z54XCjVUm4aW5m9cZ2T6jChKkkjZEdhiKUY`, `P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow`]; diff --git a/jd_bean_change.js b/jd_bean_change.js index f1141397..0eacf7be 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -36,7 +36,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } !(async () => { if (!cookiesArr[0]) { diff --git a/jd_bean_home.js b/jd_bean_home.js index 028cd280..9d2bf5e8 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -39,7 +39,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { diff --git a/jd_blueCoin.js b/jd_blueCoin.js index f4f941d3..503d3a8d 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -31,7 +31,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; diff --git a/jd_car.js b/jd_car.js index b7c4cb5e..2eb6849b 100644 --- a/jd_car.js +++ b/jd_car.js @@ -39,7 +39,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://car-member.jd.com/api/'; !(async () => { diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 5733dc78..724c977f 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -35,7 +35,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { diff --git a/jd_daily_egg.js b/jd_daily_egg.js index 76672f9a..c4c595d9 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -25,7 +25,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } !(async () => { if (!cookiesArr[0]) { diff --git a/jd_digital_floor.js b/jd_digital_floor.js index b426fc7a..6ca2a716 100644 --- a/jd_digital_floor.js +++ b/jd_digital_floor.js @@ -41,7 +41,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://digital-floor.m.jd.com/adf/index/'; !(async () => { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index c0c85a21..f4316824 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -46,7 +46,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } !(async () => { await requireConfig(); diff --git a/jd_ds.js b/jd_ds.js index 20a5ad05..b07f736e 100644 --- a/jd_ds.js +++ b/jd_ds.js @@ -45,7 +45,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { diff --git a/jd_health.js b/jd_health.js index f8f3f846..5443c20c 100644 --- a/jd_health.js +++ b/jd_health.js @@ -37,7 +37,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5m9cZ2T6jChKkh8FWbFAplQ', `P04z54XCjVUnoaW5u2ak7ZCdan1Bdbpik_F9ud7lznm`, `P04z54XCjVUnoaW5m9cZ2ariXVJwFN5uKHNqnc`]; diff --git a/jd_jdfactory.js b/jd_jdfactory.js index ca98901f..db2b0e13 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -46,7 +46,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } let wantProduct = ``;//心仪商品名称 const JD_API_HOST = 'https://api.m.jd.com/client.action'; diff --git a/jd_joy.js b/jd_joy.js index e2473c53..f06e5a09 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -35,7 +35,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } let message = '', subTitle = ''; let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //每次喂养数量 [10,20,40,80] diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index 1e497cb5..b1a6c49a 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -30,7 +30,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } let jdNotify = true;//是否开启静默运行。默认true开启 let message = '', subTitle = ''; diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 3992fdb5..1e4b7691 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -33,7 +33,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://jdjoy.jd.com'; !(async () => { diff --git a/jd_joy_run.js b/jd_joy_run.js index 534ade1b..26a57290 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -73,7 +73,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); if ($.getdata('jd_joy_invite_pin')) { invite_pins = []; invite_pins.push($.getdata('jd_joy_invite_pin')); diff --git a/jd_jxstory.js b/jd_jxstory.js index e1584a36..2e923e1f 100644 --- a/jd_jxstory.js +++ b/jd_jxstory.js @@ -43,7 +43,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } !(async () => { await requireConfig(); diff --git a/jd_kd.js b/jd_kd.js index 04688ace..9709153a 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -39,7 +39,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { diff --git a/jd_live.js b/jd_live.js index 7e318647..dd52aa4a 100644 --- a/jd_live.js +++ b/jd_live.js @@ -36,7 +36,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 3bb01362..1086ff5b 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -39,7 +39,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 7d224444..54a2c137 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -29,7 +29,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } let jdNotify = true;//是否开启静默运行,默认true开启 diff --git a/jd_ms_redrain.js b/jd_ms_redrain.js index 0f3a009c..2a84a2fc 100644 --- a/jd_ms_redrain.js +++ b/jd_ms_redrain.js @@ -38,7 +38,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { diff --git a/jd_necklace.js b/jd_necklace.js index 1467ea4e..0f8a67bd 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -42,7 +42,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/api'; diff --git a/jd_pigPet.js b/jd_pigPet.js index ce5afd65..7c66c4fd 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -30,7 +30,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } !(async () => { if (!cookiesArr[0]) { diff --git a/jd_pubg.js b/jd_pubg.js index 174b9156..241ca26a 100644 --- a/jd_pubg.js +++ b/jd_pubg.js @@ -134,7 +134,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } 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'] diff --git a/jd_redPacket.js b/jd_redPacket.js index 6aad9662..d0dc2aa6 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -41,7 +41,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/api'; diff --git a/jd_shop.js b/jd_shop.js index ecf3d544..857e9305 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -29,7 +29,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } let message = '', subTitle = ''; diff --git a/jd_small_home.js b/jd_small_home.js index be5564c3..47d58a67 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -54,7 +54,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; diff --git a/jd_speed.js b/jd_speed.js index d1887b89..32cec982 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -33,7 +33,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } let jdNotify = true;//是否开启静默运行。默认true开启 let message = '', subTitle = ''; diff --git a/jd_split.js b/jd_split.js index 4b77a554..aea6da5c 100644 --- a/jd_split.js +++ b/jd_split.js @@ -38,7 +38,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; $.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5m9cZ2T6jChKki0Hfndla5k', 'P04z54XCjVUnIaW5u2ak7ZCdan1BT0NlbBGZ1-rnMYj', 'P04z54XCjVUnIaW5m9cZ2ariXVJwI64DaVTNXQ']; diff --git a/jd_syj.js b/jd_syj.js index bda67111..4514dc5b 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -43,7 +43,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 968bef48..fa1fbcd4 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -32,7 +32,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const jdNotify = $.getdata('jdUnsubscribeNotify');//是否关闭通知,false打开通知推送,true关闭通知推送 let goodPageSize = $.getdata('jdUnsubscribePageSize') || 20;// 运行一次取消多少个已关注的商品。数字0表示不取关任何商品 diff --git a/jd_xtg.js b/jd_xtg.js index 46215852..7646aae7 100644 --- a/jd_xtg.js +++ b/jd_xtg.js @@ -41,8 +41,9 @@ if ($.isNode()) { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } const starID = [ 'bolangwutiaoren', From 95d4c823fccfb887c7c6531c75a7b61777922c96 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 16:56:36 +0800 Subject: [PATCH 0343/1259] =?UTF-8?q?=F0=9F=93=96=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=85=8D=E7=BD=AEexample=E5=92=8C=E6=96=87=E6=A1=A3=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Dockerfile | 21 +++-- docker/Readme.md | 76 +++++-------------- .../{docker-compose.yml => custom-append.yml} | 16 +--- docker/example/custom-overwrite.yml | 44 +++++++++++ docker/example/default.yml | 42 ++++++++++ ...son => jd_scripts.custom-append.syno.json} | 4 +- .../jd_scripts.custom-overwrite.syno.json | 69 +++++++++++++++++ docker/example/jd_scripts.syno.json | 2 +- docker/example/multi.yml | 51 +++++++++++++ docker/example/use-tg-bot.yml | 40 ++++++++++ 10 files changed, 287 insertions(+), 78 deletions(-) rename docker/example/{docker-compose.yml => custom-append.yml} (68%) create mode 100644 docker/example/custom-overwrite.yml create mode 100644 docker/example/default.yml rename docker/example/{jd_scripts.my_crontab_list.syno.json => jd_scripts.custom-append.syno.json} (92%) create mode 100644 docker/example/jd_scripts.custom-overwrite.syno.json create mode 100644 docker/example/multi.yml create mode 100644 docker/example/use-tg-bot.yml diff --git a/docker/Dockerfile b/docker/Dockerfile index 5615cde9..0e01fb04 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,23 +1,32 @@ FROM alpine -MAINTAINER Akira +LABEL AUTHOR="Akira " \ + VERSION=0.1.2 \ + UPDATE_CONTENT="更新内容较多,重新阅读仓库[Readme](https://github.com/lxk0301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" RUN set -ex \ && apk update && apk upgrade\ - && apk add --no-cache tzdata moreutils git nodejs npm\ + && apk add --no-cache tzdata moreutils git nodejs npm curl jq\ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone -RUN git clone https://github.com/lxk0301/jd_scripts /scripts \ +RUN git clone https://github.com/iouAkira/jd_scripts /scripts \ && cd /scripts \ + && git checkout dev \ && mkdir logs \ && npm install \ && cd /tmp \ && npm install request -ENV CRONTAB_LIST_FILE crontab_list_ts.sh +ENV BUILD_VERSION=0.1.2 \ + DEFAULT_LIST_FILE=crontab_list.sh \ + CUSTOM_LIST_MERGE_TYPE=append -RUN crontab /scripts/docker/crontab_list_ts.sh +# github action 构建 +COPY ./docker/docker_entrypoint.sh /usr/local/bin +# 本地构建 +# COPY ./docker_entrypoint.sh /usr/local/bin +# RUN chmod +x /usr/local/bin/docker_entrypoint.sh WORKDIR /scripts -CMD ["node"] +ENTRYPOINT ["docker_entrypoint.sh"] diff --git a/docker/Readme.md b/docker/Readme.md index 7b5d8247..cd1a3f33 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -6,7 +6,14 @@ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` -### 如果需要使用 docker 多个账户独立并发执行定时任务,[参考这里](https://github.com/iouAkira/scripts/blob/patch-1/docker/docker%E5%A4%9A%E8%B4%A6%E6%88%B7%E4%BD%BF%E7%94%A8%E7%8B%AC%E7%AB%8B%E5%AE%B9%E5%99%A8%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md#%E4%BD%BF%E7%94%A8%E6%AD%A4%E6%96%B9%E5%BC%8F%E8%AF%B7%E5%85%88%E7%90%86%E8%A7%A3%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8docker%E5%8A%9E%E6%B3%95%E4%B8%80%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) +### 如果需要使用 docker 多个账户独立并发执行定时任务,[参考这里](https://github.com/iouAkira/scripts/blob/patch-1/docker/docker%E5%A4%9A%E8%B4%A6%E6%88%B7%E4%BD%BF%E7%94%A8%E7%8B%AC%E7%AB%8B%E5%AE%B9%E5%99%A8%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md#%E4%BD%BF%E7%94%A8%E6%AD%A4%E6%96%B9%E5%BC%8F%E8%AF%B7%E5%85%88%E7%90%86%E8%A7%A3%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8docker%E5%8A%9E%E6%B3%95%E4%B8%80%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) + +⚠️⚠️⚠️2020-12-11更新镜像启动方式,虽然兼容旧版的运行启动方式,但是强烈建议更新镜像和配置后使用 +- 更新后`commad:`指令配置不再需要 +- 更新后可以使用自定义任务文件追加在默任务文件之后,比以前的完全覆盖多一个选择 +- - 新的自定两个环境变量为 `CUSTOM_LIST_MERGE_TYPE`:自定文件的生效方式可选值为`append`,`overwrite`默认为`append` ; `CUSTOM_LIST_FILE`: 自定义文件的名字 +- 更新镜像增减镜像更新通知,以后镜像如果更新之后,会通知用户更新 + > 注⚠️:前提先理解学会使用这下面的教程 ### 创建一个目录`jd_scripts`用于存放备份配置等数据,迁移重装的时候只需要备份整个jd_scripts目录即可 需要新建的目录文件结构参考如下: @@ -19,63 +26,18 @@ jd_scripts └── docker-compose.yml ``` - `jd_scripts/logs`建一个空文件夹就行 -- `jd_scripts/docker-compose.yml` 参考内容如下: +- `jd_scripts/docker-compose.yml` 参考内容如下(自己动手能力不行搞不定请使用默认配置): +- - [使用默认配置用这个](./example/default.yml) +- - [使用自定义任务追加到默认任务之后用这个](./example/custom-append.yml) +- - [使用自定义任务覆盖默认任务用这个](./example/custom-overwrite.yml) +- - [使用TG机器人交互的用这个](./example/use-tg-bot.yml) +- - [一次启动多容器并发用这个](./example/multi.yml) +- - [使用群晖默认配置用这个](./example/jd_scripts.syno.json) +- - [使用群晖自定义任务追加到默认任务之后用这个](./example/jd_scripts.custom-append.syno.json) +- - [使用群晖自定义任务覆盖默认任务用这个](./example/jd_scripts.custom-overwrite.syno.json) - `jd_scripts/docker-compose.yml`里面的环境变量(`environment:`)配置[参考这里](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) -```yaml -jd_scripts: -jd_scripts: - image: akyakya/jd_scripts - container_name: jd_scripts - restart: always - #如果需要自定定义定时任务的需要自己写好`my_crontab_list.sh`文件 ,取消下面的挂载注释 ,通过 `volumes`挂载进去。 - volumes: - # - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh - - ./logs:/scripts/logs - tty: true - environment: - # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 - #jd cookies - # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX - - JD_COOKIE= - #微信server酱通 - - PUSH_KEY= - #Bark App通知 - - BARK_PUSH= - #telegram机器人通知 - - TG_BOT_TOKEN= - - TG_USER_ID= - #钉钉机器人通知 - - DD_BOT_TOKEN= - - DD_BOT_SECRET= - #京东种豆得豆 - - PLANT_BEAN_SHARECODES= - #京东农场 - # 例: FRUITSHARECODES=京东农场的互助码 - - FRUITSHARECODES= - #京东萌宠 - # 例: PETSHARECODES=东东萌宠的互助码 - - PETSHARECODES= - # 宠汪汪的喂食数量 - - JOY_FEED_COUNT= - #京小超 - # - SUPERMARKET_SHARECODES= - #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) - # 例: MARKET_COIN_TO_BEANS=1000 - - MARKET_COIN_TO_BEANS= - #是否开启debug模式打印日志 - # 例: JD_DEBUG=false - - JD_DEBUG= - #如果使用自定义定时任务,取消下面一行的注释 - #- CRONTAB_LIST_FILE=my_crontab_list.sh - command: - - /bin/sh - - -c - - | - #crontab /scripts/docker/my_crontab_list.sh #如果挂载了自定义任务文件,取消此条注释即可 - crond - git -C /scripts/ pull - node -``` + + - `jd_scripts/my_crontab_list.sh` 参考内容如下,自己根据需要调整增加删除,不熟悉用户推荐使用默认配置: ```shell diff --git a/docker/example/docker-compose.yml b/docker/example/custom-append.yml similarity index 68% rename from docker/example/docker-compose.yml rename to docker/example/custom-append.yml index 93daae3b..f2618e40 100644 --- a/docker/example/docker-compose.yml +++ b/docker/example/custom-append.yml @@ -2,9 +2,8 @@ jd_scripts: image: akyakya/jd_scripts container_name: jd_scripts restart: always - #如果需要自定定义定时任务的需要自己写好`my_crontab_list.sh`文件 ,取消下面的挂载注释 ,通过 `volumes`挂载进去。 volumes: - # - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh + - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh - ./logs:/scripts/logs tty: true environment: @@ -40,13 +39,6 @@ jd_scripts: #是否开启debug模式打印日志 # 例: JD_DEBUG=false - JD_DEBUG= - #如果使用自定义定时任务,取消下面一行的注释 - #- CRONTAB_LIST_FILE=my_crontab_list.sh - command: - - /bin/sh - - -c - - | - #crontab /scripts/docker/my_crontab_list.sh #如果挂载了自定义任务文件,取消此条注释即可 - crond - git -C /scripts/ pull - node + #使用自定义定任务追加默认任务之后,上面volumes挂载之后这里配置对应的文件名 + - CUSTOM_LIST_FILE=my_crontab_list.sh + diff --git a/docker/example/custom-overwrite.yml b/docker/example/custom-overwrite.yml new file mode 100644 index 00000000..5099b9fd --- /dev/null +++ b/docker/example/custom-overwrite.yml @@ -0,0 +1,44 @@ +jd_scripts: + image: akyakya/jd_scripts + container_name: jd_scripts + restart: always + volumes: + - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh + - ./logs:/scripts/logs + tty: true + environment: + # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 + #jd cookies + # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX + - JD_COOKIE= + #微信server酱通 + - PUSH_KEY= + #Bark App通知 + - BARK_PUSH= + #telegram机器人通知 + - TG_BOT_TOKEN= + - TG_USER_ID= + #钉钉机器人通知 + - DD_BOT_TOKEN= + - DD_BOT_SECRET= + #京东种豆得豆 + - PLANT_BEAN_SHARECODES= + #京东农场 + # 例: FRUITSHARECODES=京东农场的互助码 + - FRUITSHARECODES= + #京东萌宠 + # 例: PETSHARECODES=东东萌宠的互助码 + - PETSHARECODES= + # 宠汪汪的喂食数量 + - JOY_FEED_COUNT= + #京小超 + # - SUPERMARKET_SHARECODES= + #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) + # 例: MARKET_COIN_TO_BEANS=1000 + - MARKET_COIN_TO_BEANS= + #是否开启debug模式打印日志 + # 例: JD_DEBUG=false + - JD_DEBUG= + #使用自定义定任务追加默认任务之后,上面volumes挂载之后这里配置对应的文件名,和自定义文件使用方式为overwrite + - CUSTOM_LIST_FILE=my_crontab_list.sh + - CUSTOM_LIST_MERGE_TYPE=overwrite diff --git a/docker/example/default.yml b/docker/example/default.yml new file mode 100644 index 00000000..bdc6c60b --- /dev/null +++ b/docker/example/default.yml @@ -0,0 +1,42 @@ +jd_scripts: + image: akyakya/jd_scripts + container_name: jd_scripts + restart: always + volumes: + - ./logs:/scripts/logs + tty: true + environment: + # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 + #jd cookies + # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX + - JD_COOKIE= + #微信server酱通 + - PUSH_KEY= + #Bark App通知 + - BARK_PUSH= + #telegram机器人通知 + - TG_BOT_TOKEN= + - TG_USER_ID= + #钉钉机器人通知 + - DD_BOT_TOKEN= + - DD_BOT_SECRET= + #京东种豆得豆 + - PLANT_BEAN_SHARECODES= + #京东农场 + # 例: FRUITSHARECODES=京东农场的互助码 + - FRUITSHARECODES= + #京东萌宠 + # 例: PETSHARECODES=东东萌宠的互助码 + - PETSHARECODES= + # 宠汪汪的喂食数量 + - JOY_FEED_COUNT= + #京小超 + # - SUPERMARKET_SHARECODES= + #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) + # 例: MARKET_COIN_TO_BEANS=1000 + - MARKET_COIN_TO_BEANS= + #是否开启debug模式打印日志 + # 例: JD_DEBUG=false + - JD_DEBUG= + + diff --git a/docker/example/jd_scripts.my_crontab_list.syno.json b/docker/example/jd_scripts.custom-append.syno.json similarity index 92% rename from docker/example/jd_scripts.my_crontab_list.syno.json rename to docker/example/jd_scripts.custom-append.syno.json index 2fddb6b1..e6fdce53 100644 --- a/docker/example/jd_scripts.my_crontab_list.syno.json +++ b/docker/example/jd_scripts.custom-append.syno.json @@ -1,7 +1,7 @@ { "cap_add" : [], "cap_drop" : [], - "cmd" : "/bin/sh -c 'crontab /scripts/docker/my_crontab_list.sh && crond && node'", + "cmd" : "", "cpu_priority" : 50, "devices" : null, "enable_publish_all_ports" : false, @@ -25,7 +25,7 @@ "value" : "" }, { - "key" : "CRONTAB_LIST_FILE", + "key" : "CUSTOM_LIST_FILE", "value" : "my_crontab_list.sh" } ], diff --git a/docker/example/jd_scripts.custom-overwrite.syno.json b/docker/example/jd_scripts.custom-overwrite.syno.json new file mode 100644 index 00000000..d75581f8 --- /dev/null +++ b/docker/example/jd_scripts.custom-overwrite.syno.json @@ -0,0 +1,69 @@ +{ + "cap_add" : [], + "cap_drop" : [], + "cmd" : "", + "cpu_priority" : 50, + "devices" : null, + "enable_publish_all_ports" : false, + "enable_restart_policy" : true, + "enabled" : true, + "env_variables" : [ + { + "key" : "PATH", + "value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + }, + { + "key" : "CDN_JD_DAILYBONUS", + "value" : "true" + }, + { + "key" : "JD_COOKIE", + "value" : "pt_key=xxx;pt_pin=xxx;" + }, + { + "key" : "PUSH_KEY", + "value" : "" + }, + { + "key" : "CUSTOM_LIST_FILE", + "value" : "my_crontab_list.sh" + }, + { + "key" : "CUSTOM_LIST_MERGE_TYPE", + "value" : "overwrite" + } + ], + "exporting" : false, + "id" : "3a2f6f27c23f93bc104585c22569c760cc9ce82df09cdb41d53b491fe1d0341c", + "image" : "akyakya/jd_scripts", + "is_ddsm" : false, + "is_package" : false, + "links" : [], + "memory_limit" : 0, + "name" : "jd_scripts", + "network" : [ + { + "driver" : "bridge", + "name" : "bridge" + } + ], + "network_mode" : "default", + "port_bindings" : [], + "privileged" : false, + "shortcut" : { + "enable_shortcut" : false + }, + "use_host_network" : false, + "volume_bindings" : [ + { + "host_volume_file" : "/docker/jd_scripts/my_crontab_list.sh", + "mount_point" : "/scripts/docker/my_crontab_list.sh", + "type" : "rw" + }, + { + "host_volume_file" : "/docker/jd_scripts/logs", + "mount_point" : "/scripts/logs", + "type" : "rw" + } + ] +} diff --git a/docker/example/jd_scripts.syno.json b/docker/example/jd_scripts.syno.json index 042b6def..61acfd6e 100644 --- a/docker/example/jd_scripts.syno.json +++ b/docker/example/jd_scripts.syno.json @@ -1,7 +1,7 @@ { "cap_add" : null, "cap_drop" : null, - "cmd" : "/bin/sh -c 'crond && node'", + "cmd" : "", "cpu_priority" : 0, "devices" : null, "enable_publish_all_ports" : false, diff --git a/docker/example/multi.yml b/docker/example/multi.yml new file mode 100644 index 00000000..8b2faa59 --- /dev/null +++ b/docker/example/multi.yml @@ -0,0 +1,51 @@ +version: "3" +services: + jd_scripts1: #默认 + image: akyakya/jd_scripts + restart: always + container_name: jd_scripts1 + tty: true + volumes: + - ./logs1:/scripts/logs + environment: + - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; + - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ + - TG_USER_ID=12xxxx206 + jd_scripts2: #默认 + image: akyakya/jd_scripts + restart: always + container_name: jd_scripts2 + tty: true + volumes: + - ./logs2:/scripts/logs + environment: + - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; + - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ + - TG_USER_ID=12xxxx206 + jd_scripts4: #自定义追加默认之后 + image: akyakya/jd_scripts + restart: always + container_name: jd_scripts4 + tty: true + volumes: + - ./logs4:/scripts/logs + - ./my_crontab_list4.sh:/scripts/docker/my_crontab_list.sh + environment: + - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; + - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ + - TG_USER_ID=12xxxx206 + - CUSTOM_LIST_FILE=my_crontab_list.sh + jd_scripts5: #自定义覆盖默认 + image: akyakya/jd_scripts + restart: always + container_name: jd_scripts5 + tty: true + volumes: + - ./logs5:/scripts/logs + - ./my_crontab_list5.sh:/scripts/docker/my_crontab_list.sh + environment: + - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; + - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ + - TG_USER_ID=12xxxx206 + - CUSTOM_LIST_FILE=my_crontab_list.sh + - CUSTOM_LIST_MERGE_TYPE=overwrite diff --git a/docker/example/use-tg-bot.yml b/docker/example/use-tg-bot.yml new file mode 100644 index 00000000..87068588 --- /dev/null +++ b/docker/example/use-tg-bot.yml @@ -0,0 +1,40 @@ +jd_scripts: + image: akyakya/jd_scripts:supportbot + container_name: jd_scripts + restart: always + volumes: + - ./logs:/scripts/logs + tty: true + environment: + # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 + #jd cookies + # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX + - JD_COOKIE= + #微信server酱通 + - PUSH_KEY= + #Bark App通知 + - BARK_PUSH= + #telegram机器人通知 + - TG_BOT_TOKEN= + - TG_USER_ID= + #钉钉机器人通知 + - DD_BOT_TOKEN= + - DD_BOT_SECRET= + #京东种豆得豆 + - PLANT_BEAN_SHARECODES= + #京东农场 + # 例: FRUITSHARECODES=京东农场的互助码 + - FRUITSHARECODES= + #京东萌宠 + # 例: PETSHARECODES=东东萌宠的互助码 + - PETSHARECODES= + # 宠汪汪的喂食数量 + - JOY_FEED_COUNT= + #京小超 + # - SUPERMARKET_SHARECODES= + #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) + # 例: MARKET_COIN_TO_BEANS=1000 + - MARKET_COIN_TO_BEANS= + #是否开启debug模式打印日志 + # 例: JD_DEBUG=false + - JD_DEBUG= From 20a9070a711801a91158ded60ce03408803639f3 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 16:59:42 +0800 Subject: [PATCH 0344/1259] =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=A3=80=E6=9F=A5l?= =?UTF-8?q?atest=20tag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 2 +- docker/docker_entrypoint.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index da61c000..93050d47 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -8,7 +8,7 @@ npm install --prefix /scripts ######################################获取docker构建文件里面的自定义信息方法-start##################################################### function getDockerImageLabel() { repo=akyakya/jd_scripts - imageTag=dev + imageTag=latest token=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull" | jq -r '.token') digest=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/manifests/${imageTag}" | jq .config.digest -r) labels=$(curl -s -L -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/blobs/$digest" | jq .config.Labels) diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 9b818252..38e9900c 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -19,7 +19,7 @@ echo "########################################################################## ######################################获取docker构建文件里面的自定义信息方法-start##################################################### function getDockerImageLabel() { repo=akyakya/jd_scripts - imageTag=dev + imageTag=latest token=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull" | jq -r '.token') digest=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/manifests/${imageTag}" | jq .config.digest -r) labels=$(curl -s -L -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/blobs/$digest" | jq .config.Labels) From 1943a687dc82f9d0b3cb7052ecc1be1dcad3150e Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 17:00:41 +0800 Subject: [PATCH 0345/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- docker/crontab_list_ts.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index b4ac3948..61e22644 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,5 +1,5 @@ #必须要的默认定时任务请勿删除 -52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/pull.log 2>&1 +52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 4c5b8cfb..44cc0c76 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -1,5 +1,5 @@ #必须要的默认定时任务请勿删除 -52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/pull.log 2>&1 +52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log From 540392481a09b0513062a22ec589935b2a554182 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 17:05:35 +0800 Subject: [PATCH 0346/1259] fix --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 0e01fb04..61d3a5cb 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -25,7 +25,7 @@ ENV BUILD_VERSION=0.1.2 \ COPY ./docker/docker_entrypoint.sh /usr/local/bin # 本地构建 # COPY ./docker_entrypoint.sh /usr/local/bin -# RUN chmod +x /usr/local/bin/docker_entrypoint.sh +RUN chmod +x /usr/local/bin/docker_entrypoint.sh WORKDIR /scripts From 408cf21898b6ea476a7c616c833eaea3fa65472d Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 17:08:59 +0800 Subject: [PATCH 0347/1259] fix --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 61d3a5cb..474213b2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -11,7 +11,7 @@ RUN set -ex \ RUN git clone https://github.com/iouAkira/jd_scripts /scripts \ && cd /scripts \ - && git checkout dev \ + && git checkout master \ && mkdir logs \ && npm install \ && cd /tmp \ From bd55ef00b0c283945b24c5b7f8af7da032bbbb5c Mon Sep 17 00:00:00 2001 From: Akira Date: Fri, 11 Dec 2020 17:49:43 +0800 Subject: [PATCH 0348/1259] fix --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 474213b2..c529af5b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -9,7 +9,7 @@ RUN set -ex \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone -RUN git clone https://github.com/iouAkira/jd_scripts /scripts \ +RUN git clone https://github.com/lxk0301/jd_scripts /scripts \ && cd /scripts \ && git checkout master \ && mkdir logs \ From cefee2823117844899c90b9838c571c20e528ad8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 18:38:48 +0800 Subject: [PATCH 0349/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E5=9C=A8=E6=9C=AA=E9=80=89=E6=8B=A9=E5=95=86?= =?UTF-8?q?=E5=93=81=E4=BB=A5=E5=8F=8A=E6=9C=AA=E6=8F=90=E4=BE=9B=E5=BF=83?= =?UTF-8?q?=E4=BB=AA=E5=95=86=E5=93=81=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B?= =?UTF-8?q?=E7=9A=84=E9=80=9A=E7=9F=A5.=E7=9B=AE=E5=89=8D=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E6=98=AF=E6=AF=8F=E5=A4=A912=E7=82=B9=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E7=9A=84=E6=97=B6=E5=80=99=E9=80=9A=E7=9F=A5=E4=B8=80?= =?UTF-8?q?=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index db2b0e13..295ad396 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -221,8 +221,11 @@ async function algorithm() { message += `兑换所需电量:${$.canMakeList[0].fullScore}\n`; message += `您当前总电量:${$.batteryValue * 1}\n`; if ($.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0].fullScore) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); + let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); + if (new Date(nowTimes).getHours() === 12) { + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); + } } else { console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0].name}所需的 ${$.canMakeList[0].fullScore}电量\n`) } From 63f21194e08a7f3cf6dbeef4ac8612ba39b4e082 Mon Sep 17 00:00:00 2001 From: Akira Date: Fri, 11 Dec 2020 18:39:57 +0800 Subject: [PATCH 0350/1259] fix --- docker/default_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 93050d47..8be1adce 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -32,7 +32,7 @@ if type jq >/dev/null 2>&1; then else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 echo "当前容版版本过旧,发送镜像更新通知" - export NOTIFY_CONTEXT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" + export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" cd /scripts/docker node notify_docker_user.js fi From ad63d886bff4faf4cdbc5c622546ce1b5c5f1150 Mon Sep 17 00:00:00 2001 From: Akira Date: Fri, 11 Dec 2020 18:40:38 +0800 Subject: [PATCH 0351/1259] fix --- docker/crontab_list.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 61e22644..eeb0fb49 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,5 +1,5 @@ #必须要的默认定时任务请勿删除 -52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1 +52 */1 * * * sh /scripts/docker/default_task.sh >> /scripts/logs/default_task.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log @@ -84,4 +84,4 @@ # 领京豆额外奖励(每日可获得3京豆) 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) -10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 \ No newline at end of file +10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 From 73a19c34b47737069be879aa2d4d9e90a4044745 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Fri, 11 Dec 2020 18:50:45 +0800 Subject: [PATCH 0352/1259] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=20=E5=A2=9E=E5=8A=A0=20readme=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 2 +- docker/docker_entrypoint.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 8be1adce..0ba1dafd 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -32,7 +32,7 @@ if type jq >/dev/null 2>&1; then else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 echo "当前容版版本过旧,发送镜像更新通知" - export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" + export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(https://github.com/lxk0301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" cd /scripts/docker node notify_docker_user.js fi diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 38e9900c..53c6c872 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -46,7 +46,7 @@ else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 echo "Current container version is too old, send update notification" echo "当前版本过旧,发送镜像更新通知" - export NOTIFY_CONTEXT="更新内容较多,重新阅读仓库Readme(),更新镜像并更新配置后使用。" + export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(https://github.com/lxk0301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" cd /scripts/docker node notify_docker_user.js fi From 93fbf8e22e960ccddc835919ec7d73151537fc78 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 11 Dec 2020 19:13:58 +0800 Subject: [PATCH 0353/1259] Delete TG_PUSH2.png --- icon/TG_PUSH2.png | Bin 58042 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 icon/TG_PUSH2.png diff --git a/icon/TG_PUSH2.png b/icon/TG_PUSH2.png deleted file mode 100644 index a9d8c58d6669572f7e9892055a83361e236cc23a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58042 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 H Date: Fri, 11 Dec 2020 19:14:20 +0800 Subject: [PATCH 0354/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=99=E7=A8=8B?= =?UTF-8?q?=E6=89=80=E9=9C=80=E7=9A=84=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新教程所需的图片 --- icon/TG_PUSH2.png | Bin 0 -> 64370 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon/TG_PUSH2.png diff --git a/icon/TG_PUSH2.png b/icon/TG_PUSH2.png new file mode 100644 index 0000000000000000000000000000000000000000..429d784e3186e4a68f4dbc54a4b0d992f3725910 GIT binary patch literal 64370 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 SGp&66gQA?8Y}reTp#KBG3*gxR literal 0 HcmV?d00001 From d36e98a60fd2ccae2240d10414a581642a581aa5 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 11 Dec 2020 19:20:34 +0800 Subject: [PATCH 0355/1259] =?UTF-8?q?=E8=A1=A5=E5=85=85TG=5FPUSH=E6=95=99?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充TG_PUSH教程 --- backUp/TG_PUSH.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backUp/TG_PUSH.md b/backUp/TG_PUSH.md index 4004b297..6db47d58 100644 --- a/backUp/TG_PUSH.md +++ b/backUp/TG_PUSH.md @@ -8,7 +8,9 @@ Ⅱ.利用[BotFather](https://t.me/BotFather)创建一个属于自己的通知机器人,按照下图中的1、2、3步骤拿到token,格式形如```10xxx4:AAFcqxxxxgER5uw```。填入```TG_BOT_TOKEN```
-![TG_PUSH2](../icon/TG_PUSH2.png) +![TG_PUSH2](../icon/TG_PUSH2.png)
+ +**新创建的机器人需要跟它发一条消息来开启对话,否则可能会遇到secret填对了但是收不到消息的情况**
Ⅲ.再次在Telegram上搜索[getuserIDbot](https://t.me/getuserIDbot)机器人,获取UserID。填入```TG_USER_ID```
From b69e0b00c7d5073284f206eacbec2bb287ce925d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 11 Dec 2020 23:32:22 +0800 Subject: [PATCH 0356/1259] Update feature_request.md --- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index d741913c..fb79c623 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,5 +1,5 @@ --- -name: 功能建议 +name: 功能与建议 about: 请求实现新功能或改进已有功能 title: '' labels: '' From 928c588774fdebb936f61c09ce82dd73744c114c Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 00:14:33 +0800 Subject: [PATCH 0357/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0cdn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index 9d2bf5e8..54e0f7e1 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -105,7 +105,7 @@ async function jdBeanHome() { function getAuthorShareCode() { return new Promise(resolve => { - $.get({url: "https://cdn.jsdelivr.net/gh/shylocks/updateTeam@main/jd_bean_home"}, async (err, resp, data) => { + $.get({url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_bean_home"}, async (err, resp, data) => { try { if (err) { } else { From c3b5df9b213f719d622e377b1187ba1f19be82a7 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 00:17:20 +0800 Subject: [PATCH 0358/1259] =?UTF-8?q?update=20=E5=9B=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index f4316824..9cfbe01b 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -11,14 +11,14 @@ [task_local] #京喜工厂 10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, enabled=true - + ================Loon============== [Script] cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 - + ===============Surge================= 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js - + ============小火箭========= 京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=200, enable=true @@ -1020,6 +1020,11 @@ async function joinLeaderTuan() { if (!tuanId) continue await JoinTuan(tuanId); } + if (!$.tuanIdS) await updateTuanIdsCDN('https://gitee.com/shylocks/updateTeam/raw/main/jd_updateFactoryTuanId.json'); + for (let tuanId of $.tuanIdS.tuanIds) { + if (!tuanId) continue + await JoinTuan(tuanId); + } } function JoinTuan(tuanId) { return new Promise((resolve) => { From 1541c2ce0e6fd6b27247f790206e0f48c519783f Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 00:18:06 +0800 Subject: [PATCH 0359/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 1086ff5b..d275cfd5 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -166,7 +166,7 @@ function receiveRedRain() { 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%222997252%22%7D&build=167408&client=apple&clientVersion=9.2.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=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=706f847a6252a4fe03869b2901bb0815&st=1607643593651&sv=110&uts=0f31TVRjBSsDGINmdElmZlgBxMZQifcxhB/BdpQKugK3pigFDsPY3x%2BIXMm0vOlDa%2BujRn1irmu%2BjbgWg0C%2B9Qd9NZvImI0ZQc/fN8EoflUT3Sb6VQm0WwdM77kwyb56x3lxaqFyeh3r1KEOHCier47iIpyuyvVQVG2KbTKocIo0CS9xpYtzkQr1dLgceiIho7GvOrMiBQ%2BtyUe/1wcqtg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D', + body: 'area=12_904_908_57903&body=%7B%22liveId%22%3A%223008955%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=84a8772e9514dbb656a9380a6aebe89f&st=1607702502921&sv=100&uts=0f31TVRjBSvsWkFfTKQ4BP2gCulJKdkkzdua/T3WharHW3uKzIyZUGDGVuaLMDsU1giMbDTZJekY7lE5Qrru6H7a3I8CGFQ%2Br5QYZwgXCHBigChRD//oGdcd4WB0sfq6bWBzI8FjqbHJffT0ttGiNEy6zqimtHZUV9DD6tpJTTC%2BZrtSFC17giE/EByWeNUEOw0jYdGaJ27M9I7O2U7oXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=null', headers: { 'Host': 'api.m.jd.com', 'content-type': 'application/x-www-form-urlencoded', From 2466c78ab142c25b29ba48c0a3ac91766569da3e Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 00:34:59 +0800 Subject: [PATCH 0360/1259] update ua --- jd_bean_home.js | 4 +++- jd_dreamFactory.js | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index 54e0f7e1..b97f1772 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -105,7 +105,9 @@ async function jdBeanHome() { function getAuthorShareCode() { return new Promise(resolve => { - $.get({url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_bean_home"}, async (err, resp, data) => { + $.get({url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_bean_home",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 { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 9cfbe01b..7d2e5328 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1196,7 +1196,10 @@ function updateTuanIds(url = 'https://raw.githubusercontent.com/lxk0301/updateTe } function updateTuanIdsCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_updateFactoryTuanId.json') { return new Promise(async resolve => { - $.get({url}, (err, resp, data) => { + $.get({url, + 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" + }}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From 9ec43cbbf905263fc819d1eae50645e2c8bbd6d7 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 12:50:02 +0800 Subject: [PATCH 0361/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BB=8Egitee=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E7=BA=A2=E5=8C=85=E9=9B=A8act?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 42 ++++++++++++------------------------------ 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index d275cfd5..d7c901d8 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -50,7 +50,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; return; } await getRedRain(); - if(!$.activityId) return + if(!$.activityId) return for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -99,26 +99,23 @@ function showMsg() { function getRedRain() { return new Promise(resolve => { - $.post(taskPostUrl('liveActivityV842'), (err, resp, data) => { + $.get({ + url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_live_redRain.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" + }}, (err, resp, data) => { try { if (err) { - console.log(`${JSON.stringify(err)}`) + console.log(`1111${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { data = JSON.parse(data); - if (data.data.iconArea) { - let act = data.data.iconArea.filter(vo=>vo['type']==="platform_red_packege_rain")[0] - let url = act.data.activityUrl - $.activityId = url.substr(url.indexOf("id=") + 3) - console.log($.activityId) - $.startTime = act.startTime - $.endTime = act.endTime - console.log(`下一场红包雨开始时间:${new Date(act.startTime)}`) - console.log(`下一场红包雨结束时间:${new Date(act.endTime)}`) - } else { - console.log(`暂无红包雨`) - } + $.activityId = data.activityId + $.startTime = data.startTime + $.endTime = data.endTime + console.log(`下一场红包雨开始时间:${new Date(data.startTime)}`) + console.log(`下一场红包雨结束时间:${new Date(data.endTime)}`) } } } catch (e) { @@ -163,21 +160,6 @@ function receiveRedRain() { }) } -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%223008955%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=84a8772e9514dbb656a9380a6aebe89f&st=1607702502921&sv=100&uts=0f31TVRjBSvsWkFfTKQ4BP2gCulJKdkkzdua/T3WharHW3uKzIyZUGDGVuaLMDsU1giMbDTZJekY7lE5Qrru6H7a3I8CGFQ%2Br5QYZwgXCHBigChRD//oGdcd4WB0sfq6bWBzI8FjqbHJffT0ttGiNEy6zqimtHZUV9DD6tpJTTC%2BZrtSFC17giE/EByWeNUEOw0jYdGaJ27M9I7O2U7oXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=null', - 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}`, From cad26dd1f708a67b6ab3a738d74245f969e54e25 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 13:25:18 +0800 Subject: [PATCH 0362/1259] =?UTF-8?q?=E9=87=91=E8=9E=8D=E6=89=93=E5=8D=A1?= =?UTF-8?q?=E9=A2=86=E5=B9=B4=E7=BB=88=E5=A5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jr_sign.js | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 jr_sign.js diff --git a/jr_sign.js b/jr_sign.js new file mode 100644 index 00000000..6fe325ac --- /dev/null +++ b/jr_sign.js @@ -0,0 +1,193 @@ +/* +金融打卡领年终奖 +活动时间:2020-12-8 到 2020-12-31 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#金融打卡领年终奖 +10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 + +===============Surge================= +金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js + +============小火箭========= +金融打卡领年终奖 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, cronexpr="10 6 * * *", 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; +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(); +} +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; + } + 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 sign() + await showMsg(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +function showMsg() { + return new Promise(resolve => { + $.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) + } + } + } 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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)} From 9cfdbdef4c577f34ea88b9e67953a0c6063c80f5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 12 Dec 2020 15:03:44 +0800 Subject: [PATCH 0363/1259] update --- jd_bean_home.js | 26 +++++++++++++------------- jd_dreamFactory.js | 8 +++++--- jd_small_home.js | 2 +- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index b97f1772..d69c9642 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -74,21 +74,21 @@ const JD_API_HOST = 'https://api.m.jd.com/'; await jdBeanHome(); } } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - console.log(`${$.UserName}去帮助下一个人`) - cookie = cookiesArr[i]; - if ($.newShareCodes.length > 1) { - let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] - await help(code[0], code[1]) - } - if (helpAuthor && $.authorCode) { - console.log(`去帮助作者`) - await help($.authorCode[0], $.authorCode[1]) - } + for (let i = 0; i < cookiesArr.length; i++) { + if (cookiesArr[i]) { + $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) + console.log(`${$.UserName}去帮助下一个人`) + cookie = cookiesArr[i]; + if ($.newShareCodes.length > 1) { + let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] + await help(code[0], code[1]) + } + if (helpAuthor && $.authorCode) { + console.log(`去帮助作者`) + await help($.authorCode[0], $.authorCode[1]) } } + } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 7d2e5328..0a525490 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -31,7 +31,7 @@ const JD_API_HOST = 'https://m.jingxi.com'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; -const tuanActiveId = `gaVXW_NJ0KPEA2LyUhoXzA==`; +const tuanActiveId = `cKw-LGBsjl0XLu9coQ0d4A==`; 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 = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==']; @@ -1014,7 +1014,7 @@ function CreateTuan() { } async function joinLeaderTuan() { await updateTuanIds(); - if (!$.tuanIdS) await updateTuanIdsCDN(); + if (!$.tuanIdS) await updateTuanIdsCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateFactoryTuanId.json'); if (!$.tuanIdS) await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateFactoryTuanId.json'); for (let tuanId of $.tuanIdS.tuanIds) { if (!tuanId) continue @@ -1204,7 +1204,9 @@ function updateTuanIdsCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/mast if (err) { console.log(`${JSON.stringify(err)}`) } else { - $.tuanIdS = JSON.parse(data); + if (safeGet(data)) { + $.tuanIdS = JSON.parse(data); + } } } catch (e) { $.logErr(e, resp) diff --git a/jd_small_home.js b/jd_small_home.js index 47d58a67..1358ea10 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -136,7 +136,7 @@ async function doChannelsListTask(taskId, taskType) { async function helpFriends() { await updateInviteCode(); if (!$.inviteCodes) await updateInviteCodeCDN(); - if (!$.inviteCodes) await updateInviteCodeCDN('https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateSmallHomeInviteCode.json'); + if (!$.inviteCodes) await updateInviteCodeCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateSmallHomeInviteCode.json'); for (let item of $.inviteCodes.inviteCode) { if (!item) continue await createAssistUser(item, $.createAssistUserID || "1318106976846299138"); From 4e9b9eba271f7ab88d93af4ebf814bda70478f2d Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 12 Dec 2020 15:55:23 +0800 Subject: [PATCH 0364/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=96=B0=E5=A2=9E=E9=87=91=E8=9E=8D=E6=89=93=E5=8D=A1?= =?UTF-8?q?=E9=A2=86=E5=B9=B4=E7=BB=88=E5=A5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步新增金融打卡领年终奖 --- serverless.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serverless.yml b/serverless.yml index e4213ab2..e0bebd53 100644 --- a/serverless.yml +++ b/serverless.yml @@ -70,12 +70,12 @@ inputs: cronExpression: "0 0 10 * * * *" enable: true argument: jd_bean_change&jd_rankingList&jd_bean_home&jd_car - - timer: # 金融养猪#十元街# 京东快递 + - timer: # 金融养猪#十元街# 京东快递# 金融打卡领年终奖 parameters: - name: pigPet_syj_kd - cronExpression: "0 3 2 * * * *" + name: pigPet_syj_kd_jr_sign + cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd + argument: jd_pigPet&jd_syj&jd_kd&jr_sign environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 78d4affba553e9a9feae0b494d1fba21388ef605 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 12 Dec 2020 16:58:05 +0800 Subject: [PATCH 0365/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/ISSUE_TEMPLATE/bug_report.md | 79 ----------------------- .github/ISSUE_TEMPLATE/feature_request.md | 44 ------------- jd_bean_home.js | 41 ++++++++++-- 3 files changed, 37 insertions(+), 127 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 00a9d7ec..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -name: Bug 反馈 -about: 运行js脚本时出现bug -title: '' -labels: '' -assignees: '' - ---- - - - - - - - - - - - - -## 1.关于你要提交的问题 - -Q:是否搜索了issue(包括已关闭的issue) -- [ ] 没有类似的issue - -Q:是否仔细阅读了教程 -- [ ] 已仔细阅读教程 - -## 2. 你使用的哪种部署方法 - - - - - - -- [ ] 方法一:本地安装Node.js -- [ ] 方法二:腾讯云函数 -- [ ] 方法三:Docker办法一 -- [ ] 方法三:Docker办法二 -- [ ] 方法三:Docker办法三 -- [ ] 方法四:iOS系统的代理软件 - - -## 3. 详细叙述 -### (1) 具体问题 -A: - -### (2) 详细日志 -A: - - - - - -## 4.软件版本和 npm install 结果 -### (1) Node.js版本 - -A: - -### (2) npm版本 - -A: - -### (3)npm install的日志 - -A: diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index fb79c623..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: 功能与建议 -about: 请求实现新功能或改进已有功能 -title: '' -labels: '' -assignees: '' - ---- - - - - - - - - - - - - -## 期望增加的功能 - -A: - - - - - -## 入口 - -A: diff --git a/jd_bean_home.js b/jd_bean_home.js index d69c9642..136287d7 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -46,7 +46,8 @@ if ($.isNode()) { const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { $.newShareCodes = [] - await getAuthorShareCode() + await getAuthorShareCode(); + await getAuthorShareCode2(); if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; @@ -85,7 +86,20 @@ const JD_API_HOST = 'https://api.m.jd.com/'; } if (helpAuthor && $.authorCode) { console.log(`去帮助作者`) - await help($.authorCode[0], $.authorCode[1]) + const helpRes = await help($.authorCode[0], $.authorCode[1]) + if (helpRes && helpRes.data.respCode === 'SG209') { + console.log(`助力次数已耗尽,跳出助力`) + break; + } + } + if (helpAuthor && $.authorCode2) { + for (let code of $.authorCode2) { + const helpRes = await help(code.shareCode, code.groupCode); + if (helpRes && helpRes.data.respCode === 'SG209') { + console.log(`助力次数已耗尽,跳出助力`) + break; + } + } } } } @@ -121,7 +135,26 @@ function getAuthorShareCode() { }) }) } - +function getAuthorShareCode2() { + return new Promise(resolve => { + $.get({url: "https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateBeanHome.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) { + } else { + if (safeGet(data)) { + $.authorCode2 = JSON.parse(data); + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} function getUserInfo() { return new Promise(resolve => { $.post(taskUrl('signBeanGroupStageIndex', 'body'), async (err, resp, data) => { @@ -219,7 +252,7 @@ function help(shareCode, groupCode, isTask = 0) { } catch (e) { $.logErr(e, resp) } finally { - resolve(); + resolve(data); } }) }) From 2b7ad188c381f256213478997449e075f30b5619 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 12 Dec 2020 17:59:38 +0800 Subject: [PATCH 0366/1259] =?UTF-8?q?=E7=82=B9=E7=82=B9=E5=88=B8=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=8C=E6=98=BE=E7=A4=BA=E5=8F=AF=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E5=A4=9A=E5=B0=91=E6=97=A0=E9=97=A8=E6=A7=9B=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=EF=BC=8C=E4=BA=91=E7=AB=AF=E5=9C=A8=E5=A4=A7=E4=BA=8E10?= =?UTF-8?q?=E5=85=83=E6=97=A0=E9=97=A8=E6=A7=9B=E7=BA=A2=E5=8C=85=E6=97=B6?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E9=80=9A=E7=9F=A5=E6=8E=A8=E9=80=81=EF=BC=8C?= =?UTF-8?q?=E5=B9=B3=E6=97=B6=E9=BB=98=E8=AE=A4=E4=B8=8D=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_necklace.js | 52 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git a/jd_necklace.js b/jd_necklace.js index 0f8a67bd..c16cce31 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-20 11:42:03 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-23 12:27:14 + * @Last Modified time: 2020-12-12 12:27:14 */ /* 点点券,可以兑换无门槛红包(1元,5元,10元,100元,部分红包需抢购) @@ -30,7 +30,8 @@ const $ = new Env('点点券'); 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` +let message = ''; //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = ''; if ($.isNode()) { @@ -60,6 +61,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; $.index = i + 1; $.isLogin = true; $.nickName = ''; + message = ''; await TotalBean(); console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); if (!$.isLogin) { @@ -89,11 +91,14 @@ async function jd_necklace() { await receiveBubbles(); await sign(); await necklace_homePage(); + // await necklace_exchangeGift(10);//自动兑换多少钱的无门槛红包,1000代表1元 await showMsg(); } function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `京东账号 ${$.index} ${$.nickName}\n当前${$.name}${$.totalScore}个`); + return new Promise(async resolve => { + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击弹窗即可去兑换(注:此红包具有时效性)`, { 'open-url': openUrl}); + // 云端大于10元无门槛红包时进行通知推送 + if ($.isNode() && $.totalScore >= 10000) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击链接即可去兑换(注:此红包具有时效性)\n↓↓↓ \n\n ${openUrl} \n\n ↑↑↑`, { url: openUrl }) resolve() }) } @@ -108,6 +113,8 @@ async function doTask() { console.log(`${item.taskName}任务已做完,奖励未领取`); } else if (item.taskStage === 3) { console.log(`${item.taskName}奖励已领取`); + } else if (item.taskStage === 1) { + console.log(`${item.taskName}任务未完成\n`); } } } @@ -136,7 +143,6 @@ function necklace_sign() { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - console.log(data); if (safeGet(data)) { data = JSON.parse(data); if (data.rtn_code === 0) { @@ -156,6 +162,40 @@ function necklace_sign() { }) }) } +//兑换无门槛红包 +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(resolve => { @@ -169,7 +209,6 @@ function necklace_chargeScores(bubleId) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - console.log(data); if (safeGet(data)) { data = JSON.parse(data); if (data.rtn_code === 0) { @@ -200,7 +239,6 @@ function necklace_startTask(taskId) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - console.log(data); if (safeGet(data)) { data = JSON.parse(data); if (data.rtn_code === 0) { From 37935f20115cc5144909cf0358c9af7587a1d83c Mon Sep 17 00:00:00 2001 From: tanmx Date: Sat, 12 Dec 2020 19:25:14 +0800 Subject: [PATCH 0367/1259] Update Readme.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改单词错误 --- docker/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Readme.md b/docker/Readme.md index cd1a3f33..26cb2033 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -9,7 +9,7 @@ sudo chmod +x /usr/local/bin/docker-compose ### 如果需要使用 docker 多个账户独立并发执行定时任务,[参考这里](https://github.com/iouAkira/scripts/blob/patch-1/docker/docker%E5%A4%9A%E8%B4%A6%E6%88%B7%E4%BD%BF%E7%94%A8%E7%8B%AC%E7%AB%8B%E5%AE%B9%E5%99%A8%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md#%E4%BD%BF%E7%94%A8%E6%AD%A4%E6%96%B9%E5%BC%8F%E8%AF%B7%E5%85%88%E7%90%86%E8%A7%A3%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8docker%E5%8A%9E%E6%B3%95%E4%B8%80%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) ⚠️⚠️⚠️2020-12-11更新镜像启动方式,虽然兼容旧版的运行启动方式,但是强烈建议更新镜像和配置后使用 -- 更新后`commad:`指令配置不再需要 +- 更新后`command:`指令配置不再需要 - 更新后可以使用自定义任务文件追加在默任务文件之后,比以前的完全覆盖多一个选择 - - 新的自定两个环境变量为 `CUSTOM_LIST_MERGE_TYPE`:自定文件的生效方式可选值为`append`,`overwrite`默认为`append` ; `CUSTOM_LIST_FILE`: 自定义文件的名字 - 更新镜像增减镜像更新通知,以后镜像如果更新之后,会通知用户更新 From 6b9d68327117a67c252b0461d24e0fd3a403e8b7 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 20:56:22 +0800 Subject: [PATCH 0368/1259] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E9=97=B4=E7=BA=A2=E5=8C=85=E9=9B=A8=EF=BC=8C=E4=BB=8A=E6=97=A5?= =?UTF-8?q?=E9=99=90=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain2.js | 247 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 jd_live_redrain2.js diff --git a/jd_live_redrain2.js b/jd_live_redrain2.js new file mode 100644 index 00000000..83e877a9 --- /dev/null +++ b/jd_live_redrain2.js @@ -0,0 +1,247 @@ +/* +超级直播间红包雨 +每天20-23半点可领,每日上限未知 +活动时间:活动时间未知 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#超级直播间红包雨 +30 20-23/1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨 + +===============Surge================= +超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js + +============小火箭========= +超级直播间红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, cronexpr="30 20-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') : ''; +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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +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; + } + 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/`, {"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 + } + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From e3abedc96cde5d31b9bf99667a6c39e43b610a9f Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 21:15:50 +0800 Subject: [PATCH 0369/1259] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E9=97=B4=E4=BB=BB=E5=8A=A113=E8=B1=86=EF=BC=8C=E4=BB=8A?= =?UTF-8?q?=E6=97=A5=E9=99=90=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/jd_live.js b/jd_live.js index dd52aa4a..a4153cf0 100644 --- a/jd_live.js +++ b/jd_live.js @@ -109,6 +109,8 @@ function getTaskList() { } else { if (safeGet(data)) { data = JSON.parse(data); + await superTask() + await awardTask("starViewTask") console.log(`去做分享直播间任务`) await shareTask() await awardTask() @@ -125,6 +127,27 @@ function getTaskList() { }) }) } +function superTask() { + let body = 'area=12_904_908_57903&body=%7B%22liveId%22%3A%223019486%22%2C%22type%22%3A%22viewTask%22%2C%22authorId%22%3A%22681523%22%2C%22extra%22%3A%7B%22time%22%3A200%7D%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=68c0d87a5de62711bab9e6e796c08170&st=1607778652966&sv=100&uts=0f31TVRjBSsySvX9aqk89gHBMqz5E28EYCqc3cRu/4%2Bv0EzRuStHwMI1R5P9RqeizLow/pAquaX1v5IJQGVxUzSfExCFmfO0L7BEMvXnkeCZhKEsmSkbQm54W7ig8aRsmHiXp7YT/SOV7sEKxXauv59O/SAAFkr1egGgKev7Uj81nJRFDnNRSomlrOj2jQzH6iddCTSpydcSYRnDyDcodA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=eca3570e9aa3c15b2fad65c40a87f0fb' + return new Promise(resolve => { + $.post(taskPostUrl("liveChannelReportDataV912", 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); + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} function viewTask() { let body = 'body=%7B%22liveId%22%3A%223008300%22%2C%22type%22%3A%22viewTask%22%2C%22authorId%22%3A%22644894%22%2C%22extra%22%3A%7B%22time%22%3A120%7D%7D&build=167408&client=apple&clientVersion=9.2.0&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&joycious=194&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&scope=01&sign=90e14adc21c4bf31232a1ded5f4ba40e&st=1607561111999&sv=111&uts=0f31TVRjBSsxGLJHVBkddxFxBqY/8qFkrfEYLL0gkhB/JVGyEYIoD8r5rLvootZziQYAUyvIPogdJpesEuOMmvlisDx6AR2SEsfp381xPoggwvq8XaMYlOnHUV66TZiSfC%2BSgcLpB2v9cy/0Z41tT%2BuLheoEwBwDDYzANkZjncUI9PDCWpCg5/i0A14XfnsUTfQHbMqa3vwsY6QtsbNsgA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D' return new Promise(resolve => { From 84d04f31f674a314491b21ec87e1467fe011d41d Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 12 Dec 2020 21:16:13 +0800 Subject: [PATCH 0370/1259] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E9=97=B4=E4=BB=BB=E5=8A=A113=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_live.js b/jd_live.js index a4153cf0..4d1d3b32 100644 --- a/jd_live.js +++ b/jd_live.js @@ -128,7 +128,7 @@ function getTaskList() { }) } function superTask() { - let body = 'area=12_904_908_57903&body=%7B%22liveId%22%3A%223019486%22%2C%22type%22%3A%22viewTask%22%2C%22authorId%22%3A%22681523%22%2C%22extra%22%3A%7B%22time%22%3A200%7D%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=68c0d87a5de62711bab9e6e796c08170&st=1607778652966&sv=100&uts=0f31TVRjBSsySvX9aqk89gHBMqz5E28EYCqc3cRu/4%2Bv0EzRuStHwMI1R5P9RqeizLow/pAquaX1v5IJQGVxUzSfExCFmfO0L7BEMvXnkeCZhKEsmSkbQm54W7ig8aRsmHiXp7YT/SOV7sEKxXauv59O/SAAFkr1egGgKev7Uj81nJRFDnNRSomlrOj2jQzH6iddCTSpydcSYRnDyDcodA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=eca3570e9aa3c15b2fad65c40a87f0fb' + let body = 'body=%7B%22liveId%22%3A%223019486%22%2C%22type%22%3A%22viewTask%22%2C%22authorId%22%3A%22681523%22%2C%22extra%22%3A%7B%22time%22%3A200%7D%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=68c0d87a5de62711bab9e6e796c08170&st=1607778652966&sv=100&uts=0f31TVRjBSsySvX9aqk89gHBMqz5E28EYCqc3cRu/4%2Bv0EzRuStHwMI1R5P9RqeizLow/pAquaX1v5IJQGVxUzSfExCFmfO0L7BEMvXnkeCZhKEsmSkbQm54W7ig8aRsmHiXp7YT/SOV7sEKxXauv59O/SAAFkr1egGgKev7Uj81nJRFDnNRSomlrOj2jQzH6iddCTSpydcSYRnDyDcodA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D' return new Promise(resolve => { $.post(taskPostUrl("liveChannelReportDataV912", body), async (err, resp, data) => { try { From 7e93072cac0a882528cea74a2dc890d579d48c67 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 13 Dec 2020 00:26:39 +0800 Subject: [PATCH 0371/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 0a525490..39d8fe62 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -31,7 +31,7 @@ const JD_API_HOST = 'https://m.jingxi.com'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; -const tuanActiveId = `cKw-LGBsjl0XLu9coQ0d4A==`; +const tuanActiveId = `gaVXW_NJ0KPEA2LyUhoXzA==`; 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 = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==']; From c200149a2a5ba0a4ff0c429c7d2c50b14755a17f Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 13 Dec 2020 09:51:46 +0800 Subject: [PATCH 0372/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9loon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 6 ------ jd_digital_floor.js => backUp/jd_digital_floor.js | 4 ++-- jd_live_redrain.js => backUp/jd_live_redrain.js | 4 ++-- jd_live_redrain2.js => backUp/jd_live_redrain2.js | 4 ++-- jd_split.js => backUp/jd_split.js | 4 ++-- 5 files changed, 8 insertions(+), 14 deletions(-) rename jd_digital_floor.js => backUp/jd_digital_floor.js (99%) rename jd_live_redrain.js => backUp/jd_live_redrain.js (99%) rename jd_live_redrain2.js => backUp/jd_live_redrain2.js (99%) rename jd_split.js => backUp/jd_split.js (99%) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 27616530..5946a820 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -100,9 +100,6 @@ http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\ # 小米运动获取Token http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token -# 直播红包雨 -cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 - # 苹果抽奖机 cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js,tag=苹果抽奖机 @@ -121,9 +118,6 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 京东秒杀红包雨 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 -# 金榜年终奖 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖 - # PUBG cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, tag=PUBG diff --git a/jd_digital_floor.js b/backUp/jd_digital_floor.js similarity index 99% rename from jd_digital_floor.js rename to backUp/jd_digital_floor.js index 6ca2a716..648c1e99 100644 --- a/jd_digital_floor.js +++ b/backUp/jd_digital_floor.js @@ -24,9 +24,9 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip */ const $ = new Env('数码加购京豆'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +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']; diff --git a/jd_live_redrain.js b/backUp/jd_live_redrain.js similarity index 99% rename from jd_live_redrain.js rename to backUp/jd_live_redrain.js index d7c901d8..be450278 100644 --- a/jd_live_redrain.js +++ b/backUp/jd_live_redrain.js @@ -22,9 +22,9 @@ cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercon */ const $ = new Env('直播红包雨'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie diff --git a/jd_live_redrain2.js b/backUp/jd_live_redrain2.js similarity index 99% rename from jd_live_redrain2.js rename to backUp/jd_live_redrain2.js index 83e877a9..4e5b0ce1 100644 --- a/jd_live_redrain2.js +++ b/backUp/jd_live_redrain2.js @@ -22,9 +22,9 @@ cron "30 20-23/1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd */ const $ = new Env('超级直播间红包雨'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie diff --git a/jd_split.js b/backUp/jd_split.js similarity index 99% rename from jd_split.js rename to backUp/jd_split.js index aea6da5c..efaaf756 100644 --- a/jd_split.js +++ b/backUp/jd_split.js @@ -22,9 +22,9 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip */ const $ = new Env('金榜年终奖'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie From 52c6446f6b3bf58064b4e7f1c3682e7c530f4c71 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 13 Dec 2020 09:52:17 +0800 Subject: [PATCH 0373/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9loon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 5946a820..3ae082c3 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -123,3 +123,6 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 + +# 金融 +cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东直播 From cf10463d92b0ff0c3cf4aa3a0cf6948f6efa207c Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 13 Dec 2020 09:54:15 +0800 Subject: [PATCH 0374/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9loon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 3ae082c3..20ef0261 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -125,4 +125,4 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 # 金融 -cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东直播 +cron "10 6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东直播 From 7ff5f65a1bba7be674196349f6b62124e6cce3a6 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 13 Dec 2020 09:54:55 +0800 Subject: [PATCH 0375/1259] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E9=97=B4=E4=BB=BB=E5=8A=A113=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 20ef0261..531150a6 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -125,4 +125,4 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 # 金融 -cron "10 6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东直播 +cron "10 6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 From a21b54c212a028e5c7e3d942a0d55d319a9a6aed Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:44:47 +0800 Subject: [PATCH 0376/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_split.js => activity/jd_split.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_split.js => activity/jd_split.js (100%) diff --git a/jd_split.js b/activity/jd_split.js similarity index 100% rename from jd_split.js rename to activity/jd_split.js From dda7937ee5ff118ea57d4c83ce8d5d306a6c0cc4 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:46:43 +0800 Subject: [PATCH 0377/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_digital_floor.js => activity/jd_digital_floor.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_digital_floor.js => activity/jd_digital_floor.js (100%) diff --git a/jd_digital_floor.js b/activity/jd_digital_floor.js similarity index 100% rename from jd_digital_floor.js rename to activity/jd_digital_floor.js From 000ce36850728dd8a6b1963d02245c49aae621ce Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:47:46 +0800 Subject: [PATCH 0378/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_live_redrain.js => activity/jd_live_redrain.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_live_redrain.js => activity/jd_live_redrain.js (100%) diff --git a/jd_live_redrain.js b/activity/jd_live_redrain.js similarity index 100% rename from jd_live_redrain.js rename to activity/jd_live_redrain.js From 3b6e25cf35d810cc06617ef237be4c6fa91123c8 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:49:19 +0800 Subject: [PATCH 0379/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_jxstory.js => activity/jd_jxstory.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_jxstory.js => activity/jd_jxstory.js (100%) diff --git a/jd_jxstory.js b/activity/jd_jxstory.js similarity index 100% rename from jd_jxstory.js rename to activity/jd_jxstory.js From 16958f00adb4de1b5f0d23eeb5147f01ace65805 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:50:14 +0800 Subject: [PATCH 0380/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_pubg.js => activity/jd_pubg.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_pubg.js => activity/jd_pubg.js (100%) diff --git a/jd_pubg.js b/activity/jd_pubg.js similarity index 100% rename from jd_pubg.js rename to activity/jd_pubg.js From adf8b1b689db177b14bc787d883e86c9ba98d641 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:51:14 +0800 Subject: [PATCH 0381/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_818.js => activity/jd_818.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_818.js => activity/jd_818.js (100%) diff --git a/jd_818.js b/activity/jd_818.js similarity index 100% rename from jd_818.js rename to activity/jd_818.js From eac90147a3e161088f72eb80df837f0e53dc6b14 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:51:57 +0800 Subject: [PATCH 0382/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jdJxStoryShareCodes.js => activity/jdJxStoryShareCodes.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jdJxStoryShareCodes.js => activity/jdJxStoryShareCodes.js (100%) diff --git a/jdJxStoryShareCodes.js b/activity/jdJxStoryShareCodes.js similarity index 100% rename from jdJxStoryShareCodes.js rename to activity/jdJxStoryShareCodes.js From e6c374029d51c3bbddff29013b6ce01d5187e2e7 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:53:21 +0800 Subject: [PATCH 0383/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_collectProduceScore.js => activity/jd_collectProduceScore.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename jd_collectProduceScore.js => activity/jd_collectProduceScore.js (99%) diff --git a/jd_collectProduceScore.js b/activity/jd_collectProduceScore.js similarity index 99% rename from jd_collectProduceScore.js rename to activity/jd_collectProduceScore.js index b34f2c51..b0304ca1 100644 --- a/jd_collectProduceScore.js +++ b/activity/jd_collectProduceScore.js @@ -133,4 +133,4 @@ function taskPostUrl(functionId, body = {}) { } } } -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 +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) } From 2dad7c4b640efe4268ef7b955c0ba7ed8583be2d Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:54:03 +0800 Subject: [PATCH 0384/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_xtg.js => activity/jd_xtg.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_xtg.js => activity/jd_xtg.js (100%) diff --git a/jd_xtg.js b/activity/jd_xtg.js similarity index 100% rename from jd_xtg.js rename to activity/jd_xtg.js From 4c77afb19998e04b30d9a4279d0415a8f652795c Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 10:55:23 +0800 Subject: [PATCH 0385/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移活动脚本 --- jd_mohe.js => activity/jd_mohe.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename jd_mohe.js => activity/jd_mohe.js (99%) diff --git a/jd_mohe.js b/activity/jd_mohe.js similarity index 99% rename from jd_mohe.js rename to activity/jd_mohe.js index 600221c2..9849add8 100644 --- a/jd_mohe.js +++ b/activity/jd_mohe.js @@ -419,4 +419,4 @@ function taskurl(url) { } } // 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 +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)} From 9761cc449eaac44d305db6fc361880ee3d3d738f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 13 Dec 2020 11:03:57 +0800 Subject: [PATCH 0386/1259] Delete jdJxStoryShareCodes.js --- jdJxStoryShareCodes.js | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 jdJxStoryShareCodes.js diff --git a/jdJxStoryShareCodes.js b/jdJxStoryShareCodes.js deleted file mode 100644 index 94534295..00000000 --- a/jdJxStoryShareCodes.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -京喜故事互助码 -此文件为Node.js专用。其他用户请忽略 -支持京东N个账号 - */ -//云服务器腾讯云函数等Node.js用户在此处填写京喜故事的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 JXSTORY_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) -// 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 -// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 -let shareCodes = [ - '',//账号一的好友shareCode,不同好友中间用@符号隔开 - '',//账号二的好友shareCode -] -// 判断github action里面是否有京喜故事互助码 -if (process.env.JXSTORY_SHARECODES) {if (process.env.JXSTORY_SHARECODES.indexOf('&') > -1) { - console.log(`您的互助码选择的是用&隔开\n`) - shareCodes = process.env.JXSTORY_SHARECODES.split('&'); - } else if (process.env.JXSTORY_SHARECODES.indexOf('\n') > -1) { - console.log(`您的互助码选择的是用换行隔开\n`) - shareCodes = process.env.JXSTORY_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JXSTORY_SHARECODES.split(); - } -} else if (process.env.JXSTORY_SHARECODES) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) -} -for (let i = 0; i < shareCodes.length; i++) { - const index = (i + 1 === 1) ? '' : (i + 1); - exports['shareCodes' + index] = shareCodes[i]; -} From 0dbe3c343271c708404846838c995ce828460ca8 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 13 Dec 2020 11:12:15 +0800 Subject: [PATCH 0387/1259] Delete jdJxStoryShareCodes.js --- activity/jdJxStoryShareCodes.js | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 activity/jdJxStoryShareCodes.js diff --git a/activity/jdJxStoryShareCodes.js b/activity/jdJxStoryShareCodes.js deleted file mode 100644 index 94534295..00000000 --- a/activity/jdJxStoryShareCodes.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -京喜故事互助码 -此文件为Node.js专用。其他用户请忽略 -支持京东N个账号 - */ -//云服务器腾讯云函数等Node.js用户在此处填写京喜故事的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 JXSTORY_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) -// 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 -// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 -let shareCodes = [ - '',//账号一的好友shareCode,不同好友中间用@符号隔开 - '',//账号二的好友shareCode -] -// 判断github action里面是否有京喜故事互助码 -if (process.env.JXSTORY_SHARECODES) {if (process.env.JXSTORY_SHARECODES.indexOf('&') > -1) { - console.log(`您的互助码选择的是用&隔开\n`) - shareCodes = process.env.JXSTORY_SHARECODES.split('&'); - } else if (process.env.JXSTORY_SHARECODES.indexOf('\n') > -1) { - console.log(`您的互助码选择的是用换行隔开\n`) - shareCodes = process.env.JXSTORY_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JXSTORY_SHARECODES.split(); - } -} else if (process.env.JXSTORY_SHARECODES) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) -} -for (let i = 0; i < shareCodes.length; i++) { - const index = (i + 1 === 1) ? '' : (i + 1); - exports['shareCodes' + index] = shareCodes[i]; -} From eac35bc0eed39b6dd5feb40233ecc12ae2746e54 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 13 Dec 2020 18:39:20 +0800 Subject: [PATCH 0388/1259] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 19 ++------- docker/crontab_list_ts.sh | 85 +++++++++++++++++---------------------- 2 files changed, 41 insertions(+), 63 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index eeb0fb49..d66f68d1 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -3,26 +3,15 @@ # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log - ##############短期活动############## -# 京喜故事(2020.12.12活动过期) -10 * * * * node /scripts/jd_jxstory.js >> /scripts/logs/jd_jxstory.log 2>&1 -# 金榜年终奖(2020.12.12活动过期) -10 7 * * * node /scripts/jd_split.js >> /scripts/logs/jd_split.log 2>&1 # 秒杀红包雨(2020.12.31活动过期) 40 8 * * * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) 10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 -# 直播红包雨(2020.12.12活动过期) -0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 -# 数码加购京豆(2020.12.11活动过期) -8 0 * * * node /scripts/jd_digital_floor.js >> /scripts/logs/jd_digital_floor.log 2>&1 -# jd_apple_live -8 0,20 * * * node /scripts/jd_apple_live.js >> /scripts/logs/jd_apple_live.log 2>&1 -# jd_pubg +# PUBG游戏盛典(2020.12.13活动过期) 8 1,20 * * * node /scripts/jd_pubg.js >> /scripts/logs/jd_pubg.log 2>&1 -##############长期活动############## +##############长期活动############## # 签到 0 0,12,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 # 京小超兑换奖品 @@ -73,8 +62,8 @@ 16 6 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 # 东东工厂 36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 -#十元街 -36 8 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 +# 十元街 +36 8,18 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 # 京东代属(注:限校园用户可使用) 36 9 * * * node /scripts/jd_ds.js >> /scripts/logs/jd_ds.log 2>&1 # 京东快递签到 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 44cc0c76..72139542 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -1,87 +1,76 @@ #必须要的默认定时任务请勿删除 -52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1 +52 */1 * * * sh /scripts/docker/default_task.sh | ts >> /scripts/logs/default_task.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log - ##############短期活动############## -# 京喜故事(2020.12.12活动过期) -10 * * * * node /scripts/jd_jxstory.js |ts >> /scripts/logs/jd_jxstory.log 2>&1 -# 金榜年终奖(2020.12.12活动过期) -10 7 * * * node /scripts/jd_split.js |ts >> /scripts/logs/jd_split.log 2>&1 # 秒杀红包雨(2020.12.31活动过期) -40 8 * * * node /scripts/jd_ms_redrain.js |ts >> /scripts/logs/jd_ms_redrain.log 2>&1 +40 8 * * * node /scripts/jd_ms_redrain.js | ts >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) -10 0 * * * node /scripts/jd_health.js |ts >> /scripts/logs/jd_health.log 2>&1 -# 直播红包雨(2020.12.12活动过期) -0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js |ts >> /scripts/logs/jd_live_redrain.log 2>&1 -# 数码加购京豆(2020.12.11活动过期) -8 0 * * * node /scripts/jd_digital_floor.js |ts >> /scripts/logs/jd_digital_floor.log 2>&1 -# jd_apple_live -8 0,20 * * * node /scripts/jd_apple_live.js |ts >> /scripts/logs/jd_apple_live.log 2>&1 -# jd_pubg -8 1,20 * * * node /scripts/jd_pubg.js |ts >> /scripts/logs/jd_pubg.log 2>&1 -##############长期活动############## +10 0 * * * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 +# PUBG游戏盛典(2020.12.13活动过期) +8 1,20 * * * node /scripts/jd_pubg.js | ts >> /scripts/logs/jd_pubg.log 2>&1 +##############长期活动############## # 签到 -0 0,12,18 * * * cd /scripts && node jd_bean_sign.js |ts >> /scripts/logs/jd_bean_sign.log 2>&1 +0 0,12,18 * * * cd /scripts && node jd_bean_sign.js | ts >> /scripts/logs/jd_bean_sign.log 2>&1 # 京小超兑换奖品 -0 0 * * * node /scripts/jd_blueCoin.js |ts >> /scripts/logs/jd_blueCoin.log 2>&1 +0 0 * * * node /scripts/jd_blueCoin.js | ts >> /scripts/logs/jd_blueCoin.log 2>&1 # 摇京豆 -0 0 * * * node /scripts/jd_club_lottery.js |ts >> /scripts/logs/jd_club_lottery.log 2>&1 +0 0 * * * node /scripts/jd_club_lottery.js | ts >> /scripts/logs/jd_club_lottery.log 2>&1 # 东东农场 -5 6-18/6 * * * node /scripts/jd_fruit.js |ts >> /scripts/logs/jd_fruit.log 2>&1 +5 6-18/6 * * * node /scripts/jd_fruit.js | ts >> /scripts/logs/jd_fruit.log 2>&1 # 宠汪汪 -15 */2 * * * node /scripts/jd_joy.js |ts >> /scripts/logs/jd_joy.log 2>&1 +15 */2 * * * node /scripts/jd_joy.js | ts >> /scripts/logs/jd_joy.log 2>&1 # 宠汪汪喂食 -15 */1 * * * node /scripts/jd_joy_feedPets.js |ts >> /scripts/logs/jd_joy_feedPets.log 2>&1 +15 */1 * * * node /scripts/jd_joy_feedPets.js | ts >> /scripts/logs/jd_joy_feedPets.log 2>&1 # 宠汪汪积分兑换奖品 -0 0-16/8 * * * node /scripts/jd_joy_reward.js |ts >> /scripts/logs/jd_joy_reward.log 2>&1 +0 0-16/8 * * * node /scripts/jd_joy_reward.js | ts >> /scripts/logs/jd_joy_reward.log 2>&1 # 宠汪汪偷好友积分与狗粮 -0 0,6 * * * node /scripts/jd_joy_steal.js |ts >> /scripts/logs/jd_joy_steal.log 2>&1 +0 0,6 * * * node /scripts/jd_joy_steal.js | ts >> /scripts/logs/jd_joy_steal.log 2>&1 # 摇钱树 -0 */2 * * * node /scripts/jd_moneyTree.js |ts >> /scripts/logs/jd_moneyTree.log 2>&1 +0 */2 * * * node /scripts/jd_moneyTree.js | ts >> /scripts/logs/jd_moneyTree.log 2>&1 # 东东萌宠 -5 6-18/6 * * * node /scripts/jd_pet.js |ts >> /scripts/logs/jd_pet.log 2>&1 +5 6-18/6 * * * node /scripts/jd_pet.js | ts >> /scripts/logs/jd_pet.log 2>&1 # 京东种豆得豆 -0 7-22/1 * * * node /scripts/jd_plantBean.js |ts >> /scripts/logs/jd_plantBean.log 2>&1 +0 7-22/1 * * * node /scripts/jd_plantBean.js | ts >> /scripts/logs/jd_plantBean.log 2>&1 # 京东全民开红包 -1 1 * * * node /scripts/jd_redPacket.js |ts >> /scripts/logs/jd_redPacket.log 2>&1 +1 1 * * * node /scripts/jd_redPacket.js | ts >> /scripts/logs/jd_redPacket.log 2>&1 # 进店领豆 -10 0 * * * node /scripts/jd_shop.js |ts >> /scripts/logs/jd_shop.log 2>&1 +10 0 * * * node /scripts/jd_shop.js | ts >> /scripts/logs/jd_shop.log 2>&1 # 京东天天加速 -8 */3 * * * node /scripts/jd_speed.js |ts >> /scripts/logs/jd_speed.log 2>&1 +8 */3 * * * node /scripts/jd_speed.js | ts >> /scripts/logs/jd_speed.log 2>&1 # 东东超市 -11 1-23/5 * * * node /scripts/jd_superMarket.js |ts >> /scripts/logs/jd_superMarket.log 2>&1 +11 1-23/5 * * * node /scripts/jd_superMarket.js | ts >> /scripts/logs/jd_superMarket.log 2>&1 # 取关京东店铺商品 -55 23 * * * node /scripts/jd_unsubscribe.js |ts >> /scripts/logs/jd_unsubscribe.log 2>&1 +55 23 * * * node /scripts/jd_unsubscribe.js | ts >> /scripts/logs/jd_unsubscribe.log 2>&1 # 京豆变动通知 -0 10 * * * node /scripts/jd_bean_change.js |ts >> /scripts/logs/jd_bean_change.log 2>&1 +0 10 * * * node /scripts/jd_bean_change.js | ts >> /scripts/logs/jd_bean_change.log 2>&1 # 京东抽奖机 -11 1 * * * node /scripts/jd_lotteryMachine.js |ts >> /scripts/logs/jd_lotteryMachine.log 2>&1 +11 1 * * * node /scripts/jd_lotteryMachine.js | ts >> /scripts/logs/jd_lotteryMachine.log 2>&1 # 京东排行榜 -11 9 * * * node /scripts/jd_rankingList.js |ts >> /scripts/logs/jd_rankingList.log 2>&1 +11 9 * * * node /scripts/jd_rankingList.js | ts >> /scripts/logs/jd_rankingList.log 2>&1 # 天天提鹅 -18 * * * * node /scripts/jd_daily_egg.js |ts >> /scripts/logs/jd_daily_egg.log 2>&1 +18 * * * * node /scripts/jd_daily_egg.js | ts >> /scripts/logs/jd_daily_egg.log 2>&1 # 金融养猪 -12 * * * * node /scripts/jd_pigPet.js |ts >> /scripts/logs/jd_pigPet.log 2>&1 +12 * * * * node /scripts/jd_pigPet.js | ts >> /scripts/logs/jd_pigPet.log 2>&1 # 点点券 -20 0,20 * * * node /scripts/jd_necklace.js |ts >> /scripts/logs/jd_necklace.log 2>&1 +20 0,20 * * * node /scripts/jd_necklace.js | ts >> /scripts/logs/jd_necklace.log 2>&1 # 京喜工厂 -20 * * * * node /scripts/jd_dreamFactory.js |ts >> /scripts/logs/jd_dreamFactory.log 2>&1 +20 * * * * node /scripts/jd_dreamFactory.js | ts >> /scripts/logs/jd_dreamFactory.log 2>&1 # 东东小窝 -16 6 * * * node /scripts/jd_small_home.js |ts >> /scripts/logs/jd_small_home.log 2>&1 +16 6 * * * node /scripts/jd_small_home.js | ts >> /scripts/logs/jd_small_home.log 2>&1 # 东东工厂 -36 * * * * node /scripts/jd_jdfactory.js |ts >> /scripts/logs/jd_jdfactory.log 2>&1 +36 * * * * node /scripts/jd_jdfactory.js | ts >> /scripts/logs/jd_jdfactory.log 2>&1 # 十元街 -36 8,18 * * * node /scripts/jd_syj.js |ts >> /scripts/logs/jd_syj.log 2>&1 +36 8,18 * * * node /scripts/jd_syj.js | ts >> /scripts/logs/jd_syj.log 2>&1 # 京东代属(注:限校园用户可使用) -36 9 * * * node /scripts/jd_ds.js |ts >> /scripts/logs/jd_ds.log 2>&1 +36 9 * * * node /scripts/jd_ds.js | ts >> /scripts/logs/jd_ds.log 2>&1 # 京东快递签到 -23 1 * * * node /scripts/jd_kd.js |ts >> /scripts/logs/jd_kd.log 2>&1 +23 1 * * * node /scripts/jd_kd.js | ts >> /scripts/logs/jd_kd.log 2>&1 # 京东汽车(签到满500赛点可兑换500京豆) -33 2 * * * node /scripts/jd_car.js |ts >> /scripts/logs/jd_car.log 2>&1 +33 2 * * * node /scripts/jd_car.js | ts >> /scripts/logs/jd_car.log 2>&1 # 领京豆额外奖励(每日可获得3京豆) -33 4 * * * node /scripts/jd_bean_home.js |ts >> /scripts/logs/jd_bean_home.log 2>&1 +33 4 * * * node /scripts/jd_bean_home.js | ts >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) -10-20/5 11 * * * node /scripts/jd_live.js |ts >> /scripts/logs/jd_live.log 2>&1 \ No newline at end of file +10-20/5 11 * * * node /scripts/jd_live.js | ts >> /scripts/logs/jd_live.log 2>&1 From c9ba9a1f955c051705bb3ec1479eff5ce0c88b1b Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 13 Dec 2020 18:49:19 +0800 Subject: [PATCH 0389/1259] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E9=87=91=E8=9E=8D=E7=AD=BE=E5=88=B0=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=EF=BC=9B2.=E5=B0=86=E9=83=A8=E5=88=86?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E7=9A=84=E8=84=9A=E6=9C=AC=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E5=88=B0backUp=E6=96=87=E4=BB=B6=E5=A4=B9=EF=BC=9B3.=E4=B8=8A?= =?UTF-8?q?=E4=B8=AAcommit=E9=94=99=E8=AF=AF=E5=88=A0=E9=99=A4=E4=BA=86?= =?UTF-8?q?=E8=8B=B9=E6=9E=9C=E8=B6=85=E5=93=81=E6=97=A5=E4=BA=92=E5=8A=A8?= =?UTF-8?q?=E6=8A=BD=E5=A5=96=EF=BC=8C=E8=BF=98=E5=8E=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 4 + docker/crontab_list_ts.sh | 4 + jd_818.js | 935 -------------------------------------- jd_jxstory.js | 670 --------------------------- jd_mohe.js | 422 ----------------- jd_xtg.js | 420 ----------------- 6 files changed, 8 insertions(+), 2447 deletions(-) delete mode 100644 jd_818.js delete mode 100644 jd_jxstory.js delete mode 100644 jd_mohe.js delete mode 100644 jd_xtg.js diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index d66f68d1..3e147612 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -10,6 +10,8 @@ 10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 # PUBG游戏盛典(2020.12.13活动过期) 8 1,20 * * * node /scripts/jd_pubg.js >> /scripts/logs/jd_pubg.log 2>&1 +# 苹果超品日互动抽奖机(2020.12.14活动过期) +8 0,20 * * * node /scripts/jd_apple_live.js >> /scripts/logs/jd_apple_live.log 2>&1 ##############长期活动############## # 签到 @@ -74,3 +76,5 @@ 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 +# 京东金融签到 +10 6 * * * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 72139542..82b8d358 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -10,6 +10,8 @@ 10 0 * * * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 # PUBG游戏盛典(2020.12.13活动过期) 8 1,20 * * * node /scripts/jd_pubg.js | ts >> /scripts/logs/jd_pubg.log 2>&1 +# 苹果超品日互动抽奖机(2020.12.14活动过期) +8 0,20 * * * node /scripts/jd_apple_live.js | ts >> /scripts/logs/jd_apple_live.log 2>&1 ##############长期活动############## # 签到 @@ -74,3 +76,5 @@ 33 4 * * * node /scripts/jd_bean_home.js | ts >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js | ts >> /scripts/logs/jd_live.log 2>&1 +# 京东金融签到 +10 6 * * * node /scripts/jr_sign.js | ts >> /scripts/logs/jr_sign.log 2>&1 diff --git a/jd_818.js b/jd_818.js deleted file mode 100644 index 3f7ff7ed..00000000 --- a/jd_818.js +++ /dev/null @@ -1,935 +0,0 @@ -/* - * @Author: lxk0301 https://github.com/lxk0301 - * @Date: 2020-11-03 09:25:47 - * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-23 12:27:07 - */ -/* -京东手机狂欢城活动,每日可获得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] -#京东手机狂欢城 -1 0-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js, tag=京东手机狂欢城, enabled=true -// Loon -[Script] -cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js,tag=京东手机狂欢城 -// Surge -京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} - -const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; -const activeEndTime = '2020/11/11 23:59:59+08:00'; -const addUrl = 'http://jd.turinglabs.net/helpcode/create/'; -const printUrl = `http://jd.turinglabs.net/helpcode/print/20/`; -let helpCode = [] -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - 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 = ''; - 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 JD818(); - // await getHelp(); - // await doHelp(); - // await main(); - } - } - // console.log($.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() { - 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() -} -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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - '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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - '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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - '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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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(); - 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();//访问收集的互助码 - if (body) { - console.log(`printAPI返回助力码数量:${body.replace(/"/g, '').split(',').length}`) - tempCode = tempCode.concat(body.replace(/"/g, '').split(',')) - } - 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}`}, (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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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/lxk0301/updateTeam/master/jd_shareCodes.json') { - return new Promise(resolve => { - //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json - $.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://raw.fastgit.org/lxk0301/updateTeam/master/jd_shareCodes.json') { - return new Promise(resolve => { - //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json - $.get({url}, 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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/lxk0301/jd_scripts`) - } 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手动复制粘贴修改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/jd_jxstory.js b/jd_jxstory.js deleted file mode 100644 index 2e923e1f..00000000 --- a/jd_jxstory.js +++ /dev/null @@ -1,670 +0,0 @@ -/* -京喜故事 -活动入口 :京喜APP->首页浮动窗口去领钱/京喜工厂-金牌厂长 -每天运行一次即可 - - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜故事 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, tag=京喜故事, enabled=true - -================Loon============== -[Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js,tag=京喜故事 - -===============Surge================= -京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js - -============小火箭========= -京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=200, 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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} -!(async () => { - await requireConfig(); - 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 = ''; - $.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/`, {"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 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 - } - $.nickName = data['base'].nickname; - } 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手动复制粘贴修改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();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/jd_mohe.js b/jd_mohe.js deleted file mode 100644 index 600221c2..00000000 --- a/jd_mohe.js +++ /dev/null @@ -1,422 +0,0 @@ -/* -热8超级盲盒,可抽奖获得京豆,建议在凌晨0点时运行脚本,白天抽奖基本没有京东 -活动地址: https://blindbox.jd.com -活动时间到18号 -支持京东双账号 -更新时间:2020-08-17 -脚本兼容: QuantumultX, Surge,Loon, JSBox, Node.js -// quantumultx -[task_local] -#热8超级盲盒 -1 0,1-23/3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js, tag=热8超级盲盒, enabled=true -// Loon -[Script] -cron "1 0,1-23/3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js,tag=热8超级盲盒 -// Surge -热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js - */ -const $ = new Env('热8超级盲盒'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//直接用NobyDa的jd cookie -let cookie = jdCookieNode.CookieJD ? jdCookieNode.CookieJD : $.getdata('CookieJD'); -const cookie2 = jdCookieNode.CookieJD2 ? jdCookieNode.CookieJD2 : $.getdata('CookieJD2'); -let UserName = ''; -const JD_API_HOST = 'https://blindbox.jd.com'; -let shareId = ''; -!(async () => { - if (!cookie) { - $.msg('【京东账号一】热8超级盲盒', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - } else { - UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - // await shareUrl(); - // await addShare(); - await getCoin();//领取每三小时自动生产的热力值 - await Promise.all([ - task0(), - task1(), - ]) - await taskList(); - await getAward();//抽奖 - if ($.time('yyyy-MM-dd') === '2020-08-19') { - $.msg($.name, '活动已结束', `请禁用或删除脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts\n`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - } else { - $.msg($.name, '', `【京东账号一】${UserName}\n任务已做完.\n 抽奖详情查看 https://blindbox.jd.com\n`, {"open-url": "https://blindbox.jd.com"}); - } - } - await $.wait(1000); - if (cookie2) { - cookie = cookie2; - UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - console.log(`\n开始【京东账号二】${UserName}\n`) - await getCoin();//领取每三小时自动生产的热力值 - await Promise.all([ - task0(), - task1(), - ]) - await taskList(); - await getAward();//抽奖 - $.msg($.name, '', `【京东账号二】${UserName}\n任务已做完.\n 抽奖详情查看 https://blindbox.jd.com\n`, {"open-url": "https://blindbox.jd.com"}); - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function task0() { - const confRes = await conf(); - if (confRes.code === 200) { - const { brandList, skuList } = confRes.data; - if (skuList && skuList.length > 0) { - for (let item of skuList) { - if (item.state === 0) { - let homeGoBrowseRes = await homeGoBrowse(0, item.id); - console.log('商品', homeGoBrowseRes); - await $.wait(1000); - const taskHomeCoin0Res = await taskHomeCoin(0, item.id); - console.log('商品领取金币', taskHomeCoin0Res); - // if (homeGoBrowseRes.code === 200) { - // await $.wait(1000); - // await taskHomeCoin(0, item.id); - // } - } else { - console.log('精选好物任务已完成') - } - } - } - } -} -async function task1() { - const confRes = await conf(); - if (confRes.code === 200) { - const { brandList, skuList } = confRes.data; - if (brandList && brandList.length > 0) { - for (let item of brandList) { - if (item.state === 0) { - let homeGoBrowseRes = await homeGoBrowse(1, item.id); - // console.log('店铺', homeGoBrowseRes); - await $.wait(1000); - const taskHomeCoin1Res = await taskHomeCoin(1, item.id); - console.log('店铺领取金币', taskHomeCoin1Res); - // if (homeGoBrowseRes.code === 200) { - // await $.wait(1000); - // await taskHomeCoin(1, item.id); - // } - } else { - console.log('精选店铺-任务已完成') - } - } - } - } -} -function addShare(id) { - console.log(`shareId${shareId}`); - return new Promise((resolve) => { - const url = `addShare?shareId=${shareId}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('ddd----ddd', data) - data = JSON.parse(data); - // console.log('ddd----ddd', data) - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function conf() { - return new Promise((resolve) => { - const url = `conf`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('ddd----ddd', data) - data = JSON.parse(data); - // console.log('ddd----ddd', data) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function homeGoBrowse(type, id) { - return new Promise((resolve) => { - const url = `homeGoBrowse?type=${type}&id=${id}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function taskHomeCoin(type, id) { - return new Promise((resolve) => { - const url = `taskHomeCoin?type=${type}&id=${id}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function getCoin() { - return new Promise((resolve) => { - const url = `getCoin?t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - if (data.code === 1001) { - console.log(data.msg); - $.msg($.name, '领取失败', `${data.msg}`); - $.done(); - } else { - console.log(`成功领取${data.data}热力值`) - resolve(data); - } - } catch (e) { - $.logErr(e, resp); - } - }) - }) -} -function taskList() { - return new Promise((resolve) => { - const url = `taskList?t=${Date.now()}`; - $.get(taskurl(url), async (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - console.log(`请继续等待,正在做任务,不要退出哦`) - // console.log(`成功领取${data.data}热力值`) - if (data.code === 200) { - const { task4, task6, task2, task1 } = data.data; - if (task4.finishNum < task4.totalNum) { - await browseProduct(task4.skuId); - await taskCoin(task4.type); - } - //浏览会场 - if (task1.finishNum < task1.totalNum) { - await strollActive((task1.finishNum + 1)); - await taskCoin(task1.type); - } - if (task2.finishNum < task2.totalNum) { - await strollShop(task2.shopId); - await taskCoin(task2.type); - } - if (task6.finishNum < task6.totalNum) { - await strollMember(task6.venderId); - await taskCoin(task6.type); - } - if (task4.state === 2 && task1.state === 2 && task2.state === 2 && task6.state === 2) { - console.log('taskList的任务全部做完了---') - } else { - await taskList(); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//浏览商品(16个) -function browseProduct(skuId) { - return new Promise((resolve) => { - const url = `browseProduct?0=${skuId}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -// 浏览会场(10个) -function strollActive(index) { - return new Promise((resolve) => { - const url = `strollActive?0=${index}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//关注或浏览店铺(9个) -function strollShop(shopId) { - return new Promise((resolve) => { - const url = `strollShop?shopId=${shopId}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -// 加入会员(7) -function strollMember(venderId) { - return new Promise((resolve) => { - const url = `strollMember?venderId=${venderId}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function taskCoin(type) { - return new Promise((resolve) => { - const url = `taskCoin?type=${type}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -async function getAward() { - const coinRes = await coin(); - if (coinRes.code === 200) { - const { total, need } = coinRes.data; - if (total > need) { - const times = Math.floor(total / need); - for (let i = 0; i < times; i++) { - await $.wait(2000); - let lotteryRes = await lottery(); - if (lotteryRes.code === 200) { - console.log(`====抽奖结果====,${JSON.stringify(lotteryRes.data)}`); - console.log(lotteryRes.data.name); - console.log(lotteryRes.data.beanNum); - } else if (lotteryRes.code === 4001) { - console.log(`抽奖失败,${lotteryRes.msg}`); - break; - } - } - } else { - console.log(`目前热力值${total},不够抽奖`) - } - } -} -//获取有多少热力值 -function coin() { - return new Promise((resolve) => { - const url = `coin?t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//抽奖API -function lottery() { - return new Promise((resolve) => { - const options = { - 'url': `${JD_API_HOST}/prize/lottery?t=${Date.now()}`, - 'headers': { - "accept": "*/*", - "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", - "content-type": "application/x-www-form-urlencoded", - "cookie": cookie, - "referer": "https://blindbox.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.get(options, (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function taskurl(url) { - return { - 'url': `${JD_API_HOST}/active/${url}`, - 'headers': { - "accept": "*/*", - "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", - "content-type": "application/x-www-form-urlencoded", - "cookie": cookie, - "referer": "https://blindbox.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} -// 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/jd_xtg.js b/jd_xtg.js deleted file mode 100644 index 7646aae7..00000000 --- a/jd_xtg.js +++ /dev/null @@ -1,420 +0,0 @@ -/* - * @Author: lxk0301 - * @Date: 2020-10-21 17:04:04 - * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-05 00:35:04 - */ -/** - 星推官脚本 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js - 星推官活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html - 活动时间:2020年10月21日 00:00:00-2020年11月11日 23:59:59 - 京豆先到先得!!!!!!!!!!! - 出现任务做完没领取的情况,就再运行一次脚本 - 能做完所有的任务,包括自动抽奖,脚本会给内置的shareId助力 - 一共23个活动,耗时比较久,surge请加大timeout时间 - 支持京东双账号 - 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js - // quantumultx - [task_local] - #京东星推官 - 2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, tag=京东星推官, enabled=true - // Loon - [Script] - cron "2 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js,tag=京东星推官 - // Surge - 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js - */ -const $ = new Env('京东星推官'); -const activeEndTime = '2020/11/11 23:59:59+08:00';//活动结束时间 -const notify = $.isNode() ? require('./sendNotify') : ''; -//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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} -const starID = [ - 'bolangwutiaoren', - 'oulebyangzi', - 'meiditongliya', - 'chuangweimaobuyi', - 'quechaozhuyilong', - 'haierchenxiao', - 'feilipulixian', - 'feilipurenjialun', - 'feilipuwangziyi', - 'changhongsongyi', - 'jiuyangdenglun', - 'aokesilingengxin', - 'haixinchengguo', - 'fangtai', - 'lgyangzishan', - 'laobansongweilong', - 'haiermaoxiaotong', - "skgwangyibo", - "kongtiaozhangjike", - "sanxingningjing", - "xiaojiadianxiongziqi", - "heidianliyitong", - "oulebzhangyixing", -]; -const shareID = [ - 'e646c144-28a7-4b1b-8145-5b0dbff107ec', - 'b3fcb734-cbdd-4436-9f92-b13b445fc253', - 'e2d63b19-19d6-4a20-b2af-74b828e703d0', - 'a7a3b9b7-2872-4244-a627-3b82c271dee7', - 'f7b521e7-5306-4908-ba8a-df2d221bdd9d', - 'd17ec374-70d4-49d5-8673-7093e61f904c', - '915b9567-dc88-4389-8be9-ecc25588353a', - '7abdc8f4-d8f4-497f-8daa-cdab01cf645c', - '50ecc8de-1ee5-4420-bbb8-1136d86d80db', - 'fd0770e1-5007-45c1-8d69-402e02ff9a52', - 'cb9e9a59-a86b-4a0d-a308-4503fe5baaa4', - '93b3afeb-a18c-437c-b5ca-fbd9f389671d', - '8778793c-e9ad-4339-a709-723ae3ebde8e', - '921c376e-8cc5-4236-8242-ff8bb1b88a95', - '8b3ce203-4b10-4c36-a87d-da8c82efe362', - 'c8e1feb3-6ab1-4410-8444-1de8bd22e041', - "dd6b5270-3e5e-436d-be0f-295a8604cf47", - "7aef5700-4fa0-43b8-98fa-3a09f46ea47c", - "be0ec81c-bf26-4b7b-9527-d02b0286e5af", - "ecd890e0-db46-46c7-862e-cb9776c207dc", - "91ceb3eb-df84-471e-ad77-320cd95763ee", -]; -const JD_API_HOST = 'https://urvsaggpt.m.jd.com/guardianstar'; -!(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; - $.beanCount = 0; - $.jdNum = 0; - $.isLogin = true; - $.nickName = ''; - const beforeTotal = 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 - } - console.log(`一共${starID.length}个${$.name}任务,耗时会很久,请提前知晓`) - $.beanCount = beforeTotal && beforeTotal['base'].jdNum; - for (let index = 0; index < starID.length; index ++) { - $.activeId = starID[index]; - $.j = index; - await JD_XTG(); - } - console.log(`\n等待8秒后,再去领取奖励\n`) - console.log(`做任务之前京豆总计:${$.beanCount}`) - await $.wait(8000); - for (let index = 0; index < starID.length; index ++) { - $.activeId = starID[index]; - $.j = index; - await JD_XTG(); - await doSupport(shareID[index]); - } - const afterTotal = await TotalBean(); - $.jdNum = afterTotal['base'].jdNum; - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function showMsg() { - console.log(`\n做任务之前京豆总计:${$.beanCount}`) - console.log(`做完任务后京豆总计:${$.jdNum}`); - console.log(`活动活动京豆数量:${$.jdNum - $.beanCount}`); - let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - if (nowTime > new Date(activeEndTime).getTime()) { - $.msg($.name, '活动已结束', `请删除或禁用此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`) - } else { - $.msg($.name, `账号${$.index} ${$.nickName || $.UserName}`, `做任务之前京豆总计:${$.beanCount}\n做完任务后京豆总计:${$.jdNum}\n${($.jdNum - $.beanCount) > 0 ? `获得京豆:${$.jdNum - $.beanCount}京豆 🐶(仅供参考)\n` : ''}京豆先到先得\n活动地址点击弹窗跳转后即可查看\n注:如未获得京豆就是已被分完`, {"open-url": "https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html"}) - if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}`, `账号${$.index} ${$.nickName || $.UserName}\n做任务之前京豆总计:${$.beanCount}\n做完任务后京豆总计:${$.jdNum}\n${($.jdNum - $.beanCount) > 0 ? `获得京豆:${$.jdNum - $.beanCount}京豆 🐶(仅供参考)\n` : ''}京豆先到先得\n注:如未获得京豆就是已被分完\n活动结束时间:2020年11月12日 23:59:59\n活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html`) - } -} -async function JD_XTG() { - await getHomePage(); - if ($.homeData && $.homeData.code === 200) { - const { shopList, venueList, productList, orderSkuList, shareId } = $.homeData.data[0]; - console.log(`\n===========活动${$.j + 1}-[${starID[$.j]}] 助力码==========\n${shareId}\n`); - for (let item of shopList) { - console.log(`\n任务一:关注${item['shopName']}`) - if (item['shopStatus'] === 4) { - console.log(`入会任务,假入会`); - await doTask('shop', item['shopId'], 0) - continue - } - if (item['shopStatus'] === 3) { - console.log(`此任务已做完,跳过`); - continue - } - console.log(`shopStatus:::${item['shopStatus']}`) - if (item['shopStatus'] !== 3 && item['shopStatus'] !== 4) { - await doTask('shop', item['shopId'], item['shopStatus']) - } - // if (item['shopStatus'] === 2) { - // await doTask('shop', item['shopId'], 2) - // } - // if (item['shopStatus'] === 4) { - // await doTask('shop', item['shopId'], 4) - // } - } - for (let item1 of venueList) { - console.log(`\n任务二:逛逛[${item1['venueName']}]-${item1['venueStatus'] !== 3 ? '' : '已做完'}`) - if (item1['venueStatus'] === 1) { - await doTask('venue', item1['venueId'], 1); - } - if (item1['venueStatus'] === 2) { - await doTask('venue', item1['venueId'], 2); - } - } - for (let item2 of productList) { - console.log(`\n任务三:逛逛[${item2['productName']}]-${item2['productStatus'] !== 3 ? '' : '已做完'}`) - if (item2['productStatus'] === 1) { - await doTask('product', item2['productId'], 1); - } - if (item2['productStatus'] === 2) { - await doTask('product', item2['productId'], 2); - } - } - //付定金 TODO - // for (let item3 of orderSkuList) { - // await doTask('order', item3['skuId'], 1); - // await doTask('order', item3['skuId'], 2); - // await doTask('order', item3['skuId'], 3); - // await doTask('order', item3['skuId'], 0); - // - // await doTask('order', item3['skuId'], 2); - // await doTask('order', item3['skuId'], 1); - // } - console.log(`\n开始抽奖\n`) - await getDayPrizeStatus(4, `${$.activeId}#1`, 3); - await getDayPrizeStatus(1, `${$.activeId}#2`, 3); - } else { - console.log(`京东服务器返回无数据!`) - } -} -function getHomePage() { - 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 (data) { - $.homeData = JSON.parse(data); - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function doTask(type, id, status) { - return new Promise(async resolve => { - $.post(taskPostUrl(type, id, status), (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(); - } - }) - }) -} - -function doSupport(shareId) { - return new Promise(async resolve => { - const options = { - "url": `${JD_API_HOST}/doSupport`, - "body": `starId=${$.activeId}&shareId=${shareId}`, - "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, - "Host": "urvsaggpt.m.jd.com", - "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(`\n助力结果:${data}`); - // data = 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getDayPrizeStatus(prizeType, prizeId, status) { - return new Promise(async resolve => { - const options = { - "url": `${JD_API_HOST}/getDayPrizeStatus`, - "body": `starId=${$.activeId}&status=${status}&prizeType=${prizeType}&prizeId=${prizeId}`, - "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, - "Host": "urvsaggpt.m.jd.com", - "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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(); - } - }) - }) -} -function taskPostUrl(type, id, status) { - return { - url: `${JD_API_HOST}/doTask`, - body: `starId=${$.activeId}&type=${type}&id=${id}&status=${status}`, - 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, - "Host": "urvsaggpt.m.jd.com", - "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -function taskUrl(function_id) { - return { - url: `${JD_API_HOST}/${function_id}?t=${Date.now()}&starId=${$.activeId}`, - headers: { - "Accept": "application/json,text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Cookie": cookie, - "Host": "urvsaggpt.m.jd.com", - "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} -// 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)} From 898a2641ba495506b745be2c7bd3a4be2436a607 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 13 Dec 2020 18:53:55 +0800 Subject: [PATCH 0390/1259] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E9=83=A8=E5=88=86?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E7=9A=84=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/jd_818.js | 935 +++++++++++++++++++++++++++++++++++++++++++ backUp/jd_jxstory.js | 670 +++++++++++++++++++++++++++++++ backUp/jd_mohe.js | 422 +++++++++++++++++++ backUp/jd_xtg.js | 420 +++++++++++++++++++ 4 files changed, 2447 insertions(+) create mode 100644 backUp/jd_818.js create mode 100644 backUp/jd_jxstory.js create mode 100644 backUp/jd_mohe.js create mode 100644 backUp/jd_xtg.js diff --git a/backUp/jd_818.js b/backUp/jd_818.js new file mode 100644 index 00000000..c3495304 --- /dev/null +++ b/backUp/jd_818.js @@ -0,0 +1,935 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-03 09:25:47 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-23 12:27:07 + */ +/* +京东手机狂欢城活动,每日可获得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] +#京东手机狂欢城 +1 0-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js, tag=京东手机狂欢城, enabled=true +// Loon +[Script] +cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js,tag=京东手机狂欢城 +// Surge +京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} + +const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; +const activeEndTime = '2020/11/11 23:59:59+08:00'; +const addUrl = 'http://jd.turinglabs.net/helpcode/create/'; +const printUrl = `http://jd.turinglabs.net/helpcode/print/20/`; +let helpCode = [] +!(async () => { + if (!cookiesArr[0]) { + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + 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 = ''; + 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 JD818(); + // await getHelp(); + // await doHelp(); + // await main(); + } + } + // console.log($.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() { + 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() +} +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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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(); + 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();//访问收集的互助码 + if (body) { + console.log(`printAPI返回助力码数量:${body.replace(/"/g, '').split(',').length}`) + tempCode = tempCode.concat(body.replace(/"/g, '').split(',')) + } + 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}`}, (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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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/lxk0301/updateTeam/master/jd_shareCodes.json') { + return new Promise(resolve => { + //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json + //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json + $.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://raw.fastgit.org/lxk0301/updateTeam/master/jd_shareCodes.json') { + return new Promise(resolve => { + //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json + //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json + $.get({url}, 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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } 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手动复制粘贴修改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_jxstory.js b/backUp/jd_jxstory.js new file mode 100644 index 00000000..842e0299 --- /dev/null +++ b/backUp/jd_jxstory.js @@ -0,0 +1,670 @@ +/* +京喜故事 +活动入口 :京喜APP->首页浮动窗口去领钱/京喜工厂-金牌厂长 +每天运行一次即可 + + +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京喜故事 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, tag=京喜故事, enabled=true + +================Loon============== +[Script] +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js,tag=京喜故事 + +===============Surge================= +京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js + +============小火箭========= +京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=200, 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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +!(async () => { + await requireConfig(); + 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 = ''; + $.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/`, {"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 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 + } + $.nickName = data['base'].nickname; + } 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手动复制粘贴修改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();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_mohe.js b/backUp/jd_mohe.js new file mode 100644 index 00000000..c1711fd3 --- /dev/null +++ b/backUp/jd_mohe.js @@ -0,0 +1,422 @@ +/* +热8超级盲盒,可抽奖获得京豆,建议在凌晨0点时运行脚本,白天抽奖基本没有京东 +活动地址: https://blindbox.jd.com +活动时间到18号 +支持京东双账号 +更新时间:2020-08-17 +脚本兼容: QuantumultX, Surge,Loon, JSBox, Node.js +// quantumultx +[task_local] +#热8超级盲盒 +1 0,1-23/3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js, tag=热8超级盲盒, enabled=true +// Loon +[Script] +cron "1 0,1-23/3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js,tag=热8超级盲盒 +// Surge +热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js + */ +const $ = new Env('热8超级盲盒'); +//Node.js用户请在jdCookie.js处填写京东ck; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; + +//直接用NobyDa的jd cookie +let cookie = jdCookieNode.CookieJD ? jdCookieNode.CookieJD : $.getdata('CookieJD'); +const cookie2 = jdCookieNode.CookieJD2 ? jdCookieNode.CookieJD2 : $.getdata('CookieJD2'); +let UserName = ''; +const JD_API_HOST = 'https://blindbox.jd.com'; +let shareId = ''; +!(async () => { + if (!cookie) { + $.msg('【京东账号一】热8超级盲盒', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + } else { + UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); + // await shareUrl(); + // await addShare(); + await getCoin();//领取每三小时自动生产的热力值 + await Promise.all([ + task0(), + task1(), + ]) + await taskList(); + await getAward();//抽奖 + if ($.time('yyyy-MM-dd') === '2020-08-19') { + $.msg($.name, '活动已结束', `请禁用或删除脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts\n`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + } else { + $.msg($.name, '', `【京东账号一】${UserName}\n任务已做完.\n 抽奖详情查看 https://blindbox.jd.com\n`, {"open-url": "https://blindbox.jd.com"}); + } + } + await $.wait(1000); + if (cookie2) { + cookie = cookie2; + UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); + console.log(`\n开始【京东账号二】${UserName}\n`) + await getCoin();//领取每三小时自动生产的热力值 + await Promise.all([ + task0(), + task1(), + ]) + await taskList(); + await getAward();//抽奖 + $.msg($.name, '', `【京东账号二】${UserName}\n任务已做完.\n 抽奖详情查看 https://blindbox.jd.com\n`, {"open-url": "https://blindbox.jd.com"}); + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + + +async function task0() { + const confRes = await conf(); + if (confRes.code === 200) { + const { brandList, skuList } = confRes.data; + if (skuList && skuList.length > 0) { + for (let item of skuList) { + if (item.state === 0) { + let homeGoBrowseRes = await homeGoBrowse(0, item.id); + console.log('商品', homeGoBrowseRes); + await $.wait(1000); + const taskHomeCoin0Res = await taskHomeCoin(0, item.id); + console.log('商品领取金币', taskHomeCoin0Res); + // if (homeGoBrowseRes.code === 200) { + // await $.wait(1000); + // await taskHomeCoin(0, item.id); + // } + } else { + console.log('精选好物任务已完成') + } + } + } + } +} +async function task1() { + const confRes = await conf(); + if (confRes.code === 200) { + const { brandList, skuList } = confRes.data; + if (brandList && brandList.length > 0) { + for (let item of brandList) { + if (item.state === 0) { + let homeGoBrowseRes = await homeGoBrowse(1, item.id); + // console.log('店铺', homeGoBrowseRes); + await $.wait(1000); + const taskHomeCoin1Res = await taskHomeCoin(1, item.id); + console.log('店铺领取金币', taskHomeCoin1Res); + // if (homeGoBrowseRes.code === 200) { + // await $.wait(1000); + // await taskHomeCoin(1, item.id); + // } + } else { + console.log('精选店铺-任务已完成') + } + } + } + } +} +function addShare(id) { + console.log(`shareId${shareId}`); + return new Promise((resolve) => { + const url = `addShare?shareId=${shareId}&t=${Date.now()}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('ddd----ddd', data) + data = JSON.parse(data); + // console.log('ddd----ddd', data) + + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +function conf() { + return new Promise((resolve) => { + const url = `conf`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('ddd----ddd', data) + data = JSON.parse(data); + // console.log('ddd----ddd', data) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +function homeGoBrowse(type, id) { + return new Promise((resolve) => { + const url = `homeGoBrowse?type=${type}&id=${id}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +function taskHomeCoin(type, id) { + return new Promise((resolve) => { + const url = `taskHomeCoin?type=${type}&id=${id}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +function getCoin() { + return new Promise((resolve) => { + const url = `getCoin?t=${Date.now()}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + if (data.code === 1001) { + console.log(data.msg); + $.msg($.name, '领取失败', `${data.msg}`); + $.done(); + } else { + console.log(`成功领取${data.data}热力值`) + resolve(data); + } + } catch (e) { + $.logErr(e, resp); + } + }) + }) +} +function taskList() { + return new Promise((resolve) => { + const url = `taskList?t=${Date.now()}`; + $.get(taskurl(url), async (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + console.log(`请继续等待,正在做任务,不要退出哦`) + // console.log(`成功领取${data.data}热力值`) + if (data.code === 200) { + const { task4, task6, task2, task1 } = data.data; + if (task4.finishNum < task4.totalNum) { + await browseProduct(task4.skuId); + await taskCoin(task4.type); + } + //浏览会场 + if (task1.finishNum < task1.totalNum) { + await strollActive((task1.finishNum + 1)); + await taskCoin(task1.type); + } + if (task2.finishNum < task2.totalNum) { + await strollShop(task2.shopId); + await taskCoin(task2.type); + } + if (task6.finishNum < task6.totalNum) { + await strollMember(task6.venderId); + await taskCoin(task6.type); + } + if (task4.state === 2 && task1.state === 2 && task2.state === 2 && task6.state === 2) { + console.log('taskList的任务全部做完了---') + } else { + await taskList(); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +//浏览商品(16个) +function browseProduct(skuId) { + return new Promise((resolve) => { + const url = `browseProduct?0=${skuId}&t=${Date.now()}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + // console.log(`成功领取${data.data}热力值`) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +// 浏览会场(10个) +function strollActive(index) { + return new Promise((resolve) => { + const url = `strollActive?0=${index}&t=${Date.now()}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + // console.log(`成功领取${data.data}热力值`) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +//关注或浏览店铺(9个) +function strollShop(shopId) { + return new Promise((resolve) => { + const url = `strollShop?shopId=${shopId}&t=${Date.now()}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + // console.log(`成功领取${data.data}热力值`) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +// 加入会员(7) +function strollMember(venderId) { + return new Promise((resolve) => { + const url = `strollMember?venderId=${venderId}&t=${Date.now()}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + // console.log(`成功领取${data.data}热力值`) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} + +function taskCoin(type) { + return new Promise((resolve) => { + const url = `taskCoin?type=${type}&t=${Date.now()}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + // console.log(`成功领取${data.data}热力值`) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +async function getAward() { + const coinRes = await coin(); + if (coinRes.code === 200) { + const { total, need } = coinRes.data; + if (total > need) { + const times = Math.floor(total / need); + for (let i = 0; i < times; i++) { + await $.wait(2000); + let lotteryRes = await lottery(); + if (lotteryRes.code === 200) { + console.log(`====抽奖结果====,${JSON.stringify(lotteryRes.data)}`); + console.log(lotteryRes.data.name); + console.log(lotteryRes.data.beanNum); + } else if (lotteryRes.code === 4001) { + console.log(`抽奖失败,${lotteryRes.msg}`); + break; + } + } + } else { + console.log(`目前热力值${total},不够抽奖`) + } + } +} +//获取有多少热力值 +function coin() { + return new Promise((resolve) => { + const url = `coin?t=${Date.now()}`; + $.get(taskurl(url), (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + // console.log(`成功领取${data.data}热力值`) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +//抽奖API +function lottery() { + return new Promise((resolve) => { + const options = { + 'url': `${JD_API_HOST}/prize/lottery?t=${Date.now()}`, + 'headers': { + "accept": "*/*", + "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", + "content-type": "application/x-www-form-urlencoded", + "cookie": cookie, + "referer": "https://blindbox.jd.com/", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.get(options, (err, resp, data) => { + try { + // console.log('homeGoBrowse', data) + data = JSON.parse(data); + // console.log('homeGoBrowse', data) + // console.log(`成功领取${data.data}热力值`) + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} +function taskurl(url) { + return { + 'url': `${JD_API_HOST}/active/${url}`, + 'headers': { + "accept": "*/*", + "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", + "content-type": "application/x-www-form-urlencoded", + "cookie": cookie, + "referer": "https://blindbox.jd.com/", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +// 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/jd_xtg.js b/backUp/jd_xtg.js new file mode 100644 index 00000000..a68fe6ba --- /dev/null +++ b/backUp/jd_xtg.js @@ -0,0 +1,420 @@ +/* + * @Author: lxk0301 + * @Date: 2020-10-21 17:04:04 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-11-05 00:35:04 + */ +/** + 星推官脚本 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js + 星推官活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html + 活动时间:2020年10月21日 00:00:00-2020年11月11日 23:59:59 + 京豆先到先得!!!!!!!!!!! + 出现任务做完没领取的情况,就再运行一次脚本 + 能做完所有的任务,包括自动抽奖,脚本会给内置的shareId助力 + 一共23个活动,耗时比较久,surge请加大timeout时间 + 支持京东双账号 + 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js + // quantumultx + [task_local] + #京东星推官 + 2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, tag=京东星推官, enabled=true + // Loon + [Script] + cron "2 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js,tag=京东星推官 + // Surge + 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js + */ +const $ = new Env('京东星推官'); +const activeEndTime = '2020/11/11 23:59:59+08:00';//活动结束时间 +const notify = $.isNode() ? require('../sendNotify') : ''; +//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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +const starID = [ + 'bolangwutiaoren', + 'oulebyangzi', + 'meiditongliya', + 'chuangweimaobuyi', + 'quechaozhuyilong', + 'haierchenxiao', + 'feilipulixian', + 'feilipurenjialun', + 'feilipuwangziyi', + 'changhongsongyi', + 'jiuyangdenglun', + 'aokesilingengxin', + 'haixinchengguo', + 'fangtai', + 'lgyangzishan', + 'laobansongweilong', + 'haiermaoxiaotong', + "skgwangyibo", + "kongtiaozhangjike", + "sanxingningjing", + "xiaojiadianxiongziqi", + "heidianliyitong", + "oulebzhangyixing", +]; +const shareID = [ + 'e646c144-28a7-4b1b-8145-5b0dbff107ec', + 'b3fcb734-cbdd-4436-9f92-b13b445fc253', + 'e2d63b19-19d6-4a20-b2af-74b828e703d0', + 'a7a3b9b7-2872-4244-a627-3b82c271dee7', + 'f7b521e7-5306-4908-ba8a-df2d221bdd9d', + 'd17ec374-70d4-49d5-8673-7093e61f904c', + '915b9567-dc88-4389-8be9-ecc25588353a', + '7abdc8f4-d8f4-497f-8daa-cdab01cf645c', + '50ecc8de-1ee5-4420-bbb8-1136d86d80db', + 'fd0770e1-5007-45c1-8d69-402e02ff9a52', + 'cb9e9a59-a86b-4a0d-a308-4503fe5baaa4', + '93b3afeb-a18c-437c-b5ca-fbd9f389671d', + '8778793c-e9ad-4339-a709-723ae3ebde8e', + '921c376e-8cc5-4236-8242-ff8bb1b88a95', + '8b3ce203-4b10-4c36-a87d-da8c82efe362', + 'c8e1feb3-6ab1-4410-8444-1de8bd22e041', + "dd6b5270-3e5e-436d-be0f-295a8604cf47", + "7aef5700-4fa0-43b8-98fa-3a09f46ea47c", + "be0ec81c-bf26-4b7b-9527-d02b0286e5af", + "ecd890e0-db46-46c7-862e-cb9776c207dc", + "91ceb3eb-df84-471e-ad77-320cd95763ee", +]; +const JD_API_HOST = 'https://urvsaggpt.m.jd.com/guardianstar'; +!(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; + $.beanCount = 0; + $.jdNum = 0; + $.isLogin = true; + $.nickName = ''; + const beforeTotal = 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 + } + console.log(`一共${starID.length}个${$.name}任务,耗时会很久,请提前知晓`) + $.beanCount = beforeTotal && beforeTotal['base'].jdNum; + for (let index = 0; index < starID.length; index ++) { + $.activeId = starID[index]; + $.j = index; + await JD_XTG(); + } + console.log(`\n等待8秒后,再去领取奖励\n`) + console.log(`做任务之前京豆总计:${$.beanCount}`) + await $.wait(8000); + for (let index = 0; index < starID.length; index ++) { + $.activeId = starID[index]; + $.j = index; + await JD_XTG(); + await doSupport(shareID[index]); + } + const afterTotal = await TotalBean(); + $.jdNum = afterTotal['base'].jdNum; + await showMsg(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) +async function showMsg() { + console.log(`\n做任务之前京豆总计:${$.beanCount}`) + console.log(`做完任务后京豆总计:${$.jdNum}`); + console.log(`活动活动京豆数量:${$.jdNum - $.beanCount}`); + let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; + if (nowTime > new Date(activeEndTime).getTime()) { + $.msg($.name, '活动已结束', `请删除或禁用此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`) + } else { + $.msg($.name, `账号${$.index} ${$.nickName || $.UserName}`, `做任务之前京豆总计:${$.beanCount}\n做完任务后京豆总计:${$.jdNum}\n${($.jdNum - $.beanCount) > 0 ? `获得京豆:${$.jdNum - $.beanCount}京豆 🐶(仅供参考)\n` : ''}京豆先到先得\n活动地址点击弹窗跳转后即可查看\n注:如未获得京豆就是已被分完`, {"open-url": "https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html"}) + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}`, `账号${$.index} ${$.nickName || $.UserName}\n做任务之前京豆总计:${$.beanCount}\n做完任务后京豆总计:${$.jdNum}\n${($.jdNum - $.beanCount) > 0 ? `获得京豆:${$.jdNum - $.beanCount}京豆 🐶(仅供参考)\n` : ''}京豆先到先得\n注:如未获得京豆就是已被分完\n活动结束时间:2020年11月12日 23:59:59\n活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html`) + } +} +async function JD_XTG() { + await getHomePage(); + if ($.homeData && $.homeData.code === 200) { + const { shopList, venueList, productList, orderSkuList, shareId } = $.homeData.data[0]; + console.log(`\n===========活动${$.j + 1}-[${starID[$.j]}] 助力码==========\n${shareId}\n`); + for (let item of shopList) { + console.log(`\n任务一:关注${item['shopName']}`) + if (item['shopStatus'] === 4) { + console.log(`入会任务,假入会`); + await doTask('shop', item['shopId'], 0) + continue + } + if (item['shopStatus'] === 3) { + console.log(`此任务已做完,跳过`); + continue + } + console.log(`shopStatus:::${item['shopStatus']}`) + if (item['shopStatus'] !== 3 && item['shopStatus'] !== 4) { + await doTask('shop', item['shopId'], item['shopStatus']) + } + // if (item['shopStatus'] === 2) { + // await doTask('shop', item['shopId'], 2) + // } + // if (item['shopStatus'] === 4) { + // await doTask('shop', item['shopId'], 4) + // } + } + for (let item1 of venueList) { + console.log(`\n任务二:逛逛[${item1['venueName']}]-${item1['venueStatus'] !== 3 ? '' : '已做完'}`) + if (item1['venueStatus'] === 1) { + await doTask('venue', item1['venueId'], 1); + } + if (item1['venueStatus'] === 2) { + await doTask('venue', item1['venueId'], 2); + } + } + for (let item2 of productList) { + console.log(`\n任务三:逛逛[${item2['productName']}]-${item2['productStatus'] !== 3 ? '' : '已做完'}`) + if (item2['productStatus'] === 1) { + await doTask('product', item2['productId'], 1); + } + if (item2['productStatus'] === 2) { + await doTask('product', item2['productId'], 2); + } + } + //付定金 TODO + // for (let item3 of orderSkuList) { + // await doTask('order', item3['skuId'], 1); + // await doTask('order', item3['skuId'], 2); + // await doTask('order', item3['skuId'], 3); + // await doTask('order', item3['skuId'], 0); + // + // await doTask('order', item3['skuId'], 2); + // await doTask('order', item3['skuId'], 1); + // } + console.log(`\n开始抽奖\n`) + await getDayPrizeStatus(4, `${$.activeId}#1`, 3); + await getDayPrizeStatus(1, `${$.activeId}#2`, 3); + } else { + console.log(`京东服务器返回无数据!`) + } +} +function getHomePage() { + 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 (data) { + $.homeData = JSON.parse(data); + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function doTask(type, id, status) { + return new Promise(async resolve => { + $.post(taskPostUrl(type, id, status), (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(); + } + }) + }) +} + +function doSupport(shareId) { + return new Promise(async resolve => { + const options = { + "url": `${JD_API_HOST}/doSupport`, + "body": `starId=${$.activeId}&shareId=${shareId}`, + "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, + "Host": "urvsaggpt.m.jd.com", + "Referer": "https://urvsaggpt.m.jd.com/static/index.html", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.post(options, (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + // console.log(`\n助力结果:${data}`); + // data = 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function getDayPrizeStatus(prizeType, prizeId, status) { + return new Promise(async resolve => { + const options = { + "url": `${JD_API_HOST}/getDayPrizeStatus`, + "body": `starId=${$.activeId}&status=${status}&prizeType=${prizeType}&prizeId=${prizeId}`, + "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, + "Host": "urvsaggpt.m.jd.com", + "Referer": "https://urvsaggpt.m.jd.com/static/index.html", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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(); + } + }) + }) +} +function taskPostUrl(type, id, status) { + return { + url: `${JD_API_HOST}/doTask`, + body: `starId=${$.activeId}&type=${type}&id=${id}&status=${status}`, + 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, + "Host": "urvsaggpt.m.jd.com", + "Referer": "https://urvsaggpt.m.jd.com/static/index.html", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +function jsonParse(str) { + if (typeof str == "string") { + try { + return JSON.parse(str); + } catch (e) { + console.log(e); + $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + return []; + } + } +} +function taskUrl(function_id) { + return { + url: `${JD_API_HOST}/${function_id}?t=${Date.now()}&starId=${$.activeId}`, + headers: { + "Accept": "application/json,text/plain, */*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Cookie": cookie, + "Host": "urvsaggpt.m.jd.com", + "Referer": "https://urvsaggpt.m.jd.com/static/index.html", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +// 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)} From 20f3d4296a46a31042776d1eecda774cc7ce3733 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 14 Dec 2020 09:04:06 +0800 Subject: [PATCH 0391/1259] =?UTF-8?q?=E5=88=A0=E9=99=A4Docker=E7=9A=84PUBG?= =?UTF-8?q?=E6=B8=B8=E6=88=8F=E7=9B=9B=E5=85=B8=E6=B4=BB=E5=8A=A8=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 -- docker/crontab_list_ts.sh | 2 -- 2 files changed, 4 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 3e147612..2de5a48e 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -8,8 +8,6 @@ 40 8 * * * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) 10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 -# PUBG游戏盛典(2020.12.13活动过期) -8 1,20 * * * node /scripts/jd_pubg.js >> /scripts/logs/jd_pubg.log 2>&1 # 苹果超品日互动抽奖机(2020.12.14活动过期) 8 0,20 * * * node /scripts/jd_apple_live.js >> /scripts/logs/jd_apple_live.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 82b8d358..20371191 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -8,8 +8,6 @@ 40 8 * * * node /scripts/jd_ms_redrain.js | ts >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) 10 0 * * * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 -# PUBG游戏盛典(2020.12.13活动过期) -8 1,20 * * * node /scripts/jd_pubg.js | ts >> /scripts/logs/jd_pubg.log 2>&1 # 苹果超品日互动抽奖机(2020.12.14活动过期) 8 0,20 * * * node /scripts/jd_apple_live.js | ts >> /scripts/logs/jd_apple_live.log 2>&1 From e5c821acdd4b96896bfcb4e2b1b23ed0f65a5800 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 09:26:49 +0800 Subject: [PATCH 0392/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=B7=B2=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E7=9A=84=E7=9F=AD=E6=9C=9F=E6=B4=BB=E5=8A=A8=E8=87=B3?= =?UTF-8?q?activity=E6=96=87=E4=BB=B6=E5=A4=B9=E3=80=82=E5=88=A0=E9=99=A4t?= =?UTF-8?q?ask=E8=AE=A2=E9=98=85=E4=BB=A5=E5=8F=8Adocker=E9=87=8C=E9=9D=A2?= =?UTF-8?q?=E5=B7=B2=E8=BF=87=E6=9C=9F=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 13 - QuantumultX/lxk0301_gallery.json | 70 +- activity/jd_818.js | 4 +- activity/jd_collectProduceScore.js | 2 +- activity/jd_digital_floor.js | 4 +- activity/jd_jxstory.js | 4 +- activity/jd_live_redrain.js | 4 +- {backUp => activity}/jd_live_redrain2.js | 0 activity/jd_mohe.js | 2 +- activity/jd_pubg.js | 4 +- activity/jd_split.js | 4 +- activity/jd_xtg.js | 4 +- backUp/jd_818.js | 935 ----------------------- backUp/jd_digital_floor.js | 427 ----------- backUp/jd_jxstory.js | 670 ---------------- backUp/jd_live_redrain.js | 244 ------ backUp/jd_mohe.js | 422 ---------- docker/crontab_list.sh | 2 - docker/crontab_list_ts.sh | 2 - jd_joy_steal.js | 8 +- 20 files changed, 55 insertions(+), 2770 deletions(-) rename {backUp => activity}/jd_live_redrain2.js (100%) delete mode 100644 backUp/jd_818.js delete mode 100644 backUp/jd_digital_floor.js delete mode 100644 backUp/jd_jxstory.js delete mode 100644 backUp/jd_live_redrain.js delete mode 100644 backUp/jd_mohe.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 531150a6..b1374a1e 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -48,12 +48,6 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip #摇京豆 cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 -# 京东手机狂欢城 -cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js, tag=京东手机狂欢城 - -# 京东星推官 -cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, tag=京东星推官 - #京东全民开红包 cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 @@ -75,10 +69,6 @@ cron "26 * * * *" script-path= https://raw.githubusercontent.com/lxk0301/jd_scri #东东工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 - -#京东全民营业领金币 -cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, tag=京东全民营业领金币 - #宠汪汪邀请助力与赛跑助力 cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 @@ -118,9 +108,6 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 京东秒杀红包雨 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 -# PUBG -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, tag=PUBG - # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index e5c8feca..16a04b15 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -1,39 +1,35 @@ { - "name":"lxk0301 task gallery", - "description":"https://github.com/lxk0301/jd_scripts", - "task":[ - "5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js , tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", - "20 7-19/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js , tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", - "10 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js , tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", - "15 */2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js , tag=宠汪汪 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "12 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js , tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "0 0,6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js , tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 0,8,12,16 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "8 */3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", - "15 */5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", - "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", - "11 1-23/5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", - "15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "20 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", - "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "10 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, tag=PUBG, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" - ] + "name": "lxk0301 task gallery", + "description": "https://github.com/lxk0301/jd_scripts", + "task": [ + "5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", + "20 7-19/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", + "10 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", + "15 */2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "12 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "0 0,6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 0,8,12,16 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "8 */3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", + "15 */5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", + "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", + "11 1-23/5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", + "15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "20 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", + "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", + "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", + "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", + "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" + ] } diff --git a/activity/jd_818.js b/activity/jd_818.js index 3f7ff7ed..c3495304 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -31,10 +31,10 @@ cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_s */ const $ = new Env('京东手机狂欢城'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; let jdNotify = false;//是否开启推送互助码 //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = ''; diff --git a/activity/jd_collectProduceScore.js b/activity/jd_collectProduceScore.js index b0304ca1..59577df5 100644 --- a/activity/jd_collectProduceScore.js +++ b/activity/jd_collectProduceScore.js @@ -7,7 +7,7 @@ */ const $ = new Env('京东全民营业领金币'); //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = ''; diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index 6ca2a716..648c1e99 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -24,9 +24,9 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip */ const $ = new Env('数码加购京豆'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +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']; diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js index 2e923e1f..2f99b330 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -27,12 +27,12 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip const $ = new Env('京喜故事'); const JD_API_HOST = 'https://m.jingxi.com'; -const notify = $.isNode() ? require('./sendNotify') : ''; +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') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { cookiesArr.push(jdCookieNode[item]) diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js index d7c901d8..be450278 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -22,9 +22,9 @@ cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercon */ const $ = new Env('直播红包雨'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie diff --git a/backUp/jd_live_redrain2.js b/activity/jd_live_redrain2.js similarity index 100% rename from backUp/jd_live_redrain2.js rename to activity/jd_live_redrain2.js diff --git a/activity/jd_mohe.js b/activity/jd_mohe.js index 9849add8..454b18da 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -17,7 +17,7 @@ cron "1 0,1-23/3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd */ const $ = new Env('热8超级盲盒'); //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; //直接用NobyDa的jd cookie let cookie = jdCookieNode.CookieJD ? jdCookieNode.CookieJD : $.getdata('CookieJD'); diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index 241ca26a..e787e25c 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -118,9 +118,9 @@ const $ = new Env('PUBG'); $.md5 = A }(this); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie diff --git a/activity/jd_split.js b/activity/jd_split.js index aea6da5c..efaaf756 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -22,9 +22,9 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip */ const $ = new Env('金榜年终奖'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie diff --git a/activity/jd_xtg.js b/activity/jd_xtg.js index 7646aae7..a68fe6ba 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -26,9 +26,9 @@ */ const $ = new Env('京东星推官'); const activeEndTime = '2020/11/11 23:59:59+08:00';//活动结束时间 -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = ''; diff --git a/backUp/jd_818.js b/backUp/jd_818.js deleted file mode 100644 index c3495304..00000000 --- a/backUp/jd_818.js +++ /dev/null @@ -1,935 +0,0 @@ -/* - * @Author: lxk0301 https://github.com/lxk0301 - * @Date: 2020-11-03 09:25:47 - * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-23 12:27:07 - */ -/* -京东手机狂欢城活动,每日可获得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] -#京东手机狂欢城 -1 0-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js, tag=京东手机狂欢城, enabled=true -// Loon -[Script] -cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js,tag=京东手机狂欢城 -// Surge -京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} - -const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; -const activeEndTime = '2020/11/11 23:59:59+08:00'; -const addUrl = 'http://jd.turinglabs.net/helpcode/create/'; -const printUrl = `http://jd.turinglabs.net/helpcode/print/20/`; -let helpCode = [] -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - 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 = ''; - 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 JD818(); - // await getHelp(); - // await doHelp(); - // await main(); - } - } - // console.log($.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() { - 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() -} -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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - '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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - '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': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - '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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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(); - 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();//访问收集的互助码 - if (body) { - console.log(`printAPI返回助力码数量:${body.replace(/"/g, '').split(',').length}`) - tempCode = tempCode.concat(body.replace(/"/g, '').split(',')) - } - 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}`}, (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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "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/lxk0301/updateTeam/master/jd_shareCodes.json') { - return new Promise(resolve => { - //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json - $.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://raw.fastgit.org/lxk0301/updateTeam/master/jd_shareCodes.json') { - return new Promise(resolve => { - //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json - $.get({url}, 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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/lxk0301/jd_scripts`) - } 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手动复制粘贴修改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_digital_floor.js b/backUp/jd_digital_floor.js deleted file mode 100644 index 648c1e99..00000000 --- a/backUp/jd_digital_floor.js +++ /dev/null @@ -1,427 +0,0 @@ -/* -数码加购京豆 -脚本会给内置的码进行助力 -共计25京豆,一天运行一次即可 -活动时间:2020-12-4 到 2020-12-11 -活动入口:https://prodev.m.jd.com/mall/active/nKxVyPnuLwAsQSTfidZ9z4RKVZy/index.html#/ -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#数码加购京豆 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆 - -===============Surge================= -数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js - -============小火箭========= -数码加购京豆 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, cronexpr="10 7 * * *", timeout=200, 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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} -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/', {"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 = ''; - 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 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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("",`\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_jxstory.js b/backUp/jd_jxstory.js deleted file mode 100644 index 842e0299..00000000 --- a/backUp/jd_jxstory.js +++ /dev/null @@ -1,670 +0,0 @@ -/* -京喜故事 -活动入口 :京喜APP->首页浮动窗口去领钱/京喜工厂-金牌厂长 -每天运行一次即可 - - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜故事 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, tag=京喜故事, enabled=true - -================Loon============== -[Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js,tag=京喜故事 - -===============Surge================= -京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js - -============小火箭========= -京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=200, 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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} -!(async () => { - await requireConfig(); - 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 = ''; - $.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/`, {"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 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 - } - $.nickName = data['base'].nickname; - } 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手动复制粘贴修改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();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 be450278..00000000 --- a/backUp/jd_live_redrain.js +++ /dev/null @@ -1,244 +0,0 @@ -/* -直播红包雨 -每天0,9,11,13,15,17,19,20,21,23可领,每日上限未知 -活动时间:2020-12-7 到 2020-12-12 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 - -===============Surge================= -直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js - -============小火箭========= -直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, 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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} -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; - } - 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/`, {"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 - } - 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 => { - $.get({ - url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_live_redRain.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" - }}, (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 - $.startTime = data.startTime - $.endTime = 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].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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - } - } -} - -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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("",`\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_mohe.js b/backUp/jd_mohe.js deleted file mode 100644 index c1711fd3..00000000 --- a/backUp/jd_mohe.js +++ /dev/null @@ -1,422 +0,0 @@ -/* -热8超级盲盒,可抽奖获得京豆,建议在凌晨0点时运行脚本,白天抽奖基本没有京东 -活动地址: https://blindbox.jd.com -活动时间到18号 -支持京东双账号 -更新时间:2020-08-17 -脚本兼容: QuantumultX, Surge,Loon, JSBox, Node.js -// quantumultx -[task_local] -#热8超级盲盒 -1 0,1-23/3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js, tag=热8超级盲盒, enabled=true -// Loon -[Script] -cron "1 0,1-23/3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js,tag=热8超级盲盒 -// Surge -热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js - */ -const $ = new Env('热8超级盲盒'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; - -//直接用NobyDa的jd cookie -let cookie = jdCookieNode.CookieJD ? jdCookieNode.CookieJD : $.getdata('CookieJD'); -const cookie2 = jdCookieNode.CookieJD2 ? jdCookieNode.CookieJD2 : $.getdata('CookieJD2'); -let UserName = ''; -const JD_API_HOST = 'https://blindbox.jd.com'; -let shareId = ''; -!(async () => { - if (!cookie) { - $.msg('【京东账号一】热8超级盲盒', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - } else { - UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - // await shareUrl(); - // await addShare(); - await getCoin();//领取每三小时自动生产的热力值 - await Promise.all([ - task0(), - task1(), - ]) - await taskList(); - await getAward();//抽奖 - if ($.time('yyyy-MM-dd') === '2020-08-19') { - $.msg($.name, '活动已结束', `请禁用或删除脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts\n`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - } else { - $.msg($.name, '', `【京东账号一】${UserName}\n任务已做完.\n 抽奖详情查看 https://blindbox.jd.com\n`, {"open-url": "https://blindbox.jd.com"}); - } - } - await $.wait(1000); - if (cookie2) { - cookie = cookie2; - UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - console.log(`\n开始【京东账号二】${UserName}\n`) - await getCoin();//领取每三小时自动生产的热力值 - await Promise.all([ - task0(), - task1(), - ]) - await taskList(); - await getAward();//抽奖 - $.msg($.name, '', `【京东账号二】${UserName}\n任务已做完.\n 抽奖详情查看 https://blindbox.jd.com\n`, {"open-url": "https://blindbox.jd.com"}); - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function task0() { - const confRes = await conf(); - if (confRes.code === 200) { - const { brandList, skuList } = confRes.data; - if (skuList && skuList.length > 0) { - for (let item of skuList) { - if (item.state === 0) { - let homeGoBrowseRes = await homeGoBrowse(0, item.id); - console.log('商品', homeGoBrowseRes); - await $.wait(1000); - const taskHomeCoin0Res = await taskHomeCoin(0, item.id); - console.log('商品领取金币', taskHomeCoin0Res); - // if (homeGoBrowseRes.code === 200) { - // await $.wait(1000); - // await taskHomeCoin(0, item.id); - // } - } else { - console.log('精选好物任务已完成') - } - } - } - } -} -async function task1() { - const confRes = await conf(); - if (confRes.code === 200) { - const { brandList, skuList } = confRes.data; - if (brandList && brandList.length > 0) { - for (let item of brandList) { - if (item.state === 0) { - let homeGoBrowseRes = await homeGoBrowse(1, item.id); - // console.log('店铺', homeGoBrowseRes); - await $.wait(1000); - const taskHomeCoin1Res = await taskHomeCoin(1, item.id); - console.log('店铺领取金币', taskHomeCoin1Res); - // if (homeGoBrowseRes.code === 200) { - // await $.wait(1000); - // await taskHomeCoin(1, item.id); - // } - } else { - console.log('精选店铺-任务已完成') - } - } - } - } -} -function addShare(id) { - console.log(`shareId${shareId}`); - return new Promise((resolve) => { - const url = `addShare?shareId=${shareId}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('ddd----ddd', data) - data = JSON.parse(data); - // console.log('ddd----ddd', data) - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function conf() { - return new Promise((resolve) => { - const url = `conf`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('ddd----ddd', data) - data = JSON.parse(data); - // console.log('ddd----ddd', data) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function homeGoBrowse(type, id) { - return new Promise((resolve) => { - const url = `homeGoBrowse?type=${type}&id=${id}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function taskHomeCoin(type, id) { - return new Promise((resolve) => { - const url = `taskHomeCoin?type=${type}&id=${id}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function getCoin() { - return new Promise((resolve) => { - const url = `getCoin?t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - if (data.code === 1001) { - console.log(data.msg); - $.msg($.name, '领取失败', `${data.msg}`); - $.done(); - } else { - console.log(`成功领取${data.data}热力值`) - resolve(data); - } - } catch (e) { - $.logErr(e, resp); - } - }) - }) -} -function taskList() { - return new Promise((resolve) => { - const url = `taskList?t=${Date.now()}`; - $.get(taskurl(url), async (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - console.log(`请继续等待,正在做任务,不要退出哦`) - // console.log(`成功领取${data.data}热力值`) - if (data.code === 200) { - const { task4, task6, task2, task1 } = data.data; - if (task4.finishNum < task4.totalNum) { - await browseProduct(task4.skuId); - await taskCoin(task4.type); - } - //浏览会场 - if (task1.finishNum < task1.totalNum) { - await strollActive((task1.finishNum + 1)); - await taskCoin(task1.type); - } - if (task2.finishNum < task2.totalNum) { - await strollShop(task2.shopId); - await taskCoin(task2.type); - } - if (task6.finishNum < task6.totalNum) { - await strollMember(task6.venderId); - await taskCoin(task6.type); - } - if (task4.state === 2 && task1.state === 2 && task2.state === 2 && task6.state === 2) { - console.log('taskList的任务全部做完了---') - } else { - await taskList(); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//浏览商品(16个) -function browseProduct(skuId) { - return new Promise((resolve) => { - const url = `browseProduct?0=${skuId}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -// 浏览会场(10个) -function strollActive(index) { - return new Promise((resolve) => { - const url = `strollActive?0=${index}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//关注或浏览店铺(9个) -function strollShop(shopId) { - return new Promise((resolve) => { - const url = `strollShop?shopId=${shopId}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -// 加入会员(7) -function strollMember(venderId) { - return new Promise((resolve) => { - const url = `strollMember?venderId=${venderId}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function taskCoin(type) { - return new Promise((resolve) => { - const url = `taskCoin?type=${type}&t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -async function getAward() { - const coinRes = await coin(); - if (coinRes.code === 200) { - const { total, need } = coinRes.data; - if (total > need) { - const times = Math.floor(total / need); - for (let i = 0; i < times; i++) { - await $.wait(2000); - let lotteryRes = await lottery(); - if (lotteryRes.code === 200) { - console.log(`====抽奖结果====,${JSON.stringify(lotteryRes.data)}`); - console.log(lotteryRes.data.name); - console.log(lotteryRes.data.beanNum); - } else if (lotteryRes.code === 4001) { - console.log(`抽奖失败,${lotteryRes.msg}`); - break; - } - } - } else { - console.log(`目前热力值${total},不够抽奖`) - } - } -} -//获取有多少热力值 -function coin() { - return new Promise((resolve) => { - const url = `coin?t=${Date.now()}`; - $.get(taskurl(url), (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//抽奖API -function lottery() { - return new Promise((resolve) => { - const options = { - 'url': `${JD_API_HOST}/prize/lottery?t=${Date.now()}`, - 'headers': { - "accept": "*/*", - "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", - "content-type": "application/x-www-form-urlencoded", - "cookie": cookie, - "referer": "https://blindbox.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.get(options, (err, resp, data) => { - try { - // console.log('homeGoBrowse', data) - data = JSON.parse(data); - // console.log('homeGoBrowse', data) - // console.log(`成功领取${data.data}热力值`) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function taskurl(url) { - return { - 'url': `${JD_API_HOST}/active/${url}`, - 'headers': { - "accept": "*/*", - "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", - "content-type": "application/x-www-form-urlencoded", - "cookie": cookie, - "referer": "https://blindbox.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} -// 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/docker/crontab_list.sh b/docker/crontab_list.sh index 3e147612..2de5a48e 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -8,8 +8,6 @@ 40 8 * * * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) 10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 -# PUBG游戏盛典(2020.12.13活动过期) -8 1,20 * * * node /scripts/jd_pubg.js >> /scripts/logs/jd_pubg.log 2>&1 # 苹果超品日互动抽奖机(2020.12.14活动过期) 8 0,20 * * * node /scripts/jd_apple_live.js >> /scripts/logs/jd_apple_live.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 82b8d358..20371191 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -8,8 +8,6 @@ 40 8 * * * node /scripts/jd_ms_redrain.js | ts >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) 10 0 * * * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 -# PUBG游戏盛典(2020.12.13活动过期) -8 1,20 * * * node /scripts/jd_pubg.js | ts >> /scripts/logs/jd_pubg.log 2>&1 # 苹果超品日互动抽奖机(2020.12.14活动过期) 8 0,20 * * * node /scripts/jd_apple_live.js | ts >> /scripts/logs/jd_apple_live.log 2>&1 diff --git a/jd_joy_steal.js b/jd_joy_steal.js index c17d16d9..9dc3d77b 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -29,8 +29,12 @@ if ($.isNode()) { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); } let message = '', subTitle = ''; From e64fcd499c09eda2711d9a720bd83d0c3dcbcb09 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 10:43:45 +0800 Subject: [PATCH 0393/1259] =?UTF-8?q?jd=5Fjoy.js=E5=AE=A0=E6=B1=AA?= =?UTF-8?q?=E6=B1=AA=E5=8F=82=E5=8A=A0=E8=B5=9B=E8=B7=91=E7=BA=A7=E5=88=AB?= =?UTF-8?q?=E5=8F=AF=E8=AE=BE=E7=BD=AE=E4=B8=8D=E5=90=8C=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E5=8F=82=E5=8A=A0=E4=B8=8D=E5=90=8C=E7=9A=84=E7=BA=A7=E5=88=AB?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E8=8B=A5=E6=83=B3=E8=AE=BE=E7=BD=AE=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E8=B4=A6=E5=8F=B7=E5=8F=82=E5=8A=A0=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E7=B1=BB=E5=88=AB=E7=9A=84=E6=AF=94=E8=B5=9B=E5=88=99=E7=94=A8?= =?UTF-8?q?&=E5=8C=BA=E5=88=86=E5=8D=B3=E5=8F=AF(=E5=A6=82=EF=BC=9A`2&10&5?= =?UTF-8?q?0`)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/iepngs.boxjs.json | 33 --- backUp/jd_split.js | 315 ----------------------------- backUp/jd_xtg.js | 420 --------------------------------------- githubAction.md | 2 +- jd_joy.js | 26 +-- 5 files changed, 14 insertions(+), 782 deletions(-) delete mode 100644 backUp/iepngs.boxjs.json delete mode 100644 backUp/jd_split.js delete mode 100644 backUp/jd_xtg.js diff --git a/backUp/iepngs.boxjs.json b/backUp/iepngs.boxjs.json deleted file mode 100644 index 7f072185..00000000 --- a/backUp/iepngs.boxjs.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": "iepngs.app.sub", - "name": "iepngs脚本订阅(自用,非作者本人的订阅)", - "author": "@iepngs", - "icon": "https://avatars2.githubusercontent.com/u/10695382?s=460&u=efc97d623c7c21170e6794f367fa80a97253f87b&v=4", - "repo": "https://github.com/iepngs/Script", - "apps": [ - { - "id": "lxhealth", - "name": "乐心健康", - "keys": [ - "lxhealthCookie", - "lxhealthStep" - ], - "settings": [ - { - "id": "lxhealthStep", - "name": "运动步数", - "val": "", - "type": "text", - "desc": "修改乐心健康运动步数" - } - ], - "author": "@iepngs", - "repo": "https://github.com/iepngs/Script", - "script": "https://raw.githubusercontent.com/iepngs/Script/master/lxhealth/index.js", - "icons": [ - "https://avatars2.githubusercontent.com/u/10695382?s=460&u=efc97d623c7c21170e6794f367fa80a97253f87b&v=4", - "https://avatars2.githubusercontent.com/u/10695382?s=460&u=efc97d623c7c21170e6794f367fa80a97253f87b&v=4" - ] - } - ] -} \ No newline at end of file diff --git a/backUp/jd_split.js b/backUp/jd_split.js deleted file mode 100644 index efaaf756..00000000 --- a/backUp/jd_split.js +++ /dev/null @@ -1,315 +0,0 @@ -/* -金榜年终奖 -脚本会给内置的码进行助力 -活动时间:2020-12-12日结束 -活动入口:京东APP首页右边浮动飘窗 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#金榜年终奖 -10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖, enabled=true - -================Loon============== -[Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js,tag=年终奖 - -===============Surge================= -金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js - -============小火箭========= -金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, cronexpr="10 0 * * *", timeout=200, 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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} -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/', {"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 = ''; - 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 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - } - } -} -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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("",`\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_xtg.js b/backUp/jd_xtg.js deleted file mode 100644 index a68fe6ba..00000000 --- a/backUp/jd_xtg.js +++ /dev/null @@ -1,420 +0,0 @@ -/* - * @Author: lxk0301 - * @Date: 2020-10-21 17:04:04 - * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-05 00:35:04 - */ -/** - 星推官脚本 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js - 星推官活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html - 活动时间:2020年10月21日 00:00:00-2020年11月11日 23:59:59 - 京豆先到先得!!!!!!!!!!! - 出现任务做完没领取的情况,就再运行一次脚本 - 能做完所有的任务,包括自动抽奖,脚本会给内置的shareId助力 - 一共23个活动,耗时比较久,surge请加大timeout时间 - 支持京东双账号 - 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js - // quantumultx - [task_local] - #京东星推官 - 2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, tag=京东星推官, enabled=true - // Loon - [Script] - cron "2 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js,tag=京东星推官 - // Surge - 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js - */ -const $ = new Env('京东星推官'); -const activeEndTime = '2020/11/11 23:59:59+08:00';//活动结束时间 -const notify = $.isNode() ? require('../sendNotify') : ''; -//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 { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = jsonParse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); -} -const starID = [ - 'bolangwutiaoren', - 'oulebyangzi', - 'meiditongliya', - 'chuangweimaobuyi', - 'quechaozhuyilong', - 'haierchenxiao', - 'feilipulixian', - 'feilipurenjialun', - 'feilipuwangziyi', - 'changhongsongyi', - 'jiuyangdenglun', - 'aokesilingengxin', - 'haixinchengguo', - 'fangtai', - 'lgyangzishan', - 'laobansongweilong', - 'haiermaoxiaotong', - "skgwangyibo", - "kongtiaozhangjike", - "sanxingningjing", - "xiaojiadianxiongziqi", - "heidianliyitong", - "oulebzhangyixing", -]; -const shareID = [ - 'e646c144-28a7-4b1b-8145-5b0dbff107ec', - 'b3fcb734-cbdd-4436-9f92-b13b445fc253', - 'e2d63b19-19d6-4a20-b2af-74b828e703d0', - 'a7a3b9b7-2872-4244-a627-3b82c271dee7', - 'f7b521e7-5306-4908-ba8a-df2d221bdd9d', - 'd17ec374-70d4-49d5-8673-7093e61f904c', - '915b9567-dc88-4389-8be9-ecc25588353a', - '7abdc8f4-d8f4-497f-8daa-cdab01cf645c', - '50ecc8de-1ee5-4420-bbb8-1136d86d80db', - 'fd0770e1-5007-45c1-8d69-402e02ff9a52', - 'cb9e9a59-a86b-4a0d-a308-4503fe5baaa4', - '93b3afeb-a18c-437c-b5ca-fbd9f389671d', - '8778793c-e9ad-4339-a709-723ae3ebde8e', - '921c376e-8cc5-4236-8242-ff8bb1b88a95', - '8b3ce203-4b10-4c36-a87d-da8c82efe362', - 'c8e1feb3-6ab1-4410-8444-1de8bd22e041', - "dd6b5270-3e5e-436d-be0f-295a8604cf47", - "7aef5700-4fa0-43b8-98fa-3a09f46ea47c", - "be0ec81c-bf26-4b7b-9527-d02b0286e5af", - "ecd890e0-db46-46c7-862e-cb9776c207dc", - "91ceb3eb-df84-471e-ad77-320cd95763ee", -]; -const JD_API_HOST = 'https://urvsaggpt.m.jd.com/guardianstar'; -!(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; - $.beanCount = 0; - $.jdNum = 0; - $.isLogin = true; - $.nickName = ''; - const beforeTotal = 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 - } - console.log(`一共${starID.length}个${$.name}任务,耗时会很久,请提前知晓`) - $.beanCount = beforeTotal && beforeTotal['base'].jdNum; - for (let index = 0; index < starID.length; index ++) { - $.activeId = starID[index]; - $.j = index; - await JD_XTG(); - } - console.log(`\n等待8秒后,再去领取奖励\n`) - console.log(`做任务之前京豆总计:${$.beanCount}`) - await $.wait(8000); - for (let index = 0; index < starID.length; index ++) { - $.activeId = starID[index]; - $.j = index; - await JD_XTG(); - await doSupport(shareID[index]); - } - const afterTotal = await TotalBean(); - $.jdNum = afterTotal['base'].jdNum; - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function showMsg() { - console.log(`\n做任务之前京豆总计:${$.beanCount}`) - console.log(`做完任务后京豆总计:${$.jdNum}`); - console.log(`活动活动京豆数量:${$.jdNum - $.beanCount}`); - let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - if (nowTime > new Date(activeEndTime).getTime()) { - $.msg($.name, '活动已结束', `请删除或禁用此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`) - } else { - $.msg($.name, `账号${$.index} ${$.nickName || $.UserName}`, `做任务之前京豆总计:${$.beanCount}\n做完任务后京豆总计:${$.jdNum}\n${($.jdNum - $.beanCount) > 0 ? `获得京豆:${$.jdNum - $.beanCount}京豆 🐶(仅供参考)\n` : ''}京豆先到先得\n活动地址点击弹窗跳转后即可查看\n注:如未获得京豆就是已被分完`, {"open-url": "https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html"}) - if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}`, `账号${$.index} ${$.nickName || $.UserName}\n做任务之前京豆总计:${$.beanCount}\n做完任务后京豆总计:${$.jdNum}\n${($.jdNum - $.beanCount) > 0 ? `获得京豆:${$.jdNum - $.beanCount}京豆 🐶(仅供参考)\n` : ''}京豆先到先得\n注:如未获得京豆就是已被分完\n活动结束时间:2020年11月12日 23:59:59\n活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html`) - } -} -async function JD_XTG() { - await getHomePage(); - if ($.homeData && $.homeData.code === 200) { - const { shopList, venueList, productList, orderSkuList, shareId } = $.homeData.data[0]; - console.log(`\n===========活动${$.j + 1}-[${starID[$.j]}] 助力码==========\n${shareId}\n`); - for (let item of shopList) { - console.log(`\n任务一:关注${item['shopName']}`) - if (item['shopStatus'] === 4) { - console.log(`入会任务,假入会`); - await doTask('shop', item['shopId'], 0) - continue - } - if (item['shopStatus'] === 3) { - console.log(`此任务已做完,跳过`); - continue - } - console.log(`shopStatus:::${item['shopStatus']}`) - if (item['shopStatus'] !== 3 && item['shopStatus'] !== 4) { - await doTask('shop', item['shopId'], item['shopStatus']) - } - // if (item['shopStatus'] === 2) { - // await doTask('shop', item['shopId'], 2) - // } - // if (item['shopStatus'] === 4) { - // await doTask('shop', item['shopId'], 4) - // } - } - for (let item1 of venueList) { - console.log(`\n任务二:逛逛[${item1['venueName']}]-${item1['venueStatus'] !== 3 ? '' : '已做完'}`) - if (item1['venueStatus'] === 1) { - await doTask('venue', item1['venueId'], 1); - } - if (item1['venueStatus'] === 2) { - await doTask('venue', item1['venueId'], 2); - } - } - for (let item2 of productList) { - console.log(`\n任务三:逛逛[${item2['productName']}]-${item2['productStatus'] !== 3 ? '' : '已做完'}`) - if (item2['productStatus'] === 1) { - await doTask('product', item2['productId'], 1); - } - if (item2['productStatus'] === 2) { - await doTask('product', item2['productId'], 2); - } - } - //付定金 TODO - // for (let item3 of orderSkuList) { - // await doTask('order', item3['skuId'], 1); - // await doTask('order', item3['skuId'], 2); - // await doTask('order', item3['skuId'], 3); - // await doTask('order', item3['skuId'], 0); - // - // await doTask('order', item3['skuId'], 2); - // await doTask('order', item3['skuId'], 1); - // } - console.log(`\n开始抽奖\n`) - await getDayPrizeStatus(4, `${$.activeId}#1`, 3); - await getDayPrizeStatus(1, `${$.activeId}#2`, 3); - } else { - console.log(`京东服务器返回无数据!`) - } -} -function getHomePage() { - 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 (data) { - $.homeData = JSON.parse(data); - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function doTask(type, id, status) { - return new Promise(async resolve => { - $.post(taskPostUrl(type, id, status), (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(); - } - }) - }) -} - -function doSupport(shareId) { - return new Promise(async resolve => { - const options = { - "url": `${JD_API_HOST}/doSupport`, - "body": `starId=${$.activeId}&shareId=${shareId}`, - "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, - "Host": "urvsaggpt.m.jd.com", - "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(`\n助力结果:${data}`); - // data = 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getDayPrizeStatus(prizeType, prizeId, status) { - return new Promise(async resolve => { - const options = { - "url": `${JD_API_HOST}/getDayPrizeStatus`, - "body": `starId=${$.activeId}&status=${status}&prizeType=${prizeType}&prizeId=${prizeId}`, - "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, - "Host": "urvsaggpt.m.jd.com", - "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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(); - } - }) - }) -} -function taskPostUrl(type, id, status) { - return { - url: `${JD_API_HOST}/doTask`, - body: `starId=${$.activeId}&type=${type}&id=${id}&status=${status}`, - 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, - "Host": "urvsaggpt.m.jd.com", - "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -function taskUrl(function_id) { - return { - url: `${JD_API_HOST}/${function_id}?t=${Date.now()}&starId=${$.activeId}`, - headers: { - "Accept": "application/json,text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Cookie": cookie, - "Host": "urvsaggpt.m.jd.com", - "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} -// 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/githubAction.md b/githubAction.md index acc3bd21..8f694840 100644 --- a/githubAction.md +++ b/githubAction.md @@ -97,7 +97,7 @@ | `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制jd_joy_feedPets.js脚本喂食数量 ,可以填的数字10,20,40,80 , 其他数字不可. | | `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制jd_joy_steal.js脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | | `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制jd_joy.js脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | -| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制jd_joy.js脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效) | +| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制jd_joy.js脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | | `JD_JOY_REWARD_NAME` | 宠汪汪积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | | `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 控制jd_blueCoin.js兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | | `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | 控制jd_blueCoin.js兑换奖品成功后是否静默运行, `false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | diff --git a/jd_joy.js b/jd_joy.js index f06e5a09..d10c0ca1 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -2,13 +2,11 @@ jd宠汪汪 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_joy.js 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js IOS用户支持京东双账号,NodeJs用户支持N个京东账号 -更新时间:2020-12-06 +更新时间:2020-12-14 建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 feedCount:自定义 每次喂养数量; 等级只和喂养次数有关,与数量无关 -推荐每次投喂10个,积累狗粮,然后去聚宝盆赌每小时的幸运奖,据观察,投入3000-6000中奖概率大,超过7000基本上注定亏本,即使是第一名 +推荐每次投喂10个,积累狗粮,然后去玩聚宝盆赌 Combine from Zero-S1/JD_tools(https://github.com/Zero-S1/JD_tools) -更新时间:2020-10-20 -注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save */ // quantumultx // [task_local] @@ -41,7 +39,7 @@ if ($.isNode()) { } let message = '', subTitle = ''; let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //每次喂养数量 [10,20,40,80] -let teamLevel = 2;//参加多少人的赛跑比赛,默认是双人赛跑,可选2,10,50。其他不可选,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛 +let teamLevel = 2;//参加多少人的赛跑比赛,默认是双人赛跑,可选2,10,50。其他不可选,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛,如若想设置不同账号参加不同类别的比赛则用&区分即可(如:`2&10&50`) //是否参加宠汪汪双人赛跑(据目前观察,参加双人赛跑不消耗狗粮,如需参加其他多人赛跑,请关闭) // 默认 'true' 参加双人赛跑,如需关闭 ,请改成 'false'; let joyRunFlag = true; @@ -135,19 +133,21 @@ async function joinTwoPeopleRun() { joyRunFlag = process.env.JOY_RUN_FLAG; } if (`${joyRunFlag}` === 'true') { - teamLevel = $.isNode() ? (process.env.JOY_TEAM_LEVEL ? process.env.JOY_TEAM_LEVEL : teamLevel) : ($.getdata('JOY_TEAM_LEVEL') ? $.getdata('JOY_TEAM_LEVEL') : teamLevel); - console.log(`\n===========以下是${teamLevel}人赛跑信息========\n`) + let teamLevelTemp = []; + teamLevelTemp = $.isNode() ? (process.env.JOY_TEAM_LEVEL ? process.env.JOY_TEAM_LEVEL.split('&') : teamLevel.split('&')) : ($.getdata('JOY_TEAM_LEVEL') ? $.getdata('JOY_TEAM_LEVEL').split('&') : teamLevel.split('&')); + teamLevelTemp = teamLevelTemp[$.index - 1] ? teamLevelTemp[$.index - 1] : 2; + console.log(`\n===========以下是${teamLevelTemp}人赛跑信息========\n`) await getPetRace(); if ($.petRaceResult) { let petRaceResult = $.petRaceResult.data.petRaceResult; // let raceUsers = $.petRaceResult.data.raceUsers; console.log(`赛跑状态:${petRaceResult}\n`); if (petRaceResult === 'not_participate') { - console.log(`暂未参赛,现在为您参加${teamLevel}人赛跑`); - await runMatch(teamLevel * 1); + console.log(`暂未参赛,现在为您参加${teamLevelTemp}人赛跑`); + await runMatch(teamLevelTemp * 1); if ($.runMatchResult.success) { - console.log(`${teamLevel}人赛跑参加成功\n`); - message += `${teamLevel}人赛跑:成功参加\n`; + console.log(`${teamLevelTemp}人赛跑参加成功\n`); + message += `${teamLevelTemp}人赛跑:成功参加\n`; await getPetRace(); petRaceResult = $.petRaceResult.data.petRaceResult; await getRankList(); @@ -172,8 +172,8 @@ async function joinTwoPeopleRun() { await receiveJoyRunAward(); console.log(`领取赛跑奖励结果:${JSON.stringify($.receiveJoyRunAwardRes)}`) if ($.receiveJoyRunAwardRes.success) { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLevel}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); - if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n${teamLevel}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLevelTemp}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); + if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n${teamLevelTemp}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) } } if (petRaceResult === 'participate') { From dda72f453f822afbebb7ac65d79f0ad45e82d06d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 11:29:06 +0800 Subject: [PATCH 0394/1259] fix --- jd_joy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_joy.js b/jd_joy.js index d10c0ca1..e2379382 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -39,7 +39,7 @@ if ($.isNode()) { } let message = '', subTitle = ''; let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //每次喂养数量 [10,20,40,80] -let teamLevel = 2;//参加多少人的赛跑比赛,默认是双人赛跑,可选2,10,50。其他不可选,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛,如若想设置不同账号参加不同类别的比赛则用&区分即可(如:`2&10&50`) +let teamLevel = `2`;//参加多少人的赛跑比赛,默认是双人赛跑,可选2,10,50。其他不可选,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛,如若想设置不同账号参加不同类别的比赛则用&区分即可(如:`2&10&50`) //是否参加宠汪汪双人赛跑(据目前观察,参加双人赛跑不消耗狗粮,如需参加其他多人赛跑,请关闭) // 默认 'true' 参加双人赛跑,如需关闭 ,请改成 'false'; let joyRunFlag = true; @@ -184,7 +184,7 @@ async function joinTwoPeopleRun() { console.log(`您当前里程:${$.raceUsers[index].distance}KM\n当前排名:第${$.raceUsers[index].rank}名\n将获得积分:${$.raceUsers[index].coin}\n`); // message += `您当前里程:${$.raceUsers[index].distance}km\n`; } else { - console.log(`对手当前里程:${$.raceUsers[index].distance}KM`); + console.log(`对手 ${$.raceUsers[index].nickName} 当前里程:${$.raceUsers[index].distance}KM`); // message += `对手当前里程:${$.raceUsers[index].distance}km\n`; } } From d7038989ee2f05802544b07eb42ed363e55fe0de Mon Sep 17 00:00:00 2001 From: JunzhouLiu Date: Mon, 14 Dec 2020 15:31:35 +0800 Subject: [PATCH 0395/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E8=B5=84=E6=BA=90=E7=BA=A6=E6=9D=9F=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Readme.md | 4 ++-- docker/example/custom-append.yml | 6 ++++++ docker/example/custom-overwrite.yml | 6 ++++++ docker/example/default.yml | 6 ++++++ docker/example/multi.yml | 6 ++++++ docker/example/use-tg-bot.yml | 6 ++++++ 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/docker/Readme.md b/docker/Readme.md index 26cb2033..a76c5842 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -60,8 +60,8 @@ jd_scripts ``` > 定时任务命之后,也就是 `>>` 符号之前加上 `|ts` 可在日志每一行前面显示时间,如下图: > ![image](https://user-images.githubusercontent.com/6993269/99031839-09e04b00-25b3-11eb-8e47-0b6515a282bb.png) -- 目录文件配置好之后在 `jd_scripts`目录执行 - `docker-compose up -d` 启动; +- 目录文件配置好之后在 `jd_scripts`目录执行。 + `docker-compose up -d` 启动(修改docker-compose.yml后需要使用此命令使更改生效); `docker-compose logs` 打印日志; `docker-compose pull` 更新镜像; `docker-compose stop` 停止容器; diff --git a/docker/example/custom-append.yml b/docker/example/custom-append.yml index f2618e40..492d501d 100644 --- a/docker/example/custom-append.yml +++ b/docker/example/custom-append.yml @@ -1,5 +1,11 @@ jd_scripts: image: akyakya/jd_scripts + # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) + # deploy: + # resources: + # limits: + # cpus: '0.2' + # memory: 200M container_name: jd_scripts restart: always volumes: diff --git a/docker/example/custom-overwrite.yml b/docker/example/custom-overwrite.yml index 5099b9fd..3ffc7a6f 100644 --- a/docker/example/custom-overwrite.yml +++ b/docker/example/custom-overwrite.yml @@ -1,5 +1,11 @@ jd_scripts: image: akyakya/jd_scripts + # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) + # deploy: + # resources: + # limits: + # cpus: '0.2' + # memory: 200M container_name: jd_scripts restart: always volumes: diff --git a/docker/example/default.yml b/docker/example/default.yml index bdc6c60b..e9782a3d 100644 --- a/docker/example/default.yml +++ b/docker/example/default.yml @@ -1,5 +1,11 @@ jd_scripts: image: akyakya/jd_scripts + # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) + # deploy: + # resources: + # limits: + # cpus: '0.2' + # memory: 200M container_name: jd_scripts restart: always volumes: diff --git a/docker/example/multi.yml b/docker/example/multi.yml index 8b2faa59..bf7a6347 100644 --- a/docker/example/multi.yml +++ b/docker/example/multi.yml @@ -2,6 +2,12 @@ version: "3" services: jd_scripts1: #默认 image: akyakya/jd_scripts + # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过 0.2(单核的20%) + # deploy: + # resources: + # limits: + # cpus: '0.2' + # memory: 200M restart: always container_name: jd_scripts1 tty: true diff --git a/docker/example/use-tg-bot.yml b/docker/example/use-tg-bot.yml index 87068588..13a88d96 100644 --- a/docker/example/use-tg-bot.yml +++ b/docker/example/use-tg-bot.yml @@ -1,5 +1,11 @@ jd_scripts: image: akyakya/jd_scripts:supportbot + # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) + # deploy: + # resources: + # limits: + # cpus: '0.2' + # memory: 200M container_name: jd_scripts restart: always volumes: From f7afb94f3199564ebd8ffbc768881677cb829e7d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 15:54:44 +0800 Subject: [PATCH 0396/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0Surge=E7=9A=84Task?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=A8=A1=E5=9D=97=20=E5=9C=B0=E5=9D=80:=20ht?= =?UTF-8?q?tps://raw.githubusercontent.com/lxk0301/jd=5Fscripts/master/Sur?= =?UTF-8?q?ge/lxk0301=5FTask.sgmodule.sgmodule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 10 +++--- Surge/lxk0301_Task.sgmodule.sgmodule | 50 +++++++++++++++++++++++----- 2 files changed, 46 insertions(+), 14 deletions(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 16a04b15..1a10b310 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -22,12 +22,12 @@ "20 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", + "0 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", + "15 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", + "20 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", - "10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", + "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 68fbcc78..74748baf 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -9,25 +9,57 @@ # Surge的Task脚本模块地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] - +#东东农场 cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js,timeout=530, wake-system=1, tag=东东农场 +#东东萌宠 cron "20 7-19/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js,timeout=530, wake-system=1, tag=东东萌宠 +#京东种豆得豆 cron "10 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,timeout=630, wake-system=1, tag=京东种豆得豆 +#宠汪汪 cron "15 */2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,timeout=330, wake-system=1, tag=宠汪汪 +#宠汪汪喂食 cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js,timeout=30, wake-system=1, tag=宠汪汪喂食 -cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js,timeout=420, wake-system=1, tag=宠汪汪偷好友积分与狗粮 -cron "1 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,timeout=30, wake-system=1, tag=宠汪汪积分兑换奖品 +#宠汪汪偷好友积分与狗粮 +cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js,timeout=1420, wake-system=1, tag=宠汪汪偷好友积分与狗粮 +#宠汪汪积分兑换奖品 +cron "1 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,timeout=130, wake-system=1, tag=宠汪汪积分兑换奖品 +#京东天天加速 cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js,timeout=130, wake-system=1, tag=京东天天加速 +#京东摇钱树 cron "15 */5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js,timeout=130, wake-system=1, tag=京东摇钱树 +#摇京豆 cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js, timeout=50, wake-system=1, tag=摇京豆 +#京小超 cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js,timeout=530, wake-system=1, tag=京小超 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,timeout=30, wake-system=1, tag=京小超领蓝币(兑换京豆) +京小超兑换奖品 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,timeout=130, wake-system=1, tag=京小超兑换奖品 +#取关京东店铺商品 cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js,timeout=250, wake-system=1, tag=取关京东店铺商品 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js,timeout=30, wake-system=1, tag=进店领豆 -# cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js, timeout=150, wake-system=1, tag=京东手机狂欢城 -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, timeout=30, wake-system=1, tag=宠汪汪邀请助力与赛跑助力 +#进店领豆 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js,timeout=130, wake-system=1, tag=进店领豆 +#宠汪汪邀请助力与赛跑助力 +cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, timeout=230, wake-system=1, tag=宠汪汪邀请助力与赛跑助力 +#京东全民开红包 cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js, wake-system=1, tag=京东全民开红包 -# cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, timeout=550, wake-system=1, tag=京东星推官 +#京豆变动通知 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, timeout=650, wake-system=1, tag=京豆变动通知 +#点点券 cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, timeout=650, wake-system=1, tag=点点券 -# cron "20 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js, wake-system=1, tag=京东全民营业领金币 +#京喜工厂 +cron "24 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, timeout=650, wake-system=1, tag=京喜工厂 +#东东工厂 +cron "40 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, timeout=650, wake-system=1, tag=东东工厂 +#十元街 +cron "40 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, timeout=650, wake-system=1, tag=十元街 +#京东代属(仅京东学生认证用户可用) +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, timeout=650, wake-system=1, tag=京东代属 +#领京豆额外奖励 +cron "30 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, timeout=750, wake-system=1, tag=领京豆额外奖励 +#京东汽车 +cron "30 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 +#京东快递签到 +cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 +#京东直播 +cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 +#秒杀红包雨 +cron "20 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 From 88d3ececca6d27b4c0283b43b75a4d91d54a3ecd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 16:11:46 +0800 Subject: [PATCH 0397/1259] update --- Loon/lxk0301_LoonTask.conf | 6 +++--- QuantumultX/lxk0301_gallery.json | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 14 +++++++------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index b1374a1e..d5daed2d 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -16,7 +16,7 @@ cron "10 7-19/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_ cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 # 宠汪汪(主要是日常任务,不过里面也有喂食和领取三餐狗粮) -cron "15 */2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,tag=宠汪汪 +cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,tag=宠汪汪 # 宠汪汪喂食 cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js,tag=宠汪汪喂食 @@ -25,13 +25,13 @@ cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scr cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 # 宠汪汪积分兑换奖品 -cron "1 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 +cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 # 京东天天加速 cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js,tag=京东天天加速 # 京东摇钱树 -cron "3 */3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 +cron "3 */5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 # 京小超 cron "11 1-23/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js,tag=京小超 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 1a10b310..c2a72005 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -5,7 +5,7 @@ "5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", "20 7-19/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", "10 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", - "15 */2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "15 1,7,9,12,18,21 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", "12 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", "0 0,6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", "1 0,8,12,16 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 74748baf..beb733d7 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -1,4 +1,4 @@ -#!name=lxk0301 iOS Tasks&Cookies Module +#!name=lxk0301 iOS Tasks Module #!desc=iOS Tasks 模块配置 #!system=ios @@ -10,19 +10,19 @@ [Script] #东东农场 -cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js,timeout=530, wake-system=1, tag=东东农场 +cron "40 8-18/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js,timeout=530, wake-system=1, tag=东东农场 #东东萌宠 cron "20 7-19/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js,timeout=530, wake-system=1, tag=东东萌宠 #京东种豆得豆 -cron "10 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,timeout=630, wake-system=1, tag=京东种豆得豆 +cron "50 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,timeout=630, wake-system=1, tag=京东种豆得豆 #宠汪汪 -cron "15 */2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,timeout=330, wake-system=1, tag=宠汪汪 -#宠汪汪喂食 +cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,timeout=330, wake-system=1, tag=宠汪汪 +#宠汪汪喂食(仅喂食) cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js,timeout=30, wake-system=1, tag=宠汪汪喂食 #宠汪汪偷好友积分与狗粮 cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js,timeout=1420, wake-system=1, tag=宠汪汪偷好友积分与狗粮 #宠汪汪积分兑换奖品 -cron "1 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,timeout=130, wake-system=1, tag=宠汪汪积分兑换奖品 +cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,timeout=130, wake-system=1, tag=宠汪汪积分兑换奖品 #京东天天加速 cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js,timeout=130, wake-system=1, tag=京东天天加速 #京东摇钱树 @@ -44,7 +44,7 @@ cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script #京豆变动通知 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, timeout=650, wake-system=1, tag=京豆变动通知 #点点券 -cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, timeout=650, wake-system=1, tag=点点券 +cron "30 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, timeout=650, wake-system=1, tag=点点券 #京喜工厂 cron "24 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, timeout=650, wake-system=1, tag=京喜工厂 #东东工厂 From 3e9436222fa32deb78eeb4d8063842cbc1a28b31 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 16:22:36 +0800 Subject: [PATCH 0398/1259] update --- Loon/lxk0301_LoonTask.conf | 2 +- QuantumultX/lxk0301_gallery.json | 2 ++ Surge/lxk0301_Task.sgmodule.sgmodule | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index d5daed2d..6cd3ab37 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -111,5 +111,5 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 -# 金融 +# 金融打卡领年终奖 cron "10 6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index c2a72005..112edb35 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -21,6 +21,7 @@ "2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "20 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", + "13 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", "0 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", "15 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", @@ -30,6 +31,7 @@ "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "10 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] } diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index beb733d7..92260c55 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -49,6 +49,8 @@ cron "30 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_sc cron "24 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, timeout=650, wake-system=1, tag=京喜工厂 #东东工厂 cron "40 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, timeout=650, wake-system=1, tag=东东工厂 +#东东小窝 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, timeout=650, wake-system=1, tag=东东小窝 #十元街 cron "40 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, timeout=650, wake-system=1, tag=十元街 #京东代属(仅京东学生认证用户可用) @@ -63,3 +65,5 @@ cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 #秒杀红包雨 cron "20 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 +#金融打卡领年终奖 +cron "30 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 From 60cc19c6be7eb12210c9d8aa119cd5351af448e7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 17:36:02 +0800 Subject: [PATCH 0399/1259] update --- Loon/lxk0301_LoonTask.conf | 5 ++--- Surge/lxk0301_Task.sgmodule.sgmodule | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 6cd3ab37..7be40127 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -90,9 +90,6 @@ http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\ # 小米运动获取Token http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token -# 苹果抽奖机 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js,tag=苹果抽奖机 - # 京东代属 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 @@ -113,3 +110,5 @@ cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd # 金融打卡领年终奖 cron "10 6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 +# 健康抽奖机 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 \ No newline at end of file diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 92260c55..b9e3b3ad 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -65,5 +65,9 @@ cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 #秒杀红包雨 cron "20 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 +# 以下为短期活动 #金融打卡领年终奖 cron "30 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 +#健康抽奖机 +cron "30 2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 + From eefdda41a7676c69056814a9313b7267c2b419c1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 17:40:39 +0800 Subject: [PATCH 0400/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=9C=88x=20task?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 112edb35..bef46b00 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -29,7 +29,7 @@ "20 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" From 8407310c9f09b9529a3a98e2696ccd7b77c86f3e Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 14 Dec 2020 19:11:10 +0800 Subject: [PATCH 0401/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E7=BA=A2=E5=8C=85=E9=9B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_live_redrain.js | 52 ++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js index be450278..a190ff68 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -1,32 +1,31 @@ /* 直播红包雨 每天0,9,11,13,15,17,19,20,21,23可领,每日上限未知 -活动时间:2020-12-7 到 2020-12-12 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js +活动时间:2020-12-14 到 2020-12-31 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 +cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/jd_live_redrain.js, tag=直播红包雨 ===============Surge================= -直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js +直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/jd_live_redrain.js ============小火箭========= -直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, enable=true +直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, 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 jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; if ($.isNode()) { @@ -51,6 +50,12 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; } await getRedRain(); if(!$.activityId) return + let nowTs = new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 + message = `【${new Date($.st).getHours()}点红包雨】` + if (!($.st <= nowTs && nowTs < $.ed)) { + console.log(`不在红包雨时间之内`) + return + } for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -58,7 +63,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; $.index = i + 1; $.isLogin = true; $.nickName = ''; - message = ''; await TotalBean(); console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); if (!$.isLogin) { @@ -71,14 +75,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; } 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 receiveRedRain(); await showMsg(); } } @@ -90,7 +87,10 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; $.done(); }) -function showMsg() { +async function showMsg() { + if ($.isNode() && !jdNotify) { + await notify.sendNotify(`【京东账号${$.index}】${$.nickName}`, message) + } return new Promise(resolve => { $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); resolve() @@ -100,10 +100,8 @@ function showMsg() { function getRedRain() { return new Promise(resolve => { $.get({ - url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_live_redRain.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" - }}, (err, resp, data) => { + url: "http://ql4kk90rw.hb-bkt.clouddn.com/jd_live_redRain.json", + }, (err, resp, data) => { try { if (err) { console.log(`1111${JSON.stringify(err)}`) @@ -112,8 +110,8 @@ function getRedRain() { if (safeGet(data)) { data = JSON.parse(data); $.activityId = data.activityId - $.startTime = data.startTime - $.endTime = data.endTime + $.st = data.startTime + $.ed = data.endTime console.log(`下一场红包雨开始时间:${new Date(data.startTime)}`) console.log(`下一场红包雨结束时间:${new Date(data.endTime)}`) } @@ -141,11 +139,11 @@ function receiveRedRain() { 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` + message += `领取成功,获得 ${(data.lotteryResult.jPeasList[0].quantity)} 京豆\n` } else if (data.subCode === '8') { - console.log(`今日次数已满`) - message += `领取失败,今日已签到\n`; + console.log(`领取失败,已领过`) + message += `领取失败,已领过\n`; } else { console.log(`异常:${JSON.stringify(data)}`) } From e335319f665c4967b6ce933408e3403bbac221b4 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 14 Dec 2020 19:12:31 +0800 Subject: [PATCH 0402/1259] =?UTF-8?q?=E5=85=B3=E9=97=AD=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_live_redrain.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js index a190ff68..725c1dde 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -25,7 +25,7 @@ const $ = new Env('直播红包雨'); const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 +let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; if ($.isNode()) { From 753ba1f49b41991d93540b6740689b903b220d8a Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 14 Dec 2020 19:27:57 +0800 Subject: [PATCH 0403/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=A4=8D=E6=B4=BB?= =?UTF-8?q?=E7=9A=84=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移复活的活动脚本 --- activity/jd_live_redrain.js => jd_live_redrain.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename activity/jd_live_redrain.js => jd_live_redrain.js (100%) diff --git a/activity/jd_live_redrain.js b/jd_live_redrain.js similarity index 100% rename from activity/jd_live_redrain.js rename to jd_live_redrain.js From 1d29099c32972e1a5cd4d9940948d5ac920ec9d4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 21:26:12 +0800 Subject: [PATCH 0404/1259] Update jd_live_redrain.js --- jd_live_redrain.js | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 725c1dde..8e7a38f3 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -22,9 +22,9 @@ cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercon */ const $ = new Env('直播红包雨'); -const notify = $.isNode() ? require('../sendNotify') : ''; +const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; @@ -34,6 +34,24 @@ if ($.isNode()) { }) 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 { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); @@ -51,7 +69,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; await getRedRain(); if(!$.activityId) return let nowTs = new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 - message = `【${new Date($.st).getHours()}点红包雨】` if (!($.st <= nowTs && nowTs < $.ed)) { console.log(`不在红包雨时间之内`) return @@ -63,6 +80,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; $.index = i + 1; $.isLogin = true; $.nickName = ''; + message = `【${new Date($.st).getHours()}点${$.name}】` await TotalBean(); console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); if (!$.isLogin) { @@ -239,4 +257,4 @@ function jsonParse(str) { } } // 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)} +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 From bc35b9467b9865479c6fe4482aec6cf6755ab7fd Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 14 Dec 2020 23:05:08 +0800 Subject: [PATCH 0405/1259] =?UTF-8?q?Docker=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=A2=9E=E5=8A=A0=E7=9B=B4=E6=92=AD=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8=EF=BC=9B=E4=BA=AC=E4=B8=9C=E9=87=91=E8=9E=8D=E6=89=93?= =?UTF-8?q?=E5=8D=A1=E9=A2=86=E5=B9=B4=E7=BB=88=E5=A5=96=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E5=88=B0=E7=9F=AD=E6=9C=9F=E4=BB=BB=E5=8A=A1=EF=BC=9B=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E8=8B=B9=E6=9E=9C=E8=B6=85=E5=93=81=E6=97=A5=E4=BA=92?= =?UTF-8?q?=E5=8A=A8=E6=8A=BD=E5=A5=96=E6=9C=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 8 ++++---- docker/crontab_list_ts.sh | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 2de5a48e..abab90a1 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -8,8 +8,10 @@ 40 8 * * * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) 10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 -# 苹果超品日互动抽奖机(2020.12.14活动过期) -8 0,20 * * * node /scripts/jd_apple_live.js >> /scripts/logs/jd_apple_live.log 2>&1 +# 直播红包雨(2020.12.31活动过期) +0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 +# 京东金融打卡领年终奖(2020.12.31活动过期) +10 6 * * * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 ##############长期活动############## # 签到 @@ -74,5 +76,3 @@ 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 -# 京东金融签到 -10 6 * * * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 20371191..2942119f 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -8,8 +8,10 @@ 40 8 * * * node /scripts/jd_ms_redrain.js | ts >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) 10 0 * * * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 -# 苹果超品日互动抽奖机(2020.12.14活动过期) -8 0,20 * * * node /scripts/jd_apple_live.js | ts >> /scripts/logs/jd_apple_live.log 2>&1 +# 直播红包雨(2020.12.31活动过期) +0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js | ts >> /scripts/logs/jd_live_redrain.log 2>&1 +# 京东金融打卡领年终奖(2020.12.31活动过期) +10 6 * * * node /scripts/jr_sign.js | ts >> /scripts/logs/jr_sign.log 2>&1 ##############长期活动############## # 签到 @@ -74,5 +76,3 @@ 33 4 * * * node /scripts/jd_bean_home.js | ts >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js | ts >> /scripts/logs/jd_live.log 2>&1 -# 京东金融签到 -10 6 * * * node /scripts/jr_sign.js | ts >> /scripts/logs/jr_sign.log 2>&1 From 3d987d7cc8fb72a5f0059ac78af579e99e7362ea Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 14 Dec 2020 23:06:25 +0800 Subject: [PATCH 0406/1259] Update jd_live_redrain.js --- jd_live_redrain.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 8e7a38f3..cf76694d 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -2,23 +2,23 @@ 直播红包雨 每天0,9,11,13,15,17,19,20,21,23可领,每日上限未知 活动时间:2020-12-14 到 2020-12-31 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/jd_live_redrain.js +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/jd_live_redrain.js, tag=直播红包雨 +cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 ===============Surge================= -直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/jd_live_redrain.js +直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js ============小火箭========= -直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/activity/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, enable=true +直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, enable=true */ const $ = new Env('直播红包雨'); From b04e664f0e4ef846de410ad693964463bf1e6694 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 15 Dec 2020 09:34:31 +0800 Subject: [PATCH 0407/1259] =?UTF-8?q?=E4=B8=89=E5=A4=A7task=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E6=81=A2=E5=A4=8D=E7=9B=B4=E6=92=AD=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8=E8=84=9A=E6=9C=AC=EF=BC=8C=E6=B4=BB=E5=8A=A831?= =?UTF-8?q?=E6=97=A5=E7=BB=93=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 ++ QuantumultX/lxk0301_gallery.json | 1 + Surge/lxk0301_Task.sgmodule.sgmodule | 10 ++++++---- activity/jd_818.js | 2 +- activity/jd_digital_floor.js | 2 +- activity/jd_jxstory.js | 2 +- activity/jd_pubg.js | 2 +- activity/jd_split.js | 2 +- activity/jd_xtg.js | 2 +- jd_apple_live.js | 2 +- jd_bean_change.js | 2 +- jd_bean_home.js | 2 +- jd_blueCoin.js | 2 +- jd_car.js | 2 +- jd_club_lottery.js | 2 +- jd_daily_egg.js | 2 +- jd_dreamFactory.js | 2 +- jd_ds.js | 2 +- jd_health.js | 2 +- jd_jdfactory.js | 2 +- jd_joy.js | 2 +- jd_joy_feedPets.js | 2 +- jd_joy_reward.js | 2 +- jd_joy_run.js | 2 +- jd_kd.js | 2 +- jd_live.js | 2 +- jd_live_redrain.js | 2 +- jd_moneyTree.js | 2 +- jd_ms_redrain.js | 2 +- jd_necklace.js | 2 +- jd_pigPet.js | 2 +- jd_redPacket.js | 2 +- jd_shop.js | 2 +- jd_small_home.js | 2 +- jd_speed.js | 2 +- jd_syj.js | 2 +- jd_unsubscribe.js | 2 +- jr_sign.js | 2 +- 38 files changed, 44 insertions(+), 39 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 7be40127..7b6efb2b 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -108,6 +108,8 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 +#直播红包雨 +cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 # 金融打卡领年终奖 cron "10 6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index bef46b00..e25de230 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -31,6 +31,7 @@ "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index b9e3b3ad..3c509045 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -61,13 +61,15 @@ cron "30 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "30 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 #京东快递签到 cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 -#京东直播 +#京东直播(活动结束时间未知) cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 -#秒杀红包雨 -cron "20 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 -# 以下为短期活动 +#以下为短期活动 #金融打卡领年终奖 cron "30 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 #健康抽奖机 cron "30 2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 +#直播红包雨(2020-12-31活动结束) +cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, timeout=750, wake-system=1, tag=直播红包雨 +#秒杀红包雨(2020-12-31活动结束) +cron "20 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 diff --git a/activity/jd_818.js b/activity/jd_818.js index c3495304..39753509 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -926,7 +926,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index 648c1e99..5520493e 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -418,7 +418,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js index 2f99b330..21532995 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -661,7 +661,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index e787e25c..e009ecbd 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -508,7 +508,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/activity/jd_split.js b/activity/jd_split.js index efaaf756..ae798b89 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -306,7 +306,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/activity/jd_xtg.js b/activity/jd_xtg.js index a68fe6ba..0e9e59be 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -396,7 +396,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_apple_live.js b/jd_apple_live.js index 49b40a29..02c284d7 100644 --- a/jd_apple_live.js +++ b/jd_apple_live.js @@ -411,7 +411,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_bean_change.js b/jd_bean_change.js index 0eacf7be..426a7060 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -212,7 +212,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_bean_home.js b/jd_bean_home.js index 136287d7..b236949d 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -453,7 +453,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 503d3a8d..43dbd0f7 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -425,7 +425,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_car.js b/jd_car.js index 2eb6849b..58e46cb4 100644 --- a/jd_car.js +++ b/jd_car.js @@ -327,7 +327,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 724c977f..ed8d10a2 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -387,7 +387,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_daily_egg.js b/jd_daily_egg.js index c4c595d9..7250fd14 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -232,7 +232,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 39d8fe62..12efd54e 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1460,7 +1460,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_ds.js b/jd_ds.js index b07f736e..cd8204ac 100644 --- a/jd_ds.js +++ b/jd_ds.js @@ -205,7 +205,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_health.js b/jd_health.js index 5443c20c..5ebae0be 100644 --- a/jd_health.js +++ b/jd_health.js @@ -393,7 +393,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 295ad396..1ec93e60 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -749,7 +749,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_joy.js b/jd_joy.js index e2379382..bf0ae49d 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -821,7 +821,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index b1a6c49a..f26ee07e 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -192,7 +192,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 1e4b7691..cf9e9f99 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -281,7 +281,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_joy_run.js b/jd_joy_run.js index 26a57290..05f4a94a 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -407,7 +407,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_kd.js b/jd_kd.js index 9709153a..c3ef9942 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -204,7 +204,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_live.js b/jd_live.js index 4d1d3b32..cc273741 100644 --- a/jd_live.js +++ b/jd_live.js @@ -303,7 +303,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_live_redrain.js b/jd_live_redrain.js index cf76694d..6c83ead7 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -251,7 +251,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 54a2c137..4257b022 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -654,7 +654,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_ms_redrain.js b/jd_ms_redrain.js index 2a84a2fc..258f0dc4 100644 --- a/jd_ms_redrain.js +++ b/jd_ms_redrain.js @@ -194,7 +194,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_necklace.js b/jd_necklace.js index c16cce31..109f3f44 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -354,7 +354,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_pigPet.js b/jd_pigPet.js index 7c66c4fd..2b14939f 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -676,7 +676,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_redPacket.js b/jd_redPacket.js index d0dc2aa6..1a3fa4b4 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -326,7 +326,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_shop.js b/jd_shop.js index 857e9305..65007357 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -211,7 +211,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_small_home.js b/jd_small_home.js index 1358ea10..a5e2ad71 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -893,7 +893,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_speed.js b/jd_speed.js index 32cec982..6d7a9705 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -523,7 +523,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_syj.js b/jd_syj.js index 4514dc5b..ef3bce82 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -209,7 +209,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index fa1fbcd4..7c3f9d81 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -342,7 +342,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } diff --git a/jr_sign.js b/jr_sign.js index 6fe325ac..ff74cf2a 100644 --- a/jr_sign.js +++ b/jr_sign.js @@ -184,7 +184,7 @@ function jsonParse(str) { return JSON.parse(str); } catch (e) { console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') + $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') return []; } } From 7b595cc057ba73793f519ebb2297b1df07216018 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 15 Dec 2020 09:51:38 +0800 Subject: [PATCH 0408/1259] fix --- jd_joy_steal.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 9dc3d77b..021c43a7 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -532,5 +532,16 @@ function timeFormat(time) { } return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 From ea74c704948f84ca4ae530ae301b24842c4dd4e9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 15 Dec 2020 11:11:28 +0800 Subject: [PATCH 0409/1259] update --- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- jdFruitShareCodes.js | 2 +- jd_blueCoin.js | 37 +++++++++++++++------------- jd_dreamFactory.js | 3 ++- jd_fruit.js | 12 +++++++-- jd_moneyTree.js | 3 ++- jd_pet.js | 2 +- 7 files changed, 37 insertions(+), 24 deletions(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 3c509045..74c8b45b 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -12,7 +12,7 @@ #东东农场 cron "40 8-18/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js,timeout=530, wake-system=1, tag=东东农场 #东东萌宠 -cron "20 7-19/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js,timeout=530, wake-system=1, tag=东东萌宠 +cron "20 8-18/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js,timeout=530, wake-system=1, tag=东东萌宠 #京东种豆得豆 cron "50 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,timeout=630, wake-system=1, tag=京东种豆得豆 #宠汪汪 diff --git a/jdFruitShareCodes.js b/jdFruitShareCodes.js index 17199e02..4ddbd3da 100644 --- a/jdFruitShareCodes.js +++ b/jdFruitShareCodes.js @@ -8,7 +8,7 @@ // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let FruitShareCodes = [ - '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6',//账号一的好友shareCode,不同好友中间用@符号隔开 + '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a',//账号一的好友shareCode,不同好友中间用@符号隔开 '6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3',//账号二的好友shareCode,不同好友中间用@符号隔开 ] // 判断github action里面是否有水果互助码 diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 43dbd0f7..4d4b2e65 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -1,7 +1,7 @@ /* 京小超兑换奖品 脚本地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js 感谢@yangtingxiao提供PR -更新时间:2020-11-23 +更新时间:2020-12-15 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ======================quantumultx=============== @@ -337,24 +337,27 @@ function smtgHome() { } //通知 -async function msgShow() { +function msgShow() { // $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【收取蓝币】${$.coincount ? `${$.coincount}个` : $.coinerr }${coinToBeans ? `\n【兑换京豆】${ $.beanscount ? `${$.beanscount}个` : $.beanerr}` : ""}`); - $.log(`\n【京东账号${$.index}】${$.nickName}\n${coinToBeans ? `【兑换${$.title}】${$.beanscount ? `成功` : $.beanerr}` : "您设置的是不兑换奖品"}\n`); - let ctrTemp; - if ($.isNode() && process.env.MARKET_REWARD_NOTIFY) { - ctrTemp = `${process.env.MARKET_REWARD_NOTIFY}` === 'false'; - } else if ($.getdata('jdSuperMarketRewardNotify')) { - ctrTemp = $.getdata('jdSuperMarketRewardNotify') === 'false'; - } else { - ctrTemp = `${jdNotify}` === 'false'; - } - //默认只在兑换奖品成功后弹窗提醒。情况情况加,只打印日志,不弹窗 - if ($.beanscount && ctrTemp) { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n${coinToBeans ? `【兑换${$.title}】${ $.beanscount ? `成功,数量:${$.beanscount}个` : $.beanerr}` : "您设置的是不兑换奖品"}`); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.UserName}\n${coinToBeans ? `【兑换${$.title}】${$.beanscount ? `成功,数量:${$.beanscount}个` : $.beanerr}` : "您设置的是不兑换奖品"}`) + return new Promise(async resolve => { + $.log(`\n【京东账号${$.index}】${$.nickName}\n${coinToBeans ? `【兑换${$.title}】${$.beanscount ? `成功` : $.beanerr}` : "您设置的是不兑换奖品"}\n`); + let ctrTemp; + if ($.isNode() && process.env.MARKET_REWARD_NOTIFY) { + ctrTemp = `${process.env.MARKET_REWARD_NOTIFY}` === 'false'; + } else if ($.getdata('jdSuperMarketRewardNotify')) { + ctrTemp = $.getdata('jdSuperMarketRewardNotify') === 'false'; + } else { + ctrTemp = `${jdNotify}` === 'false'; } - } + //默认只在兑换奖品成功后弹窗提醒。情况情况加,只打印日志,不弹窗 + if ($.beanscount && ctrTemp) { + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n${coinToBeans ? `【兑换${$.title}】${ $.beanscount ? `成功,数量:${$.beanscount}个` : $.beanerr}` : "您设置的是不兑换奖品"}`); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.UserName}\n${coinToBeans ? `【兑换${$.title}】${$.beanscount ? `成功,数量:${$.beanscount}个` : $.beanerr}` : "您设置的是不兑换奖品"}`) + } + } + resolve() + }) } function TotalBean() { return new Promise(async resolve => { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 12efd54e..eb03538d 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -347,7 +347,8 @@ function hireAward(date, type = 0) { }) } async function helpFriends() { - if ($.canHelpFlag) { + let Hours = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).getHours(); + if ($.canHelpFlag && Hours >= 6) { await shareCodesFormat(); for (let code of $.newShareCodes) { if (code) { diff --git a/jd_fruit.js b/jd_fruit.js index 9902fd00..aa3c08e1 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,6 +1,6 @@ /* 东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js -更新时间:2020-11-30 +更新时间:2020-12-15 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -29,7 +29,7 @@ let cookiesArr = [], cookie = '', jdFruitShareArr = [], isBox = false, notify, n //下面给出两个账号的填写示例(iOS只支持2个京东账号) let shareCodes = [ // 这个列表填入你要助力的好友的shareCode //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 - '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6', + '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3', ] @@ -725,6 +725,14 @@ async function clockInIn() { } } } + if ($.clockInInit.todaySigned && $.clockInInit.totalSigned === 7) { + console.log('开始领取--惊喜礼包38g水滴'); + await gotClockInGift(); + if ($.gotClockInGiftRes.code === '0') { + // message += `【惊喜礼包】获得${$.gotClockInGiftRes.amount}g💧\n`; + console.log(`【惊喜礼包】获得${$.gotClockInGiftRes.amount}g💧\n`); + } + } // 限时关注得水滴 if ($.clockInInit.themes && $.clockInInit.themes.length > 0) { for (let item of $.clockInInit.themes) { diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 4257b022..4ad187f2 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -121,7 +121,8 @@ function user_info() { // message += `【我的金币数量】${userInfo.treeInfo.coin}\n`; // message += `【距离${userInfo.treeInfo.level + 1}级摇钱树还差】${userInfo.treeInfo.progressLeft}\n`; } else { - $.msg($.name, `【提示】京东账号${$.index}${$.UserName}运行失败`, '此账号未实名认证或者未参与过此活动\n①如未参与活动,请先去京东app参加摇钱树活动\n入口:我的->游戏与互动->查看更多\n②如未实名认证,请进行实名认证', {"open-url": "openApp.jdMobile://"}); + $.log(`京东账号${$.index}${$.UserName}运行失败\n此账号未实名认证或者未参与过此活动\n①如未参与活动,请先去京东app参加摇钱树活动\n入口:我的->游戏与互动->查看更多\n②如未实名认证,请进行实名认证`) + // $.msg($.name, `【提示】京东账号${$.index}${$.UserName}运行失败`, '此账号未实名认证或者未参与过此活动\n①如未参与活动,请先去京东app参加摇钱树活动\n入口:我的->游戏与互动->查看更多\n②如未实名认证,请进行实名认证', {"open-url": "openApp.jdMobile://"}); } } } else { diff --git a/jd_pet.js b/jd_pet.js index 4fac23da..c0b342fb 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -32,7 +32,7 @@ let shareCodes = [ // IOS本地脚本用户这个列表填入你要助力的好 //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 'MTAxODc2NTEzNTAwMDAwMDAwMjg3MDg2MA==@MTAxODc2NTEzMzAwMDAwMDAyNzUwMDA4MQ==@MTAxODc2NTEzMjAwMDAwMDAzMDI3MTMyOQ==@MTAxODc2NTEzNDAwMDAwMDAzMDI2MDI4MQ==@MTAxODcxOTI2NTAwMDAwMDAxOTQ3MjkzMw==', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - 'MTAxODc2NTEzMjAwMDAwMDAzMDI3MTMyOQ==@MTAxODcxOTI2NTAwMDAwMDAyNjA4ODQyMQ==@MTAxODc2NTEzOTAwMDAwMDAyNzE2MDY2NQ==', + 'MTAxODc2NTEzMjAwMDAwMDAzMDI3MTMyOQ==@MTAxODcxOTI2NTAwMDAwMDAyNjA4ODQyMQ==@MTAxODc2NTEzOTAwMDAwMDAyNzE2MDY2NQ==@MTE1NDUyMjEwMDAwMDAwNDI0MDM2MDc=', ] let message = '', subTitle = '', option = {}; let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 From 11f79f3a802e03765b360bac2f2405f571f8931c Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 15 Dec 2020 11:37:26 +0800 Subject: [PATCH 0410/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移过期活动脚本 --- jd_apple_live.js => activity/jd_apple_live.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_apple_live.js => activity/jd_apple_live.js (100%) diff --git a/jd_apple_live.js b/activity/jd_apple_live.js similarity index 100% rename from jd_apple_live.js rename to activity/jd_apple_live.js From 221cba3cf8b0fd8344e0ba900c1c3c0416eca853 Mon Sep 17 00:00:00 2001 From: JunzhouLiu Date: Tue, 15 Dec 2020 13:58:07 +0800 Subject: [PATCH 0411/1259] =?UTF-8?q?=E5=90=AF=E5=8A=A8=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=B7=B2=E6=9B=B4=E6=94=B9=EF=BC=8C=E6=9B=B4=E6=96=B0=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=92=8C=E7=A4=BA=E4=BE=8B=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docker多账户使用独立容器使用说明.md | 80 +++++-------------- docker/example/multi.yml | 5 ++ 2 files changed, 25 insertions(+), 60 deletions(-) diff --git a/docker/example/docker多账户使用独立容器使用说明.md b/docker/example/docker多账户使用独立容器使用说明.md index 394061bc..b8267538 100644 --- a/docker/example/docker多账户使用独立容器使用说明.md +++ b/docker/example/docker多账户使用独立容器使用说明.md @@ -7,10 +7,17 @@ ![image](https://user-images.githubusercontent.com/6993269/97781610-a1af6380-1bc7-11eb-9397-903b47f5ad6b.png) #### `docker-compose.yml`文件参考 ```yaml -version: '3' +version: "3" services: - jd_scripts1: + jd_scripts1: #默认 image: akyakya/jd_scripts + # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过 0.2(单核的20%) + # 经过实际测试,建议不低于200M + # deploy: + # resources: + # limits: + # cpus: '0.2' + # memory: 200M restart: always container_name: jd_scripts1 tty: true @@ -20,15 +27,11 @@ services: - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - TG_USER_ID=12xxxx206 - - CRONTAB_LIST_FILE=crontab_list.sh - command: - - /bin/sh - - -c - - | - git -C /scripts/ pull - crond - node - jd_scripts2: + # 互助助码等参数可自行增加,如下。 + # 京东种豆得豆 + # - PLANT_BEAN_SHARECODES= + + jd_scripts2: #默认 image: akyakya/jd_scripts restart: always container_name: jd_scripts2 @@ -39,36 +42,7 @@ services: - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - TG_USER_ID=12xxxx206 - - CRONTAB_LIST_FILE=crontab_list.sh - command: - - /bin/sh - - -c - - | - git -C /scripts/ pull - crond - node - jd_scripts3: - image: akyakya/jd_scripts - restart: always - container_name: jd_scripts3 - tty: true - volumes: - - ./logs3:/scripts/logs - - ./my_crontab_list3.sh:/scripts/docker/my_crontab_list.sh - environment: - - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; - - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - - TG_USER_ID=12xxxx206 - - CRONTAB_LIST_FILE=my_crontab_list.sh - command: - - /bin/sh - - -c - - | - crontab /scripts/docker/my_crontab_list.sh - git -C /scripts/ pull - crond - node - jd_scripts4: + jd_scripts4: #自定义追加默认之后 image: akyakya/jd_scripts restart: always container_name: jd_scripts4 @@ -80,16 +54,8 @@ services: - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - TG_USER_ID=12xxxx206 - - CRONTAB_LIST_FILE=my_crontab_list.sh - command: - - /bin/sh - - -c - - | - crontab /scripts/docker/my_crontab_list.sh - git -C /scripts/ pull - crond - node - jd_scripts5: + - CUSTOM_LIST_FILE=my_crontab_list.sh + jd_scripts5: #自定义覆盖默认 image: akyakya/jd_scripts restart: always container_name: jd_scripts5 @@ -101,15 +67,9 @@ services: - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - TG_USER_ID=12xxxx206 - - CRONTAB_LIST_FILE=my_crontab_list.sh - command: - - /bin/sh - - -c - - | - crontab /scripts/docker/my_crontab_list.sh - git -C /scripts/ pull - crond - node + - CUSTOM_LIST_FILE=my_crontab_list.sh + - CUSTOM_LIST_MERGE_TYPE=overwrite + ``` #### 目录文件配置好之后在 `jd_scripts_multi`目录执行 `docker-compose up -d` 启动; diff --git a/docker/example/multi.yml b/docker/example/multi.yml index bf7a6347..64606cbc 100644 --- a/docker/example/multi.yml +++ b/docker/example/multi.yml @@ -3,6 +3,7 @@ services: jd_scripts1: #默认 image: akyakya/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过 0.2(单核的20%) + # 经过实际测试,建议不低于200M # deploy: # resources: # limits: @@ -17,6 +18,10 @@ services: - JD_COOKIE=pt_key=AAJfjaNrADAS8ygfgIsOxxxxxxxKpfDaZ2pSBOYTxtPqLK8U1Q;pt_pin=lxxxxxx5; - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - TG_USER_ID=12xxxx206 + # 互助助码等参数可自行增加,如下。 + # 京东种豆得豆 + # - PLANT_BEAN_SHARECODES= + jd_scripts2: #默认 image: akyakya/jd_scripts restart: always From 84303b63f135fcd9e457cd42472fefdd81fb747e Mon Sep 17 00:00:00 2001 From: JunzhouLiu Date: Tue, 15 Dec 2020 13:59:12 +0800 Subject: [PATCH 0412/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E9=99=90=E9=A2=9D=E6=8F=90=E7=A4=BA=EF=BC=8C?= =?UTF-8?q?=E8=BF=87=E5=B0=91=E4=BC=9A=E5=AF=BC=E8=87=B4=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/example/custom-append.yml | 1 + docker/example/custom-overwrite.yml | 1 + docker/example/default.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/docker/example/custom-append.yml b/docker/example/custom-append.yml index 492d501d..98ada21f 100644 --- a/docker/example/custom-append.yml +++ b/docker/example/custom-append.yml @@ -1,6 +1,7 @@ jd_scripts: image: akyakya/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) + # 经过实际测试,建议不低于200M # deploy: # resources: # limits: diff --git a/docker/example/custom-overwrite.yml b/docker/example/custom-overwrite.yml index 3ffc7a6f..5c77199a 100644 --- a/docker/example/custom-overwrite.yml +++ b/docker/example/custom-overwrite.yml @@ -1,6 +1,7 @@ jd_scripts: image: akyakya/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) + # 经过实际测试,建议不低于200M # deploy: # resources: # limits: diff --git a/docker/example/default.yml b/docker/example/default.yml index e9782a3d..d6cdfe8d 100644 --- a/docker/example/default.yml +++ b/docker/example/default.yml @@ -1,6 +1,7 @@ jd_scripts: image: akyakya/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) + # 经过实际测试,建议不低于200M # deploy: # resources: # limits: From de4d3f794c4f6c8a5b0b3844a88fe12a53a20a2d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 15 Dec 2020 14:16:23 +0800 Subject: [PATCH 0413/1259] update --- Loon/lxk0301_LoonTask.conf | 6 +++--- QuantumultX/lxk0301_gallery.json | 6 +++--- Surge/lxk0301_Task.sgmodule.sgmodule | 8 ++++---- docker/crontab_list.sh | 8 ++++---- docker/crontab_list_ts.sh | 8 ++++---- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 7b6efb2b..e4cbc78f 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -109,8 +109,8 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 #直播红包雨 -cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 +cron "0 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 # 金融打卡领年终奖 -cron "10 6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 +cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 \ No newline at end of file +cron "10 0 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 \ No newline at end of file diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index e25de230..dee1233f 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -31,8 +31,8 @@ "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "10 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" + "0 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "10 12 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "15 17 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] } diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 74c8b45b..9fda572e 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -65,11 +65,11 @@ cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 #以下为短期活动 #金融打卡领年终奖 -cron "30 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 +cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 #健康抽奖机 -cron "30 2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 +cron "30 2 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 #直播红包雨(2020-12-31活动结束) -cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, timeout=750, wake-system=1, tag=直播红包雨 +cron "0 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, timeout=750, wake-system=1, tag=直播红包雨 #秒杀红包雨(2020-12-31活动结束) -cron "20 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 +cron "20 9 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index abab90a1..fe20f5eb 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -5,13 +5,13 @@ ##############短期活动############## # 秒杀红包雨(2020.12.31活动过期) -40 8 * * * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 +40 8 1-31 12 * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) -10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 +10 0 1-31 12 * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 # 直播红包雨(2020.12.31活动过期) -0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 +0 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 # 京东金融打卡领年终奖(2020.12.31活动过期) -10 6 * * * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 +10 6 1-31 12 * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 ##############长期活动############## # 签到 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 2942119f..31f4708e 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -5,13 +5,13 @@ ##############短期活动############## # 秒杀红包雨(2020.12.31活动过期) -40 8 * * * node /scripts/jd_ms_redrain.js | ts >> /scripts/logs/jd_ms_redrain.log 2>&1 +40 8 1-31 12 * node /scripts/jd_ms_redrain.js | ts >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) -10 0 * * * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 +10 0 1-31 12 * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 # 直播红包雨(2020.12.31活动过期) -0 0,9,11,13,15,17,19,20,21,23 * * * node /scripts/jd_live_redrain.js | ts >> /scripts/logs/jd_live_redrain.log 2>&1 +0 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js | ts >> /scripts/logs/jd_live_redrain.log 2>&1 # 京东金融打卡领年终奖(2020.12.31活动过期) -10 6 * * * node /scripts/jr_sign.js | ts >> /scripts/logs/jr_sign.log 2>&1 +10 6 1-31 12 * node /scripts/jr_sign.js | ts >> /scripts/logs/jr_sign.log 2>&1 ##############长期活动############## # 签到 From b6bb0d012ec3a43d39b706bf992eebb7a6258b0d Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 15 Dec 2020 14:37:29 +0800 Subject: [PATCH 0414/1259] =?UTF-8?q?fix=E4=BA=91=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix云函数无法使用的问题 --- jd_live_redrain.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 6c83ead7..c17a32ac 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -68,7 +68,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; } await getRedRain(); if(!$.activityId) return - let nowTs = new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 + let nowTs = new Date().getTime() if (!($.st <= nowTs && nowTs < $.ed)) { console.log(`不在红包雨时间之内`) return @@ -178,7 +178,7 @@ function receiveRedRain() { 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}`, + 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", @@ -257,4 +257,4 @@ function jsonParse(str) { } } // 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 +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)} From 384609cc9f2373cb990c31f378213c3635e8746d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 15 Dec 2020 16:31:58 +0800 Subject: [PATCH 0415/1259] fix --- QuantumultX/lxk0301_gallery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index dee1233f..d759cf49 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -33,6 +33,6 @@ "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "0 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 12 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "15 17 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" + "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] } From bc4f57c5a41834a089b828ef6820c7e9bcb08dc5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 15 Dec 2020 17:19:09 +0800 Subject: [PATCH 0416/1259] debug --- jd_live_redrain.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index c17a32ac..31e95302 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -118,7 +118,7 @@ async function showMsg() { function getRedRain() { return new Promise(resolve => { $.get({ - url: "http://ql4kk90rw.hb-bkt.clouddn.com/jd_live_redRain.json", + url: "http://ql4kk90rw.hb-bkt.clouddn.com/jd_live_redRain.json?" + Date.now(), }, (err, resp, data) => { try { if (err) { From 0f4bc82cd692d90673e75ee7c76f2505131a7513 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 15 Dec 2020 20:51:59 +0800 Subject: [PATCH 0417/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=81=A5=E5=BA=B7A?= =?UTF-8?q?PP=E9=9B=86=E6=B1=AA=E6=B1=AA=E5=8D=A1=E7=93=9C=E5=88=86?= =?UTF-8?q?=E7=99=BE=E4=B8=87=E7=BA=A2=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdh.js | 436 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 436 insertions(+) create mode 100644 jd_jdh.js diff --git a/jd_jdh.js b/jd_jdh.js new file mode 100644 index 00000000..171c2966 --- /dev/null +++ b/jd_jdh.js @@ -0,0 +1,436 @@ +/* +京东健康 +京东健康APP集汪汪卡瓜分百万红包 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东健康 +10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, enabled=true + +================Loon============== +[Script] +cron "10 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 + +===============Surge================= +京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js + +============小火箭========= +京东健康 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, cronexpr="10 8 * * *", timeout=200, 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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +const JD_API_HOST = 'https://api.m.jd.com/api'; +!(async () => { + $.newShareCodes = []; + 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 = ''; + 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 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 queryTask(22,"20201215") // TODO:打卡尚未完成 + 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.data.msg) + // 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.data.msg) + // 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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)} From fb96f592e0bb1b9fcba607e22f2eb2e1e3548b69 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 15 Dec 2020 21:25:41 +0800 Subject: [PATCH 0418/1259] =?UTF-8?q?=E7=9C=8B=E4=B8=80=E7=9C=8B=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_watch.js | 355 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 355 insertions(+) create mode 100644 jd_watch.js diff --git a/jd_watch.js b/jd_watch.js new file mode 100644 index 00000000..37aa0aeb --- /dev/null +++ b/jd_watch.js @@ -0,0 +1,355 @@ +/* +发现-看一看 +活动结束时间未知 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东看一看 +10 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东看一看, enabled=true + +================Loon============== +[Script] +cron "10 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js,tag=京东看一看 + +===============Surge================= +京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js + +============小火箭========= +京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, cronexpr="10 9 * * *", timeout=200, enable=true + */ +const $ = new Env('京东看一看'); +let acceptBody = [ + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22222182621%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B%2F4Vedgo62xKQRoAb47%2Bpyu1EQs%2F6971aUvk0BQAsZLyQAYeid%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*2208&sign=84dc1001ac07f4e76089327d6faba3c1&st=1607939151889&sv=100&uts=0f31TVRjBStSN%2FKN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h%2Fhn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq%2FyMw%2FHbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn%2FAC%2B%2FtEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv%2FT6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223385042%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=8913ca8694f8e04eebf07b994b9b0f2c&st=1607940119560&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239627468%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=dc7c2aa7663f3e1e87687628ef9bd607&st=1607940478266&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22235749053%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=a441bc641f97fed826548ec4f81d0c01&st=1607940580828&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241246550%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=8237cc1e9ab3d197d99a2a8e42821228&st=1607940616125&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=3b26350aa4813cc58f537d254cef1381&st=1607941830656&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239262567%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=6c3be4f4bbfe9c7dc16253273cb5a4e8&st=1607941861671&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239197279%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=f736c5c270286d877f1c7658b6a3b218&st=1607941893722&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=72c78c0d253870098424ecf5fd598391&st=1607942065040&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=967b0132a5e6c57e4b55fd530ce5d864&st=1607942099901&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238852516%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=f4271a399bec14e4a010cf931475540b&st=1607942136493&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239419452%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=089d650b172d2f3fbe7bd207fad0dff5&st=1607942184055&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240878964%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=958c79b9cbca50e141b7871a47f29ffe&st=1607942219215&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278800%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=1ebd2c11de4d7407bf03702b9eb11c9f&st=1607942241813&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22236056333%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=e2348c6d637930fb13da4da8ea946b99&st=1607942267034&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241016843%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=267f44eb16489aefc863c8992626e3ef&st=1607942297754&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239792675%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=c1dc1b45b176cb9099849169d3b688b4&st=1607942327702&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=84b046799d54be0abb95c15b08ccdf5d&st=1607942361963&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239028698%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=7447200d20ce7e357489007cb7f8b7b4&st=1607942386591&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240509434%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=3bb0d5772fcdbf13f135b0b33ec21bd0&st=1607942408797&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239764501%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=8c973b9f2346cea446e6b5193c5fcb78&st=1607942429545&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239265880%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=dd8fff6cb1f86e732fbae139b79a1c15&st=1607942453203&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240059579%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=48d104cdfb793f9d2610b2807d95f35f&st=1607942491325&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239030988%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=315a7fc179b212d646c0309fbad16846&st=1607942516166&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240151555%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=88aba6e6d8cb155d81345ca97313411e&st=1607942536254&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238494959%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=0a0abe64912010063357994e08bfcf71&st=1607942561832&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240123411%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=c886285ff195e5452019ec58ab731b21&st=1607942592941&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232588857%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=a0006c613b72237896b1e506a605a88a&st=1607942612226&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=bee709c9a05586d4c267915e8e0cc66e&st=1607942638439&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237830562%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=58707f178924e171b82ebc65694a5ac7&st=1607942654413&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238829837%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=93ac49b01f2fc680675c985b7e52475e&st=1607942683851&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239062551%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=cbb2310d1ca21c46e98535162915809b&st=1607942705320&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239457431%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=c8206ed886a140d8daf1d208d9abdd8e&st=1607942738580&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239685372%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=ec0ff898d0aa87effb244b81cec8a5ca&st=1607942759429&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239521752%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=9e77d21c34adf76988e81a43b6acd665&st=1607942791723&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" +] +let doBody = [ + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22222182621%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=0c909d4c02f2641931ae4443ddc1cdd2&st=1607939161979&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223385042%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=c37f184a5ffc49ecb0c812727e78a00c&st=1607940129647&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239627468%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=0515f98547edf3deb0027ee36e9c4c1e&st=1607940488455&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22235749053%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=d1a345220c71190222ff4a8250562f6e&st=1607940590914&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241246550%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=2051827d5d3486a8a35a1a2ad86272b6&st=1607940626326&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=12dd1e98fc2dce672987882fe47720d7&st=1607941841174&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239262567%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=1d9aa649182a24640e6b54d7f687c6d3&st=1607941871950&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239197279%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=9515030beee0fa6766927f9f5ee607d4&st=1607941903888&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=eee8560d239be53c22a42302e720d88e&st=1607942075121&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=9a2f3b396d8ad7257b0534b51b698d2a&st=1607942110024&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238852516%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=180da2ae649f9296e623871a4fac032b&st=1607942146691&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239419452%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=b2d48b7ddb774c1abb4422ec008b8528&st=1607942194140&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240878964%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=b6e51f8c3c56c013d89656f7629ebf09&st=1607942229408&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278800%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=0148a358ee23df000467450fbb7b4cd5&st=1607942252191&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22236056333%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=5c59e589bd2d1ae55aa36e5a93ef177c&st=1607942277115&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241016843%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=3b0a24aa968dd326f0afb82990214c2d&st=1607942307944&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239792675%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=c25375cd069b1ae44f0305268a5e292b&st=1607942337897&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=d4b18b3941c8f63ff38ccb28cad80bb0&st=1607942372046&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239028698%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=db83e0260bd8093ff0a5b1a989d3b503&st=1607942396677&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240509434%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=8e3382d8efac7fe2ffc993b68942615b&st=1607942418993&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239764501%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=bf9e4d179c2e1766b5fc19cdc35e6823&st=1607942439748&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239265880%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=9608035721c3a99c007d9856d2a45a71&st=1607942463296&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240059579%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=940c61ad9a2a7064c884ab4874b23f6f&st=1607942501520&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239030988%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=c971d1164346ae8cb6ba72521f080dc2&st=1607942526356&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240151555%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=b5020e659c2df0113083d52631613c64&st=1607942546445&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238494959%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=83ac127f7e71ed02dd062857197b1f3c&st=1607942572015&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240123411%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=cb3671dc84fc51261329b2e78c830b69&st=1607942603135&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232588857%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=ec5d202be38de88552c8cc5eb6cf1d08&st=1607942622306&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=0db3e34634f360f304fa532d6f4146ff&st=1607942648631&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237830562%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=ae9e17917b5f5e8a39d56828cb9259e2&st=1607942664557&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238829837%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=54b1e1817c0e00db5c9df8a9772344f5&st=1607942694042&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239062551%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=5ed763e9abab1af67928e45321aba0f2&st=1607942715560&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239457431%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=3d3ac817436cdbc808d53ec13b496bea&st=1607942748771&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239685372%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=c3b8bde25348b0a915bd09d0dd73370a&st=1607942769620&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239521752%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=63dfc1502c2a99684f1105223beb4f51&st=1607942801832&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" +] +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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +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; + $.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 jdHealth() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) +async function jdHealth() { + $.bean = 0 + await getTaskList() + if($.task) { + for (let i = $.task.times; i < $.task.maxTimes; ++i) { + if (!acceptBody[i]) break + let res = await acceptTask(acceptBody[i]) + if (res['success']) { + await $.wait(12000) + await doTask(doBody[i]) + } + } + await reward() + await showMsg(); + } +} + +function showMsg() { + return new Promise(resolve => { + if (!jdNotify) { + $.msg($.name, '', `${message}`); + } else { + $.log(`京东账号${$.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); + $.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 = "body=%7B%22taskId%22%3A%222%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=23e57970b79e373fd94ae8ac75ba9777&st=1607943120275&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%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}`) + }else{ + console.log(`领奖失败,${data.message}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +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', + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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)} From 84c3f1078aa0a7192ce966f7dea44fb03a27bcc7 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 15 Dec 2020 21:27:40 +0800 Subject: [PATCH 0419/1259] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=A2=9E=E5=8A=A0d?= =?UTF-8?q?ocker=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E5=90=AB=E4=BB=A3=E5=B1=9E=E7=AD=BE=E5=88=B0=E5=92=8C?= =?UTF-8?q?=E5=BF=AB=E9=80=92=E7=AD=BE=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 ++ docker/crontab_list_ts.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index fe20f5eb..245aa4eb 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -76,3 +76,5 @@ 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 +# 京东健康APP集汪汪卡瓜分百万红包 +10 8 * * * node /scripts/jd_jdh.js >> /scripts/logs/jd_jdh.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 31f4708e..d013e279 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -76,3 +76,5 @@ 33 4 * * * node /scripts/jd_bean_home.js | ts >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js | ts >> /scripts/logs/jd_live.log 2>&1 +# 京东健康APP集汪汪卡瓜分百万红包 +10 8 * * * node /scripts/jd_jdh.js | ts >> /scripts/logs/jd_jdh.log 2>&1 From 1f4e3659455d6026df1e57000e0292599e8cdde3 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 15 Dec 2020 21:37:59 +0800 Subject: [PATCH 0420/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=81=A5=E5=BA=B7A?= =?UTF-8?q?PP=E9=9B=86=E6=B1=AA=E6=B1=AA=E5=8D=A1=E7=93=9C=E5=88=86?= =?UTF-8?q?=E7=99=BE=E4=B8=87=E7=BA=A2=E5=8C=85=E4=B8=BA=E7=9F=AD=E6=9C=9F?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 4 ++-- docker/crontab_list_ts.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 245aa4eb..597c1cba 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -12,6 +12,8 @@ 0 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 # 京东金融打卡领年终奖(2020.12.31活动过期) 10 6 1-31 12 * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 +# 京东健康APP集汪汪卡瓜分百万红包(2021.1.6活动过期) +10 8 * * * node /scripts/jd_jdh.js >> /scripts/logs/jd_jdh.log 2>&1 ##############长期活动############## # 签到 @@ -76,5 +78,3 @@ 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 -# 京东健康APP集汪汪卡瓜分百万红包 -10 8 * * * node /scripts/jd_jdh.js >> /scripts/logs/jd_jdh.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index d013e279..08d00763 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -12,6 +12,8 @@ 0 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js | ts >> /scripts/logs/jd_live_redrain.log 2>&1 # 京东金融打卡领年终奖(2020.12.31活动过期) 10 6 1-31 12 * node /scripts/jr_sign.js | ts >> /scripts/logs/jr_sign.log 2>&1 +# 京东健康APP集汪汪卡瓜分百万红包(2021.1.6活动过期) +10 8 * * * node /scripts/jd_jdh.js | ts >> /scripts/logs/jd_jdh.log 2>&1 ##############长期活动############## # 签到 @@ -76,5 +78,3 @@ 33 4 * * * node /scripts/jd_bean_home.js | ts >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js | ts >> /scripts/logs/jd_live.log 2>&1 -# 京东健康APP集汪汪卡瓜分百万红包 -10 8 * * * node /scripts/jd_jdh.js | ts >> /scripts/logs/jd_jdh.log 2>&1 From 4b6cc92a355bc98deba7d2c545e5257747f6624a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 15 Dec 2020 23:09:51 +0800 Subject: [PATCH 0421/1259] Update lxk0301_Task.sgmodule.sgmodule --- Surge/lxk0301_Task.sgmodule.sgmodule | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 9fda572e..c2a00138 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -63,6 +63,10 @@ cron "30 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 + +#京东健康 +cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, timeout=750, wake-system=1, tag=京东健康 + #以下为短期活动 #金融打卡领年终奖 cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 From 02b53f1733b26919efe9817565d20ac7a8615575 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 15 Dec 2020 23:10:53 +0800 Subject: [PATCH 0422/1259] Update lxk0301_LoonTask.conf --- Loon/lxk0301_LoonTask.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index e4cbc78f..73e62faa 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -102,6 +102,9 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 领京豆额外奖励 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 +# 京东健康 +cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 + # 京东秒杀红包雨 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 From 70488521d2cb80685433e4fe2b18b0200f61507d Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 15 Dec 2020 23:41:36 +0800 Subject: [PATCH 0423/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E5=81=A5=E5=BA=B7APP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东健康APP --- serverless.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serverless.yml b/serverless.yml index e0bebd53..e7800241 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: # 京豆变动通知 # 京东排行榜 # 领京豆额外奖励 # 京东汽车 + - timer: # 京豆变动通知 # 京东排行榜 # 领京豆额外奖励 # 京东汽车 #京东健康APP parameters: - name: bean_change_rankingList_bean_home_car - cronExpression: "0 0 10 * * * *" + name: bean_change_rankingList_bean_home_car_jdh + cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_rankingList&jd_bean_home&jd_car + argument: jd_bean_change&jd_rankingList&jd_bean_home&jd_car&jd_jdh - timer: # 金融养猪#十元街# 京东快递# 金融打卡领年终奖 parameters: name: pigPet_syj_kd_jr_sign From 7ee8888076f41aad1ff7d4de10e3950a1ba2d736 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 15 Dec 2020 23:42:25 +0800 Subject: [PATCH 0424/1259] =?UTF-8?q?=E6=B1=BD=E8=BD=A6=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E5=85=91=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_car.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/jd_car.js b/jd_car.js index 58e46cb4..ce67fe7c 100644 --- a/jd_car.js +++ b/jd_car.js @@ -82,6 +82,7 @@ const JD_API_HOST = 'https://car-member.jd.com/api/'; }) async function jdCar() { + await check() await sign() await $.wait(1000) await mission() @@ -96,6 +97,29 @@ function showMsg() { }) } +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) => { From 020a5e14eda88f5d36e446688f7c4d4d5fffac3e Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 16 Dec 2020 00:36:52 +0800 Subject: [PATCH 0425/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=B5=9A=E8=B5=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdzz.js | 479 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 479 insertions(+) create mode 100644 jd_jdzz.js diff --git a/jd_jdzz.js b/jd_jdzz.js new file mode 100644 index 00000000..80f96d4e --- /dev/null +++ b/jd_jdzz.js @@ -0,0 +1,479 @@ +/* +京东赚赚 +活动入口:京东赚赚小程序 +长期活动,每日收益2毛左右,多号互助会较多 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +# 京东赚赚 +0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, enabled=true + +================Loon============== +[Script] +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 + +===============Surge================= +京东赚赚 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js + +============小火箭========= +京东赚赚 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, cronexpr="0 0 * * *", timeout=200, enable=true + */ +const $ = new Env('京东赚赚'); +const notify = $.isNode() ? require('./sendNotify') : ''; +//Node.js用户请在jdCookie.js处填写京东ck; +const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +let helpAuthor=true; // 帮助作者 +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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +const JD_API_HOST = 'https://api.m.jd.com/client.action'; +const inviteCodes = [ + `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg`, + `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg` +] +!(async () => { + $.tuanList = [] + await requireConfig(); + if (helpAuthor) await getAuthorShareCode('https://gitee.com/shylocks/updateTeam/raw/main/jd_zz.json'); + 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 = ''; + 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 shareCodesFormat() + await jdWish() + } + } + for (let i = 0; i < cookiesArr.length; i++) { + $.canHelp = true + if (cookiesArr[i]) { + cookie = cookiesArr[i]; + for (let j = 0; j < $.tuanList.length; ++j) { + await helpFriendTuan($.tuanList[j]) + if(!$.canHelp) break + } + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdWish() { + $.bean = 0 + $.tuan = null + $.hasOpen = false + await getUserTuanInfo() + if (!$.tuan) { + await openTuan() + if ($.hasOpen) await getUserTuanInfo() + } + if ($.tuan) $.tuanList.push($.tuan) + + await helpFriends() + await getUserInfo() + await getTaskList() + $.nowBean = parseInt($.totalBeanNum) + $.nowNum = parseInt($.totalNum) + for (let i = 0; i < $.taskList.length; ++i) { + let task = $.taskList[i] + if (task['taskId'] === 1 && task['status'] !== 2) { + console.log(`去做任务:${task.taskName}`) + await doTask({"taskId": task['taskId']}) + } else if (task['taskId'] !== 3 && task['status'] !== 2) { + console.log(`去做任务:${task.taskName}`) + await doTask({"taskId": task['taskId']}) + } + } + await getTaskList(); + await showMsg(); +} + +async function showMsg() { + message += `本次获得${parseInt($.totalBeanNum) - $.nowBean}京豆,${parseInt($.totalNum) - $.nowNum}金币\n` + message += `累计获得${$.totalBeanNum}京豆,${$.totalNum}金币\n` + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); + // 云端大于10元无门槛红包时进行通知推送 + if ($.isNode() && $.totalScore >= 10000) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n当前金币:${$.totalScore}个\n可兑换无门槛红包:${parseInt($.totalNum) / 1000}元\n`,) +} +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 { + $.tuanList = $.tuanList.concat(JSON.parse(data)) + console.log(`作者助力码获取成功`) + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function helpFriendTuan(body) { + return new Promise(resolve => { + $.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('助力成功') + } else { + if (data.resultCode === '9200008') console.log('不能助力自己') + else if (data.resultCode === '9200011') console.log('已经助力过') + else if (data.resultCode === '2400205') console.log('团已满') + else if (data.resultCode === '2400203') {console.log('助力次数已满');$.canHelp = false} + else console.log(`未知错误`) + } + } + } + } 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.data.canStartNewAssist) + $.tuan = { + "activityIdEncrypted": data.data.id, + "assistStartRecordId": data.data.assistStartRecordId, + "assistedPinEncrypted": data.data.encPin, + "channel": "FISSION_BEAN" + } + $.tuanActId = data.data.id + } + } + } 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']) { + $.hasOpen = true + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function getUserInfo() { + return new Promise(resolve => { + $.get(taskUrl("interactIndex"), 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.shareTaskRes) + console.log(`您的好友助力码为${data.data.shareTaskRes.itemId}`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function getTaskList() { + return new Promise(resolve => { + $.get(taskUrl("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); + $.taskList = data.data.taskDetailResList + $.totalNum = data.data.totalNum + $.totalBeanNum = data.data.totalBeanNum + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +// 完成 +function doTask(body, func = "doInteractTask") { + // console.log(taskUrl("doInteractTask", body)) + return new Promise(resolve => { + $.get(taskUrl(func, 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 (func === "doInteractTask") { + if (data.subCode === "S000") { + console.log(`任务完成,获得 ${data.data.taskDetailResList[0].incomeAmountConf} 金币,${data.data.taskDetailResList[0].beanNum} 京豆`) + $.bean += parseInt(data.data.taskDetailResList[0].beanNum) + } else { + console.log(`任务失败,错误信息:${data.message}`) + } + } else { + console.log(`${data.data.helpResDesc}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +async function helpFriends() { + for (let code of $.newShareCodes) { + if (!code) continue + await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.1.0"}, "doHelpTask") + } +} + +//格式化助力码 +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 taskUrl(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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Accept-Encoding': 'gzip, deflate, br', + } + } +} + +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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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', + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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)} From 83b4752187861cf079b988b906270a149188f03f Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 16 Dec 2020 08:52:30 +0800 Subject: [PATCH 0426/1259] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=89=93=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdh.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_jdh.js b/jd_jdh.js index 171c2966..21af04a6 100644 --- a/jd_jdh.js +++ b/jd_jdh.js @@ -106,7 +106,7 @@ async function jdJdh() { await queryTask(18,"2951198") // 看名医直播 await queryTask(17,"246147") // await queryTask(24, t) // 辟谣 - // await queryTask(22,"20201215") // TODO:打卡尚未完成 + 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)}`) // 走路,这个可以直接提示领奖结果 // 以下两个需要开启家庭医生才能完成 From 19edfc3b57597c3e5e821df645ecdb9eb027bf33 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 16 Dec 2020 09:24:40 +0800 Subject: [PATCH 0427/1259] =?UTF-8?q?=E7=9C=8B=E4=B8=80=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_watch.js | 72 +---------------------------------------------------- 1 file changed, 1 insertion(+), 71 deletions(-) diff --git a/jd_watch.js b/jd_watch.js index 37aa0aeb..d0040e3a 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -20,78 +20,8 @@ cron "10 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip */ const $ = new Env('京东看一看'); let acceptBody = [ - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22222182621%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B%2F4Vedgo62xKQRoAb47%2Bpyu1EQs%2F6971aUvk0BQAsZLyQAYeid%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*2208&sign=84dc1001ac07f4e76089327d6faba3c1&st=1607939151889&sv=100&uts=0f31TVRjBStSN%2FKN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h%2Fhn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq%2FyMw%2FHbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn%2FAC%2B%2FtEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv%2FT6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223385042%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=8913ca8694f8e04eebf07b994b9b0f2c&st=1607940119560&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239627468%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=dc7c2aa7663f3e1e87687628ef9bd607&st=1607940478266&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22235749053%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=a441bc641f97fed826548ec4f81d0c01&st=1607940580828&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241246550%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=8237cc1e9ab3d197d99a2a8e42821228&st=1607940616125&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=3b26350aa4813cc58f537d254cef1381&st=1607941830656&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239262567%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=6c3be4f4bbfe9c7dc16253273cb5a4e8&st=1607941861671&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239197279%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=f736c5c270286d877f1c7658b6a3b218&st=1607941893722&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=72c78c0d253870098424ecf5fd598391&st=1607942065040&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=967b0132a5e6c57e4b55fd530ce5d864&st=1607942099901&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238852516%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=f4271a399bec14e4a010cf931475540b&st=1607942136493&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239419452%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=089d650b172d2f3fbe7bd207fad0dff5&st=1607942184055&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240878964%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=958c79b9cbca50e141b7871a47f29ffe&st=1607942219215&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278800%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=1ebd2c11de4d7407bf03702b9eb11c9f&st=1607942241813&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22236056333%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=e2348c6d637930fb13da4da8ea946b99&st=1607942267034&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241016843%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=267f44eb16489aefc863c8992626e3ef&st=1607942297754&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239792675%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=c1dc1b45b176cb9099849169d3b688b4&st=1607942327702&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=84b046799d54be0abb95c15b08ccdf5d&st=1607942361963&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239028698%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=7447200d20ce7e357489007cb7f8b7b4&st=1607942386591&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240509434%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=3bb0d5772fcdbf13f135b0b33ec21bd0&st=1607942408797&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239764501%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=8c973b9f2346cea446e6b5193c5fcb78&st=1607942429545&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239265880%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=dd8fff6cb1f86e732fbae139b79a1c15&st=1607942453203&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240059579%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=48d104cdfb793f9d2610b2807d95f35f&st=1607942491325&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239030988%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=315a7fc179b212d646c0309fbad16846&st=1607942516166&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240151555%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=88aba6e6d8cb155d81345ca97313411e&st=1607942536254&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238494959%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=0a0abe64912010063357994e08bfcf71&st=1607942561832&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240123411%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=c886285ff195e5452019ec58ab731b21&st=1607942592941&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232588857%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=a0006c613b72237896b1e506a605a88a&st=1607942612226&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=bee709c9a05586d4c267915e8e0cc66e&st=1607942638439&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237830562%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=58707f178924e171b82ebc65694a5ac7&st=1607942654413&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238829837%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=93ac49b01f2fc680675c985b7e52475e&st=1607942683851&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239062551%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=cbb2310d1ca21c46e98535162915809b&st=1607942705320&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239457431%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=c8206ed886a140d8daf1d208d9abdd8e&st=1607942738580&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239685372%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=ec0ff898d0aa87effb244b81cec8a5ca&st=1607942759429&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239521752%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22mType%22%3A0%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=9e77d21c34adf76988e81a43b6acd665&st=1607942791723&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" -] + ] let doBody = [ - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22222182621%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=0c909d4c02f2641931ae4443ddc1cdd2&st=1607939161979&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223385042%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=c37f184a5ffc49ecb0c812727e78a00c&st=1607940129647&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239627468%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=0515f98547edf3deb0027ee36e9c4c1e&st=1607940488455&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22235749053%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=d1a345220c71190222ff4a8250562f6e&st=1607940590914&sv=110&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241246550%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=2051827d5d3486a8a35a1a2ad86272b6&st=1607940626326&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=12dd1e98fc2dce672987882fe47720d7&st=1607941841174&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239262567%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=1d9aa649182a24640e6b54d7f687c6d3&st=1607941871950&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239197279%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=9515030beee0fa6766927f9f5ee607d4&st=1607941903888&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=eee8560d239be53c22a42302e720d88e&st=1607942075121&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=9a2f3b396d8ad7257b0534b51b698d2a&st=1607942110024&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238852516%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=180da2ae649f9296e623871a4fac032b&st=1607942146691&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239419452%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=b2d48b7ddb774c1abb4422ec008b8528&st=1607942194140&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240878964%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=b6e51f8c3c56c013d89656f7629ebf09&st=1607942229408&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278800%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=0148a358ee23df000467450fbb7b4cd5&st=1607942252191&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22236056333%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=5c59e589bd2d1ae55aa36e5a93ef177c&st=1607942277115&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241016843%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=3b0a24aa968dd326f0afb82990214c2d&st=1607942307944&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239792675%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=c25375cd069b1ae44f0305268a5e292b&st=1607942337897&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=d4b18b3941c8f63ff38ccb28cad80bb0&st=1607942372046&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239028698%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=db83e0260bd8093ff0a5b1a989d3b503&st=1607942396677&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240509434%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=8e3382d8efac7fe2ffc993b68942615b&st=1607942418993&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239764501%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=bf9e4d179c2e1766b5fc19cdc35e6823&st=1607942439748&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239265880%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=9608035721c3a99c007d9856d2a45a71&st=1607942463296&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240059579%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=940c61ad9a2a7064c884ab4874b23f6f&st=1607942501520&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239030988%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=c971d1164346ae8cb6ba72521f080dc2&st=1607942526356&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240151555%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=b5020e659c2df0113083d52631613c64&st=1607942546445&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238494959%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=83ac127f7e71ed02dd062857197b1f3c&st=1607942572015&sv=121&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240123411%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=cb3671dc84fc51261329b2e78c830b69&st=1607942603135&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232588857%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=ec5d202be38de88552c8cc5eb6cf1d08&st=1607942622306&sv=102&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=0db3e34634f360f304fa532d6f4146ff&st=1607942648631&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237830562%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=ae9e17917b5f5e8a39d56828cb9259e2&st=1607942664557&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238829837%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=54b1e1817c0e00db5c9df8a9772344f5&st=1607942694042&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239062551%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=5ed763e9abab1af67928e45321aba0f2&st=1607942715560&sv=111&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239457431%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=3d3ac817436cdbc808d53ec13b496bea&st=1607942748771&sv=122&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239685372%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=c3b8bde25348b0a915bd09d0dd73370a&st=1607942769620&sv=120&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239521752%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%222%22%2C%22role%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=63dfc1502c2a99684f1105223beb4f51&st=1607942801832&sv=101&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" ] const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; From 03974a2e9b3223c068485b40898007d34ff992da Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 16 Dec 2020 09:53:55 +0800 Subject: [PATCH 0428/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=8F=91=E7=8E=B0=E7=9C=8B=E4=B8=80=E7=9C=8B=E3=80=81?= =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=B5=9A=E8=B5=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增发现看一看、京东赚赚 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index e7800241..faf47ded 100644 --- a/serverless.yml +++ b/serverless.yml @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_rankingList&jd_bean_home&jd_car&jd_jdh - - timer: # 金融养猪#十元街# 京东快递# 金融打卡领年终奖 + - timer: #金融养猪 #十元街 #京东快递 #发现-看一看 #京东赚赚 #金融打卡领年终奖 parameters: - name: pigPet_syj_kd_jr_sign + name: pigPet_syj_kd_watch_jdzz_jr_sign cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jr_sign + argument: jd_pigPet&jd_syj&jd_kd&jd_watch&jd_jdzz&jr_sign environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 7d5e4b0f9fec98040c9ea731c353ea24ccdc92c1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 16 Dec 2020 10:04:55 +0800 Subject: [PATCH 0429/1259] =?UTF-8?q?=E4=B8=89=E5=A4=A7task=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E4=BB=A5=E5=8F=8Adocker=E6=B7=BB=E5=8A=A0=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E8=B5=9A=E8=B5=9A=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 ++- QuantumultX/lxk0301_gallery.json | 2 ++ Surge/lxk0301_Task.sgmodule.sgmodule | 5 +++-- docker/crontab_list.sh | 4 ++++ docker/crontab_list_ts.sh | 4 ++++ jd_jdh.js | 2 +- jd_jdzz.js | 7 ++++--- 7 files changed, 20 insertions(+), 7 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 73e62faa..a4fdd271 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -104,7 +104,8 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 京东健康 cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 - +# 京东赚赚 +cron "10 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 # 京东秒杀红包雨 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index d759cf49..ec66c7f0 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -31,6 +31,8 @@ "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png", + "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", "0 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 12 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index c2a00138..4067cd4f 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -28,7 +28,7 @@ cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri #京东摇钱树 cron "15 */5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js,timeout=130, wake-system=1, tag=京东摇钱树 #摇京豆 -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js, timeout=50, wake-system=1, tag=摇京豆 +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js, timeout=1150, wake-system=1, tag=摇京豆 #京小超 cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js,timeout=530, wake-system=1, tag=京小超 京小超兑换奖品 @@ -66,7 +66,8 @@ cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri #京东健康 cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, timeout=750, wake-system=1, tag=京东健康 - +#京东赚赚 +cron "20 17 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 #以下为短期活动 #金融打卡领年终奖 cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 597c1cba..3406397c 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -78,3 +78,7 @@ 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 +#微信小程序京东赚赚 +10 11 * * * node /scripts/jd_jdzz.js >> /scripts/logs/jd_jdzz.log 2>&1 +#宠汪汪邀请助力 +10 10,11 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 08d00763..1fb446fc 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -78,3 +78,7 @@ 33 4 * * * node /scripts/jd_bean_home.js | ts >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js | ts >> /scripts/logs/jd_live.log 2>&1 +#微信小程序京东赚赚 +10 11 * * * node /scripts/jd_jdzz.js | ts >> /scripts/logs/jd_jdzz.log 2>&1 +#宠汪汪邀请助力 +10 10,11 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1 diff --git a/jd_jdh.js b/jd_jdh.js index 21af04a6..4157aa9c 100644 --- a/jd_jdh.js +++ b/jd_jdh.js @@ -6,7 +6,7 @@ ============Quantumultx=============== [task_local] #京东健康 -10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, enabled=true +10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png, enabled=true ================Loon============== [Script] diff --git a/jd_jdzz.js b/jd_jdzz.js index 80f96d4e..1de62ccd 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -1,5 +1,6 @@ /* 京东赚赚 +可以做随机互助 活动入口:京东赚赚小程序 长期活动,每日收益2毛左右,多号互助会较多 已支持IOS双京东账号,Node.js支持N个京东账号 @@ -7,7 +8,7 @@ ============Quantumultx=============== [task_local] # 京东赚赚 -0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, enabled=true +0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true ================Loon============== [Script] @@ -43,8 +44,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg`, - `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg` + `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5mf7ExDZdDmH7j3wfkA`, + `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA` ] !(async () => { $.tuanList = [] From f6d67da45ebaa47b860fa019b61479a975e931ca Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 16 Dec 2020 11:07:38 +0800 Subject: [PATCH 0430/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E5=AE=A0?= =?UTF-8?q?=E6=B1=AA=E6=B1=AA=E9=82=80=E8=AF=B7=E5=8A=A9=E5=8A=9B=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E9=9A=8F=E6=9C=BA=E4=BA=92=E5=8A=A9=EF=BC=8C=E5=9B=A0?= =?UTF-8?q?token=E6=97=B6=E6=95=88=E9=97=AE=E9=A2=98=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E5=AE=9A=E6=9C=89=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdzz.js | 17 +++++++++------ jd_joy_run.js | 59 ++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 52 insertions(+), 24 deletions(-) diff --git a/jd_jdzz.js b/jd_jdzz.js index 1de62ccd..fe98fb27 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -127,12 +127,15 @@ async function jdWish() { await showMsg(); } -async function showMsg() { - message += `本次获得${parseInt($.totalBeanNum) - $.nowBean}京豆,${parseInt($.totalNum) - $.nowNum}金币\n` - message += `累计获得${$.totalBeanNum}京豆,${$.totalNum}金币\n` - $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); - // 云端大于10元无门槛红包时进行通知推送 - if ($.isNode() && $.totalScore >= 10000) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n当前金币:${$.totalScore}个\n可兑换无门槛红包:${parseInt($.totalNum) / 1000}元\n`,) +function showMsg() { + return new Promise(async resolve => { + message += `本次获得${parseInt($.totalBeanNum) - $.nowBean}京豆,${parseInt($.totalNum) - $.nowNum}金币\n` + message += `累计获得${$.totalBeanNum}京豆,${$.totalNum}金币\n` + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); + // 云端大于10元无门槛红包时进行通知推送 + if ($.isNode() && $.totalScore >= 10000) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n当前金币:${$.totalScore}个\n可兑换无门槛红包:${parseInt($.totalNum) / 1000}元\n`,) + resolve(); + }) } function getAuthorShareCode(url) { return new Promise(resolve => { @@ -250,7 +253,7 @@ function getUserInfo() { if (safeGet(data)) { data = JSON.parse(data); if (data.data.shareTaskRes) - console.log(`您的好友助力码为${data.data.shareTaskRes.itemId}`) + console.log(`您的${$.name}好友助力码为${data.data.shareTaskRes.itemId}`) } } } catch (e) { diff --git a/jd_joy_run.js b/jd_joy_run.js index 05f4a94a..21a10746 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -1,14 +1,14 @@ /** - 宠汪汪邀请助力与赛跑助力脚本,感谢github@Zero-S1提供帮助 - 更新时间:2020-11-29(宠汪汪助力更新Token的配置正则表达式已改) +宠汪汪邀请助力与赛跑助力脚本,感谢github@Zero-S1提供帮助 +更新时间:2020-12-16(宠汪汪助力更新Token的配置正则表达式已改) - token时效很短,几个小时就失效了,闲麻烦的放弃就行 - 每天拿到token后,可一次性运行完毕即可。 - 互助码friendPin是京东用户名,不是昵称(可在京东APP->我的->设置 查看获得) - token获取途径: - 1、微信搜索'来客有礼'小程序,登陆京东账号,点击底部的'我的'或者'发现'两处地方,即可获取Token,脚本运行提示token失效后,继续按此方法获取即可 - 2、或者每天去'来客有礼'小程序->宠汪汪里面,领狗粮->签到领京豆 也可获取Token(此方法每天只能获取一次) - 脚本里面有内置提供的friendPin,如果你没有修改脚本或者BoxJs处填写自己的互助码,会默认给脚本内置的助力。 +token时效很短,几个小时就失效了,闲麻烦的放弃就行 +每天拿到token后,可一次性运行完毕即可。 +互助码friendPin是京东用户名,不是昵称(可在京东APP->我的->设置 查看获得) +token获取途径: +1、微信搜索'来客有礼'小程序,登陆京东账号,点击底部的'我的'或者'发现'两处地方,即可获取Token,脚本运行提示token失效后,继续按此方法获取即可 +2、或者每天去'来客有礼'小程序->宠汪汪里面,领狗粮->签到领京豆 也可获取Token(此方法每天只能获取一次) +脚本里面有内置提供的friendPin,如果你没有修改脚本或者BoxJs处填写自己的互助码,会默认给脚本内置的助力。 [MITM] hostname = draw.jdfcloud.com @@ -44,6 +44,8 @@ let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45 let run_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); // $.LKYLToken = $.getdata('jdJoyRunToken'); +const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"]; + //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie @@ -205,7 +207,8 @@ async function main() { $.LKYLLogin = true; console.log(`=============【开始邀请助力】===============`) const inviteIndex = $.index > invite_pins.length ? (invite_pins.length - 1) : ($.index - 1); - const new_invite_pins = invite_pins[inviteIndex].split(','); + let new_invite_pins = invite_pins[inviteIndex].split(','); + new_invite_pins = [...new_invite_pins, ...getRandomArrayElements(friendsArr, 6)]; await invite(new_invite_pins); if ($.jdLogin && $.LKYLLogin) { console.log(`===========【开始助力好友赛跑】===========`) @@ -213,10 +216,21 @@ async function main() { const new_run_pins = run_pins[runIndex].split(','); await run(new_run_pins); } + await showMsg(); } } $.done() } +function showMsg() { + return new Promise(async resolve => { + if ($.inviteReward || $.runReward) { + let message = ''; + message += `给${$.inviteReward / 30}人邀请助力成功,获得${$.inviteReward}积分\n给${$.runReward / 5}人赛跑助力成功,获得狗粮${$.runReward}g`; + $.msg($.name, '', `京东账号${$.index} ${UserName}\n${message}`); + } + resolve(); + }) +} //邀请助力 async function invite(invite_pins) { console.log(`账号${$.index} [${UserName}] 给下面名单的人进行邀请助力\n${invite_pins.map(item => item.trim())}\n`); @@ -256,9 +270,9 @@ async function invite(invite_pins) { $.jdLogin = true; } } - if ($.inviteReward > 0) { - $.msg($.name, ``, `账号${$.index} [${UserName}]\n给${$.inviteReward/5}人邀请助力成功\n获得狗粮${$.inviteReward}g`) - } + // if ($.inviteReward > 0) { + // $.msg($.name, ``, `账号${$.index} [${UserName}]\n给${$.inviteReward/5}人邀请助力成功\n获得${$.inviteReward}积分`) + // } } function enterRoom(invitePin) { return new Promise(resolve => { @@ -303,7 +317,7 @@ function helpInviteFriend(friendPin) { data = JSON.parse(data); // {"errorCode":"help_ok","errorMessage":null,"currentTime":1600254297789,"data":29466,"success":true} if (data.success && data.errorCode === 'help_ok') { - $.inviteReward += 5; + $.inviteReward += 30; } } } catch (e) { @@ -339,9 +353,9 @@ async function run(run_pins) { } } } - if ($.runReward > 0) { - $.msg($.name, ``, `账号${$.index} [${UserName}]\n给${$.runReward/5}人赛跑助力成功\n获得狗粮${$.runReward}g`) - } + // if ($.runReward > 0) { + // $.msg($.name, ``, `账号${$.index} [${UserName}]\n给${$.runReward/5}人赛跑助力成功\n获得狗粮${$.runReward}g`) + // } } function combatHelp(friendPin) { return new Promise(resolve => { @@ -412,5 +426,16 @@ function jsonParse(str) { } } } +function getRandomArrayElements(arr, count) { + let 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); +} + isRequest ? getToken() : main(); 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} From 19e5eba2f81de07cdf0e9f551bb00febb254fb98 Mon Sep 17 00:00:00 2001 From: Five Million <31655098+sgzman@users.noreply.github.com> Date: Wed, 16 Dec 2020 13:33:29 +0800 Subject: [PATCH 0431/1259] Update jd_watch.js --- jd_watch.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_watch.js b/jd_watch.js index d0040e3a..610e454a 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -6,17 +6,17 @@ ============Quantumultx=============== [task_local] #京东看一看 -10 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东看一看, enabled=true +10 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看, enabled=true ================Loon============== [Script] -cron "10 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js,tag=京东看一看 +cron "10 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js,tag=京东看一看 ===============Surge================= -京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js +京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js ============小火箭========= -京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, cronexpr="10 9 * * *", timeout=200, enable=true +京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, cronexpr="10 9 * * *", timeout=900, enable=true */ const $ = new Env('京东看一看'); let acceptBody = [ From 1413cfee90fc225318f6ca8485429ff8c0f1562b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 16 Dec 2020 15:23:04 +0800 Subject: [PATCH 0432/1259] =?UTF-8?q?update=EF=BC=8CBoxJs=E5=8F=AF?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E4=B8=8D=E5=90=8C=E8=B4=A6=E5=8F=B7=E5=8F=82?= =?UTF-8?q?=E5=8A=A0=E4=B8=8D=E5=90=8C=E7=BA=A7=E5=88=AB=E7=9A=84=E8=B5=9B?= =?UTF-8?q?=E8=B7=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lxk0301.boxjs.json | 42 ++++++++++++++---------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index eb3edd64..b19d008e 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -404,34 +404,6 @@ "type": "boolean", "desc": "偷好友积分与狗粮" }, - { - "id": "joyRunFlag", - "name": "是否参加赛跑(默认参加)", - "val": true, - "type": "boolean", - "desc": "开启脚本将会为您自动参加赛跑(默认参加双人赛跑)" - }, - { - "id": "JOY_TEAM_LEVEL", - "name": "宠汪汪赛跑级别选择", - "val": "2", - "type": "radios", - "desc": "参加多少人的赛跑比赛,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛", - "items": [ - { - "key": "2", - "label": "双人PK赛" - }, - { - "key": "10", - "label": "10人突围赛" - }, - { - "key": "50", - "label": "50人挑战赛" - } - ] - }, { "id": "joyFeedCount", "name": "每次喂养数量(默认10g)", @@ -526,6 +498,20 @@ ], "desc": "宠汪汪的互助码friendPin是京东用户名,不是昵称(可在京东APP->我的->设置查看)。互助码之间用英文逗号隔开,下面给出具体示例,使用时可自行清空重新按格式填写你自己的", "settings": [ + { + "id": "joyRunFlag", + "name": "是否参加赛跑(默认参加)", + "val": true, + "type": "boolean", + "desc": "开启脚本将会为您自动参加赛跑(默认参加双人赛跑)" + }, + { + "id": "JOY_TEAM_LEVEL", + "name": "宠汪汪赛跑级别选择", + "val": "2", + "type": "text", + "desc": "参加多少人的赛跑比赛,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛,多账号参加不同级别的赛跑用&符号隔开,例如2&10&50" + }, { "id": "jd_joy_run_name", "name": "京东账号一昵称", From 09d0e1976f1d236c5d08346d9648659b9a69ae61 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 16 Dec 2020 16:29:53 +0800 Subject: [PATCH 0433/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=9C=8B=E4=B8=80?= =?UTF-8?q?=E7=9C=8B=E9=A2=86=E5=A5=96body=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_watch.js | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/jd_watch.js b/jd_watch.js index d0040e3a..0ff1530c 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -20,9 +20,30 @@ cron "10 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip */ const $ = new Env('京东看一看'); let acceptBody = [ - ] -let doBody = [ + "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240499056%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=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=cb37ff7634295c0ac13d3344ec94a996&st=1608105243070&sv=112&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=56c93bfb9ff0ff270b9b110ef74ffa23&st=1608105308757&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", ] +let doBody = [ + "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240499056%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=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=de79fac772336c4f2452580f01c9fc51&st=1608105253494&sv=112&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=98f4ebd2ff64c2b05e3323fc37131b12&st=1608105318845&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" +] +/* +使用 Charles 抓包,使用正则表达式:functionId=disc(AcceptTask|doTask) 过滤请求 +选中所有请求,将所有请求保存为 JSON Session File 名称为 watch.chlsj,将该文件与jd_watch.js放在相同目录中 +*/ +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') : ''; @@ -81,16 +102,22 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; async function jdHealth() { $.bean = 0 await getTaskList() + console.log(`${$.name}浏览次数:${$.task.times}/${$.task.maxTimes}`) if($.task) { - for (let i = $.task.times; i < $.task.maxTimes; ++i) { + let i = 0, j = $.task.times + while(j < $.task.maxTimes) { if (!acceptBody[i]) break - let res = await acceptTask(acceptBody[i]) + let res = await acceptTask(acceptBody[++i]) if (res['success']) { - await $.wait(12000) - await doTask(doBody[i]) + await $.wait(10000) + await doTask(doBody[i-1]) + j++ } + await $.wait(500); } - await reward() + await getTaskList() + if ($.task.times===$.task.maxTimes) + await reward() await showMsg(); } } @@ -140,9 +167,9 @@ function acceptTask(body) { if (safeGet(data)) { data = JSON.parse(data); if(data.success){ - console.log('浏览开始请求成功') + // console.log('浏览开始请求成功') }else{ - console.log(`${data.message}`) + // console.log(`${data.message}`) } } } @@ -182,7 +209,7 @@ function doTask(body) { } // 完成看 function reward() { - let body = "body=%7B%22taskId%22%3A%222%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=23e57970b79e373fd94ae8ac75ba9777&st=1607943120275&sv=112&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" + 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 { From 0847a3567ece84b35ce0a66c32093c966a22397e Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 16 Dec 2020 16:34:43 +0800 Subject: [PATCH 0434/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_watch.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/jd_watch.js b/jd_watch.js index 0ff1530c..47851809 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -28,8 +28,9 @@ let doBody = [ "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=98f4ebd2ff64c2b05e3323fc37131b12&st=1608105318845&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" ] /* -使用 Charles 抓包,使用正则表达式:functionId=disc(AcceptTask|doTask) 过滤请求 +使用 Charles 抓包,使用正则表达式:functionId=disc(AcceptTask|DoTask) 过滤请求 选中所有请求,将所有请求保存为 JSON Session File 名称为 watch.chlsj,将该文件与jd_watch.js放在相同目录中 +使用手机抓包,将functionId=discAcceptTask的请求填入acceptBody,将discDoTask的body填入doBody */ function preload(){ const fs = require('fs'); @@ -65,6 +66,12 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { + if($.isNode()){ + const stats = await util.promisify(fs.stat)('watch.json'); + if(stats.isFile()){ + preload() + } + } if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; From ce3d0acef07b0cdbdcff61e973a1bc91f0c1afce Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 16 Dec 2020 16:35:40 +0800 Subject: [PATCH 0435/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_watch.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_watch.js b/jd_watch.js index 47851809..4830e97b 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -67,7 +67,7 @@ if ($.isNode()) { const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { if($.isNode()){ - const stats = await util.promisify(fs.stat)('watch.json'); + const stats = await util.promisify(fs.stat)('watch.chlsj'); if(stats.isFile()){ preload() } From b94ce22585e510ff7315245bf828ab80a8da5d96 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 16 Dec 2020 16:41:21 +0800 Subject: [PATCH 0436/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_watch.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/jd_watch.js b/jd_watch.js index 4830e97b..fb297b18 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -67,9 +67,16 @@ if ($.isNode()) { const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { if($.isNode()){ - const stats = await util.promisify(fs.stat)('watch.chlsj'); - if(stats.isFile()){ - preload() + const fs = require('fs'); + try { + if (fs.existsSync('watch.chlsj')) { + preload() + if (doBody.length < 40){ + console.log(`${$.name}Body数小于40,无法完成任务!`) + } + } + } catch(err) { + console.error(err) } } if (!cookiesArr[0]) { From e095b8fe41f9502d7da4d2a9193e8dc704cba5fe Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 16 Dec 2020 18:18:53 +0800 Subject: [PATCH 0437/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=9C=8B=E7=9C=8B?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E5=BC=82=E5=B8=B8=E6=8A=A5=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdh.js | 2 +- jd_jdzz.js | 2 +- jd_watch.js | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/jd_jdh.js b/jd_jdh.js index 4157aa9c..5169bb72 100644 --- a/jd_jdh.js +++ b/jd_jdh.js @@ -39,8 +39,8 @@ if ($.isNode()) { cookiesArr.reverse(); } const JD_API_HOST = 'https://api.m.jd.com/api'; +$.newShareCodes = ['21d9b4b51a69839577027beb0aad5105', '8edbdfa148e78f028496cff17e7df35b']; !(async () => { - $.newShareCodes = []; if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; diff --git a/jd_jdzz.js b/jd_jdzz.js index fe98fb27..91f28c75 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -45,7 +45,7 @@ if ($.isNode()) { const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5mf7ExDZdDmH7j3wfkA`, - `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA` + `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5m6_BmTUPAGH42SpOkg` ] !(async () => { $.tuanList = [] diff --git a/jd_watch.js b/jd_watch.js index 6e3dbcc2..ec1468cc 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -121,7 +121,7 @@ async function jdHealth() { let i = 0, j = $.task.times while(j < $.task.maxTimes) { if (!acceptBody[i]) break - let res = await acceptTask(acceptBody[++i]) + let res = await acceptTask(acceptBody[i++]) if (res['success']) { await $.wait(10000) await doTask(doBody[i-1]) @@ -249,6 +249,7 @@ function reward() { }) } function taskPostUrl(function_id, body = {}) { + $.log(`${function_id}`) return { url: `${JD_API_HOST}?functionId=${function_id}`, body: body, From 6fca876ec552b349f3aa5388e3811e6b39bff57d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 16 Dec 2020 18:34:39 +0800 Subject: [PATCH 0438/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20jd=5Flive=5Fredr?= =?UTF-8?q?ain.js=E7=9B=B4=E6=92=AD=E7=BA=A2=E5=8C=85=E9=9B=A8cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- QuantumultX/lxk0301_gallery.json | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- docker/crontab_list.sh | 2 +- docker/crontab_list_ts.sh | 2 +- jd_dreamFactory.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index a4fdd271..6f4d5b7a 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -113,7 +113,7 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 #直播红包雨 -cron "0 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 +cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 # 金融打卡领年终奖 cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index ec66c7f0..aabd4516 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -33,7 +33,7 @@ "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png", "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", - "0 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "1 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 12 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 4067cd4f..213e5333 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -74,7 +74,7 @@ cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_s #健康抽奖机 cron "30 2 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 #直播红包雨(2020-12-31活动结束) -cron "0 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, timeout=750, wake-system=1, tag=直播红包雨 +cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, timeout=750, wake-system=1, tag=直播红包雨 #秒杀红包雨(2020-12-31活动结束) cron "20 9 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 3406397c..2d4b086b 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -9,7 +9,7 @@ # 健康抽奖机(2020.12.31活动过期) 10 0 1-31 12 * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 # 直播红包雨(2020.12.31活动过期) -0 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 +1 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 # 京东金融打卡领年终奖(2020.12.31活动过期) 10 6 1-31 12 * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 # 京东健康APP集汪汪卡瓜分百万红包(2021.1.6活动过期) diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index 1fb446fc..af0757ff 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -9,7 +9,7 @@ # 健康抽奖机(2020.12.31活动过期) 10 0 1-31 12 * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 # 直播红包雨(2020.12.31活动过期) -0 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js | ts >> /scripts/logs/jd_live_redrain.log 2>&1 +1 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js | ts >> /scripts/logs/jd_live_redrain.log 2>&1 # 京东金融打卡领年终奖(2020.12.31活动过期) 10 6 1-31 12 * node /scripts/jr_sign.js | ts >> /scripts/logs/jr_sign.log 2>&1 # 京东健康APP集汪汪卡瓜分百万红包(2021.1.6活动过期) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index eb03538d..294bfc47 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -34,7 +34,7 @@ const randomCount = $.isNode() ? 20 : 5; const tuanActiveId = `gaVXW_NJ0KPEA2LyUhoXzA==`; 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 = ''; -const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==']; +const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { From 4fb136842f93eb86d897db3017648ddbd133491d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 17 Dec 2020 07:55:50 +0800 Subject: [PATCH 0439/1259] Update jd_watch.js --- jd_watch.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/jd_watch.js b/jd_watch.js index ec1468cc..90ca924b 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -22,10 +22,25 @@ const $ = new Env('京东看一看'); let acceptBody = [ "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240499056%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=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=cb37ff7634295c0ac13d3344ec94a996&st=1608105243070&sv=112&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=56c93bfb9ff0ff270b9b110ef74ffa23&st=1608105308757&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + +"area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240048429%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=25885f5a28b99a84d7a1852434919659&st=1608136108493&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240569113%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=400a892db43ac4943f3d4d4dda6a59dc&st=1608136125379&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239060612%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=dfe3462849a5541e3d394dbff21a227c&st=1608136141602&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380408%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=73c29a45336c361af65eeeb3aa765728&st=1608136156471&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240007737%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c52626f65e09555d2eed52a45ec30e0f&st=1608136177225&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238881640%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4a4c81475d1d8b17c269c8e33328fe7c&st=1608136190175&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240520372%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=6b4abeac13be50d0114dc42836f9ca5c&st=1608136208698&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e5e252aa5bc9bdb87b5cae3605428482&st=1608136226695&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239757183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=53c26bd2d0ffc015c616d338c0d76595&st=1608136239184&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237861637%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d48b917714cbdb6ee6936e7f36fcdc17&st=1608136253281&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239770347%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ae4614de17500c4243d09898d3b3f574&st=1608136269353&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240541729%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d26cd592a1bcaff119092fa6e9e08a52&st=1608136282647&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a0832fa3b6f6b8c19be00468d27b836c&st=1608136297288&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786783%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=714a416dba7875bb566249d59d832270&st=1608136309958&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223947505%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=817876ad9632bc692fbab3d942797521&st=1608136322744&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238695947%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a2f7285a8dc3686dc704aa14c7e5e638&st=1608136335110&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238922169%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a76b067a71deb23c030157f4a4a8206e&st=1608136348949&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9329374f2aba1677be30e0cefb056a8a&st=1608136361973&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239628677%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f2ebfeb3df9e8f76c7ea38a931f3c6cf&st=1608136374032&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240508639%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=10c768f93fbd6fa62f7690cfb62dc316&st=1608136386617&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4dfea1c5d546cb4c6124f167d1575b1c&st=1608136399359&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239674595%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=bb06fabd4a8d9f457ba32634335c5a2b&st=1608136414924&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239391671%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=187caee976f3ecd2b326cc6ea885fb84&st=1608136427297&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240021594%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c275afe3a9e4528a08e55e742d6f4507&st=1608136444101&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786213%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=3678d678e705aaf307cea92da2adfadc&st=1608136456687&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239394908%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c58bca22089399f76f9caf47d751224d&st=1608136469028&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239766154%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5f22c7b1d0baa342c9d6adf45a4040e9&st=1608136482278&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760851%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=1c977d0d8d74539669ea25817b9cbaef&st=1608136495049&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240062284%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=7950a9fe176a91583c79a9d738cab11f&st=1608136508210&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228905361%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=69a2c980cf64c1de636b57fe91dca198&st=1608136520868&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239471863%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f056f5d1c993695ba62c570d0f90da41&st=1608136533557&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239591771%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=15e4b6fe7a1fa2c1a8a469d353057532&st=1608136550388&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239640183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=43882001877fd2a12ca5459c06555176&st=1608136570241&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239965272%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d74080ff7d763daea85c0ada64905239&st=1608136588503&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380307%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=503bbf88d8e011c9d9e60491fdb570e7&st=1608136603387&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239692881%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=128c70f76320ed46ecd3d52c5a9867f5&st=1608136641884&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240126410%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4e931f9b8a929eae5704544dc23b6c06&st=1608136680786&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239710185%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9f3e96d5b88cae038dd82e6b33f5b4b3&st=1608136694537&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240127507%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d092f79b36b38310166b0efd540bef96&st=1608136714604&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ad8823c1e4ab7773c7d1becec33d3af4&st=1608136730835&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238756494%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=94501d49e602d48e670e2126b3c12a4f&st=1608136743879&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + ] let doBody = [ "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240499056%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=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=de79fac772336c4f2452580f01c9fc51&st=1608105253494&sv=112&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=98f4ebd2ff64c2b05e3323fc37131b12&st=1608105318845&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" + "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=98f4ebd2ff64c2b05e3323fc37131b12&st=1608105318845&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + +"area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240048429%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=393805faecccd86f25dd1c26b0be8936&st=1608136118620&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240569113%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=2c129e72d159ef50bbed688b56e81225&st=1608136135488&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239060612%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=1e757f0d3c10783f6c1b0189417a65ac&st=1608136151817&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380408%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4a5443770ccacf54040487cd160255f9&st=1608136166598&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240007737%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=72ddaac681f2322a57553b5ea7b26a35&st=1608136187351&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238881640%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e21dc015bfda8f64c5ca8034492d3293&st=1608136200285&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240520372%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f6b430a08ab48f8cc3d9b2e2b8311139&st=1608136218802&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=de9c041227164371ea917bda1955254a&st=1608136236824&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239757183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=0fe33976d37096c9189bd9c181fca7d4&st=1608136249310&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237861637%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=aceae77ff607a7fd30a51421c9ebf111&st=1608136263499&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239770347%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a45366095ad450b51d7024734ab9f82c&st=1608136279540&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240541729%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d16ac80c96b143eeb739d6e9c90cd5a9&st=1608136292751&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=cfff74253e78f2f7fe1bbbe2065f1d8b&st=1608136307413&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786783%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=6212a84ab863500d7e231df695f8c8fa&st=1608136320064&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223947505%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a1fee3eeb256889887cde1c1ff9b82d6&st=1608136332957&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238695947%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=380165f5975154359a22f36966287033&st=1608136345219&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238922169%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a2545ef1ab0ebc4b2b55f212b8d68948&st=1608136359167&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=312a97774690a89151cc7b93cab5a8f0&st=1608136372191&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239628677%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d1cb90d65d11cb7c90b75a574088b30b&st=1608136384208&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240508639%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=554098394b85bdd6768f8aa449d937ed&st=1608136396829&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5c5ebf76bcc73cec4ca5dd5fa6071023&st=1608136409495&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239674595%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e42bd1ffc3b1ca9d6902987ef0803cdf&st=1608136425160&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239391671%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ba7735feb8bc87e50e6ee7cfd67fcf63&st=1608136437530&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240021594%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e43f57cefc7bcfca85203c4e08dd88e4&st=1608136454210&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786213%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f76b7fa716cd911cf58b7286967c0de9&st=1608136466774&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239394908%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9063e33bd11958a1e1819ba2a76e24d1&st=1608136479192&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239766154%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5c4de79fdd29e0eb8952cafa4c8a797a&st=1608136492490&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760851%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=48f8c799068ac23e3f4fc22f0d9dc1c8&st=1608136505199&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240062284%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4760263d148fe59cb6edafbda5ad2036&st=1608136518370&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228905361%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=405d93b8116871e2f2a0b808a6478546&st=1608136530967&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239471863%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=afe8e5dde3dc31bd1b6d7989dcadadb0&st=1608136543772&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239591771%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=b2d0701d9b435e4c80c348dc7a738bfc&st=1608136560668&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239965272%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c55f3c08c7982259895718d3aa40e3f1&st=1608136598614&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380307%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=17fada74e5c3dfdc248bbffc4cfaa5d3&st=1608136613596&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239692881%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a6ad0dac4aece3decc83c9fba86e048e&st=1608136652102&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240126410%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=68b813e05c97f021dee681e9a9af14d7&st=1608136690916&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239710185%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=725736779453acbff7ad137cb9ba9368&st=1608136704703&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240127507%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=924f3170a5993544e2e9eeb0166b88d5&st=1608136724766&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5fa88f3775d6c6fce62080cabcfb7541&st=1608136740940&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238756494%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=965edf365ff6629157789d68818c04b5&st=1608136753987&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + ] /* 使用 Charles 抓包,使用正则表达式:functionId=disc(AcceptTask|DoTask) 过滤请求 From 380011e44ee4e6c8abd6f474587d2bfc601f0f44 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 17 Dec 2020 14:29:21 +0800 Subject: [PATCH 0440/1259] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E4=BA=91=E7=AB=AF?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E6=8E=A5?= =?UTF-8?q?=E6=94=B6=E5=90=84=E8=87=AA=E6=89=80=E6=8A=93=E7=9A=84=E5=8C=85?= =?UTF-8?q?=EF=BC=8C=E5=B0=86=E6=89=80=E6=8A=93=E7=9A=84=E4=B8=A4=E7=A7=8D?= =?UTF-8?q?=E5=8C=85=E4=BD=BF=E7=94=A8@=E7=AC=A6=E5=8F=B7=E9=9A=94?= =?UTF-8?q?=E5=BC=80=E5=90=8E=EF=BC=8C=E5=88=86=E5=88=AB=E5=A1=AB=E5=85=A5?= =?UTF-8?q?=E5=88=B0WATCH=5FACCEPTBODY=E3=80=81WATCH=5FDOBODY=E8=BF=99?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 + jd_joy_steal.js | 37 ++++++++------- jd_watch.js | 118 ++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 117 insertions(+), 40 deletions(-) diff --git a/githubAction.md b/githubAction.md index 8f694840..6f9409fe 100644 --- a/githubAction.md +++ b/githubAction.md @@ -116,6 +116,8 @@ | `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`true` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | +| `WATCH_ACCEPTBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discAcceptTask`(需40个,每个之间使用@符号隔开) | +| `WATCH_DOBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discDoTask`(需40个,每个之间使用@符号隔开) | ##### 互助码的填写规则 diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 021c43a7..eb0859ac 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -449,23 +449,26 @@ function getCoinChanges() { }) } function showMsg() { - $.stealFood = $.stealFood >= 0 ? `【偷好友狗粮】获取${$.stealFood}g狗粮\n` : `【偷好友狗粮】${$.stealFood}\n`; - $.stealFriendCoin = $.stealFriendCoin >= 0 ? `【领取好友积分】获得${$.stealFriendCoin}个\n` : `【领取好友积分】${$.stealFriendCoin}\n`; - $.helpFood = $.helpFood >= 0 ? `【给好友喂食】消耗${$.helpFood}g狗粮,获得积分${$.helpFood}个\n` : `【给好友喂食】${$.helpFood}\n`; - message += $.stealFriendCoin; - message += $.stealFood; - message += $.helpFood; - let ctrTemp; - if ($.getdata('jdJoyStealNotify')) { - ctrTemp = `${$.getdata('jdJoyStealNotify')}` === 'false'; - } else { - ctrTemp = `${jdNotify}` === 'false'; - } - if (ctrTemp) { - $.msg($.name, '', message); - } else { - $.log(`\n${message}\n`); - } + return new Promise(resolve => { + $.stealFood = $.stealFood >= 0 ? `【偷好友狗粮】获取${$.stealFood}g狗粮\n` : `【偷好友狗粮】${$.stealFood}\n`; + $.stealFriendCoin = $.stealFriendCoin >= 0 ? `【领取好友积分】获得${$.stealFriendCoin}个\n` : `【领取好友积分】${$.stealFriendCoin}\n`; + $.helpFood = $.helpFood >= 0 ? `【给好友喂食】消耗${$.helpFood}g狗粮,获得积分${$.helpFood}个\n` : `【给好友喂食】${$.helpFood}\n`; + message += $.stealFriendCoin; + message += $.stealFood; + message += $.helpFood; + let ctrTemp; + if ($.getdata('jdJoyStealNotify')) { + ctrTemp = `${$.getdata('jdJoyStealNotify')}` === 'false'; + } else { + ctrTemp = `${jdNotify}` === 'false'; + } + if (ctrTemp) { + $.msg($.name, '', message); + } else { + $.log(`\n${message}\n`); + } + resolve() + }) } function TotalBean() { return new Promise(async resolve => { diff --git a/jd_watch.js b/jd_watch.js index 90ca924b..c713f6a6 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -3,6 +3,11 @@ 活动结束时间未知 已支持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] #京东看一看 @@ -22,31 +27,92 @@ const $ = new Env('京东看一看'); let acceptBody = [ "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240499056%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=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=cb37ff7634295c0ac13d3344ec94a996&st=1608105243070&sv=112&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=56c93bfb9ff0ff270b9b110ef74ffa23&st=1608105308757&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - -"area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240048429%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=25885f5a28b99a84d7a1852434919659&st=1608136108493&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240569113%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=400a892db43ac4943f3d4d4dda6a59dc&st=1608136125379&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239060612%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=dfe3462849a5541e3d394dbff21a227c&st=1608136141602&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380408%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=73c29a45336c361af65eeeb3aa765728&st=1608136156471&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240007737%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c52626f65e09555d2eed52a45ec30e0f&st=1608136177225&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238881640%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4a4c81475d1d8b17c269c8e33328fe7c&st=1608136190175&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240520372%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=6b4abeac13be50d0114dc42836f9ca5c&st=1608136208698&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e5e252aa5bc9bdb87b5cae3605428482&st=1608136226695&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239757183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=53c26bd2d0ffc015c616d338c0d76595&st=1608136239184&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237861637%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d48b917714cbdb6ee6936e7f36fcdc17&st=1608136253281&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239770347%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ae4614de17500c4243d09898d3b3f574&st=1608136269353&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240541729%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d26cd592a1bcaff119092fa6e9e08a52&st=1608136282647&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a0832fa3b6f6b8c19be00468d27b836c&st=1608136297288&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786783%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=714a416dba7875bb566249d59d832270&st=1608136309958&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223947505%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=817876ad9632bc692fbab3d942797521&st=1608136322744&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238695947%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a2f7285a8dc3686dc704aa14c7e5e638&st=1608136335110&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238922169%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a76b067a71deb23c030157f4a4a8206e&st=1608136348949&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9329374f2aba1677be30e0cefb056a8a&st=1608136361973&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239628677%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f2ebfeb3df9e8f76c7ea38a931f3c6cf&st=1608136374032&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240508639%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=10c768f93fbd6fa62f7690cfb62dc316&st=1608136386617&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4dfea1c5d546cb4c6124f167d1575b1c&st=1608136399359&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239674595%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=bb06fabd4a8d9f457ba32634335c5a2b&st=1608136414924&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239391671%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=187caee976f3ecd2b326cc6ea885fb84&st=1608136427297&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240021594%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c275afe3a9e4528a08e55e742d6f4507&st=1608136444101&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786213%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=3678d678e705aaf307cea92da2adfadc&st=1608136456687&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239394908%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c58bca22089399f76f9caf47d751224d&st=1608136469028&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239766154%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5f22c7b1d0baa342c9d6adf45a4040e9&st=1608136482278&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760851%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=1c977d0d8d74539669ea25817b9cbaef&st=1608136495049&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240062284%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=7950a9fe176a91583c79a9d738cab11f&st=1608136508210&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228905361%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=69a2c980cf64c1de636b57fe91dca198&st=1608136520868&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239471863%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f056f5d1c993695ba62c570d0f90da41&st=1608136533557&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239591771%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=15e4b6fe7a1fa2c1a8a469d353057532&st=1608136550388&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239640183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=43882001877fd2a12ca5459c06555176&st=1608136570241&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239965272%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d74080ff7d763daea85c0ada64905239&st=1608136588503&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380307%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=503bbf88d8e011c9d9e60491fdb570e7&st=1608136603387&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239692881%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=128c70f76320ed46ecd3d52c5a9867f5&st=1608136641884&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240126410%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4e931f9b8a929eae5704544dc23b6c06&st=1608136680786&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239710185%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9f3e96d5b88cae038dd82e6b33f5b4b3&st=1608136694537&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240127507%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d092f79b36b38310166b0efd540bef96&st=1608136714604&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ad8823c1e4ab7773c7d1becec33d3af4&st=1608136730835&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238756494%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=94501d49e602d48e670e2126b3c12a4f&st=1608136743879&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240048429%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=25885f5a28b99a84d7a1852434919659&st=1608136108493&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240569113%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=400a892db43ac4943f3d4d4dda6a59dc&st=1608136125379&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239060612%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=dfe3462849a5541e3d394dbff21a227c&st=1608136141602&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380408%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=73c29a45336c361af65eeeb3aa765728&st=1608136156471&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240007737%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c52626f65e09555d2eed52a45ec30e0f&st=1608136177225&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238881640%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4a4c81475d1d8b17c269c8e33328fe7c&st=1608136190175&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240520372%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=6b4abeac13be50d0114dc42836f9ca5c&st=1608136208698&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e5e252aa5bc9bdb87b5cae3605428482&st=1608136226695&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239757183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=53c26bd2d0ffc015c616d338c0d76595&st=1608136239184&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237861637%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d48b917714cbdb6ee6936e7f36fcdc17&st=1608136253281&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239770347%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ae4614de17500c4243d09898d3b3f574&st=1608136269353&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240541729%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d26cd592a1bcaff119092fa6e9e08a52&st=1608136282647&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a0832fa3b6f6b8c19be00468d27b836c&st=1608136297288&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786783%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=714a416dba7875bb566249d59d832270&st=1608136309958&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223947505%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=817876ad9632bc692fbab3d942797521&st=1608136322744&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238695947%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a2f7285a8dc3686dc704aa14c7e5e638&st=1608136335110&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238922169%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a76b067a71deb23c030157f4a4a8206e&st=1608136348949&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9329374f2aba1677be30e0cefb056a8a&st=1608136361973&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239628677%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f2ebfeb3df9e8f76c7ea38a931f3c6cf&st=1608136374032&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240508639%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=10c768f93fbd6fa62f7690cfb62dc316&st=1608136386617&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4dfea1c5d546cb4c6124f167d1575b1c&st=1608136399359&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239674595%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=bb06fabd4a8d9f457ba32634335c5a2b&st=1608136414924&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239391671%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=187caee976f3ecd2b326cc6ea885fb84&st=1608136427297&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240021594%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c275afe3a9e4528a08e55e742d6f4507&st=1608136444101&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786213%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=3678d678e705aaf307cea92da2adfadc&st=1608136456687&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239394908%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c58bca22089399f76f9caf47d751224d&st=1608136469028&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239766154%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5f22c7b1d0baa342c9d6adf45a4040e9&st=1608136482278&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760851%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=1c977d0d8d74539669ea25817b9cbaef&st=1608136495049&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240062284%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=7950a9fe176a91583c79a9d738cab11f&st=1608136508210&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228905361%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=69a2c980cf64c1de636b57fe91dca198&st=1608136520868&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239471863%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f056f5d1c993695ba62c570d0f90da41&st=1608136533557&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239591771%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=15e4b6fe7a1fa2c1a8a469d353057532&st=1608136550388&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239640183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=43882001877fd2a12ca5459c06555176&st=1608136570241&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239965272%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d74080ff7d763daea85c0ada64905239&st=1608136588503&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380307%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=503bbf88d8e011c9d9e60491fdb570e7&st=1608136603387&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239692881%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=128c70f76320ed46ecd3d52c5a9867f5&st=1608136641884&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240126410%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4e931f9b8a929eae5704544dc23b6c06&st=1608136680786&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239710185%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9f3e96d5b88cae038dd82e6b33f5b4b3&st=1608136694537&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240127507%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d092f79b36b38310166b0efd540bef96&st=1608136714604&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ad8823c1e4ab7773c7d1becec33d3af4&st=1608136730835&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", ] let doBody = [ "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240499056%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=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=de79fac772336c4f2452580f01c9fc51&st=1608105253494&sv=112&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=98f4ebd2ff64c2b05e3323fc37131b12&st=1608105318845&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - -"area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240048429%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=393805faecccd86f25dd1c26b0be8936&st=1608136118620&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240569113%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=2c129e72d159ef50bbed688b56e81225&st=1608136135488&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239060612%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=1e757f0d3c10783f6c1b0189417a65ac&st=1608136151817&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380408%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4a5443770ccacf54040487cd160255f9&st=1608136166598&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240007737%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=72ddaac681f2322a57553b5ea7b26a35&st=1608136187351&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238881640%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e21dc015bfda8f64c5ca8034492d3293&st=1608136200285&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240520372%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f6b430a08ab48f8cc3d9b2e2b8311139&st=1608136218802&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=de9c041227164371ea917bda1955254a&st=1608136236824&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239757183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=0fe33976d37096c9189bd9c181fca7d4&st=1608136249310&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237861637%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=aceae77ff607a7fd30a51421c9ebf111&st=1608136263499&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239770347%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a45366095ad450b51d7024734ab9f82c&st=1608136279540&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240541729%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d16ac80c96b143eeb739d6e9c90cd5a9&st=1608136292751&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=cfff74253e78f2f7fe1bbbe2065f1d8b&st=1608136307413&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786783%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=6212a84ab863500d7e231df695f8c8fa&st=1608136320064&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223947505%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a1fee3eeb256889887cde1c1ff9b82d6&st=1608136332957&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238695947%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=380165f5975154359a22f36966287033&st=1608136345219&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238922169%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a2545ef1ab0ebc4b2b55f212b8d68948&st=1608136359167&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=312a97774690a89151cc7b93cab5a8f0&st=1608136372191&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239628677%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d1cb90d65d11cb7c90b75a574088b30b&st=1608136384208&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240508639%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=554098394b85bdd6768f8aa449d937ed&st=1608136396829&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5c5ebf76bcc73cec4ca5dd5fa6071023&st=1608136409495&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239674595%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e42bd1ffc3b1ca9d6902987ef0803cdf&st=1608136425160&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239391671%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ba7735feb8bc87e50e6ee7cfd67fcf63&st=1608136437530&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240021594%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e43f57cefc7bcfca85203c4e08dd88e4&st=1608136454210&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786213%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f76b7fa716cd911cf58b7286967c0de9&st=1608136466774&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239394908%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9063e33bd11958a1e1819ba2a76e24d1&st=1608136479192&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239766154%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5c4de79fdd29e0eb8952cafa4c8a797a&st=1608136492490&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760851%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=48f8c799068ac23e3f4fc22f0d9dc1c8&st=1608136505199&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240062284%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4760263d148fe59cb6edafbda5ad2036&st=1608136518370&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228905361%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=405d93b8116871e2f2a0b808a6478546&st=1608136530967&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239471863%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=afe8e5dde3dc31bd1b6d7989dcadadb0&st=1608136543772&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239591771%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=b2d0701d9b435e4c80c348dc7a738bfc&st=1608136560668&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239965272%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c55f3c08c7982259895718d3aa40e3f1&st=1608136598614&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380307%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=17fada74e5c3dfdc248bbffc4cfaa5d3&st=1608136613596&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239692881%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a6ad0dac4aece3decc83c9fba86e048e&st=1608136652102&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240126410%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=68b813e05c97f021dee681e9a9af14d7&st=1608136690916&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239710185%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=725736779453acbff7ad137cb9ba9368&st=1608136704703&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240127507%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=924f3170a5993544e2e9eeb0166b88d5&st=1608136724766&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5fa88f3775d6c6fce62080cabcfb7541&st=1608136740940&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238756494%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=965edf365ff6629157789d68818c04b5&st=1608136753987&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240048429%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=393805faecccd86f25dd1c26b0be8936&st=1608136118620&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240569113%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=2c129e72d159ef50bbed688b56e81225&st=1608136135488&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239060612%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=1e757f0d3c10783f6c1b0189417a65ac&st=1608136151817&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380408%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4a5443770ccacf54040487cd160255f9&st=1608136166598&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240007737%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=72ddaac681f2322a57553b5ea7b26a35&st=1608136187351&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238881640%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e21dc015bfda8f64c5ca8034492d3293&st=1608136200285&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240520372%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f6b430a08ab48f8cc3d9b2e2b8311139&st=1608136218802&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=de9c041227164371ea917bda1955254a&st=1608136236824&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239757183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=0fe33976d37096c9189bd9c181fca7d4&st=1608136249310&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237861637%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=aceae77ff607a7fd30a51421c9ebf111&st=1608136263499&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239770347%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a45366095ad450b51d7024734ab9f82c&st=1608136279540&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240541729%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d16ac80c96b143eeb739d6e9c90cd5a9&st=1608136292751&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=cfff74253e78f2f7fe1bbbe2065f1d8b&st=1608136307413&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786783%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=6212a84ab863500d7e231df695f8c8fa&st=1608136320064&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223947505%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a1fee3eeb256889887cde1c1ff9b82d6&st=1608136332957&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238695947%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=380165f5975154359a22f36966287033&st=1608136345219&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238922169%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a2545ef1ab0ebc4b2b55f212b8d68948&st=1608136359167&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=312a97774690a89151cc7b93cab5a8f0&st=1608136372191&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239628677%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d1cb90d65d11cb7c90b75a574088b30b&st=1608136384208&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240508639%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=554098394b85bdd6768f8aa449d937ed&st=1608136396829&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5c5ebf76bcc73cec4ca5dd5fa6071023&st=1608136409495&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239674595%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e42bd1ffc3b1ca9d6902987ef0803cdf&st=1608136425160&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239391671%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ba7735feb8bc87e50e6ee7cfd67fcf63&st=1608136437530&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240021594%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e43f57cefc7bcfca85203c4e08dd88e4&st=1608136454210&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786213%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f76b7fa716cd911cf58b7286967c0de9&st=1608136466774&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239394908%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9063e33bd11958a1e1819ba2a76e24d1&st=1608136479192&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239766154%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5c4de79fdd29e0eb8952cafa4c8a797a&st=1608136492490&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760851%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=48f8c799068ac23e3f4fc22f0d9dc1c8&st=1608136505199&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240062284%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4760263d148fe59cb6edafbda5ad2036&st=1608136518370&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228905361%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=405d93b8116871e2f2a0b808a6478546&st=1608136530967&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239471863%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=afe8e5dde3dc31bd1b6d7989dcadadb0&st=1608136543772&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239591771%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=b2d0701d9b435e4c80c348dc7a738bfc&st=1608136560668&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239965272%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c55f3c08c7982259895718d3aa40e3f1&st=1608136598614&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380307%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=17fada74e5c3dfdc248bbffc4cfaa5d3&st=1608136613596&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239692881%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a6ad0dac4aece3decc83c9fba86e048e&st=1608136652102&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240126410%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=68b813e05c97f021dee681e9a9af14d7&st=1608136690916&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239710185%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=725736779453acbff7ad137cb9ba9368&st=1608136704703&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240127507%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=924f3170a5993544e2e9eeb0166b88d5&st=1608136724766&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5fa88f3775d6c6fce62080cabcfb7541&st=1608136740940&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238756494%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=965edf365ff6629157789d68818c04b5&st=1608136753987&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", ] -/* -使用 Charles 抓包,使用正则表达式:functionId=disc(AcceptTask|DoTask) 过滤请求 -选中所有请求,将所有请求保存为 JSON Session File 名称为 watch.chlsj,将该文件与jd_watch.js放在相同目录中 -使用手机抓包,将functionId=discAcceptTask的请求填入acceptBody,将discDoTask的body填入doBody -*/ + function preload(){ const fs = require('fs'); let raw = fs.readFileSync('watch.chlsj'); @@ -81,19 +147,25 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { - if($.isNode()){ + if ($.isNode()) { const fs = require('fs'); try { if (fs.existsSync('watch.chlsj')) { preload() - if (doBody.length < 40){ + if (doBody.length < 40) { console.log(`${$.name}Body数小于40,无法完成任务!`) } } - } catch(err) { + if (process.env.WATCH_ACCEPTBODY && process.env.WATCH_DOBODY) { + acceptBody = process.env.WATCH_ACCEPTBODYs.split('@'); + doBody = process.env.WATCH_DOBODY.split('@'); + } + } 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/', {"open-url": "https://bean.m.jd.com/"}); return; From 40fe2ac17616208c96288613297f1cf618530207 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 17 Dec 2020 14:50:30 +0800 Subject: [PATCH 0441/1259] =?UTF-8?q?=E6=91=87=E9=92=B1=E6=A0=91=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=94=B9=E6=88=90=E9=BB=98=E8=AE=A4=E4=B8=8D=E5=8D=96?= =?UTF-8?q?=E5=87=BA=E9=87=91=E6=9E=9C=E5=BE=97=E9=87=91=E5=B8=81(?= =?UTF-8?q?=E9=87=91=E5=B8=81=E6=9C=89=E6=97=B6=E6=95=88=EF=BC=8C=E4=BC=9A?= =?UTF-8?q?=E8=BF=87=E6=9C=9F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 +- jd_moneyTree.js | 11 ++++++----- lxk0301.boxjs.json | 7 +++++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/githubAction.md b/githubAction.md index 6f9409fe..8d27ea71 100644 --- a/githubAction.md +++ b/githubAction.md @@ -114,7 +114,7 @@ | `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | | `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | -| `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`true` | +| `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | | `WATCH_ACCEPTBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discAcceptTask`(需40个,每个之间使用@符号隔开) | | `WATCH_DOBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discDoTask`(需40个,每个之间使用@符号隔开) | diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 4ad187f2..584810b9 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -35,6 +35,7 @@ if ($.isNode()) { } let jdNotify = true;//是否开启静默运行,默认true开启 +let sellFruit = false;//是否卖出金果得到金币,默认'false'不卖 const JD_API_HOST = 'https://ms.jr.jd.com/gw/generic/uc/h5/m'; let userInfo = null, taskInfo = [], message = '', subTitle = '', fruitTotal = 0; !(async () => { @@ -262,11 +263,11 @@ function sell() { } params.riskDeviceParam = JSON.stringify(params.riskDeviceParam);//这一步,不可省略,否则提交会报错(和login接口一样) console.log(`目前金果数量${fruitTotal}`) - if ($.isNode()) { - if (process.env.MONEY_TREE_SELL_FRUIT && process.env.MONEY_TREE_SELL_FRUIT === 'false') { - rs() - return - } + sellFruit = $.isNode() ? (process.env.MONEY_TREE_SELL_FRUIT ? process.env.MONEY_TREE_SELL_FRUIT : `${sellFruit}`) : ($.getdata('MONEY_TREE_SELL_FRUIT') ? $.getdata('MONEY_TREE_SELL_FRUIT') : `${sellFruit}`); + if (sellFruit && sellFruit === 'false') { + console.log(`\n设置的不卖出金果\n`) + rs() + return } if (fruitTotal > 380) { request('sell', params).then((sellRes) => { diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index b19d008e..e14a4f05 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -574,6 +574,13 @@ "val": true, "type": "boolean", "desc": "运行京东摇钱树脚本时不发出系统弹窗通知" + }, + { + "id": "MONEY_TREE_SELL_FRUIT", + "name": "是否卖出金果获得金币", + "val": false, + "type": "boolean", + "desc": "是否卖出金果获得金币,金币具有有效期,默认不卖出" } ], "author": "@lxk0301", From 6c686deb43fa9d3a961867c09e98e83b87bbe9ea Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 17 Dec 2020 16:01:51 +0800 Subject: [PATCH 0442/1259] fix --- jd_watch.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/jd_watch.js b/jd_watch.js index c713f6a6..2aaf5123 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -157,15 +157,17 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; } } if (process.env.WATCH_ACCEPTBODY && process.env.WATCH_DOBODY) { - acceptBody = process.env.WATCH_ACCEPTBODYs.split('@'); + 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`) } - console.log(`\nacceptBody数量:${acceptBody.length}`) - console.log(`doBody:数量${doBody.length}\n`) if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; From b5f8ed0e1c0f9bed0aa51e61c42a23cceec59035 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 17 Dec 2020 16:25:57 +0800 Subject: [PATCH 0443/1259] =?UTF-8?q?Docker=E5=A2=9E=E5=8A=A0jd=5Fwatch?= =?UTF-8?q?=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=8C=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=AF=8F=E5=A4=A9=E4=B8=89=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 6 ++++-- docker/crontab_list_ts.sh | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 2d4b086b..e3d42aaa 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -78,7 +78,9 @@ 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js >> /scripts/logs/jd_live.log 2>&1 -#微信小程序京东赚赚 +# 微信小程序京东赚赚 10 11 * * * node /scripts/jd_jdzz.js >> /scripts/logs/jd_jdzz.log 2>&1 -#宠汪汪邀请助力 +# 宠汪汪邀请助力 10 10,11 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1 +# 京东发现-看一看,看40个视频领80京豆(非常耗时) +13 10-16/3 * * * node /scripts/jd_watch.js >> /scripts/logs/jd_watch.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index af0757ff..d59e6e35 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -78,7 +78,9 @@ 33 4 * * * node /scripts/jd_bean_home.js | ts >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) 10-20/5 11 * * * node /scripts/jd_live.js | ts >> /scripts/logs/jd_live.log 2>&1 -#微信小程序京东赚赚 +# 微信小程序京东赚赚 10 11 * * * node /scripts/jd_jdzz.js | ts >> /scripts/logs/jd_jdzz.log 2>&1 -#宠汪汪邀请助力 -10 10,11 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1 +# 宠汪汪邀请助力 +10 10,11 * * * node /scripts/jd_joy_run.js | ts >> /scripts/logs/jd_joy_run.log 2>&1 +# 京东发现-看一看,看40个视频领80京豆(非常耗时) +13 10-16/3 * * * node /scripts/jd_watch.js | ts >> /scripts/logs/jd_watch.log 2>&1 From e4480e22ba8ae85e5a64739991f409ca3e4e897b Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 17 Dec 2020 18:11:26 +0800 Subject: [PATCH 0444/1259] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=B8=BA=E6=AF=8F?= =?UTF-8?q?=E5=A4=A9=E4=B8=A4=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- docker/crontab_list_ts.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index e3d42aaa..4a9bfb7d 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -83,4 +83,4 @@ # 宠汪汪邀请助力 10 10,11 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1 # 京东发现-看一看,看40个视频领80京豆(非常耗时) -13 10-16/3 * * * node /scripts/jd_watch.js >> /scripts/logs/jd_watch.log 2>&1 +13 11,14 * * * node /scripts/jd_watch.js >> /scripts/logs/jd_watch.log 2>&1 diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh index d59e6e35..7c108d51 100644 --- a/docker/crontab_list_ts.sh +++ b/docker/crontab_list_ts.sh @@ -83,4 +83,4 @@ # 宠汪汪邀请助力 10 10,11 * * * node /scripts/jd_joy_run.js | ts >> /scripts/logs/jd_joy_run.log 2>&1 # 京东发现-看一看,看40个视频领80京豆(非常耗时) -13 10-16/3 * * * node /scripts/jd_watch.js | ts >> /scripts/logs/jd_watch.log 2>&1 +13 11,14 * * * node /scripts/jd_watch.js | ts >> /scripts/logs/jd_watch.log 2>&1 From e57fb53b4546977e776cfe950b02e052c472bb6b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 17 Dec 2020 18:13:07 +0800 Subject: [PATCH 0445/1259] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=AB=AF=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=BC=B9=E7=AA=97=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_watch.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/jd_watch.js b/jd_watch.js index 2aaf5123..8ef11c32 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -227,11 +227,7 @@ async function jdHealth() { function showMsg() { return new Promise(resolve => { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); resolve() }) } @@ -324,6 +320,7 @@ function reward() { data = JSON.parse(data); if(data.success){ console.log(`领奖成功,${$.task.taskSubTitleExt}`) + message += `京东看一看:${$.task.taskSubTitleExt}`; }else{ console.log(`领奖失败,${data.message}`) } From 1b0cc51c20e0ad737b744dd5ca83b70120f4b59c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 17 Dec 2020 18:31:44 +0800 Subject: [PATCH 0446/1259] fix --- jd_watch.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_watch.js b/jd_watch.js index 8ef11c32..acc7a3f9 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -221,7 +221,6 @@ async function jdHealth() { await getTaskList() if ($.task.times===$.task.maxTimes) await reward() - await showMsg(); } } @@ -321,6 +320,7 @@ function reward() { if(data.success){ console.log(`领奖成功,${$.task.taskSubTitleExt}`) message += `京东看一看:${$.task.taskSubTitleExt}`; + await showMsg(); }else{ console.log(`领奖失败,${data.message}`) } From db4e7510ef77d312b2f048fbb04c2378d8bae6ab Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 18 Dec 2020 09:23:52 +0800 Subject: [PATCH 0447/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=81=B7=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B=E7=8B=97=E7=B2=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_steal.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jd_joy_steal.js b/jd_joy_steal.js index eb0859ac..f456f286 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -140,6 +140,9 @@ async function stealFriendsFood() { if (getRandomFoodRes && getRandomFoodRes.success) { if (getRandomFoodRes.errorCode === 'steal_ok') { $.stealFood += getRandomFoodRes.data; + } else if (getRandomFoodRes.errorCode === 'chance_full') { + console.log('偷好友狗粮已达上限,跳出循环'); + break; } } } else if (stealStatus === 'chance_full') { From 99a600b008a1d5a9a984c713f17fd301aa156e6b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 18 Dec 2020 09:33:04 +0800 Subject: [PATCH 0448/1259] =?UTF-8?q?task=E8=AE=A2=E9=98=85=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=AC=E4=B8=9C=E7=9C=8B=E4=B8=80=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 ++- QuantumultX/lxk0301_gallery.json | 1 + Surge/lxk0301_Task.sgmodule.sgmodule | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 6f4d5b7a..1d1b41ab 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -111,7 +111,8 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 - +# 京东看一看 +cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看 #直播红包雨 cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 # 金融打卡领年终奖 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index aabd4516..5a484bcd 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -30,6 +30,7 @@ "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "40 9,10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_watch.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png", "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 213e5333..360eb8db 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -63,7 +63,8 @@ cron "30 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 - +#京东看一看 +cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, timeout=7750, wake-system=1, tag=京东看一看 #京东健康 cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, timeout=750, wake-system=1, tag=京东健康 #京东赚赚 From 219d8412be057d87bc4c81a015e8a7d5e63d6e1c Mon Sep 17 00:00:00 2001 From: renfenghuan <64941682+renfenghuan@users.noreply.github.com> Date: Fri, 18 Dec 2020 06:41:37 +0000 Subject: [PATCH 0449/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=BB=B6=E8=BF=9F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 自动探测RANDOM_DELAY_MAX变量,如果设置了,则利用sed替换除必须固定时间运行的脚本以外的所有脚本任务的cron命令,在运行node前先运行sleep --- docker/docker_entrypoint.sh | 5 +++++ docker/example/default.yml | 3 +++ docker/replaceNode_withRandomSleep.sh | 1 + 3 files changed, 9 insertions(+) create mode 100644 docker/replaceNode_withRandomSleep.sh diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 53c6c872..1f774043 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -128,6 +128,11 @@ if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi +if [ $RANDOM_DELAY_MAX -ge 1 ] then + echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " + sh replaceNode_withRandomSleep.sh $mergedListFile +fi + echo "Load the latest crontab task file..." echo "加载最新的定时任务文件..." crontab $mergedListFile diff --git a/docker/example/default.yml b/docker/example/default.yml index d6cdfe8d..9f9f8759 100644 --- a/docker/example/default.yml +++ b/docker/example/default.yml @@ -46,4 +46,7 @@ jd_scripts: # 例: JD_DEBUG=false - JD_DEBUG= + #如果设置了 RANDOM_DELAY_MAX ,则会启用随机延迟功能,延迟随机 1 - RANDOM_DELAY_MAX 秒。如果不设置此项,则不使用延迟。 + #并不是所有的脚本都会被启用延迟,因为有一些脚本需要整点触发。延迟的目的有两个,1是降低抢占cpu资源几率,2是降低检查风险(主要是1) + - RANDOM_DELAY_MAX= diff --git a/docker/replaceNode_withRandomSleep.sh b/docker/replaceNode_withRandomSleep.sh new file mode 100644 index 00000000..f0c0441c --- /dev/null +++ b/docker/replaceNode_withRandomSleep.sh @@ -0,0 +1 @@ +sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_club_lottery.js\)/!s/node/sleep \$((RANDOM % $RANDOM_DELAY_MAX)); node/g" $1 From f6992c699ae64d40f18b59091d6cb88787bea952 Mon Sep 17 00:00:00 2001 From: renfenghuan <64941682+renfenghuan@users.noreply.github.com> Date: Fri, 18 Dec 2020 07:07:41 +0000 Subject: [PATCH 0450/1259] =?UTF-8?q?=E4=B8=BAdefault=5Ftask=E4=B9=9F?= =?UTF-8?q?=E5=A2=9E=E6=B7=BB=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为default_task也增添判断是否添加延迟; 修复替换脚本的一个bug --- docker/default_task.sh | 5 +++++ docker/replaceNode_withRandomSleep.sh | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 0ba1dafd..58d937ca 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -107,5 +107,10 @@ if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi +if [ $RANDOM_DELAY_MAX -ge 1 ] then + echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " + sh replaceNode_withRandomSleep.sh $mergedListFile +fi + echo "加载最新的定时任务文件..." crontab $mergedListFile diff --git a/docker/replaceNode_withRandomSleep.sh b/docker/replaceNode_withRandomSleep.sh index f0c0441c..42949ee5 100644 --- a/docker/replaceNode_withRandomSleep.sh +++ b/docker/replaceNode_withRandomSleep.sh @@ -1 +1 @@ -sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_club_lottery.js\)/!s/node/sleep \$((RANDOM % $RANDOM_DELAY_MAX)); node/g" $1 +sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_club_lottery.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $1 From 97ffeeb273bd76ba6aaa1389c6fed833a2947567 Mon Sep 17 00:00:00 2001 From: renfenghuan <64941682+renfenghuan@users.noreply.github.com> Date: Fri, 18 Dec 2020 08:06:10 +0000 Subject: [PATCH 0451/1259] Update replaceNode_withRandomSleep.sh --- docker/replaceNode_withRandomSleep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/replaceNode_withRandomSleep.sh b/docker/replaceNode_withRandomSleep.sh index 42949ee5..a0aa3ba8 100644 --- a/docker/replaceNode_withRandomSleep.sh +++ b/docker/replaceNode_withRandomSleep.sh @@ -1 +1 @@ -sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_club_lottery.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $1 +sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reawrd.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $1 From 6a2954b1b1784017dc889b10268728eb93c2cc14 Mon Sep 17 00:00:00 2001 From: renfenghuan <64941682+renfenghuan@users.noreply.github.com> Date: Fri, 18 Dec 2020 10:45:52 +0000 Subject: [PATCH 0452/1259] fix bug in the shell MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 少写了个分号; 不能用sh,要用source,否则无法继承环境变量 --- docker/default_task.sh | 4 ++-- docker/docker_entrypoint.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 58d937ca..b04ebeee 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -107,9 +107,9 @@ if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi -if [ $RANDOM_DELAY_MAX -ge 1 ] then +if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - sh replaceNode_withRandomSleep.sh $mergedListFile + source replaceNode_withRandomSleep.sh $mergedListFile fi echo "加载最新的定时任务文件..." diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 1f774043..002b9ff5 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -128,9 +128,9 @@ if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi -if [ $RANDOM_DELAY_MAX -ge 1 ] then +if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - sh replaceNode_withRandomSleep.sh $mergedListFile + source replaceNode_withRandomSleep.sh $mergedListFile fi echo "Load the latest crontab task file..." From b078162ed431eb1250d7da6f3c190d285e8e1877 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 18 Dec 2020 19:02:32 +0800 Subject: [PATCH 0453/1259] update --- jd_watch.js | 164 +++++++++++++++++++++++++--------------------------- 1 file changed, 80 insertions(+), 84 deletions(-) diff --git a/jd_watch.js b/jd_watch.js index acc7a3f9..fab4a668 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -25,92 +25,88 @@ cron "10 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip */ const $ = new Env('京东看一看'); let acceptBody = [ - "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240499056%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=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=cb37ff7634295c0ac13d3344ec94a996&st=1608105243070&sv=112&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=56c93bfb9ff0ff270b9b110ef74ffa23&st=1608105308757&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240048429%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=25885f5a28b99a84d7a1852434919659&st=1608136108493&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240569113%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=400a892db43ac4943f3d4d4dda6a59dc&st=1608136125379&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239060612%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=dfe3462849a5541e3d394dbff21a227c&st=1608136141602&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380408%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=73c29a45336c361af65eeeb3aa765728&st=1608136156471&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240007737%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c52626f65e09555d2eed52a45ec30e0f&st=1608136177225&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238881640%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4a4c81475d1d8b17c269c8e33328fe7c&st=1608136190175&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240520372%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=6b4abeac13be50d0114dc42836f9ca5c&st=1608136208698&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e5e252aa5bc9bdb87b5cae3605428482&st=1608136226695&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239757183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=53c26bd2d0ffc015c616d338c0d76595&st=1608136239184&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237861637%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d48b917714cbdb6ee6936e7f36fcdc17&st=1608136253281&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239770347%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ae4614de17500c4243d09898d3b3f574&st=1608136269353&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240541729%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d26cd592a1bcaff119092fa6e9e08a52&st=1608136282647&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a0832fa3b6f6b8c19be00468d27b836c&st=1608136297288&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786783%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=714a416dba7875bb566249d59d832270&st=1608136309958&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223947505%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=817876ad9632bc692fbab3d942797521&st=1608136322744&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238695947%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a2f7285a8dc3686dc704aa14c7e5e638&st=1608136335110&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238922169%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a76b067a71deb23c030157f4a4a8206e&st=1608136348949&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9329374f2aba1677be30e0cefb056a8a&st=1608136361973&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239628677%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f2ebfeb3df9e8f76c7ea38a931f3c6cf&st=1608136374032&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240508639%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=10c768f93fbd6fa62f7690cfb62dc316&st=1608136386617&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4dfea1c5d546cb4c6124f167d1575b1c&st=1608136399359&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239674595%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=bb06fabd4a8d9f457ba32634335c5a2b&st=1608136414924&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239391671%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=187caee976f3ecd2b326cc6ea885fb84&st=1608136427297&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240021594%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c275afe3a9e4528a08e55e742d6f4507&st=1608136444101&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786213%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=3678d678e705aaf307cea92da2adfadc&st=1608136456687&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239394908%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c58bca22089399f76f9caf47d751224d&st=1608136469028&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239766154%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5f22c7b1d0baa342c9d6adf45a4040e9&st=1608136482278&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760851%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=1c977d0d8d74539669ea25817b9cbaef&st=1608136495049&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240062284%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=7950a9fe176a91583c79a9d738cab11f&st=1608136508210&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228905361%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=69a2c980cf64c1de636b57fe91dca198&st=1608136520868&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239471863%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f056f5d1c993695ba62c570d0f90da41&st=1608136533557&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239591771%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=15e4b6fe7a1fa2c1a8a469d353057532&st=1608136550388&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239640183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=43882001877fd2a12ca5459c06555176&st=1608136570241&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239965272%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d74080ff7d763daea85c0ada64905239&st=1608136588503&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380307%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=503bbf88d8e011c9d9e60491fdb570e7&st=1608136603387&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239692881%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=128c70f76320ed46ecd3d52c5a9867f5&st=1608136641884&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240126410%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4e931f9b8a929eae5704544dc23b6c06&st=1608136680786&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239710185%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9f3e96d5b88cae038dd82e6b33f5b4b3&st=1608136694537&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240127507%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d092f79b36b38310166b0efd540bef96&st=1608136714604&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ad8823c1e4ab7773c7d1becec33d3af4&st=1608136730835&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + `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=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240499056%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=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=de79fac772336c4f2452580f01c9fc51&st=1608105253494&sv=112&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_904_908_57903&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239972247%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=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=98f4ebd2ff64c2b05e3323fc37131b12&st=1608105318845&sv=100&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240048429%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=393805faecccd86f25dd1c26b0be8936&st=1608136118620&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240569113%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=2c129e72d159ef50bbed688b56e81225&st=1608136135488&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239060612%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=1e757f0d3c10783f6c1b0189417a65ac&st=1608136151817&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380408%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4a5443770ccacf54040487cd160255f9&st=1608136166598&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240007737%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=72ddaac681f2322a57553b5ea7b26a35&st=1608136187351&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238881640%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e21dc015bfda8f64c5ca8034492d3293&st=1608136200285&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240520372%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f6b430a08ab48f8cc3d9b2e2b8311139&st=1608136218802&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239387219%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=de9c041227164371ea917bda1955254a&st=1608136236824&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239757183%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=0fe33976d37096c9189bd9c181fca7d4&st=1608136249310&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22237861637%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=aceae77ff607a7fd30a51421c9ebf111&st=1608136263499&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239770347%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a45366095ad450b51d7024734ab9f82c&st=1608136279540&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240541729%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d16ac80c96b143eeb739d6e9c90cd5a9&st=1608136292751&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239278806%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=cfff74253e78f2f7fe1bbbe2065f1d8b&st=1608136307413&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786783%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=6212a84ab863500d7e231df695f8c8fa&st=1608136320064&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22223947505%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a1fee3eeb256889887cde1c1ff9b82d6&st=1608136332957&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238695947%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=380165f5975154359a22f36966287033&st=1608136345219&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238922169%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a2545ef1ab0ebc4b2b55f212b8d68948&st=1608136359167&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238888823%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=312a97774690a89151cc7b93cab5a8f0&st=1608136372191&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239628677%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=d1cb90d65d11cb7c90b75a574088b30b&st=1608136384208&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240508639%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=554098394b85bdd6768f8aa449d937ed&st=1608136396829&sv=100&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239874715%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5c5ebf76bcc73cec4ca5dd5fa6071023&st=1608136409495&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239674595%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e42bd1ffc3b1ca9d6902987ef0803cdf&st=1608136425160&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239391671%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=ba7735feb8bc87e50e6ee7cfd67fcf63&st=1608136437530&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240021594%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=e43f57cefc7bcfca85203c4e08dd88e4&st=1608136454210&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238786213%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=f76b7fa716cd911cf58b7286967c0de9&st=1608136466774&sv=122&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239394908%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=9063e33bd11958a1e1819ba2a76e24d1&st=1608136479192&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239766154%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5c4de79fdd29e0eb8952cafa4c8a797a&st=1608136492490&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760851%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=48f8c799068ac23e3f4fc22f0d9dc1c8&st=1608136505199&sv=101&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240062284%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=4760263d148fe59cb6edafbda5ad2036&st=1608136518370&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228905361%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=405d93b8116871e2f2a0b808a6478546&st=1608136530967&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239471863%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=afe8e5dde3dc31bd1b6d7989dcadadb0&st=1608136543772&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239591771%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=b2d0701d9b435e4c80c348dc7a738bfc&st=1608136560668&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239965272%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=c55f3c08c7982259895718d3aa40e3f1&st=1608136598614&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240380307%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=17fada74e5c3dfdc248bbffc4cfaa5d3&st=1608136613596&sv=112&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239692881%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=a6ad0dac4aece3decc83c9fba86e048e&st=1608136652102&sv=102&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240126410%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=68b813e05c97f021dee681e9a9af14d7&st=1608136690916&sv=110&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239710185%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=725736779453acbff7ad137cb9ba9368&st=1608136704703&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240127507%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=924f3170a5993544e2e9eeb0166b88d5&st=1608136724766&sv=120&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239760598%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=5fa88f3775d6c6fce62080cabcfb7541&st=1608136740940&sv=111&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", - "area=12_984_3385_47882&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238756494%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=eidI1c658122aes4HV0ofKtnRtOTrFIWTd%2BpwR1dKevcZzyZcvSrn8ulDrA2iiU1ZO/Hl0pqqgBAcUlLyW7EP2IfH4pCF%2BOoacWe11CYgdILRCyY0Pow&isBackground=N&joycious=220&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=e03885ee68dbf21f28931a5fb075b6809382fdb7&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=828%2A1792&sign=965edf365ff6629157789d68818c04b5&st=1608136753987&sv=121&uts=0f31TVRjBSuSr5JKfn1V3FLGE6%2BbSQafMzofRbNaeorEw8%2BrZ%2Bl7HN/pfpggz/Tfi0Eon6s1E3aNzcZv7Xck8tGCtsc3ZHRiORj%2BRXXCs5fQl9RuGGtH05NiooXM/mmtOwmLdZ2YBhwnaweMubfHdGSinig0YAkj7rRh2REiopXUKnVVojosVL3I1MfWXjx/psEjRALqYnMynFOyTDQieA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D", + `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(){ From 2bb3c8c3de8e741a770dca98bb417ce9b91ab194 Mon Sep 17 00:00:00 2001 From: renfenghuan <64941682+renfenghuan@users.noreply.github.com> Date: Fri, 18 Dec 2020 12:46:31 +0000 Subject: [PATCH 0454/1259] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E6=96=B9=E9=9D=A2=E7=9A=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/example/default.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/example/default.yml b/docker/example/default.yml index 9f9f8759..24c89c13 100644 --- a/docker/example/default.yml +++ b/docker/example/default.yml @@ -46,7 +46,8 @@ jd_scripts: # 例: JD_DEBUG=false - JD_DEBUG= - #如果设置了 RANDOM_DELAY_MAX ,则会启用随机延迟功能,延迟随机 1 - RANDOM_DELAY_MAX 秒。如果不设置此项,则不使用延迟。 + #如果设置了 RANDOM_DELAY_MAX ,则会启用随机延迟功能,延迟随机 0 到 RANDOM_DELAY_MAX-1 秒。如果不设置此项,则不使用延迟。 #并不是所有的脚本都会被启用延迟,因为有一些脚本需要整点触发。延迟的目的有两个,1是降低抢占cpu资源几率,2是降低检查风险(主要是1) + #填写数字,单位为秒,比如写为 RANDOM_DELAY_MAX=30 就是随机产生0到29之间的一个秒数,执行延迟的意思。 - RANDOM_DELAY_MAX= From f1a760e5f226e87500cc2d154dd135ca03b9adb3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 20 Dec 2020 13:56:36 +0800 Subject: [PATCH 0455/1259] =?UTF-8?q?sendNotify.js=E9=A1=B6=E9=83=A8?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E6=B7=BB=E5=8A=A0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sendNotify.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sendNotify.js b/sendNotify.js index 99c30e1c..d5651ffe 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -1,3 +1,9 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-08-19 16:12:40 + * @Last Modified by: lxk0301 + * @Last Modified time: 2020-12-20 13:52:54 + */ const querystring = require("querystring"); const $ = new Env(); // =======================================微信server酱通知设置区域=========================================== From f5e63ba4c931d94919b3b4edf838b1418ba267c3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 20 Dec 2020 15:18:39 +0800 Subject: [PATCH 0456/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=A8=E5=90=8D?= =?UTF-8?q?=E5=BC=80=E7=BA=A2=E5=8C=85=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_redPacket.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_redPacket.js b/jd_redPacket.js index 1a3fa4b4..4d383eb2 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -2,10 +2,10 @@ * @Author: lxk0301 * @Date: 2020-11-03 18:12:38 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-23 12:27:18 + * @Last Modified time: 2020-12-20 12:27:18 */ /* -京东全民开红包(京东app->主页->领券->抢红包(在底部)) +京东全民开红包(京东app->首页->领券->锦鲤红包) 已完成功能: ①浏览活动 ②关注频道 @@ -103,7 +103,7 @@ async function redPacket() { await receiveTaskRedpacket(item.taskType); } else if (item.innerStatus !== 4) { await startTask(item.taskType); - if (item.taskType !== 0) { + if (item.taskType !== 0 && item.taskType !== 1) { console.log(`开始做浏览任务\n`); await active(item.taskType); await receiveTaskRedpacket(item.taskType); From f77ecda158d34f235741e834ed5d2aadd0a08e7d Mon Sep 17 00:00:00 2001 From: Akira Date: Sun, 20 Dec 2020 17:08:54 +0800 Subject: [PATCH 0457/1259] =?UTF-8?q?1.=E6=89=80=E6=9C=89=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E9=83=BDshell=E5=8E=BB=E5=A4=84=E7=90=86=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0|ts=E8=BE=93=E5=87=BA=EF=BC=8C=E5=88=A0=E9=99=A4cronta?= =?UTF-8?q?b=5Flist=5Fts.sh=E5=87=8F=E5=B0=91=E7=BB=B4=E6=8A=A4=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E9=87=8F=202.=E5=88=A0=E9=99=A4tg=20bot=E4=BA=A4?= =?UTF-8?q?=E4=BA=92=E9=85=8D=E7=BD=AE=E5=8F=82=E8=80=83,=E5=90=8E?= =?UTF-8?q?=E9=9D=A2=E4=B9=9F=E4=BC=9A=E5=88=A0=E9=99=A4supportbot?= =?UTF-8?q?=E5=BA=94=E9=95=9C=E5=83=8F=E4=B8=8D=E5=86=8D=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?,=E4=B8=8D=E6=83=B3=E5=9C=A8=E6=B2=9F=E9=80=9A=E8=A7=A3?= =?UTF-8?q?=E7=AD=94=E8=BF=99=E4=BA=9B=E9=97=AE=E9=A2=98=203.replaceNode?= =?UTF-8?q?=5FwithRandomSleep.sh=E7=9B=B4=E6=8E=A5=E5=8A=A0=E8=BD=BDshell?= =?UTF-8?q?=E4=B8=AD=EF=BC=8C=E5=87=8F=E5=B0=91=E7=BB=B4=E6=8A=A4=E6=96=87?= =?UTF-8?q?=E4=BB=B6=204.=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Readme.md | 1 - docker/crontab_list_ts.sh | 86 --------------------------- docker/default_task.sh | 2 +- docker/docker_entrypoint.sh | 2 +- docker/example/use-tg-bot.yml | 46 -------------- docker/replaceNode_withRandomSleep.sh | 1 - 6 files changed, 2 insertions(+), 136 deletions(-) delete mode 100644 docker/crontab_list_ts.sh delete mode 100644 docker/example/use-tg-bot.yml delete mode 100644 docker/replaceNode_withRandomSleep.sh diff --git a/docker/Readme.md b/docker/Readme.md index a76c5842..f0660b71 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -30,7 +30,6 @@ jd_scripts - - [使用默认配置用这个](./example/default.yml) - - [使用自定义任务追加到默认任务之后用这个](./example/custom-append.yml) - - [使用自定义任务覆盖默认任务用这个](./example/custom-overwrite.yml) -- - [使用TG机器人交互的用这个](./example/use-tg-bot.yml) - - [一次启动多容器并发用这个](./example/multi.yml) - - [使用群晖默认配置用这个](./example/jd_scripts.syno.json) - - [使用群晖自定义任务追加到默认任务之后用这个](./example/jd_scripts.custom-append.syno.json) diff --git a/docker/crontab_list_ts.sh b/docker/crontab_list_ts.sh deleted file mode 100644 index 7c108d51..00000000 --- a/docker/crontab_list_ts.sh +++ /dev/null @@ -1,86 +0,0 @@ -#必须要的默认定时任务请勿删除 -52 */1 * * * sh /scripts/docker/default_task.sh | ts >> /scripts/logs/default_task.log 2>&1 -# 每3天的23:50分清理一次日志 -50 23 */3 * * rm -rf /scripts/logs/*.log - -##############短期活动############## -# 秒杀红包雨(2020.12.31活动过期) -40 8 1-31 12 * node /scripts/jd_ms_redrain.js | ts >> /scripts/logs/jd_ms_redrain.log 2>&1 -# 健康抽奖机(2020.12.31活动过期) -10 0 1-31 12 * node /scripts/jd_health.js | ts >> /scripts/logs/jd_health.log 2>&1 -# 直播红包雨(2020.12.31活动过期) -1 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js | ts >> /scripts/logs/jd_live_redrain.log 2>&1 -# 京东金融打卡领年终奖(2020.12.31活动过期) -10 6 1-31 12 * node /scripts/jr_sign.js | ts >> /scripts/logs/jr_sign.log 2>&1 -# 京东健康APP集汪汪卡瓜分百万红包(2021.1.6活动过期) -10 8 * * * node /scripts/jd_jdh.js | ts >> /scripts/logs/jd_jdh.log 2>&1 - -##############长期活动############## -# 签到 -0 0,12,18 * * * cd /scripts && node jd_bean_sign.js | ts >> /scripts/logs/jd_bean_sign.log 2>&1 -# 京小超兑换奖品 -0 0 * * * node /scripts/jd_blueCoin.js | ts >> /scripts/logs/jd_blueCoin.log 2>&1 -# 摇京豆 -0 0 * * * node /scripts/jd_club_lottery.js | ts >> /scripts/logs/jd_club_lottery.log 2>&1 -# 东东农场 -5 6-18/6 * * * node /scripts/jd_fruit.js | ts >> /scripts/logs/jd_fruit.log 2>&1 -# 宠汪汪 -15 */2 * * * node /scripts/jd_joy.js | ts >> /scripts/logs/jd_joy.log 2>&1 -# 宠汪汪喂食 -15 */1 * * * node /scripts/jd_joy_feedPets.js | ts >> /scripts/logs/jd_joy_feedPets.log 2>&1 -# 宠汪汪积分兑换奖品 -0 0-16/8 * * * node /scripts/jd_joy_reward.js | ts >> /scripts/logs/jd_joy_reward.log 2>&1 -# 宠汪汪偷好友积分与狗粮 -0 0,6 * * * node /scripts/jd_joy_steal.js | ts >> /scripts/logs/jd_joy_steal.log 2>&1 -# 摇钱树 -0 */2 * * * node /scripts/jd_moneyTree.js | ts >> /scripts/logs/jd_moneyTree.log 2>&1 -# 东东萌宠 -5 6-18/6 * * * node /scripts/jd_pet.js | ts >> /scripts/logs/jd_pet.log 2>&1 -# 京东种豆得豆 -0 7-22/1 * * * node /scripts/jd_plantBean.js | ts >> /scripts/logs/jd_plantBean.log 2>&1 -# 京东全民开红包 -1 1 * * * node /scripts/jd_redPacket.js | ts >> /scripts/logs/jd_redPacket.log 2>&1 -# 进店领豆 -10 0 * * * node /scripts/jd_shop.js | ts >> /scripts/logs/jd_shop.log 2>&1 -# 京东天天加速 -8 */3 * * * node /scripts/jd_speed.js | ts >> /scripts/logs/jd_speed.log 2>&1 -# 东东超市 -11 1-23/5 * * * node /scripts/jd_superMarket.js | ts >> /scripts/logs/jd_superMarket.log 2>&1 -# 取关京东店铺商品 -55 23 * * * node /scripts/jd_unsubscribe.js | ts >> /scripts/logs/jd_unsubscribe.log 2>&1 -# 京豆变动通知 -0 10 * * * node /scripts/jd_bean_change.js | ts >> /scripts/logs/jd_bean_change.log 2>&1 -# 京东抽奖机 -11 1 * * * node /scripts/jd_lotteryMachine.js | ts >> /scripts/logs/jd_lotteryMachine.log 2>&1 -# 京东排行榜 -11 9 * * * node /scripts/jd_rankingList.js | ts >> /scripts/logs/jd_rankingList.log 2>&1 -# 天天提鹅 -18 * * * * node /scripts/jd_daily_egg.js | ts >> /scripts/logs/jd_daily_egg.log 2>&1 -# 金融养猪 -12 * * * * node /scripts/jd_pigPet.js | ts >> /scripts/logs/jd_pigPet.log 2>&1 -# 点点券 -20 0,20 * * * node /scripts/jd_necklace.js | ts >> /scripts/logs/jd_necklace.log 2>&1 -# 京喜工厂 -20 * * * * node /scripts/jd_dreamFactory.js | ts >> /scripts/logs/jd_dreamFactory.log 2>&1 -# 东东小窝 -16 6 * * * node /scripts/jd_small_home.js | ts >> /scripts/logs/jd_small_home.log 2>&1 -# 东东工厂 -36 * * * * node /scripts/jd_jdfactory.js | ts >> /scripts/logs/jd_jdfactory.log 2>&1 -# 十元街 -36 8,18 * * * node /scripts/jd_syj.js | ts >> /scripts/logs/jd_syj.log 2>&1 -# 京东代属(注:限校园用户可使用) -36 9 * * * node /scripts/jd_ds.js | ts >> /scripts/logs/jd_ds.log 2>&1 -# 京东快递签到 -23 1 * * * node /scripts/jd_kd.js | ts >> /scripts/logs/jd_kd.log 2>&1 -# 京东汽车(签到满500赛点可兑换500京豆) -33 2 * * * node /scripts/jd_car.js | ts >> /scripts/logs/jd_car.log 2>&1 -# 领京豆额外奖励(每日可获得3京豆) -33 4 * * * node /scripts/jd_bean_home.js | ts >> /scripts/logs/jd_bean_home.log 2>&1 -# 京东直播(每日18豆) -10-20/5 11 * * * node /scripts/jd_live.js | ts >> /scripts/logs/jd_live.log 2>&1 -# 微信小程序京东赚赚 -10 11 * * * node /scripts/jd_jdzz.js | ts >> /scripts/logs/jd_jdzz.log 2>&1 -# 宠汪汪邀请助力 -10 10,11 * * * node /scripts/jd_joy_run.js | ts >> /scripts/logs/jd_joy_run.log 2>&1 -# 京东发现-看一看,看40个视频领80京豆(非常耗时) -13 11,14 * * * node /scripts/jd_watch.js | ts >> /scripts/logs/jd_watch.log 2>&1 diff --git a/docker/default_task.sh b/docker/default_task.sh index b04ebeee..9fa80f38 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -109,7 +109,7 @@ fi if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - source replaceNode_withRandomSleep.sh $mergedListFile + sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reawrd.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile fi echo "加载最新的定时任务文件..." diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 002b9ff5..e54bf925 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -130,7 +130,7 @@ fi if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - source replaceNode_withRandomSleep.sh $mergedListFile + sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reawrd.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile fi echo "Load the latest crontab task file..." diff --git a/docker/example/use-tg-bot.yml b/docker/example/use-tg-bot.yml deleted file mode 100644 index 13a88d96..00000000 --- a/docker/example/use-tg-bot.yml +++ /dev/null @@ -1,46 +0,0 @@ -jd_scripts: - image: akyakya/jd_scripts:supportbot - # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) - # deploy: - # resources: - # limits: - # cpus: '0.2' - # memory: 200M - container_name: jd_scripts - restart: always - volumes: - - ./logs:/scripts/logs - tty: true - environment: - # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 - #jd cookies - # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX - - JD_COOKIE= - #微信server酱通 - - PUSH_KEY= - #Bark App通知 - - BARK_PUSH= - #telegram机器人通知 - - TG_BOT_TOKEN= - - TG_USER_ID= - #钉钉机器人通知 - - DD_BOT_TOKEN= - - DD_BOT_SECRET= - #京东种豆得豆 - - PLANT_BEAN_SHARECODES= - #京东农场 - # 例: FRUITSHARECODES=京东农场的互助码 - - FRUITSHARECODES= - #京东萌宠 - # 例: PETSHARECODES=东东萌宠的互助码 - - PETSHARECODES= - # 宠汪汪的喂食数量 - - JOY_FEED_COUNT= - #京小超 - # - SUPERMARKET_SHARECODES= - #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) - # 例: MARKET_COIN_TO_BEANS=1000 - - MARKET_COIN_TO_BEANS= - #是否开启debug模式打印日志 - # 例: JD_DEBUG=false - - JD_DEBUG= diff --git a/docker/replaceNode_withRandomSleep.sh b/docker/replaceNode_withRandomSleep.sh deleted file mode 100644 index a0aa3ba8..00000000 --- a/docker/replaceNode_withRandomSleep.sh +++ /dev/null @@ -1 +0,0 @@ -sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reawrd.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $1 From 54f78881c10f12fec92556148a9d71a8d709249d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 20 Dec 2020 17:22:30 +0800 Subject: [PATCH 0458/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=B5=9A=E8=B5=9A?= =?UTF-8?q?=E8=84=9A=E6=9C=AC(jd=5Fjdzz.js)=E6=9B=B4=E6=96=B0,=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=AE=A0=E6=B1=AA=E6=B1=AA=E8=B5=9B=E8=B7=91=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- QuantumultX/lxk0301_gallery.json | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- jd_bean_home.js | 60 ++++++++++++++-------------- jd_jdzz.js | 34 ++++++++++++++-- jd_joy_run.js | 13 ++++-- 6 files changed, 73 insertions(+), 40 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 1d1b41ab..7fdff7ca 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -105,7 +105,7 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip # 京东健康 cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 # 京东赚赚 -cron "10 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 +cron "10 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 # 京东秒杀红包雨 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 5a484bcd..0a9854d4 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -33,7 +33,7 @@ "40 9,10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_watch.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png", - "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", + "14 11 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", "1 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 12 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 360eb8db..14bdfe62 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -68,7 +68,7 @@ cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_sc #京东健康 cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, timeout=750, wake-system=1, tag=京东健康 #京东赚赚 -cron "20 17 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 +cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 #以下为短期活动 #金融打卡领年终奖 cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 diff --git a/jd_bean_home.js b/jd_bean_home.js index b236949d..b6e9ce5e 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -46,8 +46,8 @@ if ($.isNode()) { const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { $.newShareCodes = [] - await getAuthorShareCode(); - await getAuthorShareCode2(); + // await getAuthorShareCode(); + // await getAuthorShareCode2(); if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; @@ -75,34 +75,34 @@ const JD_API_HOST = 'https://api.m.jd.com/'; await jdBeanHome(); } } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - console.log(`${$.UserName}去帮助下一个人`) - cookie = cookiesArr[i]; - if ($.newShareCodes.length > 1) { - let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] - await help(code[0], code[1]) - } - if (helpAuthor && $.authorCode) { - console.log(`去帮助作者`) - const helpRes = await help($.authorCode[0], $.authorCode[1]) - if (helpRes && helpRes.data.respCode === 'SG209') { - console.log(`助力次数已耗尽,跳出助力`) - break; - } - } - if (helpAuthor && $.authorCode2) { - for (let code of $.authorCode2) { - const helpRes = await help(code.shareCode, code.groupCode); - if (helpRes && helpRes.data.respCode === 'SG209') { - console.log(`助力次数已耗尽,跳出助力`) - break; - } - } - } - } - } + // for (let i = 0; i < cookiesArr.length; i++) { + // if (cookiesArr[i]) { + // $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) + // console.log(`${$.UserName}去帮助下一个人`) + // cookie = cookiesArr[i]; + // if ($.newShareCodes.length > 1) { + // let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] + // await help(code[0], code[1]) + // } + // if (helpAuthor && $.authorCode) { + // console.log(`去帮助作者`) + // const helpRes = await help($.authorCode[0], $.authorCode[1]) + // if (helpRes && helpRes.data.respCode === 'SG209') { + // console.log(`助力次数已耗尽,跳出助力`) + // break; + // } + // } + // if (helpAuthor && $.authorCode2) { + // for (let code of $.authorCode2) { + // const helpRes = await help(code.shareCode, code.groupCode); + // if (helpRes && helpRes.data.respCode === 'SG209') { + // console.log(`助力次数已耗尽,跳出助力`) + // break; + // } + // } + // } + // } + // } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') diff --git a/jd_jdzz.js b/jd_jdzz.js index 91f28c75..725f259f 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -25,6 +25,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let helpAuthor=true; // 帮助作者 +const randomCount = 5; let jdNotify = true; // 是否关闭通知,false打开通知推送,true关闭通知推送 //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; @@ -51,6 +52,7 @@ const inviteCodes = [ $.tuanList = [] await requireConfig(); if (helpAuthor) await getAuthorShareCode('https://gitee.com/shylocks/updateTeam/raw/main/jd_zz.json'); + if (helpAuthor) await getAuthorShareCode('https://gitee.com/lxk0301/updateTeam/raw/master/jd_zz.json'); if (!cookiesArr[0]) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; @@ -173,7 +175,7 @@ function helpFriendTuan(body) { if (data.resultCode === '9200008') console.log('不能助力自己') else if (data.resultCode === '9200011') console.log('已经助力过') else if (data.resultCode === '2400205') console.log('团已满') - else if (data.resultCode === '2400203') {console.log('助力次数已满');$.canHelp = false} + else if (data.resultCode === '2400203') {console.log('助力次数已耗尽');$.canHelp = false} else console.log(`未知错误`) } } @@ -329,7 +331,30 @@ async function helpFriends() { await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.1.0"}, "doHelpTask") } } - +function readShareCode() { + console.log(`开始`) + return new Promise(async resolve => { + $.get({url: `https://code.chiang.fun/api/v1/jd/jdzz/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(10000); + resolve() + }) +} //格式化助力码 function shareCodesFormat() { return new Promise(async resolve => { @@ -342,7 +367,7 @@ function shareCodesFormat() { const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); $.newShareCodes = inviteCodes[tempIndex].split('@'); } - const readShareCodeRes = null //await readShareCode(); + const readShareCodeRes = await readShareCode(); if (readShareCodeRes && readShareCodeRes.code === 200) { $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; } @@ -355,7 +380,8 @@ function requireConfig() { return new Promise(resolve => { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; - const shareCodes = [] //$.isNode() ? require('./jdSplitShareCodes.js') : ''; + // TODO 互助 + const shareCodes = []; console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; if ($.isNode()) { diff --git a/jd_joy_run.js b/jd_joy_run.js index 21a10746..c22fd5ae 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -41,7 +41,7 @@ const JD_BASE_API = `https://draw.jdfcloud.com//pet`; //下面给出好友邀请助力的示例填写规则 let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd"]; //下面给出好友赛跑助力的示例填写规则 -let run_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd"]; +let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_704a2e5e28a66"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); // $.LKYLToken = $.getdata('jdJoyRunToken'); const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"]; @@ -225,8 +225,15 @@ function showMsg() { return new Promise(async resolve => { if ($.inviteReward || $.runReward) { let message = ''; - message += `给${$.inviteReward / 30}人邀请助力成功,获得${$.inviteReward}积分\n给${$.runReward / 5}人赛跑助力成功,获得狗粮${$.runReward}g`; - $.msg($.name, '', `京东账号${$.index} ${UserName}\n${message}`); + if ($.inviteReward > 0) { + message += `给${$.inviteReward / 30}人邀请助力成功,获得${$.inviteReward}积分\n`; + } + if ($.runReward > 0) { + message += `给${$.runReward / 5}人赛跑助力成功,获得狗粮${$.runReward}g`; + } + if (message) { + $.msg($.name, '', `京东账号${$.index} ${UserName}\n${message}`); + } } resolve(); }) From 9e6012ac837d83b7a1a109f7b5ba51e587b9b176 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 20 Dec 2020 17:33:33 +0800 Subject: [PATCH 0459/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=B5=9A=E8=B5=9A?= =?UTF-8?q?=E8=84=9A=E6=9C=AC(jd=5Fjdzz.js)=E6=BB=A1=E4=BA=BA=E5=8A=A9?= =?UTF-8?q?=E5=8A=9B=E5=90=8E=EF=BC=8C=E6=9A=82=E6=97=B6=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E7=9C=8B=E5=88=B0=E9=82=80=E8=AF=B7=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdzz.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/jd_jdzz.js b/jd_jdzz.js index 725f259f..68b50c3d 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -45,8 +45,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5mf7ExDZdDmH7j3wfkA`, - `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5m6_BmTUPAGH42SpOkg` + `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5mf7ExDZdDmH7j3wfkA@AUWE5m6jBy2cNAWX7j31Pxw@AUWE5mK2UnDddDTX61S1Mkw@AUWE5mavGyGZdWzP5iCoZwQ`, + `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5m6_BmTUPAGH42SpOkg@AUWE53NTIs3V8YBqthQMI` ] !(async () => { $.tuanList = [] @@ -254,8 +254,11 @@ function getUserInfo() { } else { if (safeGet(data)) { data = JSON.parse(data); - if (data.data.shareTaskRes) - console.log(`您的${$.name}好友助力码为${data.data.shareTaskRes.itemId}`) + if (data.data.shareTaskRes) { + console.log(`\n您的${$.name}好友助力码为: ${data.data.shareTaskRes.itemId}\n`); + } else { + console.log(`已满5人助力,暂时看不到您的${$.name}好友助力码`) + } } } } catch (e) { From 6a357bd49ce76117e173c615de542fcb06f8613f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 20 Dec 2020 20:41:26 +0800 Subject: [PATCH 0460/1259] =?UTF-8?q?=E7=82=B9=E7=82=B9=E5=88=B8=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=BC=B9=E7=AA=97=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_necklace.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jd_necklace.js b/jd_necklace.js index 109f3f44..ad7ea885 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -96,9 +96,12 @@ async function jd_necklace() { } function showMsg() { return new Promise(async resolve => { - $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击弹窗即可去兑换(注:此红包具有时效性)`, { 'open-url': openUrl}); + let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); + if (nowTimes.getHours() >= 20) { + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击弹窗即可去兑换(注:此红包具有时效性)`, { 'open-url': openUrl}); + } // 云端大于10元无门槛红包时进行通知推送 - if ($.isNode() && $.totalScore >= 10000) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击链接即可去兑换(注:此红包具有时效性)\n↓↓↓ \n\n ${openUrl} \n\n ↑↑↑`, { url: openUrl }) + if ($.isNode() && $.totalScore >= 10000 && nowTimes.getHours() >= 20) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击链接即可去兑换(注:此红包具有时效性)\n↓↓↓ \n\n ${openUrl} \n\n ↑↑↑`, { url: openUrl }) resolve() }) } From 4ce4b3d5c38657a146b6e9b20c7de37eb9b40de9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 20 Dec 2020 20:51:21 +0800 Subject: [PATCH 0461/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=B5=9A=E8=B5=9A?= =?UTF-8?q?=E8=84=9A=E6=9C=AC(jd=5Fjdzz.js)=E8=84=9A=E6=9C=AC=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E7=9B=B8=E4=BA=92=E5=8A=A9=E5=8A=9B=EF=BC=8C=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F/secret=E5=90=8D=E7=A7=B0=E4=B8=BAJD?= =?UTF-8?q?ZZ=5FSHARECODES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + jd_jdzz.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 8d27ea71..63f1d3f9 100644 --- a/githubAction.md +++ b/githubAction.md @@ -112,6 +112,7 @@ | `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `DDFACTORY_SHARECODES`| 东东工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDZZ_SHARECODES` | 京东赚赚(jd_jdzz.js)脚本互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | | `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | diff --git a/jd_jdzz.js b/jd_jdzz.js index 68b50c3d..67663eb6 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -384,7 +384,7 @@ function requireConfig() { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; // TODO 互助 - const shareCodes = []; + const shareCodes = $.isNode() ? process.env.JDZZ_SHARECODES.split('&') : []; console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; if ($.isNode()) { From 210f2a919641e044aa74ff5c554d20cae31cdd7e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 20 Dec 2020 21:30:55 +0800 Subject: [PATCH 0462/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B0=8F=E7=AA=9D?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E5=A6=82=E6=9E=9C=E5=AD=98=E5=9C=A8=E5=A4=A7?= =?UTF-8?q?=E4=BA=8E=E7=AD=89=E4=BA=8E2=E4=B8=AA=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E7=9A=84=EF=BC=8C=E5=8F=AF=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E4=B9=8B=E9=97=B4=E7=9B=B8=E4=BA=92=E5=8A=A9?= =?UTF-8?q?=E5=8A=9B=E4=B8=80=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdzz.js | 1 - jd_small_home.js | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/jd_jdzz.js b/jd_jdzz.js index 67663eb6..0fa680ef 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -383,7 +383,6 @@ function requireConfig() { return new Promise(resolve => { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; - // TODO 互助 const shareCodes = $.isNode() ? process.env.JDZZ_SHARECODES.split('&') : []; console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; diff --git a/jd_small_home.js b/jd_small_home.js index a5e2ad71..93e830d1 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -58,7 +58,7 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); } - +$.newShareCodes = []; const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; !(async () => { @@ -89,6 +89,19 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; await smallHome(); } } + 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 ($.newShareCodes.length > 1) { + let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] + console.log(`\n${$.UserName}去给自己的下一账号${decodeURIComponent(cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/) && cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/)[1])}助力\n`) + await createAssistUser(code, $.createAssistUserID || "1318106976846299138"); + } + console.log(`\n去帮助作者:lxk0301\n`) + await helpFriends(); + } + } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -99,7 +112,7 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; async function smallHome() { await loginHome(); await ssjjRooms(); - await helpFriends(); + // await helpFriends(); if (!$.isUnLock) return; await createInviteUser(); await queryDraw(); @@ -490,6 +503,7 @@ function createInviteUser() { if (data.body.id) { console.log(`\n您的${$.name}shareCode(每天都是变化的):【${data.body.id}】\n`); $.shareCode = data.body.id; + $.newShareCodes.push(data.body.id); } } } From 3f8affc8dbffaaf42fdda453ca5d5f7df2eb2026 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 20 Dec 2020 23:36:45 +0800 Subject: [PATCH 0463/1259] fix bug --- jd_jdzz.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jd_jdzz.js b/jd_jdzz.js index 0fa680ef..a7462105 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -383,7 +383,16 @@ function requireConfig() { return new Promise(resolve => { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; - const shareCodes = $.isNode() ? process.env.JDZZ_SHARECODES.split('&') : []; + let shareCodes = []; + if ($.isNode()) { + if (process.env.JDZZ_SHARECODES) { + if (process.env.JDZZ_SHARECODES.indexOf('\n') > -1) { + shareCodes = process.env.JDZZ_SHARECODES.split('\n'); + } else { + shareCodes = process.env.JDZZ_SHARECODES.split('&'); + } + } + } console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; if ($.isNode()) { From 20e07a2156af4e044d9985aeb09aa1e840184697 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 21 Dec 2020 08:14:26 +0800 Subject: [PATCH 0464/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=96=B0=E5=A2=9E=E4=BA=AC=E4=B8=9C=E8=B5=9A=E8=B5=9A?= =?UTF-8?q?secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步新增京东赚赚secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 245675fa..39e45027 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -60,6 +60,7 @@ jobs: if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; if [ $DDFACTORY_SHARECODES ]; then sed -i "/variables/a\ DDFACTORY_SHARECODES: $DDFACTORY_SHARECODES" serverless.yml; fi; if [ $DREAM_FACTORY_SHARE_CODES ]; then sed -i "/variables/a\ DREAM_FACTORY_SHARE_CODES: $DREAM_FACTORY_SHARE_CODES" serverless.yml; fi; + if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; @@ -102,6 +103,7 @@ jobs: SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}} DDFACTORY_SHARECODES: ${{ secrets.DDFACTORY_SHARECODES}} DREAM_FACTORY_SHARE_CODES: ${{ secrets.DREAM_FACTORY_SHARE_CODES}} + JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} From c671ef8308ea0d87e6de0ac83eac381c635fc354 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 21 Dec 2020 09:57:01 +0800 Subject: [PATCH 0465/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_small_home.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_small_home.js b/jd_small_home.js index 93e830d1..3b509801 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -96,6 +96,7 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; if ($.newShareCodes.length > 1) { let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] console.log(`\n${$.UserName}去给自己的下一账号${decodeURIComponent(cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/) && cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/)[1])}助力\n`) + $.log(`自己的下一账号${decodeURIComponent(cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/) && cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/)[1])},助力码为 ${code}`) await createAssistUser(code, $.createAssistUserID || "1318106976846299138"); } console.log(`\n去帮助作者:lxk0301\n`) From 4cc2d532b9eeddc0fa2c675e59f8cc92d4a3beef Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 21 Dec 2020 10:08:32 +0800 Subject: [PATCH 0466/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_plantBean.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_plantBean.js b/jd_plantBean.js index e4237bd2..b7393db3 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -367,7 +367,6 @@ async function doHelp() { console.log(`\n跳过自己的plantUuid\n`) continue } - console.log(`\n开始助力好友: ${plantUuid}`); await helpShare(plantUuid); if ($.helpResult.code === '0') { // console.log(`助力好友结果: ${JSON.stringify($.helpResult.data.helpShareRes)}`); @@ -489,6 +488,7 @@ async function plantShareSupportList() { } //助力好友的api async function helpShare(plantUuid) { + console.log(`\n开始助力好友: ${plantUuid}`); const body = { "plantUuid": plantUuid, "wxHeadImgUrl": "", @@ -496,6 +496,7 @@ async function helpShare(plantUuid) { "followType": "1", } $.helpResult = await request(`plantBeanIndex`, body); + console.log(`助力结果的code:${$.helpResult && $.helpResult.code}`); } async function plantBeanIndex() { $.plantBeanIndexResult = await request('plantBeanIndex');//plantBeanIndexBody From a4db95cdf33f6b7089691600c7ce6dc6b6bc4639 Mon Sep 17 00:00:00 2001 From: Xinglin Qiang Date: Mon, 21 Dec 2020 13:09:18 +0800 Subject: [PATCH 0467/1259] fix typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit reward错别字 --- docker/default_task.sh | 2 +- docker/docker_entrypoint.sh | 2 +- lxk0301.boxjs.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 9fa80f38..f47d8fdf 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -109,7 +109,7 @@ fi if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reawrd.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile + sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile fi echo "加载最新的定时任务文件..." diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index e54bf925..8b89c448 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -130,7 +130,7 @@ fi if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reawrd.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile + sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile fi echo "Load the latest crontab task file..." diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index e14a4f05..842a61dd 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -439,7 +439,7 @@ ] }, { - "id": "jd_Joy_Reawrd", + "id": "jd_Joy_Reward", "name": "宠汪汪积分兑换京豆", "keys": [], "settings": [ From 527284d4f0c9acc019428cbe0be1970448f945cd Mon Sep 17 00:00:00 2001 From: Vesugierii <66554786+Vesugierii@users.noreply.github.com> Date: Mon, 21 Dec 2020 13:30:03 +0800 Subject: [PATCH 0468/1259] Update sendNotify.js --- sendNotify.js | 59 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/sendNotify.js b/sendNotify.js index d5651ffe..703bafe3 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -11,6 +11,14 @@ const $ = new Env(); //注:此处设置github action用户填写到Settings-Secrets里面(Name输入PUSH_KEY) let SCKEY = ''; + +// =======================================QQ酷推通知设置区域=========================================== +//此处填你申请的SKEY. +//注:此处设置github action用户填写到Settings-Secrets里面(Name输入QQ_SKEY) +let SKEY = ''; +//此处填写私聊或群组推送默认私聊(send或group) +let premode = 'send'; + // =======================================Bark App通知设置区域=========================================== //此处填你BarkAPP的信息(IP/设备码,例如:https://api.day.app/XXXXXXXX) //注:此处设置github action用户填写到Settings-Secrets里面(Name输入BARK_PUSH) @@ -43,6 +51,16 @@ let IGOT_PUSH_KEY = ''; if (process.env.PUSH_KEY) { SCKEY = process.env.PUSH_KEY; } + +if (process.env.QQ_SKEY) { + SKEY = process.env.QQ_SKEY; +} + +if (process.env.QQ_mode) { + mode = process.env.QQ_mode; +} else { +mode = premode } + if (process.env.BARK_PUSH) { if(process.env.BARK_PUSH.indexOf('https') > -1 || process.env.BARK_PUSH.indexOf('http') > -1) { //兼容BARK自建用户 @@ -78,8 +96,9 @@ if (process.env.IGOT_PUSH_KEY) { } async function sendNotify(text, desp, params = {}) { - //提供五种通知 + //提供六种通知 await serverNotify(text, desp); + await CoolPush(text, desp); text = text.match(/.*?(?=\s?-)/g) ? text.match(/.*?(?=\s?-)/g)[0] : text; await BarkNotify(text, desp, params); await tgBotNotify(text, desp); @@ -129,6 +148,41 @@ function serverNotify(text, desp, timeout = 2100) { }) } +function CoolPush(text, desp) { + return new Promise(resolve => { + if (SKEY) { + const options = { + url: `https://push.xuthus.cc/${mode}/${SKEY}?c=${text}\n\n${desp}`, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + } + $.post(options, (err, resp, data) => { + try { + if (err) { + console.log('\n发送通知调用API失败!!\n') + console.log(err); + } else { + data = JSON.parse(data); + if (data.code === 200) { + console.log('\n酷推发送通知消息成功\n') + } else if (data.code === 400) { + console.log('\nPUSH_SKEY 错误\n') + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + } else { + console.log('\n您未提供酷推的SKEY,取消QQ推送消息通知\n'); + resolve() + } + }) +} + function BarkNotify(text, desp, params={}) { return new Promise(resolve => { if (BARK_PUSH) { @@ -326,6 +380,7 @@ function iGotNotify(text, desp, params={}){ module.exports = { sendNotify, SCKEY, + SKEY, BARK_PUSH, TG_BOT_TOKEN, TG_USER_ID, @@ -333,4 +388,4 @@ module.exports = { IGOT_PUSH_KEY }//这里导出SCKEY,BARK_PUSH等通知参数是jd_bean_sign.js处需要 // 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;$.isMute||(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 +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;$.isMute||(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)} From 70eeb68584a119b35b4898f7c0d5cce3665d6b70 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 21 Dec 2020 15:02:09 +0800 Subject: [PATCH 0469/1259] =?UTF-8?q?=E5=AE=8C=E5=96=84QQ=E9=85=B7?= =?UTF-8?q?=E6=8E=A8(Cool=20Push)=20=E9=80=9A=E7=9F=A5=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 + jd_bean_sign.js | 26 +++++++------ sendNotify.js | 99 +++++++++++++++++++++++-------------------------- 3 files changed, 63 insertions(+), 64 deletions(-) diff --git a/githubAction.md b/githubAction.md index 63f1d3f9..1635b8fb 100644 --- a/githubAction.md +++ b/githubAction.md @@ -90,6 +90,8 @@ | `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于符号后面的XXX, 注:如果钉钉推送只填写`DD_BOT_TOKEN`,那么安全设置需勾选`自定义关键词`,内容输入输入`账号`即可,其他安全设置不要勾选 | | `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 , 注:填写了`DD_BOT_TOKEN`和`DD_BOT_SECRET`,钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | +| `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | +| `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | | `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制jd_joy_reward.js脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index 10d51b3a..62b19a32 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -1,7 +1,7 @@ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 -更新时间:2020-11-27 +更新时间:2020-12-21 从 github @ruicky改写而来 version v0.0.1 create by ruicky @@ -42,9 +42,9 @@ if ($.isNode()) { $.nickName = ''; await TotalBean(); console.log(`*****************开始京东账号${$.index} ${$.nickName || $.UserName}京豆签到*******************\n`); - console.log(`⚠️⚠️⚠️⚠️目前Bark APP推送通知消息对推送内容长度有限制,如使用此推送方式脚本会默认转换成简洁内容推送 ⚠️⚠️⚠️⚠️\n`) + console.log(`⚠️⚠️⚠️⚠️目前Bark APP推送通知消息对推送内容长度有限制,如推送通知中包含此推送方式脚本会默认转换成简洁内容推送 ⚠️⚠️⚠️⚠️\n`) await changeFile(content); - await execSign(); + await execSign(); } } })() @@ -53,15 +53,17 @@ if ($.isNode()) { async function execSign() { console.log(`\n开始执行脚本签到,请稍等`) try { - if (notify.SCKEY || notify.BARK_PUSH || notify.DD_BOT_TOKEN || (notify.TG_BOT_TOKEN && notify.TG_USER_ID) || notify.IGOT_PUSH_KEY) { - await exec(`${process.execPath} ${JD_DailyBonusPath} >> ${resultPath}`); - const notifyContent = await fs.readFileSync(resultPath, "utf8"); - console.log(`👇👇👇👇👇👇👇👇👇👇👇LOG记录👇👇👇👇👇👇👇👇👇👇👇\n${notifyContent}\n👆👆👆👆👆👆👆👆👆LOG记录👆👆👆👆👆👆👆👆👆👆👆`); - } else { - // 如果没有提供通知推送,则打印日志 - console.log('没有提供通知推送,则打印脚本执行日志') - await exec(`${process.execPath} ${JD_DailyBonusPath}`, { stdio: "inherit" }); - } + // if (notify.SCKEY || notify.BARK_PUSH || notify.DD_BOT_TOKEN || (notify.TG_BOT_TOKEN && notify.TG_USER_ID) || notify.IGOT_PUSH_KEY || notify.QQ_SKEY) { + // await exec(`${process.execPath} ${JD_DailyBonusPath} >> ${resultPath}`); + // const notifyContent = await fs.readFileSync(resultPath, "utf8"); + // console.log(`👇👇👇👇👇👇👇👇👇👇👇LOG记录👇👇👇👇👇👇👇👇👇👇👇\n${notifyContent}\n👆👆👆👆👆👆👆👆👆LOG记录👆👆👆👆👆👆👆👆👆👆👆`); + // } else { + // console.log('没有提供通知推送,则打印脚本执行日志') + // await exec(`${process.execPath} ${JD_DailyBonusPath}`, { stdio: "inherit" }); + // } + await exec(`${process.execPath} ${JD_DailyBonusPath} >> ${resultPath}`); + const notifyContent = await fs.readFileSync(resultPath, "utf8"); + console.log(`👇👇👇👇👇👇👇👇👇👇👇LOG记录👇👇👇👇👇👇👇👇👇👇👇\n${notifyContent}\n👆👆👆👆👆👆👆👆👆LOG记录👆👆👆👆👆👆👆👆👆👆👆`); // await exec("node JD_DailyBonus.js", { stdio: "inherit" }); // console.log('执行完毕', new Date(new Date().getTime() + 8 * 60 * 60 * 1000).toLocaleDateString()) //发送通知 diff --git a/sendNotify.js b/sendNotify.js index 703bafe3..6392824b 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-08-19 16:12:40 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-20 13:52:54 + * @Last Modified time: 2020-12-21 13:52:54 */ const querystring = require("querystring"); const $ = new Env(); @@ -13,11 +13,11 @@ let SCKEY = ''; // =======================================QQ酷推通知设置区域=========================================== -//此处填你申请的SKEY. +//此处填你申请的SKEY(具体详见文档https://cp.xuthus.cc/) //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QQ_SKEY) -let SKEY = ''; -//此处填写私聊或群组推送默认私聊(send或group) -let premode = 'send'; +let QQ_SKEY = ''; +//此处填写私聊或群组推送,默认私聊(send或group或者wx) +let QQ_MODE = 'send'; // =======================================Bark App通知设置区域=========================================== //此处填你BarkAPP的信息(IP/设备码,例如:https://api.day.app/XXXXXXXX) @@ -52,14 +52,15 @@ if (process.env.PUSH_KEY) { SCKEY = process.env.PUSH_KEY; } +//========================酷推(Cool Push)设置区域=============== if (process.env.QQ_SKEY) { - SKEY = process.env.QQ_SKEY; + QQ_SKEY = process.env.QQ_SKEY; +} + +if (process.env.QQ_MODE) { + QQ_MODE = process.env.QQ_MODE; } -if (process.env.QQ_mode) { - mode = process.env.QQ_mode; -} else { -mode = premode } if (process.env.BARK_PUSH) { if(process.env.BARK_PUSH.indexOf('https') > -1 || process.env.BARK_PUSH.indexOf('http') > -1) { @@ -98,12 +99,12 @@ if (process.env.IGOT_PUSH_KEY) { async function sendNotify(text, desp, params = {}) { //提供六种通知 await serverNotify(text, desp); - await CoolPush(text, desp); text = text.match(/.*?(?=\s?-)/g) ? text.match(/.*?(?=\s?-)/g)[0] : text; await BarkNotify(text, desp, params); await tgBotNotify(text, desp); await ddBotNotify(text, desp); await iGotNotify(text, desp, params); + await CoolPush(text, desp); } function serverNotify(text, desp, timeout = 2100) { @@ -122,14 +123,14 @@ function serverNotify(text, desp, timeout = 2100) { $.post(options, (err, resp, data) => { try { if (err) { - console.log('\n发送通知调用API失败!!\n') + console.log('发送通知调用API失败!!\n') console.log(err); } else { data = JSON.parse(data); if (data.errno === 0) { - console.log('\nserver酱发送通知消息成功\n') + console.log('server酱发送通知消息成功\n') } else if (data.errno === 1024) { - console.log('\nPUSH_KEY 错误\n') + console.log('PUSH_KEY 错误\n') } else { console.log(`server酱发送通知消息异常\n${JSON.stringify(data)}`) } @@ -142,7 +143,7 @@ function serverNotify(text, desp, timeout = 2100) { }) }, timeout) } else { - console.log('\n您未提供server酱的SCKEY,取消微信推送消息通知\n'); + console.log('您未提供server酱的SCKEY,取消微信推送消息通知\n'); resolve() } }) @@ -150,24 +151,25 @@ function serverNotify(text, desp, timeout = 2100) { function CoolPush(text, desp) { return new Promise(resolve => { - if (SKEY) { + if (QQ_SKEY) { const options = { - url: `https://push.xuthus.cc/${mode}/${SKEY}?c=${text}\n\n${desp}`, + url: `https://push.xuthus.cc/${QQ_MODE}/${QQ_SKEY}`, + body: `${text}\n\n${desp}`, headers: { - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/json' } } $.post(options, (err, resp, data) => { try { if (err) { - console.log('\n发送通知调用API失败!!\n') + console.log('发送通知调用API失败!!\n') console.log(err); } else { data = JSON.parse(data); if (data.code === 200) { - console.log('\n酷推发送通知消息成功\n') + console.log('酷推发送通知消息成功\n') } else if (data.code === 400) { - console.log('\nPUSH_SKEY 错误\n') + console.log(`推送失败:${data.msg}\n`) } } } catch (e) { @@ -177,7 +179,7 @@ function CoolPush(text, desp) { } }) } else { - console.log('\n您未提供酷推的SKEY,取消QQ推送消息通知\n'); + console.log('您未提供酷推的SKEY,取消QQ推送消息通知\n'); resolve() } }) @@ -195,14 +197,14 @@ function BarkNotify(text, desp, params={}) { $.get(options, (err, resp, data) => { try { if (err) { - console.log('\nBark APP发送通知调用API失败!!\n') + console.log('Bark APP发送通知调用API失败!!\n') console.log(err); } else { data = JSON.parse(data); if (data.code === 200) { - console.log('\nBark APP发送通知消息成功\n') + console.log('Bark APP发送通知消息成功\n') } else { - console.log(`\n${data.message}\n`); + console.log(`${data.message}\n`); } } } catch (e) { @@ -212,7 +214,7 @@ function BarkNotify(text, desp, params={}) { } }) } else { - console.log('\n您未提供Bark的APP推送BARK_PUSH,取消Bark推送消息通知\n'); + console.log('您未提供Bark的APP推送BARK_PUSH,取消Bark推送消息通知\n'); resolve() } }) @@ -243,16 +245,16 @@ function tgBotNotify(text, desp) { $.post(options, (err, resp, data) => { try { if (err) { - console.log('\ntelegram发送通知消息失败!!\n') + console.log('telegram发送通知消息失败!!\n') console.log(err); } else { data = JSON.parse(data); if (data.ok) { - console.log('\nTelegram发送通知消息完成。\n') + console.log('Telegram发送通知消息完成。\n') } else if (data.error_code === 400) { - console.log('\n请主动给bot发送一条消息并检查接收用户ID是否正确。\n') + console.log('请主动给bot发送一条消息并检查接收用户ID是否正确。\n') } else if (data.error_code === 401){ - console.log('\nTelegram bot token 填写错误。\n') + console.log('Telegram bot token 填写错误。\n') } } } catch (e) { @@ -262,7 +264,7 @@ function tgBotNotify(text, desp) { } }) } else { - console.log('\n您未提供telegram机器人推送所需的TG_BOT_TOKEN和TG_USER_ID,取消telegram推送消息通知\n'); + console.log('您未提供telegram机器人推送所需的TG_BOT_TOKEN和TG_USER_ID,取消telegram推送消息通知\n'); resolve() } }) @@ -291,14 +293,14 @@ function ddBotNotify(text, desp) { $.post(options, (err, resp, data) => { try { if (err) { - console.log('\n钉钉发送通知消息失败!!\n') + console.log('钉钉发送通知消息失败!!\n') console.log(err); } else { data = JSON.parse(data); if (data.errcode === 0) { - console.log('\n钉钉发送通知消息完成。\n') + console.log('钉钉发送通知消息完成。\n') } else { - console.log(`\n${data.errmsg}\n`) + console.log(`${data.errmsg}\n`) } } } catch (e) { @@ -311,14 +313,14 @@ function ddBotNotify(text, desp) { $.post(options, (err, resp, data) => { try { if (err) { - console.log('\n钉钉发送通知消息失败!!\n') + console.log('钉钉发送通知消息失败!!\n') console.log(err); } else { data = JSON.parse(data); if (data.errcode === 0) { - console.log('\n钉钉发送通知消息完成。\n') + console.log('钉钉发送通知消息完成。\n') } else { - console.log(`\n${data.errmsg}\n`) + console.log(`${data.errmsg}\n`) } } } catch (e) { @@ -328,7 +330,7 @@ function ddBotNotify(text, desp) { } }) } else { - console.log('\n您未提供钉钉机器人推送所需的DD_BOT_TOKEN或者DD_BOT_SECRET,取消钉钉推送消息通知\n'); + console.log('您未提供钉钉机器人推送所需的DD_BOT_TOKEN或者DD_BOT_SECRET,取消钉钉推送消息通知\n'); resolve() } }) @@ -340,7 +342,7 @@ function iGotNotify(text, desp, params={}){ // 校验传入的IGOT_PUSH_KEY是否有效 const IGOT_PUSH_KEY_REGX = new RegExp("^[a-zA-Z0-9]{24}$") if(!IGOT_PUSH_KEY_REGX.test(IGOT_PUSH_KEY)) { - console.log('\n您所提供的IGOT_PUSH_KEY无效\n') + console.log('您所提供的IGOT_PUSH_KEY无效\n') resolve() return } @@ -354,14 +356,14 @@ function iGotNotify(text, desp, params={}){ $.post(options, (err, resp, data) => { try { if (err) { - console.log('\n发送通知调用API失败!!\n') + console.log('发送通知调用API失败!!\n') console.log(err); } else { if(typeof data === 'string') data = JSON.parse(data); if (data.ret === 0) { - console.log('\niGot发送通知消息成功\n') + console.log('iGot发送通知消息成功\n') } else { - console.log(`\niGot发送通知消息失败:${data.errMsg}\n`) + console.log(`iGot发送通知消息失败:${data.errMsg}\n`) } } } catch (e) { @@ -371,21 +373,14 @@ function iGotNotify(text, desp, params={}){ } }) } else { - console.log('\n您未提供iGot的推送IGOT_PUSH_KEY,取消iGot推送消息通知\n'); + console.log('您未提供iGot的推送IGOT_PUSH_KEY,取消iGot推送消息通知\n'); resolve() } }) } module.exports = { - sendNotify, - SCKEY, - SKEY, - BARK_PUSH, - TG_BOT_TOKEN, - TG_USER_ID, - DD_BOT_TOKEN, - IGOT_PUSH_KEY -}//这里导出SCKEY,BARK_PUSH等通知参数是jd_bean_sign.js处需要 + sendNotify +} // 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;$.isMute||(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)} From 27495804f4e0de59226e7c14949fcce50baef921 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 21 Dec 2020 15:12:24 +0800 Subject: [PATCH 0470/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9EQQ=E9=85=B7=E6=8E=A8(Cool=20Push)Secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增QQ酷推(Cool Push)Secret --- .github/workflows/deploy_tencent_scf.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 39e45027..24e0ba4d 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -38,6 +38,8 @@ jobs: if [ $DD_BOT_TOKEN ]; then sed -i "/variables/a\ DD_BOT_TOKEN: $DD_BOT_TOKEN" serverless.yml; fi; if [ $DD_BOT_SECRET ]; then sed -i "/variables/a\ DD_BOT_SECRET: $DD_BOT_SECRET" serverless.yml; fi; if [ $IGOT_PUSH_KEY ]; then sed -i "/variables/a\ IGOT_PUSH_KEY: $IGOT_PUSH_KEY" serverless.yml; fi; + if [ $QQ_SKEY ]; then sed -i "/variables/a\ QQ_SKEY: $QQ_SKEY" serverless.yml; fi; + if [ $QQ_MODE ]; then sed -i "/variables/a\ QQ_MODE: $QQ_MODE" serverless.yml; fi; if [ $PET_NOTIFY_CONTROL ]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: $PET_NOTIFY_CONTROL" serverless.yml; fi; if [ $FRUIT_NOTIFY_CONTROL ]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: $FRUIT_NOTIFY_CONTROL" serverless.yml; fi; if [ $JD_JOY_REWARD_NOTIFY ]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: $JD_JOY_REWARD_NOTIFY" serverless.yml; fi; @@ -81,6 +83,8 @@ jobs: DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}} DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}} IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}} + QQ_SKEY: ${{ secrets.QQ_SKEY}} + QQ_MODE: ${{ secrets.QQ_MODE}} PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}} FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}} JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}} From 715e1c98c8179158b45928e0f79cd3cabad9b615 Mon Sep 17 00:00:00 2001 From: Xinglin Qiang Date: Mon, 21 Dec 2020 15:25:54 +0800 Subject: [PATCH 0471/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0pushplus=E6=8E=A8?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 ++ sendNotify.js | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/githubAction.md b/githubAction.md index 1635b8fb..e284c8c6 100644 --- a/githubAction.md +++ b/githubAction.md @@ -92,6 +92,8 @@ | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | | `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | | `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | +| `PUSH_PLUS_TOKEN` | pushplus推送 | 非必须 | pushplus微信推送,支持一对一,一对多推送 [官方网站](http://pushplus.hxtrip.com/) | +| `PUSH_PLUS_USER` | pushplus推送 | 非必须 | pushplus微信推送,一对多推送所需的群组 (需订阅者扫描二维码),只填TOKEN默认为一对一推送 | | `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制jd_joy_reward.js脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) diff --git a/sendNotify.js b/sendNotify.js index 6392824b..23c2d9d6 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -48,6 +48,11 @@ let DD_BOT_SECRET = ''; //注:此处设置github action用户填写到Settings-Secrets里面(Name输入IGOT_PUSH_KEY) let IGOT_PUSH_KEY = ''; +// =======================================push+设置区域======================================= +//PUSH_PLUS_USER 填一对多推送的订阅组, 官网叫做(topic) +let PUSH_PLUS_TOKEN = ''; +let PUSH_PLUS_USER = ''; + if (process.env.PUSH_KEY) { SCKEY = process.env.PUSH_KEY; } @@ -96,6 +101,13 @@ if (process.env.IGOT_PUSH_KEY) { IGOT_PUSH_KEY = process.env.IGOT_PUSH_KEY } +if (process.env.PUSH_PLUS_TOKEN) { + PUSH_PLUS_TOKEN = process.env.PUSH_PLUS_TOKEN; +} +if (process.env.PUSH_PLUS_USER) { + PUSH_PLUS_USER = process.env.PUSH_PLUS_USER; +} + async function sendNotify(text, desp, params = {}) { //提供六种通知 await serverNotify(text, desp); @@ -105,6 +117,7 @@ async function sendNotify(text, desp, params = {}) { await ddBotNotify(text, desp); await iGotNotify(text, desp, params); await CoolPush(text, desp); + await pushPlusNotify(text, desp); } function serverNotify(text, desp, timeout = 2100) { @@ -379,6 +392,43 @@ function iGotNotify(text, desp, params={}){ }) } +function pushPlusNotify(text, desp) { + return new Promise(resolve => { + if (PUSH_PLUS_TOKEN) { + desp = desp.replace(/[\n\r]/g, '
'); // 默认为html, 不支持plaintext + const options = { + url: `http://pushplus.hxtrip.com/send`, + body: `token=${PUSH_PLUS_TOKEN}&title=${text}&content=${desp}&topic=${PUSH_PLUS_USER}`, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + } + $.post(options, (err, resp, data) => { + try { + if (err) { + console.log('\npush+发送通知消息失败!!\n') + console.log(err); + } else { + data = JSON.parse(data); + if (data.code === 200) { + console.log('\npush+发送通知消息完成。\n') + } else { + console.log('\npush+发送通知消息失败!!\n') + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + } else { + console.log('\n您未提供push+推送所需的PUSH_PLUS_TOKEN,取消push+推送消息通知\n'); + resolve() + } + }) +} + module.exports = { sendNotify } From f543e365de2a5ae72f1b94dfaa72556e88dd8fb5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 21 Dec 2020 18:25:55 +0800 Subject: [PATCH 0472/1259] =?UTF-8?q?=E4=BC=81=E9=B9=85=E9=98=85=E8=AF=BB?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A8=E9=80=81=E9=80=9A=E7=9F=A5=EF=BC=88?= =?UTF-8?q?=E6=AF=8F=E5=A4=A9=E6=99=9A=E4=B8=8A22=E7=82=B9=200=E5=88=86?= =?UTF-8?q?=E5=88=B022:20=E5=88=86=E4=B9=8B=E9=97=B4=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=20=E4=BC=9A=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=80=9A=E7=9F=A5=EF=BC=89=EF=BC=8C=E8=87=AA=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/qqread.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 0c5903ca..e2db6bd6 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -62,7 +62,7 @@ const jsname = '企鹅读书' const $ = Env(jsname) let task = '', config, ssr2 = '', wktime, day = 0; console.log(`\n========= 脚本执行时间(TM):${new Date(new Date().getTime() + 0 * 60 * 60 * 1000).toLocaleString('zh', {hour12: false})} =========\n`) - +const notify = require('../sendNotify'); const logs = 1; //0为关闭日志,1为开启 const TIME = 30//单次时长上传限制,默认5分钟 @@ -233,7 +233,14 @@ async function QQ_READ() { } } function showmsg() { - $.msg(jsname, "", tz); // 宝箱每15次通知一次 + return new Promise(async resolve => { + let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); + if (nowTimes.getHours() === 22 && (nowTimes.getMinutes() >= 0 && nowTimes.getMinutes() <= 20)) { + await notify.sendNotify(jsname, tz); + } + $.msg(jsname, "", tz); + resolve() + }) } //提现 function qqreadwithdraw() { From ee58d8a8ed95369ea59c603ec7639a4cf7c9cfdb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 00:30:54 +0800 Subject: [PATCH 0473/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 294bfc47..eb08898f 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -31,7 +31,7 @@ const JD_API_HOST = 'https://m.jingxi.com'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; -const tuanActiveId = `gaVXW_NJ0KPEA2LyUhoXzA==`; +const tuanActiveId = `6S9y4sJUfA2vPQP6TLdVIQ==`; 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 = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; From 58b396df08484bd21885d8af495c927ad065d714 Mon Sep 17 00:00:00 2001 From: Dellear <358009775@qq.com> Date: Tue, 22 Dec 2020 01:21:29 +0800 Subject: [PATCH 0474/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4serveChan=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sendNotify.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sendNotify.js b/sendNotify.js index 6392824b..96485ef6 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -130,7 +130,8 @@ function serverNotify(text, desp, timeout = 2100) { if (data.errno === 0) { console.log('server酱发送通知消息成功\n') } else if (data.errno === 1024) { - console.log('PUSH_KEY 错误\n') + // 一分钟内发送相同的内容会触发 + console.log(`server酱发送通知消息异常: ${data.errmsg}\n`) } else { console.log(`server酱发送通知消息异常\n${JSON.stringify(data)}`) } From 936828a719a4c26814598ca3a4cd40dc9a6bef7e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 09:23:55 +0800 Subject: [PATCH 0475/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E5=81=A5=E5=BA=B7=E8=84=9A=E6=9C=AC=E6=8A=A5=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdh.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_jdh.js b/jd_jdh.js index 5169bb72..e28ad9cb 100644 --- a/jd_jdh.js +++ b/jd_jdh.js @@ -270,7 +270,7 @@ function doTask(taskType,taskId,infoId) { } else { if (safeGet(data)) { data = JSON.parse(data); - console.log(data.data.msg) + console.log(data.message) // await rewardTask(taskType,taskId,infoId) } } @@ -293,7 +293,7 @@ function doTask2(taskType,taskId,infoId) { } else { if (safeGet(data)) { data = JSON.parse(data); - console.log(data.data.msg) + console.log(data.message) // await rewardTask(taskType,taskId,infoId) } } From 036951a7693e58c8365076c06e6b0a58ddd4e9e1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 10:05:58 +0800 Subject: [PATCH 0476/1259] =?UTF-8?q?jd=5Fbean=5Fchange.js=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BB=8A=E6=97=A5=E5=B0=86=E8=BF=87=E6=9C=9F=E4=BA=AC?= =?UTF-8?q?=E8=B1=86=E6=8F=90=E9=86=92=E5=8A=9F=E8=83=BD=EF=BC=88=E5=A6=82?= =?UTF-8?q?=E4=BB=8A=E6=97=A5=E6=B2=A1=E5=B0=86=E8=A6=81=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E4=BA=AC=E8=B1=86=E5=88=99=E4=B8=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_change.js | 50 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/jd_bean_change.js b/jd_bean_change.js index 426a7060..28660883 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-01 16:25:41 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-03 16:25:41 + * @Last Modified time: 2020-12-22 10:25:41 */ /* 京豆变动通知脚本:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js @@ -56,6 +56,7 @@ if ($.isNode()) { $.errorMsg = ''; $.isLogin = true; $.nickName = ''; + $.message = ''; await TotalBean(); console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); if (!$.isLogin) { @@ -82,9 +83,9 @@ if ($.isNode()) { async function showMsg() { if ($.errorMsg) return if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `账号${$.index}:${$.nickName || $.UserName}\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}京豆 🐶`, { url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` }) + 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昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}京豆 🐶`, {"open-url": "https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean"}); + $.msg($.name, '', `账号${$.index}:${$.nickName || $.UserName}\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}京豆 🐶${$.message}`, {"open-url": "https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean"}); } async function bean() { //前一天的0:0:0时间戳 @@ -206,6 +207,49 @@ function getJingBeanBalanceDetail(page) { }) }) } +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" + } + } + $.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) { + const expirejingdou = data['expirejingdou'][0]['expireamount']; + if (expirejingdou > 0) { + $.message += `\n今日将过期:${expirejingdou}京豆 🐶`; + } + } + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} function jsonParse(str) { if (typeof str == "string") { try { From c87fb1d7c2f92edb7c4089064754fbc26d15d9cf Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 10:07:29 +0800 Subject: [PATCH 0477/1259] fix --- jd_bean_change.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_bean_change.js b/jd_bean_change.js index 28660883..8270352d 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -128,6 +128,7 @@ async function bean() { $.expenseBean += Number(item.amount); } } + await queryexpirejingdou(); // console.log(`昨日收入:${$.incomeBean}个京豆 🐶`); // console.log(`昨日支出:${$.expenseBean}个京豆 🐶`) } From 22552cde989f26ee8de21c4792258c99f1f27631 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 12:46:26 +0800 Subject: [PATCH 0478/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D(=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5)=E4=B8=8E=E5=AE=8C=E5=96=84pushplus=EF=BC=8C?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E5=90=8D=E2=80=9C=E6=8E=A8=E9=80=81=E5=8A=A0?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 6 +++--- sendNotify.js | 51 ++++++++++++++++++++++++++++++------------------- 2 files changed, 34 insertions(+), 23 deletions(-) diff --git a/githubAction.md b/githubAction.md index e284c8c6..64e3a911 100644 --- a/githubAction.md +++ b/githubAction.md @@ -83,7 +83,7 @@ | `JD_BEAN_SIGN_NOTIFY_SIMPLE`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | | `JD_DEBUG` | 脚本打印log | 非必须 | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | | `PUSH_KEY` | 微信推送 | 非必须 | cookie失效推送[server酱的微信通知](http://sc.ftqq.com/3.version) | -| `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | cookie失效推送BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg) | +| `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | cookie失效推送BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg)(注:支持自建填完整链接即可) | | `BARK_SOUND` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | | `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./backUp/TG_PUSH.md) | | `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | @@ -92,8 +92,8 @@ | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | | `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | | `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | -| `PUSH_PLUS_TOKEN` | pushplus推送 | 非必须 | pushplus微信推送,支持一对一,一对多推送 [官方网站](http://pushplus.hxtrip.com/) | -| `PUSH_PLUS_USER` | pushplus推送 | 非必须 | pushplus微信推送,一对多推送所需的群组 (需订阅者扫描二维码),只填TOKEN默认为一对一推送 | +| `PUSH_PLUS_TOKEN` | pushplus推送 | 非必须 | 微信扫码登录后一对一推送或一对多推送下面的token(您的Token) [官方网站](http://pushplus.hxtrip.com/) | +| `PUSH_PLUS_USER` | pushplus推送 | 非必须 | 一对多推送的“群组编码”(一对多推送下面->您的群组(如无则新建)->群组编码)注:(1、需订阅者扫描二维码 2、如果您是创建群组所属人,也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送),只填`PUSH_PLUS_TOKEN`默认为一对一推送 | | `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制jd_joy_reward.js脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) diff --git a/sendNotify.js b/sendNotify.js index 2c9f91e6..0092d1d3 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -13,7 +13,7 @@ let SCKEY = ''; // =======================================QQ酷推通知设置区域=========================================== -//此处填你申请的SKEY(具体详见文档https://cp.xuthus.cc/) +//此处填你申请的SKEY(具体详见文档 https://cp.xuthus.cc/) //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QQ_SKEY) let QQ_SKEY = ''; //此处填写私聊或群组推送,默认私聊(send或group或者wx) @@ -49,15 +49,17 @@ let DD_BOT_SECRET = ''; let IGOT_PUSH_KEY = ''; // =======================================push+设置区域======================================= -//PUSH_PLUS_USER 填一对多推送的订阅组, 官网叫做(topic) +//官方文档:https://pushplus.hxtrip.com/ +//PUSH_PLUS_TOKEN:微信扫码登录后一对一推送或一对多推送下面的token(您的Token),不提供PUSH_PLUS_USER则默认为一对一推送 +//PUSH_PLUS_USER: 一对多推送的“群组编码”(一对多推送下面->您的群组(如无则新建)->群组编码,如果您是创建群组人。也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送) let PUSH_PLUS_TOKEN = ''; let PUSH_PLUS_USER = ''; +//==========================云端环境变量的判断与接收========================= if (process.env.PUSH_KEY) { SCKEY = process.env.PUSH_KEY; } -//========================酷推(Cool Push)设置区域=============== if (process.env.QQ_SKEY) { QQ_SKEY = process.env.QQ_SKEY; } @@ -107,17 +109,20 @@ if (process.env.PUSH_PLUS_TOKEN) { if (process.env.PUSH_PLUS_USER) { PUSH_PLUS_USER = process.env.PUSH_PLUS_USER; } +//==========================云端环境变量的判断与接收========================= + async function sendNotify(text, desp, params = {}) { - //提供六种通知 - await serverNotify(text, desp); + //提供7种通知 + await serverNotify(text, desp);//微信server酱 + await pushPlusNotify(text, desp);//pushplus(推送加) + //由于上述两种微信通知需点击进去才能查看到详情,故text(标题内容)携带了账号序号以及昵称信息,方便不点击也可知道是哪个京东哪个活动 text = text.match(/.*?(?=\s?-)/g) ? text.match(/.*?(?=\s?-)/g)[0] : text; - await BarkNotify(text, desp, params); - await tgBotNotify(text, desp); - await ddBotNotify(text, desp); - await iGotNotify(text, desp, params); - await CoolPush(text, desp); - await pushPlusNotify(text, desp); + await BarkNotify(text, desp, params);//iOS Bark APP + await tgBotNotify(text, desp);//telegram 机器人 + await ddBotNotify(text, desp);//钉钉机器人 + await iGotNotify(text, desp, params);//iGot + await CoolPush(text, desp);//QQ酷推 } function serverNotify(text, desp, timeout = 2100) { @@ -176,14 +181,14 @@ function CoolPush(text, desp) { $.post(options, (err, resp, data) => { try { if (err) { - console.log('发送通知调用API失败!!\n') + console.log(`发送${QQ_MODE === 'send' ? '个人' : QQ_MODE === 'group' ? 'QQ群' : QQ_MODE === 'wx' ? '微信' : ''}通知调用API失败!!\n`) console.log(err); } else { data = JSON.parse(data); if (data.code === 200) { - console.log('酷推发送通知消息成功\n') + console.log(`酷推发送${QQ_MODE === 'send' ? '个人' : QQ_MODE === 'group' ? 'QQ群' : QQ_MODE === 'wx' ? '微信' : ''}通知消息成功\n`) } else if (data.code === 400) { - console.log(`推送失败:${data.msg}\n`) + console.log(`QQ酷推(Cool Push)发送${QQ_MODE === 'send' ? '个人' : QQ_MODE === 'group' ? 'QQ群' : QQ_MODE === 'wx' ? '微信' : ''}推送失败:${data.msg}\n`) } } } catch (e) { @@ -397,24 +402,30 @@ function pushPlusNotify(text, desp) { return new Promise(resolve => { if (PUSH_PLUS_TOKEN) { desp = desp.replace(/[\n\r]/g, '
'); // 默认为html, 不支持plaintext + const body = { + token: `${PUSH_PLUS_TOKEN}`, + title: `${text}`, + content:`${desp}`, + topic: `${PUSH_PLUS_USER}` + }; const options = { - url: `http://pushplus.hxtrip.com/send`, - body: `token=${PUSH_PLUS_TOKEN}&title=${text}&content=${desp}&topic=${PUSH_PLUS_USER}`, + url: `https://pushplus.hxtrip.com/send`, + body: JSON.stringify(body), headers: { - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': ' application/json' } } $.post(options, (err, resp, data) => { try { if (err) { - console.log('\npush+发送通知消息失败!!\n') + console.log(`push+发送${PUSH_PLUS_USER ? '一对多' : '一对一'}通知消息失败!!\n`) console.log(err); } else { data = JSON.parse(data); if (data.code === 200) { - console.log('\npush+发送通知消息完成。\n') + console.log(`push+发送${PUSH_PLUS_USER ? '一对多' : '一对一'}通知消息完成。\n`) } else { - console.log('\npush+发送通知消息失败!!\n') + console.log(`push+发送${PUSH_PLUS_USER ? '一对多' : '一对一'}通知消息失败:${data.msg}\n`) } } } catch (e) { From 3413fba54b9f841775dfaf40a63633b683baa768 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 22 Dec 2020 12:53:27 +0800 Subject: [PATCH 0479/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9EPushPlus=E6=8E=A8=E9=80=81secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增PushPlus推送secret --- .github/workflows/deploy_tencent_scf.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 24e0ba4d..89c83231 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -40,6 +40,8 @@ jobs: if [ $IGOT_PUSH_KEY ]; then sed -i "/variables/a\ IGOT_PUSH_KEY: $IGOT_PUSH_KEY" serverless.yml; fi; if [ $QQ_SKEY ]; then sed -i "/variables/a\ QQ_SKEY: $QQ_SKEY" serverless.yml; fi; if [ $QQ_MODE ]; then sed -i "/variables/a\ QQ_MODE: $QQ_MODE" serverless.yml; fi; + if [ $PUSH_PLUS_TOKEN ]; then sed -i "/variables/a\ PUSH_PLUS_TOKEN: $PUSH_PLUS_TOKEN" serverless.yml; fi; + if [ $PUSH_PLUS_USER ]; then sed -i "/variables/a\ PUSH_PLUS_USER: $PUSH_PLUS_USER" serverless.yml; fi; if [ $PET_NOTIFY_CONTROL ]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: $PET_NOTIFY_CONTROL" serverless.yml; fi; if [ $FRUIT_NOTIFY_CONTROL ]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: $FRUIT_NOTIFY_CONTROL" serverless.yml; fi; if [ $JD_JOY_REWARD_NOTIFY ]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: $JD_JOY_REWARD_NOTIFY" serverless.yml; fi; @@ -85,6 +87,8 @@ jobs: IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}} QQ_SKEY: ${{ secrets.QQ_SKEY}} QQ_MODE: ${{ secrets.QQ_MODE}} + PUSH_PLUS_TOKEN: ${{ secrets.PUSH_PLUS_TOKEN}} + PUSH_PLUS_USER: ${{ secrets.PUSH_PLUS_USER}} PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}} FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}} JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}} From 42bbbb7551324301392cc97e99571a4069481f06 Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Tue, 22 Dec 2020 13:39:57 +0800 Subject: [PATCH 0480/1259] =?UTF-8?q?=E6=B5=87=E6=B0=B4=E6=B7=BB=E5=8A=A01?= =?UTF-8?q?s=E5=BB=B6=E6=97=B6=EF=BC=8C=E8=BF=9E=E7=BB=AD=E6=B5=87?= =?UTF-8?q?=E6=B0=B4=E6=97=B6=E8=AF=B7=E6=B1=82=E5=AE=B9=E6=98=93=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jd_fruit.js b/jd_fruit.js index aa3c08e1..716e133d 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -982,6 +982,9 @@ async function gotStageAwardForFarm(type) { } //浇水API async function waterGoodForFarm() { + await $.wait(1000); + console.log('等待了1秒'); + const functionId = arguments.callee.name.toString(); $.waterResult = await request(functionId); } @@ -991,7 +994,7 @@ async function initForTurntableFarm() { } async function lotteryForTurntableFarm() { await $.wait(2000); - console.log('等待了5秒') + console.log('等待了2秒'); $.lotteryRes = await request(arguments.callee.name.toString(), {type: 1, version: 4, channel: 1}); } From 962e8b140a9357407ed096e947b7d11fd9ec9d8f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 13:53:46 +0800 Subject: [PATCH 0481/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/githubAction.md b/githubAction.md index 64e3a911..79788766 100644 --- a/githubAction.md +++ b/githubAction.md @@ -87,8 +87,8 @@ | `BARK_SOUND` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | | `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./backUp/TG_PUSH.md) | | `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | -| `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于符号后面的XXX, 注:如果钉钉推送只填写`DD_BOT_TOKEN`,那么安全设置需勾选`自定义关键词`,内容输入输入`账号`即可,其他安全设置不要勾选 | -| `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 , 注:填写了`DD_BOT_TOKEN`和`DD_BOT_SECRET`,钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | +| `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于`=`符号后面的XXX即可 | +| `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的`SECXXXXXXXXXX`等字符 , 注:钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | | `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | | `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | From 4b4b732187a25e1f797f42548f6b014a08a93e08 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 22 Dec 2020 14:12:24 +0800 Subject: [PATCH 0482/1259] =?UTF-8?q?=E6=B3=A8=E9=94=80=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_unbind.js | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 jd_unbind.js diff --git a/jd_unbind.js b/jd_unbind.js new file mode 100644 index 00000000..1d5eb4d1 --- /dev/null +++ b/jd_unbind.js @@ -0,0 +1,238 @@ +/* +注销京东会员卡 + +脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js +// Quantumult X +[task_local] +#注销京东会员卡 +55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, enabled=true +// Loon +[Script] +cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 +// Surge +注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js + */ +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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +const jdNotify = $.getdata('jdUnsubscribeNotify');//是否关闭通知,false打开通知推送,true关闭通知推送 +let cardPageSize = $.getdata('jdUnsubscribePageSize') || 200;// 运行一次取消多少个会员卡。数字0表示不注销任何会员卡 +let stopCards = $.getdata('jdUnsubscribeStopCards') || ['京东PLUS会员'];//遇到此会员卡不再进行注销 +const JD_API_HOST = 'https://api.m.jd.com/'; +!(async () => { + if (!cookiesArr[0]) { + $.msg('【京东账号一】注销京东会员卡失败', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + } + 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/`, {"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 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){ + console.log(`已达到设定数量`) + 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']) { + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "Accept-Language": "zh-cn", + "Accept-Encoding": "gzip, deflate, br" + }, + } + $.post(option, (err, resp, data) => { + try { + data = JSON.parse(data); + $.cardsTotalNum = data.result.cardList.length; + $.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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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 { + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function requireConfig() { + return new Promise(resolve => { + if ($.isNode() && process.env.UN_BIND_CARD_NUM) { + $.UN_BIND_NUM = process.env.UN_BIND_CARD_NUM + } + if ($.isNode() && process.env.UN_BIND_STOP_CARD) { + if (process.env.UN_BIND_STOP_CARD.indexOf('&') > -1) { + $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('&'); + } if (process.env.UN_BIND_STOP_CARD.indexOf('@') > -1) { + $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('@'); + } else if (process.env.UN_BIND_STOP_CARD.indexOf('\n') > -1) { + $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('\n'); + } else if (process.env.UN_BIND_STOP_CARD.indexOf('\\n') > -1) { + $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('\\n'); + } else { + $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split(); + } + } + cardPageSize = $.UN_BIND_NUM || cardPageSize + stopCards = $.UN_BIND_STOP_CARD || stopCards + 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} From 6e78e57e7f0ac65d8dc6ad728698bef1adf2da21 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 14:30:07 +0800 Subject: [PATCH 0483/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_unbind.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/jd_unbind.js b/jd_unbind.js index 1d5eb4d1..ebd64864 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -1,16 +1,18 @@ /* 注销京东会员卡 - +是注销京东已开的店铺会员,不是京东plus会员 脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js -// Quantumult X +==========Quantumult X========== [task_local] #注销京东会员卡 55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, enabled=true -// Loon +=======Loon======== [Script] cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 -// Surge -注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js +========Surge========== +注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=620,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js +=======小火箭===== +注销京东会员卡 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, cronexpr="10 23 * * *", timeout=200, enable=true */ const $ = new Env('注销京东会员卡'); //Node.js用户请在jdCookie.js处填写京东ck; @@ -91,8 +93,10 @@ async function unsubscribeCards() { console.log(`去注销会员卡【${item.brandName}】`) let res = await unsubscribeCard(item.brandId); if (res['success']) { - count++; - $.unsubscribeCount ++ + if (res['busiCode'] === '200') { + count++; + $.unsubscribeCount ++ + } } await $.wait(1000) } From 5f28104f0142bcee84243f753a1dcf191237a9dc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 14:39:38 +0800 Subject: [PATCH 0484/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_unbind.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_unbind.js b/jd_unbind.js index ebd64864..273ffb96 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -1,6 +1,7 @@ /* 注销京东会员卡 是注销京东已开的店铺会员,不是京东plus会员 +查看已开店铺会员入口:我的=>我的钱包=>卡包 脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js ==========Quantumult X========== [task_local] @@ -126,7 +127,7 @@ function getCards() { $.post(option, (err, resp, data) => { try { data = JSON.parse(data); - $.cardsTotalNum = data.result.cardList.length; + $.cardsTotalNum = data.result.cardList ? data.result.cardList.length : 0; $.cardList = data.result.cardList } catch (e) { $.logErr(e, resp); From fad4f91f6388f829e6595c576a397a94f62b30d0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 14:50:36 +0800 Subject: [PATCH 0485/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E8=B4=A6=E5=8F=B7=E8=84=9A=E6=9C=AC=E5=87=BA=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_unbind.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_unbind.js b/jd_unbind.js index 273ffb96..fc7046bd 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -128,7 +128,7 @@ function getCards() { try { data = JSON.parse(data); $.cardsTotalNum = data.result.cardList ? data.result.cardList.length : 0; - $.cardList = data.result.cardList + $.cardList = data.result.cardList || [] } catch (e) { $.logErr(e, resp); } finally { From 7f960ef37c3535bfdf6f9fe55694c6092a17e0ea Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 22 Dec 2020 15:46:17 +0800 Subject: [PATCH 0486/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=94=80?= =?UTF-8?q?=E5=BA=97=E9=93=BA=E4=BC=9A=E5=91=98=E7=9A=84=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E8=AF=B4=E6=98=8E=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?Docker1=E6=B3=A8=E9=94=80=E5=BA=97=E9=93=BA=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=8C=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=AF=8F=E5=91=A8=E5=85=AD=E8=BF=90=E8=A1=8C=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 ++ githubAction.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 4a9bfb7d..74d8635a 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -84,3 +84,5 @@ 10 10,11 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1 # 京东发现-看一看,看40个视频领80京豆(非常耗时) 13 11,14 * * * node /scripts/jd_watch.js >> /scripts/logs/jd_watch.log 2>&1 +# 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销 +44 4 * * 6 node /scripts/jd_unbind.js >> /scripts/logs/jd_unbind.log 2>&1 diff --git a/githubAction.md b/githubAction.md index 79788766..878c9db2 100644 --- a/githubAction.md +++ b/githubAction.md @@ -110,6 +110,8 @@ | `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | | `FRUIT_BEAN_CARD` | 农场使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | | `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开. 四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`, `遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明)| +| `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。| +| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡不再进行注销,默认值"京东PLUS会员"。 | | `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看 [jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看 [jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | From 4063223500efff7a36645b3337b4ad906c3839fa Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 22 Dec 2020 17:33:34 +0800 Subject: [PATCH 0487/1259] Fix --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 878c9db2..c2f88ebb 100644 --- a/githubAction.md +++ b/githubAction.md @@ -111,7 +111,7 @@ | `FRUIT_BEAN_CARD` | 农场使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | | `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开. 四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`, `遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明)| | `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。| -| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡不再进行注销,默认值"京东PLUS会员"。 | +| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | | `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看 [jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看 [jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | From d78efc78995ed96e8c8424375cfea99e86bb7737 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 17:33:40 +0800 Subject: [PATCH 0488/1259] fix bug --- jd_unbind.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_unbind.js b/jd_unbind.js index fc7046bd..34a7828c 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -83,8 +83,8 @@ async function jdUnbind() { async function unsubscribeCards() { let count = 0 for (let item of $.cardList) { - if (count === cardPageSize){ - console.log(`已达到设定数量`) + if (count === cardPageSize * 1){ + console.log(`已达到设定数量:${cardPageSize * 1}`) break } if (stopCards && (item.brandName && stopCards.includes(item.brandName))) { From d429c373979bb3c5264a617f71e8659afee9859c Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 22 Dec 2020 18:11:34 +0800 Subject: [PATCH 0489/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=B3=A8=E9=94=80=E4=BA=AC=E4=B8=9C=E5=B7=B2=E5=BC=80?= =?UTF-8?q?=E7=9A=84=E5=BA=97=E9=93=BA=E4=BC=9A=E5=91=98secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增注销京东已开的店铺会员secret --- .github/workflows/deploy_tencent_scf.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 89c83231..bc302d4d 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -58,6 +58,8 @@ jobs: if [ $SUPERMARKET_LOTTERY ]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: $SUPERMARKET_LOTTERY" serverless.yml; fi; if [ $FRUIT_BEAN_CARD ]; then sed -i "/variables/a\ FRUIT_BEAN_CARD: $FRUIT_BEAN_CARD" serverless.yml; fi; if [ $UN_SUBSCRIBES ]; then sed -i "/variables/a\ UN_SUBSCRIBES: $UN_SUBSCRIBES" serverless.yml; fi; + if [ $UN_BIND_CARD_NUM ]; then sed -i "/variables/a\ UN_BIND_CARD_NUM: $UN_BIND_CARD_NUM" serverless.yml; fi; + if [ $UN_BIND_STOP_CARD ]; then sed -i "/variables/a\ UN_BIND_STOP_CARD: $UN_BIND_STOP_CARD" serverless.yml; fi; if [ $FRUITSHARECODES ]; then sed -i "/variables/a\ FRUITSHARECODES: $FRUITSHARECODES" serverless.yml; fi; if [ $PETSHARECODES ]; then sed -i "/variables/a\ PETSHARECODES: $PETSHARECODES" serverless.yml; fi; if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; @@ -105,6 +107,8 @@ jobs: SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}} FRUIT_BEAN_CARD: ${{ secrets.FRUIT_BEAN_CARD}} UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}} + UN_BIND_CARD_NUM: ${{ secrets.UN_BIND_CARD_NUM}} + UN_BIND_STOP_CARD: ${{ secrets.UN_BIND_STOP_CARD}} FRUITSHARECODES: ${{ secrets.FRUITSHARECODES}} PETSHARECODES: ${{ secrets.PETSHARECODES}} PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}} From a37232944dddae230a9d35c96b48e8514337bceb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 22 Dec 2020 18:47:34 +0800 Subject: [PATCH 0490/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E5=B0=8F=E7=AA=9D=E8=87=AA=E5=B7=B1=E8=B4=A6=E5=8F=B7=E7=9B=B8?= =?UTF-8?q?=E4=BA=92=E5=8A=A9=E5=8A=9B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_small_home.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/jd_small_home.js b/jd_small_home.js index 3b509801..88499e76 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -92,12 +92,13 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; + $.token = $.newShareCodes[i].token; $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) if ($.newShareCodes.length > 1) { - let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] + let code = $.newShareCodes[(i + 1) % $.newShareCodes.length]['code'] console.log(`\n${$.UserName}去给自己的下一账号${decodeURIComponent(cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/) && cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/)[1])}助力\n`) $.log(`自己的下一账号${decodeURIComponent(cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/) && cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/)[1])},助力码为 ${code}`) - await createAssistUser(code, $.createAssistUserID || "1318106976846299138"); + await createAssistUser(code, $.createAssistUserID); } console.log(`\n去帮助作者:lxk0301\n`) await helpFriends(); @@ -153,7 +154,7 @@ async function helpFriends() { if (!$.inviteCodes) await updateInviteCodeCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateSmallHomeInviteCode.json'); for (let item of $.inviteCodes.inviteCode) { if (!item) continue - await createAssistUser(item, $.createAssistUserID || "1318106976846299138"); + await createAssistUser(item, $.createAssistUserID); } } async function doAllTask() { @@ -165,8 +166,8 @@ async function doAllTask() { for (let item of $.taskList) { if (item.ssjjTaskInfo.type === 1) { //邀请好友助力自己 - // await createAssistUser('1330186694770339842', item.ssjjTaskInfo.id) $.createAssistUserID = item.ssjjTaskInfo.id; + console.log(`createAssistUserID:${item.ssjjTaskInfo.id}`) console.log(`\n\n助力您的好友:${item.doneNum}人`) } if (item.ssjjTaskInfo.type === 2) { @@ -504,7 +505,7 @@ function createInviteUser() { if (data.body.id) { console.log(`\n您的${$.name}shareCode(每天都是变化的):【${data.body.id}】\n`); $.shareCode = data.body.id; - $.newShareCodes.push(data.body.id); + $.newShareCodes.push({ 'code': data.body.id, 'token': $.token }); } } } @@ -520,6 +521,7 @@ function createInviteUser() { } 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 { From 447cce3919cc1aec281a9ad3584f359c7c81e468 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 22 Dec 2020 19:31:56 +0800 Subject: [PATCH 0491/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=B3=A8=E9=94=80=E4=BA=AC=E4=B8=9C=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E5=8D=A1Crontab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增注销京东会员卡Crontab --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index faf47ded..2a0e8f09 100644 --- a/serverless.yml +++ b/serverless.yml @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live - - timer: # 京东全民开红包 # 进店领豆 # 取关京东店铺商品# 京东抽奖机# 东东小窝# 秒杀红包雨# 健康抽奖机 + - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 #秒杀红包雨 #健康抽奖机 parameters: - name: redPacket_shop_unsubscribe_lotteryMachine_small_home_ms_redrain_health + name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home_ms_redrain_health cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_lotteryMachine&jd_small_home&jd_ms_redrain&jd_health + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home&jd_ms_redrain&jd_health - timer: # 京东天天加速# 天天提鹅 parameters: name: jd_speed_jd_daily_egg From dcc9b27bd9ce90cfb6254d22484a672838652692 Mon Sep 17 00:00:00 2001 From: Rookie_Zoe Date: Tue, 22 Dec 2020 20:35:43 +0800 Subject: [PATCH 0492/1259] =?UTF-8?q?add=20=E4=BC=81=E4=B8=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E6=9C=BA=E5=99=A8=E4=BA=BA=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 2 + docker/example/custom-append.yml | 2 + docker/example/custom-overwrite.yml | 2 + docker/example/default.yml | 3 +- githubAction.md | 1 + sendNotify.js | 51 ++++++++++++++++++++++++ 6 files changed, 60 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 89c83231..9df734fe 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -37,6 +37,7 @@ jobs: if [ $TG_USER_ID ]; then sed -i "/variables/a\ TG_USER_ID: $TG_USER_ID" serverless.yml; fi; if [ $DD_BOT_TOKEN ]; then sed -i "/variables/a\ DD_BOT_TOKEN: $DD_BOT_TOKEN" serverless.yml; fi; if [ $DD_BOT_SECRET ]; then sed -i "/variables/a\ DD_BOT_SECRET: $DD_BOT_SECRET" serverless.yml; fi; + if [ $QYWX_KEY ]; then sed -i "/variables/a\ QYWX_KEY: $QYWX_KEY" serverless.yml; fi; if [ $IGOT_PUSH_KEY ]; then sed -i "/variables/a\ IGOT_PUSH_KEY: $IGOT_PUSH_KEY" serverless.yml; fi; if [ $QQ_SKEY ]; then sed -i "/variables/a\ QQ_SKEY: $QQ_SKEY" serverless.yml; fi; if [ $QQ_MODE ]; then sed -i "/variables/a\ QQ_MODE: $QQ_MODE" serverless.yml; fi; @@ -84,6 +85,7 @@ jobs: TG_USER_ID: ${{ secrets.TG_USER_ID}} DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}} DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}} + QYWX_KEY: ${{ secrets.QYWX_KEY}} IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}} QQ_SKEY: ${{ secrets.QQ_SKEY}} QQ_MODE: ${{ secrets.QQ_MODE}} diff --git a/docker/example/custom-append.yml b/docker/example/custom-append.yml index 98ada21f..b685384d 100644 --- a/docker/example/custom-append.yml +++ b/docker/example/custom-append.yml @@ -28,6 +28,8 @@ jd_scripts: #钉钉机器人通知 - DD_BOT_TOKEN= - DD_BOT_SECRET= + #企业微信机器人通知 + - QYWX_KEY= #京东种豆得豆 - PLANT_BEAN_SHARECODES= #京东农场 diff --git a/docker/example/custom-overwrite.yml b/docker/example/custom-overwrite.yml index 5c77199a..9e920f7e 100644 --- a/docker/example/custom-overwrite.yml +++ b/docker/example/custom-overwrite.yml @@ -28,6 +28,8 @@ jd_scripts: #钉钉机器人通知 - DD_BOT_TOKEN= - DD_BOT_SECRET= + #企业微信机器人通知 + - QYWX_KEY= #京东种豆得豆 - PLANT_BEAN_SHARECODES= #京东农场 diff --git a/docker/example/default.yml b/docker/example/default.yml index 24c89c13..e9716b16 100644 --- a/docker/example/default.yml +++ b/docker/example/default.yml @@ -27,6 +27,8 @@ jd_scripts: #钉钉机器人通知 - DD_BOT_TOKEN= - DD_BOT_SECRET= + #企业微信机器人通知 + - QYWX_KEY= #京东种豆得豆 - PLANT_BEAN_SHARECODES= #京东农场 @@ -50,4 +52,3 @@ jd_scripts: #并不是所有的脚本都会被启用延迟,因为有一些脚本需要整点触发。延迟的目的有两个,1是降低抢占cpu资源几率,2是降低检查风险(主要是1) #填写数字,单位为秒,比如写为 RANDOM_DELAY_MAX=30 就是随机产生0到29之间的一个秒数,执行延迟的意思。 - RANDOM_DELAY_MAX= - diff --git a/githubAction.md b/githubAction.md index c2f88ebb..510eb7ae 100644 --- a/githubAction.md +++ b/githubAction.md @@ -89,6 +89,7 @@ | `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | | `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于`=`符号后面的XXX即可 | | `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的`SECXXXXXXXXXX`等字符 , 注:钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | +| `QYWX_KEY` | 企业微信推送 | 非必须 | 密钥,企业微信推送 webhook 后面的 key | | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | | `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | | `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | diff --git a/sendNotify.js b/sendNotify.js index 0092d1d3..679df66a 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -43,6 +43,11 @@ let DD_BOT_TOKEN = ''; //密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 let DD_BOT_SECRET = ''; +// =======================================企业微信机器人通知设置区域=========================================== +//此处填你企业微信机器人的 webhook,例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa +//注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_KEY) +let QYWX_KEY = ''; + // =======================================iGot聚合推送通知设置区域=========================================== //此处填您iGot的信息(推送key,例如:https://push.hellyw.com/XXXXXXXX) //注:此处设置github action用户填写到Settings-Secrets里面(Name输入IGOT_PUSH_KEY) @@ -99,6 +104,10 @@ if (process.env.DD_BOT_TOKEN) { } } +if (process.env.QYWX_KEY) { + QYWX_KEY = process.env.QYWX_KEY; +} + if (process.env.IGOT_PUSH_KEY) { IGOT_PUSH_KEY = process.env.IGOT_PUSH_KEY } @@ -121,6 +130,7 @@ async function sendNotify(text, desp, params = {}) { await BarkNotify(text, desp, params);//iOS Bark APP await tgBotNotify(text, desp);//telegram 机器人 await ddBotNotify(text, desp);//钉钉机器人 + await qywxBotNotify(text, desp); //企业微信机器人 await iGotNotify(text, desp, params);//iGot await CoolPush(text, desp);//QQ酷推 } @@ -355,6 +365,47 @@ function ddBotNotify(text, desp) { }) } +function qywxBotNotify(text, desp) { + return new Promise(resolve => { + const options = { + url: `https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${QYWX_KEY}`, + json: { + msgtype: 'text', + text: { + content: ` ${text}\n\n${desp}`, + }, + }, + headers: { + 'Content-Type': 'application/json', + }, + }; + if (QYWX_KEY) { + $.post(options, (err, resp, data) => { + try { + if (err) { + console.log('企业微信发送通知消息失败!!\n'); + console.log(err); + } else { + data = JSON.parse(data); + if (data.errcode === 0) { + console.log('企业微信发送通知消息完成。\n'); + } else { + console.log(`${data.errmsg}\n`); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }); + } else { + console.log('您未提供企业微信机器人推送所需的QYWX_KEY,取消企业微信推送消息通知\n'); + resolve(); + } + }); +} + function iGotNotify(text, desp, params={}){ return new Promise(resolve => { if (IGOT_PUSH_KEY) { From d2419008f07f61ea17f81c210cac953ee5f94856 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 22 Dec 2020 21:16:43 +0800 Subject: [PATCH 0493/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BA=AC=E4=B8=9C=E7=9C=8B=E4=B8=80=E7=9C=8Bsecret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步京东看一看secret --- .github/workflows/deploy_tencent_scf.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index bc302d4d..994677e2 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -71,6 +71,8 @@ jobs: if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; if [ $FACTORAY_WANTPRODUCT_NAME ]; then sed -i "/variables/a\ FACTORAY_WANTPRODUCT_NAME: $FACTORAY_WANTPRODUCT_NAME" serverless.yml; fi; + if [ $WATCH_ACCEPTBODY ]; then sed -i "/variables/a\ WATCH_ACCEPTBODY: $WATCH_ACCEPTBODY" serverless.yml; fi; + if [ $WATCH_DOBODY ]; then sed -i "/variables/a\ WATCH_DOBODY: $WATCH_DOBODY" serverless.yml; fi; cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 @@ -120,6 +122,8 @@ jobs: TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} FACTORAY_WANTPRODUCT_NAME: ${{ secrets.FACTORAY_WANTPRODUCT_NAME}} + WATCH_ACCEPTBODY: ${{ secrets.WATCH_ACCEPTBODY}} + WATCH_DOBODY: ${{ secrets.WATCH_DOBODY}} - name: "部署到腾讯云函数" run: serverless deploy From ebfa36c86a0d3b6af551051ba0e61af178db06cc Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 22 Dec 2020 23:22:41 +0800 Subject: [PATCH 0494/1259] =?UTF-8?q?1.=E8=B0=83=E6=95=B46=E4=B8=AA?= =?UTF-8?q?=E5=A4=A7=E5=AE=B6=E5=8F=AF=E4=BB=A5=E4=BA=92=E5=8A=A9=E7=9A=84?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E4=BA=92=E5=8A=A9=E7=A0=81=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=202.=E5=A2=9E=E5=8A=A0=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=B8=AD=E5=90=84=E4=B8=AA=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E4=BA=92=E5=8A=A9=E7=A0=81=E8=84=9A=E6=9C=AC=E4=BA=92=E5=8A=A9?= =?UTF-8?q?=E7=A0=81=E7=BB=9F=E4=B8=80=E6=95=B4=E7=90=86=E5=88=B0=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 2 ++ docker/proc_file.sh | 36 ++++++++++++++++++++++++++++++++++++ jd_dreamFactory.js | 2 +- jd_fruit.js | 2 +- jd_jdfactory.js | 2 +- jd_jdzz.js | 2 +- jd_pet.js | 2 +- jd_plantBean.js | 2 +- 8 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 docker/proc_file.sh diff --git a/docker/default_task.sh b/docker/default_task.sh index f47d8fdf..d099871c 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -114,3 +114,5 @@ fi echo "加载最新的定时任务文件..." crontab $mergedListFile + +sh -x /scripts/docker/proc_file.sh \ No newline at end of file diff --git a/docker/proc_file.sh b/docker/proc_file.sh new file mode 100644 index 00000000..4674a923 --- /dev/null +++ b/docker/proc_file.sh @@ -0,0 +1,36 @@ +#!/bin/sh +set -e + +echo "整理各个日志文件里面的互助码相关信息。。。" +echo "===========================================================================" +logdDir="/scripts/logs" +sharecodeFile="${logdDir}/sharecode.log" +jdzzFile="${logdDir}/jd_jdzz.log" +jdfactoryFile="${logdDir}/jd_jdfactory.log" +jxFactoryFile="${logdDir}/jd_dreamFactory.log" +plantBean="${logdDir}/jd_plantBean.log" +jdfruit="${logdDir}/jd_fruit.log" +jdpet="${logdDir}/jd_pet.log" + +echo -e >>$sharecodeFile + +sed -n '/京东赚赚好友互助码】.*/'p $jdzzFile | awk '{print $1}' | sort | uniq >>$sharecodeFile +echo "提取京东赚赚助力码完成" + +sed -n '/东东工厂好友互助码】.*/'p $jdfactoryFile | awk '{print $1}' | sort | uniq >>$sharecodeFile +echo "提取东东工厂助力码完成" + +sed -n '/京喜工厂好友互助码.*/'p $jxFactoryFile | awk '{print $1}' | sort | uniq >>$sharecodeFile +echo "提取京喜工厂助力码完成" + +sed -n '/京东种豆得豆好友互助码】.*/'p $plantBean | awk '{print $1}' | sort | uniq >>$sharecodeFile +echo "提取京东种豆助力码完成" + +sed -n '/东东农场好友互助码】.*/'p $jdfruit | awk '{print $1}' | sort | uniq >>$sharecodeFile +echo "提取京东农场助力码完成" + +sed -n '/东东萌宠好友互助码】.*/'p $jdpet | awk '{print $1}' | sort | uniq >>$sharecodeFile +echo "提取东东萌宠助力码完成" + +echo "===========================================================================" +echo "整理完成,具体结果请查看${sharecodeFile}文件" diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index eb08898f..dbdd5012 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -547,7 +547,7 @@ function userInfo() { } console.log(`当前电力:${data.user.electric}`) console.log(`当前等级:${data.user.currentLevel}`) - console.log(`分享码: ${data.user.encryptPin}`); + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${data.user.encryptPin}`); console.log(`已投入电力:${production.investedElectric}`); console.log(`所需电力:${production.needElectric}`); console.log(`生产进度:${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%`); diff --git a/jd_fruit.js b/jd_fruit.js index 716e133d..c996e7b8 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -85,7 +85,7 @@ async function jdFruit() { // option['media-url'] = $.farmInfo.farmUserPro.goodsImage; subTitle = `【京东账号${$.index}】${$.nickName}`; message = `【水果名称】${$.farmInfo.farmUserPro.name}\n`; - console.log(`\n【您的${$.name}互助码shareCode】 ${$.farmInfo.farmUserPro.shareCode}\n`); + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.farmInfo.farmUserPro.shareCode}\n`); console.log(`\n【已成功兑换水果】${$.farmInfo.farmUserPro.winTimes}次\n`); message += `【已兑换水果】${$.farmInfo.farmUserPro.winTimes}次\n`; await masterHelpShare();//助力好友 diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 1ec93e60..0c404e82 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -446,7 +446,7 @@ function jdfactory_getTaskDetail() { $.taskVos = data.data.result.taskVos;//任务列表 $.taskVos.map(item => { if (item.taskType === 14) { - console.log(`\n您的${$.name}好友助力邀请码:${item.assistTaskDetailVo.taskToken}\n`) + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${item.assistTaskDetailVo.taskToken}\n`) } }) } diff --git a/jd_jdzz.js b/jd_jdzz.js index a7462105..74c2f4a9 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -255,7 +255,7 @@ function getUserInfo() { if (safeGet(data)) { data = JSON.parse(data); if (data.data.shareTaskRes) { - console.log(`\n您的${$.name}好友助力码为: ${data.data.shareTaskRes.itemId}\n`); + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${data.data.shareTaskRes.itemId}\n`); } else { console.log(`已满5人助力,暂时看不到您的${$.name}好友助力码`) } diff --git a/jd_pet.js b/jd_pet.js index c0b342fb..3671f3b7 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -115,7 +115,7 @@ async function jdPet() { } return } - console.log(`\n【您的${$.name}互助码shareCode】 ${$.petInfo.shareCode}\n`); + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.petInfo.shareCode}\n`); await taskInit(); if ($.taskInit.resultCode === '9999' || !$.taskInit.result) { console.log('初始化任务异常, 请稍后再试'); diff --git a/jd_plantBean.js b/jd_plantBean.js index b7393db3..4ae0779b 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -89,7 +89,7 @@ async function jdPlantBean() { if ($.plantBeanIndexResult.code === '0') { const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl $.myPlantUuid = getParam(shareUrl, 'plantUuid') - console.log(`\n【您的${$.name}互助码】 ${$.myPlantUuid}\n`); + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.myPlantUuid}\n`); roundList = $.plantBeanIndexResult.data.roundList; currentRoundId = roundList[1].roundId;//本期的roundId lastRoundId = roundList[0].roundId;//上期的roundId From 55abc21c9693ffc01d3f64534f2a6022a237df65 Mon Sep 17 00:00:00 2001 From: Akira Date: Tue, 22 Dec 2020 23:28:44 +0800 Subject: [PATCH 0495/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=AF=8F=E6=AC=A1?= =?UTF-8?q?=E6=8F=90=E5=8F=96=E5=89=8D=E6=B8=85=E7=A9=BA=E4=BA=92=E5=8A=A9?= =?UTF-8?q?=E7=A0=81=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/proc_file.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/proc_file.sh b/docker/proc_file.sh index 4674a923..6ad3a51a 100644 --- a/docker/proc_file.sh +++ b/docker/proc_file.sh @@ -12,7 +12,7 @@ plantBean="${logdDir}/jd_plantBean.log" jdfruit="${logdDir}/jd_fruit.log" jdpet="${logdDir}/jd_pet.log" -echo -e >>$sharecodeFile +echo -e >$sharecodeFile sed -n '/京东赚赚好友互助码】.*/'p $jdzzFile | awk '{print $1}' | sort | uniq >>$sharecodeFile echo "提取京东赚赚助力码完成" From 640d1ba57d75effbbd5e9a9b9ac836374b04b274 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 09:46:29 +0800 Subject: [PATCH 0496/1259] =?UTF-8?q?=E6=B3=A8=E9=94=80=E5=BA=97=E9=93=BA?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E5=8D=A1=E6=B7=BB=E5=8A=A0json=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E9=81=BF=E5=85=8D=E6=AF=94=E8=BE=83=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_change.js | 3 ++- jd_unbind.js | 35 ++++++++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/jd_bean_change.js b/jd_bean_change.js index 8270352d..012e6278 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -88,10 +88,11 @@ async function showMsg() { $.msg($.name, '', `账号${$.index}:${$.nickName || $.UserName}\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}京豆 🐶${$.message}`, {"open-url": "https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean"}); } async function bean() { - //前一天的0:0:0时间戳 // 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; diff --git a/jd_unbind.js b/jd_unbind.js index 34a7828c..ee16decb 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -126,9 +126,16 @@ function getCards() { } $.post(option, (err, resp, data) => { try { - data = JSON.parse(data); - $.cardsTotalNum = data.result.cardList ? data.result.cardList.length : 0; - $.cardList = data.result.cardList || [] + 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 { @@ -155,8 +162,15 @@ function unsubscribeCard(vendorId) { } $.post(option, (err, resp, data) => { try { - data = JSON.parse(data) - console.log(data.message) + 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 { @@ -239,5 +253,16 @@ function jsonParse(str) { } } } +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){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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} From ef84924a8076b003e634423313b7f91fa87186c3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 09:55:26 +0800 Subject: [PATCH 0497/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97,?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_reward.js | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index cf9e9f99..f8b71370 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -1,6 +1,6 @@ /* 宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 -更新时间:2020-11-20 +更新时间:2020-12-23 兑换规则:一个账号一天只能兑换一次京豆。 兑换奖品成功后才会有系统弹窗通知 每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 @@ -181,10 +181,9 @@ function getExchangeRewards() { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { + $.getExchangeRewardsRes = {}; + if (safeGet(data)) { $.getExchangeRewardsRes = JSON.parse(data); - } else { - console.log(`${$.name}api返回数据为空,请检查自身原因`) } } } catch (e) { @@ -221,10 +220,10 @@ function exchange(saleInfoId, orderSource) { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - if (data) { + console.log(`兑换结果:${data}`); + $.exchangeRes = {}; + if (safeGet(data)) { $.exchangeRes = JSON.parse(data); - } else { - console.log(`${$.name}api返回数据为空,请检查自身原因`) } } } catch (e) { @@ -286,5 +285,16 @@ function jsonParse(str) { } } } +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){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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} From 084b1c1d5d1b3960d94173090fad6c90a62bfe7c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 10:29:27 +0800 Subject: [PATCH 0498/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=B7=B1?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E4=B9=8B=E9=97=B4=E7=9B=B8=E4=BA=92=E5=8A=A9?= =?UTF-8?q?=E5=8A=9B=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_small_home.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/jd_small_home.js b/jd_small_home.js index 88499e76..5ee50c25 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-12 11:42:12 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-11 14:27:20 + * @Last Modified time: 2020-12-23 14:27:20 */ /* 东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js @@ -45,6 +45,7 @@ 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]) @@ -92,12 +93,12 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; - $.token = $.newShareCodes[i].token; + $.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(cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/) && cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/)[1])}助力\n`) - $.log(`自己的下一账号${decodeURIComponent(cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/) && cookiesArr[(i + 1) % $.newShareCodes.length].match(/pt_pin=(.+?);/)[1])},助力码为 ${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去帮助作者:lxk0301\n`) @@ -505,7 +506,7 @@ function createInviteUser() { 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 }); + $.newShareCodes.push({ 'code': data.body.id, 'token': $.token, cookie }); } } } @@ -773,6 +774,7 @@ function login(userName) { data = JSON.parse(data); if (data.head.code === 200) { $.token = data.head.token; + $.helpToken.push(data.head.token) } } } catch (e) { From 2fd42e846c410623a64a766aadbdf05aab045dbe Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 23 Dec 2020 11:06:19 +0800 Subject: [PATCH 0499/1259] =?UTF-8?q?=E5=A6=82=E6=9E=9CRANDOM=5FDELAY=5FMA?= =?UTF-8?q?X=E6=9C=AA=E9=85=8D=E7=BD=AE=E6=89=A7=E8=A1=8C=E6=8F=90?= =?UTF-8?q?=E7=A4=BAsh:=201:=20unknown=20operand?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 如果RANDOM_DELAY_MAX未配置执行提示sh: 1: unknown operand,增一个判断提示 https://github.com/lxk0301/jd_scripts/pull/372 --- docker/default_task.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index d099871c..caf4f6d1 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -107,12 +107,16 @@ if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi -if [ $RANDOM_DELAY_MAX -ge 1 ]; then - echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile +if [ $RANDOM_DELAY_MAX ];then + if [ $RANDOM_DELAY_MAX -ge 1 ]; then + echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " + sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile + fi +else + echo "未配置随即延迟对应的环境变量,故不设置延迟任务" fi echo "加载最新的定时任务文件..." crontab $mergedListFile -sh -x /scripts/docker/proc_file.sh \ No newline at end of file +sh -x /scripts/docker/proc_file.sh From 1facbdd243cbc1163f833f0c93a9282cac42f067 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 23 Dec 2020 11:16:08 +0800 Subject: [PATCH 0500/1259] bug fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 因为之前测试时候日志输出未设置ts,所以$1没问题,默认所有日志有|ts输出,所以需要改取 $4,$5也取是担心中间会有多的空格影响分列 --- docker/proc_file.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docker/proc_file.sh b/docker/proc_file.sh index 6ad3a51a..bf963c17 100644 --- a/docker/proc_file.sh +++ b/docker/proc_file.sh @@ -14,22 +14,22 @@ jdpet="${logdDir}/jd_pet.log" echo -e >$sharecodeFile -sed -n '/京东赚赚好友互助码】.*/'p $jdzzFile | awk '{print $1}' | sort | uniq >>$sharecodeFile +sed -n '/京东赚赚好友互助码】.*/'p $jdzzFile | awk '{print $4,$5}' | sort | uniq >>$sharecodeFile echo "提取京东赚赚助力码完成" -sed -n '/东东工厂好友互助码】.*/'p $jdfactoryFile | awk '{print $1}' | sort | uniq >>$sharecodeFile +sed -n '/东东工厂好友互助码】.*/'p $jdfactoryFile | awk '{print $4,$5}' | sort | uniq >>$sharecodeFile echo "提取东东工厂助力码完成" -sed -n '/京喜工厂好友互助码.*/'p $jxFactoryFile | awk '{print $1}' | sort | uniq >>$sharecodeFile +sed -n '/京喜工厂好友互助码.*/'p $jxFactoryFile | awk '{print $4,$5}' | sort | uniq >>$sharecodeFile echo "提取京喜工厂助力码完成" -sed -n '/京东种豆得豆好友互助码】.*/'p $plantBean | awk '{print $1}' | sort | uniq >>$sharecodeFile +sed -n '/京东种豆得豆好友互助码】.*/'p $plantBean | awk '{print $4,$5}' | sort | uniq >>$sharecodeFile echo "提取京东种豆助力码完成" -sed -n '/东东农场好友互助码】.*/'p $jdfruit | awk '{print $1}' | sort | uniq >>$sharecodeFile +sed -n '/东东农场好友互助码】.*/'p $jdfruit | awk '{print $4,$5}' | sort | uniq >>$sharecodeFile echo "提取京东农场助力码完成" -sed -n '/东东萌宠好友互助码】.*/'p $jdpet | awk '{print $1}' | sort | uniq >>$sharecodeFile +sed -n '/东东萌宠好友互助码】.*/'p $jdpet | awk '{print $4,$5}' | sort | uniq >>$sharecodeFile echo "提取东东萌宠助力码完成" echo "===========================================================================" From eac7d4764c53d7e96d3fefc4b805a4286ad1be0d Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 23 Dec 2020 12:04:08 +0800 Subject: [PATCH 0501/1259] =?UTF-8?q?crazy=20=E6=8C=82=E6=9C=BA=E9=A2=86?= =?UTF-8?q?=E5=8F=96=E9=87=91=E5=B8=81/=E7=9C=8B=E8=A7=86=E9=A2=91/?= =?UTF-8?q?=E5=B0=8F=E6=97=B6=E8=A1=A5=E7=BB=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 415 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 415 insertions(+) create mode 100644 jd_crazy_joy_coin.js diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js new file mode 100644 index 00000000..dc23091c --- /dev/null +++ b/jd_crazy_joy_coin.js @@ -0,0 +1,415 @@ +/* +crazy joy +挂机领金币/宝箱专用 + + +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#crazyJoy挂机 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js, tag=crazyJoy挂机, enabled=true + +================Loon============== +[Script] +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js,tag=crazyJoy挂机 + +===============Surge================= +crazyJoy挂机 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js + +============小火箭========= +crazyJoy挂机 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js, cronexpr="10 * * * *", timeout=200, enable=true + + */ + + +const $ = new Env('crazyJoy挂机'); +const JD_API_HOST = 'https://api.m.jd.com/'; + +const notify = $.isNode() ? require('./sendNotify') : ''; +let cookiesArr = [], cookie = '', message = ''; +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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +!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 () => { + if (!cookiesArr[0]) { + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + return; + } + while(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/`, {"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 jdJxStory() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdJxStory() { + $.coin = 0 + $.bean = 0 + await hourBenefit() + await getCoin() + await getUserBean() + console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) +} +function hourBenefit() { + let body = {"eventType":"HOUR_BENEFIT"} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_event_obtainAward', JSON.stringify(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.coins}金币`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function getUserBean() { + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_user_getJdBeanInfo'), 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 && data.data && data.data.totalBeans) + $.bean = data.data.totalBeans + else + console.log(`获取信息失败`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function getCoin() { + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_joy_produce'), 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.totalCoinAmount) + $.coin = data.data.totalCoinAmount + if (data.data && data.data.luckyBoxRecordId) { + await openBox(data.data.luckyBoxRecordId) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function openBox(boxId) { + let body = {"eventType": "LUCKY_BOX_DROP", "eventRecordId": boxId} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_event_getVideoAdvert', JSON.stringify(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(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes},等待30秒`) + await $.wait(30000) + await rewardBox(boxId) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function rewardBox(boxId) { + let body = {"eventType": "LUCKY_BOX_DROP", "eventRecordId": boxId} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_event_obtainAward', JSON.stringify(body)), async (err, resp, data) => { + try { + if (err) { + $.log(`${JSON.stringify(err)}`) + $.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data['success']) { + $.log(`幸运盒子奖励领取成功,获得:${data.data.beans}京豆,${data.data.coins}金币`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function taskUrl(functionId, body = '') { + let t = Date.now().toString().substr(0, 10) + let e = body || "" + e = $.md5("aDvScBv$gGQvrXfva8dG!ZC@DA70Y%lX" + e + t) + e = e + Number(t).toString(16) + return { + url: `${JD_API_HOST}?uts=${e}&appid=crazy_joy&functionId=${functionId}&body=${escape(body)}&t=${t}`, + headers: { + 'Cookie': cookie, + 'Host': 'api.m.jd.com', + 'Accept': '*/*', + 'Connection': 'keep-alive', + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Referer': 'https://crazy-joy.jd.com/', + 'origin': 'https://crazy-joy.jd.com', + 'Accept-Encoding': 'gzip, deflate, br', + } + } +} + +function safeGet(data) { + try { + if (typeof JSON.parse(data) == "object") { + return true; + } + } catch (e) { + console.log(e); + console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); + return false; + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].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手动复制粘贴修改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();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)} From 2403808d228f56630e528ad1e63a51e390a89520 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 23 Dec 2020 13:23:40 +0800 Subject: [PATCH 0502/1259] =?UTF-8?q?=E5=AE=8C=E6=88=90crazyJoy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy.js | 606 +++++++++++++++++++++++++++++++++++++++++++ jd_crazy_joy_coin.js | 18 +- 2 files changed, 621 insertions(+), 3 deletions(-) create mode 100644 jd_crazy_joy.js diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js new file mode 100644 index 00000000..8e5fb3c2 --- /dev/null +++ b/jd_crazy_joy.js @@ -0,0 +1,606 @@ +/* +crazyJoy任务 + +每天运行一次即可 + + +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#crazyJoy任务 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, enabled=true + +================Loon============== +[Script] +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 + +===============Surge================= +crazyJoy任务 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js + +============小火箭========= +crazyJoy任务 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, cronexpr="10 * * * *", timeout=200, enable=true + + */ + + +const $ = new Env('crazyJoy任务'); +const JD_API_HOST = 'https://api.m.jd.com/'; + +const notify = $.isNode() ? require('./sendNotify') : ''; +let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 +let cookiesArr = [], cookie = '', message = ''; +const inviteCodes = [ + 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE', + 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE' +]; +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 { + let cookiesData = $.getdata('CookiesJD') || "[]"; + cookiesData = jsonParse(cookiesData); + cookiesArr = cookiesData.map(item => item.cookie); + cookiesArr.reverse(); + cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); + cookiesArr.reverse(); +} +!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 () => { + 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; + $.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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 + } + continue + } + await shareCodesFormat() + await jdCrazyJoy() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdCrazyJoy() { + $.coin = 0 + $.bean = 0 + await getUserInfo() + await doSign() + await helpFriends() + await hourBenefit() + await getTaskInfo() + for (let j = 0; j < $.taskList.length; ++j) { + let task = $.taskList[j] + if (task.status === 0) + for (let i = task.doneTimes; i < task.ext.count; ++i) { + await doTask(task.taskId) + } + if (task.status === 2) + await awardTask(task.taskId) + } + await getCoin() + await getUserBean() + console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) +} + +function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { + let body = {"paramData": {"inviter": code}} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_user_gameState', JSON.stringify(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 && data.data && data.data.userInviteCode) + console.log(`您的助力码为: ${data.data.userInviteCode}`) + else + console.log(`用户信息获取失败`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +async function helpFriends() { + for (let code of $.newShareCodes) { + if (!code) continue + await helpFriend(code) + await $.wait(500) + } +} + +function getTaskInfo() { + let body = {"paramData": {"taskType": "DAY_TASK"}} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_task_getTaskState', JSON.stringify(body)), async (err, resp, data) => { + try { + $.taskList = [] + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.success && data.data && data.data.length) { + $.taskList = data.data.filter(vo => vo.taskTypeId === 103) + } else { + console.log(`任务信息获取失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function doSign() { + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_task_doSign'), 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 && data.data) { + console.log(`签到成功,获得${data.data.beans}京豆,${data.data.coins}金币`) + } else { + console.log(data.message) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function doTask(taskId) { + let body = {"action": "MARK", "taskId": taskId} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_task_viewPage', JSON.stringify(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 && data.data && data.data.taskRecordId) { + console.log(`去做任务【${data.data.taskTitle}】,任务id: ${data.data.taskRecordId}`) + await $.wait(30000) + await recordTask(taskId, data.data.taskRecordId) + } else { + console.log(`获取信息失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function recordTask(taskId, taskRecordId) { + let body = {"action": "INCREASE", "taskId": taskId, "taskRecordId": taskRecordId} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_task_viewPage', JSON.stringify(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.taskTitle}】记录成功,去领奖`) + await awardTask(taskId) + } else { + console.log(`获取信息失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function awardTask(taskId) { + let body = {"taskId": taskId} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_task_obtainAward', JSON.stringify(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 && data.data && data.data.taskTitle) { + console.log(`任务【${data.data.taskTitle}】领奖成功,任务奖励:${data.data.beans}京豆,${data.data.coins}金币`) + } else { + console.log(`任务领奖信息获取失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function helpFriend(code) { + let body = {"paramData": {"inviter": code}} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_task_recordAssist', JSON.stringify(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.resultTips) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getUserBean() { + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_user_getJdBeanInfo'), 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 && data.data && data.data.totalBeans) + $.bean = data.data.totalBeans + else + console.log(`获取信息失败`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getCoin() { + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_joy_produce'), 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.totalCoinAmount) + $.coin = data.data.totalCoinAmount + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + + +function taskUrl(functionId, body = '') { + let t = Date.now().toString().substr(0, 10) + let e = body || "" + e = $.md5("aDvScBv$gGQvrXfva8dG!ZC@DA70Y%lX" + e + t) + e = e + Number(t).toString(16) + return { + url: `${JD_API_HOST}?uts=${e}&appid=crazy_joy&functionId=${functionId}&body=${escape(body)}&t=${t}`, + headers: { + 'Cookie': cookie, + 'Host': 'api.m.jd.com', + 'Accept': '*/*', + 'Connection': 'keep-alive', + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Referer': 'https://crazy-joy.jd.com/', + 'origin': 'https://crazy-joy.jd.com', + 'Accept-Encoding': 'gzip, deflate, br', + } + } +} + +//格式化助力码 +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; + let shareCodes = []; + if ($.isNode()) { + if (process.env.JDJOY_SHARECODES) { + if (process.env.JDJOY_SHARECODES.indexOf('\n') > -1) { + shareCodes = process.env.JDJOY_SHARECODES.split('\n'); + } else { + shareCodes = process.env.JDJOY_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 safeGet(data) { + try { + if (typeof JSON.parse(data) == "object") { + return true; + } + } catch (e) { + console.log(e); + console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); + return false; + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].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手动复制粘贴修改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();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/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index dc23091c..8c35b703 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -164,7 +164,10 @@ if ($.isNode()) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } - while(true) + let count = 0 + while(true) { + count++ + console.log(`============开始第${count}次挂机=============`) for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -180,13 +183,15 @@ if ($.isNode()) { 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。 + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 } continue } await jdJxStory() } } + $.log(`\n\n`) + } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -199,8 +204,11 @@ async function jdJxStory() { $.coin = 0 $.bean = 0 await hourBenefit() + await $.wait(1000) await getCoin() + await $.wait(1000) await getUserBean() + await $.wait(2000) console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) } function hourBenefit() { @@ -239,7 +247,7 @@ function getUserBean() { if (data.success && data.data && data.data.totalBeans) $.bean = data.data.totalBeans else - console.log(`获取信息失败`) + console.log(`京豆信息获取信息失败`) } } } catch (e) { @@ -265,6 +273,8 @@ function getCoin() { if (data.data && data.data.luckyBoxRecordId) { await openBox(data.data.luckyBoxRecordId) } + else + $.log(`产出金币信息获取信息失败`) } } } catch (e) { @@ -316,6 +326,8 @@ function rewardBox(boxId) { data = JSON.parse(data); if (data['success']) { $.log(`幸运盒子奖励领取成功,获得:${data.data.beans}京豆,${data.data.coins}金币`) + }else { + $.log(`幸运盒子奖励领取失败,错误信息:${data.message || JSON.stringify(data)}`) } } } From ce38bd4a682db8b1d9320764dc5603fbee9e1f92 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 23 Dec 2020 13:28:25 +0800 Subject: [PATCH 0503/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy.js | 1 - 1 file changed, 1 deletion(-) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 8e5fb3c2..469474f4 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -208,7 +208,6 @@ async function jdCrazyJoy() { await getUserInfo() await doSign() await helpFriends() - await hourBenefit() await getTaskInfo() for (let j = 0; j < $.taskList.length; ++j) { let task = $.taskList[j] From b17d1cf3e2d818921bcb19012f9eee8afc4568a6 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 23 Dec 2020 13:39:18 +0800 Subject: [PATCH 0504/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=9B=B4=E6=96=B0=E7=96=AF=E7=8B=82=E7=9A=84joy?= =?UTF-8?q?=E6=AF=8F=E6=97=A5=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步更新疯狂的joy每日任务 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 2a0e8f09..3a81ce08 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: # 京豆变动通知 # 京东排行榜 # 领京豆额外奖励 # 京东汽车 #京东健康APP + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东汽车 #京东健康APP parameters: - name: bean_change_rankingList_bean_home_car_jdh + name: bean_change_crazy_joy_rankingList_bean_home_car_jdh cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_rankingList&jd_bean_home&jd_car&jd_jdh + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_jdh - timer: #金融养猪 #十元街 #京东快递 #发现-看一看 #京东赚赚 #金融打卡领年终奖 parameters: name: pigPet_syj_kd_watch_jdzz_jr_sign From 1ef0c988e9b49654ece05f55625d50a249e1172c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 13:48:23 +0800 Subject: [PATCH 0505/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=98=E6=96=B9?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 +- sendNotify.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/githubAction.md b/githubAction.md index 510eb7ae..c8e64e15 100644 --- a/githubAction.md +++ b/githubAction.md @@ -89,7 +89,7 @@ | `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | | `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于`=`符号后面的XXX即可 | | `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的`SECXXXXXXXXXX`等字符 , 注:钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | -| `QYWX_KEY` | 企业微信推送 | 非必须 | 密钥,企业微信推送 webhook 后面的 key | +| `QYWX_KEY` | 企业微信推送 | 非必须 | 密钥,企业微信推送 webhook 后面的 key [详见官方说明文档](https://work.weixin.qq.com/api/doc/90000/90136/91770) | | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | | `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | | `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | diff --git a/sendNotify.js b/sendNotify.js index 679df66a..6a205895 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -44,7 +44,7 @@ let DD_BOT_TOKEN = ''; let DD_BOT_SECRET = ''; // =======================================企业微信机器人通知设置区域=========================================== -//此处填你企业微信机器人的 webhook,例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa +//此处填你企业微信机器人的 webhook(详见文档 https://work.weixin.qq.com/api/doc/90000/90136/91770),例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_KEY) let QYWX_KEY = ''; From 607ad85dda26a32a63f4a6ab370047c64aa3b411 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 14:35:25 +0800 Subject: [PATCH 0506/1259] =?UTF-8?q?fix=20jd=5Funbind.js,=E4=B8=89?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E6=96=B0=E5=A2=9E?= =?UTF-8?q?jd=5Funbind.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 ++ QuantumultX/lxk0301_gallery.json | 1 + Surge/lxk0301_Task.sgmodule.sgmodule | 2 ++ jd_unbind.js | 3 ++- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 7fdff7ca..d2fbd7ae 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -108,6 +108,8 @@ cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script cron "10 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 # 京东秒杀红包雨 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 +#注销京东店铺会员卡 +cron "23 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡 # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 0a9854d4..bc4aee1c 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -34,6 +34,7 @@ "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png", "14 11 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", + "44 12 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", "1 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 12 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 14bdfe62..5a277b26 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -69,6 +69,8 @@ cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_sc cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, timeout=750, wake-system=1, tag=京东健康 #京东赚赚 cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 +#注销京东店铺会员卡 +cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, timeout=750, wake-system=1, tag=注销京东店铺会员卡 #以下为短期活动 #金融打卡领年终奖 cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 diff --git a/jd_unbind.js b/jd_unbind.js index ee16decb..29c14ad3 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -221,13 +221,14 @@ function TotalBean() { } function requireConfig() { return new Promise(resolve => { + process.env.UN_BIND_STOP_CARD = `123&457&34324` if ($.isNode() && process.env.UN_BIND_CARD_NUM) { $.UN_BIND_NUM = process.env.UN_BIND_CARD_NUM } if ($.isNode() && process.env.UN_BIND_STOP_CARD) { if (process.env.UN_BIND_STOP_CARD.indexOf('&') > -1) { $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('&'); - } if (process.env.UN_BIND_STOP_CARD.indexOf('@') > -1) { + } else if (process.env.UN_BIND_STOP_CARD.indexOf('@') > -1) { $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('@'); } else if (process.env.UN_BIND_STOP_CARD.indexOf('\n') > -1) { $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('\n'); From 2f7b892174f200611a411e389a6d42d0442bd18e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 14:42:17 +0800 Subject: [PATCH 0507/1259] =?UTF-8?q?TODO=20=E5=AE=A0=E6=B1=AA=E6=B1=AA?= =?UTF-8?q?=E8=B5=9B=E8=B7=91=20=E8=83=BD=E5=8A=9B=E8=A1=A5=E7=BB=99?= =?UTF-8?q?=E7=AB=99(2=E4=BA=BA=E8=B5=9B=E8=B7=91=E5=8F=AF=E5=8A=A05KM?= =?UTF-8?q?=EF=BC=8C50=E4=BA=BA=E8=B5=9B=E8=B7=91=E5=8F=AF=E5=8A=A025KM)?= =?UTF-8?q?=EF=BC=8C=E6=8A=BD=E7=A9=BA=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_joy.js b/jd_joy.js index bf0ae49d..1470a529 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -1,4 +1,5 @@ /* +TODO 能力补给站(2人赛跑可加5KM,50人赛跑可加25KM),抽空添加 jd宠汪汪 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_joy.js 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js IOS用户支持京东双账号,NodeJs用户支持N个京东账号 From 62b52d04365c21cdf9b0845a95ff62996cd2d123 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 23 Dec 2020 14:52:21 +0800 Subject: [PATCH 0508/1259] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=B4=AD=E4=B9=B0?= =?UTF-8?q?=E5=90=88=E5=B9=B6joy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 192 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 185 insertions(+), 7 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 8c35b703..4497fe59 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -165,7 +165,7 @@ if ($.isNode()) { return; } let count = 0 - while(true) { + while (true) { count++ console.log(`============开始第${count}次挂机=============`) for (let i = 0; i < cookiesArr.length; i++) { @@ -203,6 +203,41 @@ if ($.isNode()) { async function jdJxStory() { $.coin = 0 $.bean = 0 + + $.canBuy = true + await getJoyList() + await $.wait(1000) + await getJoyShop() + await $.wait(1000) + for (let i = 0; i < $.joyIds.length; ++i) { + if (!$.canBuy) { + $.log(`金币不足,跳过购买`) + break + } + if ($.joyIds[i] === 0) { + await buyJoy($.buyJoyLevel) + await $.wait(1000) + } + } + await getJoyList() + let obj = {}; + $.joyIds.map((vo, idx) => { + if (vo !== 0) { + if (obj[vo]) { + obj[vo].push(idx) + } else { + obj[vo] = [idx] + } + } + }) + for (let idx in obj) { + const vo = obj[idx] + if (idx < 34 && vo.length >= 2) { + await mergeJoy(vo[0], vo[1]) + await $.wait(3000) + } + } + await hourBenefit() await $.wait(1000) await getCoin() @@ -211,8 +246,115 @@ async function jdJxStory() { await $.wait(2000) console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) } + +function getJoyList() { + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_user_gameState'), 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 && data.data.joyIds) { + $.joyIds = data.data.joyIds + } else + console.log(`joy信息获取信息失败`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getJoyShop() { + const body = {"paramData": {"entry": "SHOP"}} + return new Promise((resolve) => { + $.get(taskUrl('crazyJoy_joy_allowBoughtList', JSON.stringify(body)), 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 && data.data.shop) { + const shop = data.data.shop.filter(vo => vo.status === 1) || [] + $.buyJoyLevel = shop.length ? shop[shop.length - 1]['joyId'] : 1 + $.cost = shop.length ? shop[shop.length - 1]['coins'] : Infinity + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} + +function mergeJoy(x, y) { + let body = {"operateType": "MERGE", "fromBoxIndex": x, "targetBoxIndex": y} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_joy_moveOrMerge', JSON.stringify(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 && data.data.newJoyId) { + console.log(`合并成功,获得${data.data.newJoyId}级Joy`) + } else + console.log(`合并失败,错误`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function buyJoy(joyId) { + const body = {"action": "BUY", "joyId": joyId, "boxId": ""} + return new Promise((resolve) => { + $.get(taskUrl('crazyJoy_joy_trade', JSON.stringify(body)), async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + data = JSON.parse(data); + if (data.success) { + if (data.data.eventInfo) { + $.canBuy = false + return + } + $.log(`购买${joyId}级joy成功,剩余金币【${data.data.totalCoins}】`) + $.coin = data.data.totalCoins + } else { + console.log(data.message) + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} + function hourBenefit() { - let body = {"eventType":"HOUR_BENEFIT"} + let body = {"eventType": "HOUR_BENEFIT"} return new Promise(async resolve => { $.get(taskUrl('crazyJoy_event_obtainAward', JSON.stringify(body)), async (err, resp, data) => { try { @@ -222,7 +364,7 @@ function hourBenefit() { } else { if (safeGet(data)) { data = JSON.parse(data); - if(data.success) + if (data.success) console.log(`金币补给领取成功,获得${data.data.coins}金币`) } } @@ -234,6 +376,7 @@ function hourBenefit() { }) }) } + function getUserBean() { return new Promise(async resolve => { $.get(taskUrl('crazyJoy_user_getJdBeanInfo'), async (err, resp, data) => { @@ -258,6 +401,7 @@ function getUserBean() { }) }) } + function getCoin() { return new Promise(async resolve => { $.get(taskUrl('crazyJoy_joy_produce'), async (err, resp, data) => { @@ -268,13 +412,15 @@ function getCoin() { } else { if (safeGet(data)) { data = JSON.parse(data); + if (data.data && data.data.tryMoneyJoyBeans) { + console.log(`分红狗生效中,预计获得 ${data.data.tryMoneyJoyBeans} 京豆奖励`) + } if (data.data && data.data.totalCoinAmount) $.coin = data.data.totalCoinAmount if (data.data && data.data.luckyBoxRecordId) { await openBox(data.data.luckyBoxRecordId) - } - else - $.log(`产出金币信息获取信息失败`) + } else + $.log(`产出金币信息获取失败`) } } } catch (e) { @@ -326,7 +472,7 @@ function rewardBox(boxId) { data = JSON.parse(data); if (data['success']) { $.log(`幸运盒子奖励领取成功,获得:${data.data.beans}京豆,${data.data.coins}金币`) - }else { + } else { $.log(`幸运盒子奖励领取失败,错误信息:${data.message || JSON.stringify(data)}`) } } @@ -340,6 +486,36 @@ function rewardBox(boxId) { }) } +function getGrowState() { + let body = {"paramData":{"eventType":"GROWTH_REWARD"}} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_event_getGrowthAndSceneState', JSON.stringify(body)), async (err, resp, data) => { + try { + if (err) { + $.log(`${JSON.stringify(err)}`) + $.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data['success'] && data.data) { + for(let vo of data.data){ + if(vo['status']){ + console.log(`${vo['joyId']}升级奖励可以领取`) + } + } + } else { + $.log(`幸运盒子奖励领取失败,错误信息:${data.message || JSON.stringify(data)}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} function taskUrl(functionId, body = '') { let t = Date.now().toString().substr(0, 10) let e = body || "" @@ -372,6 +548,7 @@ function safeGet(data) { return false; } } + function TotalBean() { return new Promise(async resolve => { const options = { @@ -412,6 +589,7 @@ function TotalBean() { }) }) } + function jsonParse(str) { if (typeof str == "string") { try { From a765e8b8100e7e9aab1cd5f9d5ecfceb1dbb47eb Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 23 Dec 2020 14:54:50 +0800 Subject: [PATCH 0509/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 4497fe59..b74022db 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -248,6 +248,7 @@ async function jdJxStory() { } function getJoyList() { + $.joyIds = [] return new Promise(async resolve => { $.get(taskUrl('crazyJoy_user_gameState'), async (err, resp, data) => { try { From 4946b6e3d2ab71127aa1111d5d3e31d18b745970 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 23 Dec 2020 15:21:51 +0800 Subject: [PATCH 0510/1259] =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E5=8A=A9=E5=8A=9B/?= =?UTF-8?q?=E5=85=91=E6=8D=A2=E4=BA=AC=E8=B1=86=20=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=B8=8D=E5=BC=80=E5=90=AF=E5=BE=AA=E7=8E=AF=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=EF=BC=8C=E5=8F=AF=E9=80=9A=E8=BF=87=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8FJDJOY=5FHELPSELF=E8=AE=BE=E7=BD=AE=20=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E4=B8=8D=E5=BC=80=E5=90=AF=E4=BA=AC=E8=B1=86=E5=85=91?= =?UTF-8?q?=E6=8D=A2=EF=BC=8C=E5=8F=AF=E9=80=9A=E8=BF=87=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8FJDJOY=5FAPPLYJDBEAN=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=EF=BC=8C=E7=9B=AE=E5=89=8D=E6=9C=80=E5=B0=8F=E4=B8=BA500/1000?= =?UTF-8?q?=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy.js | 90 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 83 insertions(+), 7 deletions(-) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 469474f4..2e746db6 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -29,6 +29,8 @@ const JD_API_HOST = 'https://api.m.jd.com/'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 +let helpSelf = false // 循环助力 +let applyJdBean = 0 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = [ 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE', @@ -171,6 +173,8 @@ if ($.isNode()) { return; } await requireConfig(); + $.nextCode = "EdLPh8A6X5G1iWXu-uPYfA==" + $.selfCodes = [] for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -190,10 +194,35 @@ if ($.isNode()) { } continue } - await shareCodesFormat() await jdCrazyJoy() } } + if (helpSelf) { + 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; + $.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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 + } + continue + } + await shareCodesFormat() + await helpFriends() + } + } + } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -205,9 +234,9 @@ if ($.isNode()) { async function jdCrazyJoy() { $.coin = 0 $.bean = 0 - await getUserInfo() + await getUserInfo($.nextCode) await doSign() - await helpFriends() + // await helpFriends() await getTaskInfo() for (let j = 0; j < $.taskList.length; ++j) { let task = $.taskList[j] @@ -221,8 +250,38 @@ async function jdCrazyJoy() { await getCoin() await getUserBean() console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) + if ( applyJdBean!==0 && applyJdBean<=$.bean){ + await $.wait(1000) + console.log(`检测您打开了自动兑换开关,去兑换京豆`) + await doApplyJdBean(applyJdBean) + } +} +function doApplyJdBean(bean = 1000) { + // 兑换京豆 + let body = {"paramData":{"bean":bean}} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_user_applyJdBeanPaid', JSON.stringify(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(`兑换${bean}京豆成功`) + else + console.log(`兑换${bean}京豆失败,错误信息:${data.resultTips||data.message}`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) } - function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { let body = {"paramData": {"inviter": code}} return new Promise(async resolve => { @@ -234,8 +293,11 @@ function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { } else { if (safeGet(data)) { data = JSON.parse(data); - if (data.success && data.data && data.data.userInviteCode) + if (data.success && data.data && data.data.userInviteCode) { console.log(`您的助力码为: ${data.data.userInviteCode}`) + $.selfCodes.push(data.data.userInviteCode) + $.nextCode = data.data.userInviteCode + } else console.log(`用户信息获取失败`) } @@ -250,7 +312,8 @@ function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { } async function helpFriends() { - for (let code of $.newShareCodes) { + let codes = $.newShareCodes.concat($.selfCodes) + for (let code of codes) { if (!code) continue await helpFriend(code) await $.wait(500) @@ -517,11 +580,24 @@ function requireConfig() { if ($.isNode()) { if (process.env.JDJOY_SHARECODES) { if (process.env.JDJOY_SHARECODES.indexOf('\n') > -1) { + console.log(`您的互助码选择的是用\n隔开\n`) shareCodes = process.env.JDJOY_SHARECODES.split('\n'); - } else { + } else if (process.env.JDJOY_SHARECODES.indexOf('&') > -1) { + console.log(`您的互助码选择的是用&隔开\n`) shareCodes = process.env.JDJOY_SHARECODES.split('&'); + } else if (process.env.JDJOY_SHARECODES.indexOf('@') > -1) { + console.log(`您的互助码选择的是用@隔开\n`) + shareCodes = process.env.JDJOY_SHARECODES.split('@'); + } else { + shareCodes = process.env.JDJOY_SHARECODES.split(); } } + if (process.env.JDJOY_HELPSELF) { + helpSelf = process.env.JDJOY_HELPSELF + } + if (process.env.JDJOY_APPLYJDBEAN) { + applyJdBean = process.env.JDJOY_APPLYJDBEAN + } } console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; From 1a62cf2f0316323f51cc412f764384b5a5dd8d5c Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 23 Dec 2020 15:23:00 +0800 Subject: [PATCH 0511/1259] =?UTF-8?q?=E5=A2=9E=E5=A4=A7=E5=BB=B6=E6=97=B6?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index b74022db..7766473a 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -243,7 +243,7 @@ async function jdJxStory() { await getCoin() await $.wait(1000) await getUserBean() - await $.wait(2000) + await $.wait(5000) console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) } From 9d6fce8dc6fb1431a596e87d5622d263ff83c5d9 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 23 Dec 2020 16:16:49 +0800 Subject: [PATCH 0512/1259] =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84joy?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 疯狂的joy环境变量说明 --- githubAction.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/githubAction.md b/githubAction.md index c8e64e15..fee7d186 100644 --- a/githubAction.md +++ b/githubAction.md @@ -113,6 +113,8 @@ | `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开. 四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`, `遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明)| | `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。| | `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | +| `JDJOY_HELPSELF` | 疯狂的joy | 非必须 | 疯狂的joy循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。| +| `JDJOY_APPLYJDBEAN` | 疯狂的joy | 非必须 | 疯狂的joy京豆兑换,目前最小值为500/1000京豆,默认不开启京豆兑换。| | `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看 [jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看 [jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | From e32d01a4eca29d7b6b7323e1cddf60b305538f7c Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 23 Dec 2020 16:23:10 +0800 Subject: [PATCH 0513/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=96=AF=E7=8B=82=E7=9A=84joy=20secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增疯狂的joy secret --- .github/workflows/deploy_tencent_scf.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 8c5b374e..78ff5534 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -61,6 +61,8 @@ jobs: if [ $UN_SUBSCRIBES ]; then sed -i "/variables/a\ UN_SUBSCRIBES: $UN_SUBSCRIBES" serverless.yml; fi; if [ $UN_BIND_CARD_NUM ]; then sed -i "/variables/a\ UN_BIND_CARD_NUM: $UN_BIND_CARD_NUM" serverless.yml; fi; if [ $UN_BIND_STOP_CARD ]; then sed -i "/variables/a\ UN_BIND_STOP_CARD: $UN_BIND_STOP_CARD" serverless.yml; fi; + if [ $JDJOY_HELPSELF ]; then sed -i "/variables/a\ JDJOY_HELPSELF: $JDJOY_HELPSELF" serverless.yml; fi; + if [ $JDJOY_APPLYJDBEAN ]; then sed -i "/variables/a\ JDJOY_APPLYJDBEAN: $JDJOY_APPLYJDBEAN" serverless.yml; fi; if [ $FRUITSHARECODES ]; then sed -i "/variables/a\ FRUITSHARECODES: $FRUITSHARECODES" serverless.yml; fi; if [ $PETSHARECODES ]; then sed -i "/variables/a\ PETSHARECODES: $PETSHARECODES" serverless.yml; fi; if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; @@ -113,6 +115,8 @@ jobs: UN_SUBSCRIBES: ${{ secrets.UN_SUBSCRIBES}} UN_BIND_CARD_NUM: ${{ secrets.UN_BIND_CARD_NUM}} UN_BIND_STOP_CARD: ${{ secrets.UN_BIND_STOP_CARD}} + JDJOY_HELPSELF: ${{ secrets.JDJOY_HELPSELF}} + JDJOY_APPLYJDBEAN: ${{ secrets.JDJOY_APPLYJDBEAN}} FRUITSHARECODES: ${{ secrets.FRUITSHARECODES}} PETSHARECODES: ${{ secrets.PETSHARECODES}} PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}} From c7914c67f97bc4d0bc68ccddb4a2cee162d705d3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 16:47:39 +0800 Subject: [PATCH 0514/1259] =?UTF-8?q?=E8=A7=A3=E5=86=B3joy=E4=B8=8D?= =?UTF-8?q?=E8=A7=82=E7=9C=8B=E5=B9=BF=E5=91=8A=E8=A7=86=E9=A2=91=E5=BE=97?= =?UTF-8?q?=E9=87=91=E5=B8=81=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 7766473a..4e73455b 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -336,6 +336,7 @@ function buyJoy(joyId) { data = JSON.parse(data); if (data.success) { if (data.data.eventInfo) { + await openBox(data.data.eventInfo.eventType, data.data.eventInfo.eventRecordId) $.canBuy = false return } @@ -433,8 +434,9 @@ function getCoin() { }) } -function openBox(boxId) { - let body = {"eventType": "LUCKY_BOX_DROP", "eventRecordId": boxId} +function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { + console.log(`openBox:${eventType}`) + let body = { eventType, "eventRecordId": boxId} return new Promise(async resolve => { $.get(taskUrl('crazyJoy_event_getVideoAdvert', JSON.stringify(body)), async (err, resp, data) => { try { @@ -447,7 +449,7 @@ function openBox(boxId) { if (data['success']) { $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes},等待30秒`) await $.wait(30000) - await rewardBox(boxId) + await rewardBox(eventType, boxId) } } } @@ -460,8 +462,8 @@ function openBox(boxId) { }) } -function rewardBox(boxId) { - let body = {"eventType": "LUCKY_BOX_DROP", "eventRecordId": boxId} +function rewardBox(eventType, boxId) { + let body = { eventType, "eventRecordId": boxId} return new Promise(async resolve => { $.get(taskUrl('crazyJoy_event_obtainAward', JSON.stringify(body)), async (err, resp, data) => { try { From 0a893346e8d8384afaafeb5590845f417dd3bf0a Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 23 Dec 2020 17:22:23 +0800 Subject: [PATCH 0515/1259] Update crontab_list.sh --- docker/crontab_list.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 74d8635a..c2510d14 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -14,6 +14,8 @@ 10 6 1-31 12 * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 # 京东健康APP集汪汪卡瓜分百万红包(2021.1.6活动过期) 10 8 * * * node /scripts/jd_jdh.js >> /scripts/logs/jd_jdh.log 2>&1 +# crazyJoy自动每日任务 +10 7 * * * node /scripts/jd_crazy_joy.js >> /scripts/logs/jd_crazy_joy.log 2>&1 ##############长期活动############## # 签到 From 73e218d2c25338bae8e39c22506d2e7f3c7932e4 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 23 Dec 2020 17:22:48 +0800 Subject: [PATCH 0516/1259] Update proc_file.sh --- docker/proc_file.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docker/proc_file.sh b/docker/proc_file.sh index bf963c17..f8bad9d7 100644 --- a/docker/proc_file.sh +++ b/docker/proc_file.sh @@ -1,5 +1,4 @@ #!/bin/sh -set -e echo "整理各个日志文件里面的互助码相关信息。。。" echo "===========================================================================" @@ -34,3 +33,8 @@ echo "提取东东萌宠助力码完成" echo "===========================================================================" echo "整理完成,具体结果请查看${sharecodeFile}文件" + +echo "杀掉jd_crazy_joy_coin任务,并重启" +eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') +node /scripts/jd_crazy_joy_coin.js >> /scripts/logs/jd_crazy_joy_coin.log 2>&1 & +echo "jd_crazy_joy_coin重启完成" From b7051e9070f785a550ccb25e52e16e80f6780697 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 17:35:09 +0800 Subject: [PATCH 0517/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=89=A9?= =?UTF-8?q?=E4=BD=99=E8=A7=82=E7=9C=8B=E8=A7=86=E9=A2=91=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=20=E4=B8=BA0=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C=20?= =?UTF-8?q?=E8=BF=98=E7=BB=A7=E7=BB=AD=E7=AD=89=E5=BE=8530=E7=A7=92?= =?UTF-8?q?=E7=9A=84Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 4e73455b..4c85ab71 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -447,9 +447,11 @@ function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { if (safeGet(data)) { data = JSON.parse(data); if (data['success']) { - $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes},等待30秒`) - await $.wait(30000) - await rewardBox(eventType, boxId) + $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes}, ${data.data.advertViewTimes > 0 ? '等待30秒' : '跳出'}`) + if (data.data.advertViewTimes > 0) { + await $.wait(30000) + await rewardBox(eventType, boxId); + } } } } From bfc8bb57bb42e834ff276b221c784dbcbaa9cda9 Mon Sep 17 00:00:00 2001 From: Akira Date: Wed, 23 Dec 2020 17:38:26 +0800 Subject: [PATCH 0518/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0CRZAY=5FJOY=5FCOIN?= =?UTF-8?q?=5FENABLE=E5=BC=80=E5=85=B3=E9=85=8D=E7=BD=AE=EF=BC=8C=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=BC=80=E5=90=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关闭的话需要配置CRZAY_JOY_COIN_ENABLE=N --- docker/proc_file.sh | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/docker/proc_file.sh b/docker/proc_file.sh index f8bad9d7..c8849c8c 100644 --- a/docker/proc_file.sh +++ b/docker/proc_file.sh @@ -34,7 +34,21 @@ echo "提取东东萌宠助力码完成" echo "===========================================================================" echo "整理完成,具体结果请查看${sharecodeFile}文件" -echo "杀掉jd_crazy_joy_coin任务,并重启" -eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') -node /scripts/jd_crazy_joy_coin.js >> /scripts/logs/jd_crazy_joy_coin.log 2>&1 & -echo "jd_crazy_joy_coin重启完成" +echo "处理jd_crazy_joy_coin任务。。。" +if [ ! $CRZAY_JOY_COIN_ENABLE ]; then + echo "默认启用jd_crazy_joy_coin杀掉jd_crazy_joy_coin任务,并重启" + eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') + node /scripts/jd_crazy_joy_coin.js >> /scripts/logs/jd_crazy_joy_coin.log 2>&1 & + echo "默认jd_crazy_joy_coin重启完成" +else + if [ $CRZAY_JOY_COIN_ENABLE = "Y" ]; then + echo "配置启用jd_crazy_joy_coin,杀掉jd_crazy_joy_coin任务,并重启" + eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') + node /scripts/jd_crazy_joy_coin.js >> /scripts/logs/jd_crazy_joy_coin.log 2>&1 & + echo "配置jd_crazy_joy_coin重启完成" + else + eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') + echo "已配置不启用jd_crazy_joy_coin任务,不处理" + fi +fi + From e60c132394fccf7e4d69e9a194e582f71448023a Mon Sep 17 00:00:00 2001 From: JunzhouLiu Date: Wed, 23 Dec 2020 18:50:53 +0800 Subject: [PATCH 0519/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Ubuntu=20apt-get?= =?UTF-8?q?=E5=AE=89=E8=A3=85docker-compsos=E5=92=8CDocker=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docker/Readme.md b/docker/Readme.md index f0660b71..beb03302 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -6,6 +6,19 @@ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` +`Ubuntu`用户快速安装`docker-compose` +``` +sudo apt-get update && sudo apt-get install -y python3-pip curl vim git moreutils +pip3 install --upgrade pip +pip install docker-compose +``` + +通过`docker-compose version`查看`docker-compose`版本,确认是否安装成功。 + +- `Docker`安装 +国内一键安装 `sudo curl -sSL https://get.daocloud.io/docker | sh` +国外一键安装 `sudo curl -sSL get.docker.com | sh` + ### 如果需要使用 docker 多个账户独立并发执行定时任务,[参考这里](https://github.com/iouAkira/scripts/blob/patch-1/docker/docker%E5%A4%9A%E8%B4%A6%E6%88%B7%E4%BD%BF%E7%94%A8%E7%8B%AC%E7%AB%8B%E5%AE%B9%E5%99%A8%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md#%E4%BD%BF%E7%94%A8%E6%AD%A4%E6%96%B9%E5%BC%8F%E8%AF%B7%E5%85%88%E7%90%86%E8%A7%A3%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8docker%E5%8A%9E%E6%B3%95%E4%B8%80%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) ⚠️⚠️⚠️2020-12-11更新镜像启动方式,虽然兼容旧版的运行启动方式,但是强烈建议更新镜像和配置后使用 From a1c55c5f22449dd7eea31b670d0c5d7f180fe4ef Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 19:33:16 +0800 Subject: [PATCH 0520/1259] fix --- jd_unbind.js | 1 - 1 file changed, 1 deletion(-) diff --git a/jd_unbind.js b/jd_unbind.js index 29c14ad3..a2a3d707 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -221,7 +221,6 @@ function TotalBean() { } function requireConfig() { return new Promise(resolve => { - process.env.UN_BIND_STOP_CARD = `123&457&34324` if ($.isNode() && process.env.UN_BIND_CARD_NUM) { $.UN_BIND_NUM = process.env.UN_BIND_CARD_NUM } From 92630e344a22503b76f766b485423d6d0d2b9af4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 23 Dec 2020 22:59:55 +0800 Subject: [PATCH 0521/1259] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a903127..90fd70a8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## 不要fork! 不然下次GitHub还会继续封这个仓库 +# 不要fork! 请点亮Star ## 特别声明: From 6aefce3c471ffbae429ae93196154a94921d7da1 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 23 Dec 2020 23:58:17 +0800 Subject: [PATCH 0522/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E5=8A=A9=E5=8A=9B=E4=BB=BB=E5=8A=A1=E5=A5=96?= =?UTF-8?q?=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy.js | 54 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 2e746db6..96043c86 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -194,11 +194,14 @@ if ($.isNode()) { } continue } + await shareCodesFormat() await jdCrazyJoy() } } + if (helpSelf) { console.log(`开始循环助力`) + // 助力 for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -222,6 +225,29 @@ if ($.isNode()) { await helpFriends() } } + // 领取任务奖励 + 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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 + } + continue + } + await doTasks() + } + } } })() .catch((e) => { @@ -236,17 +262,9 @@ async function jdCrazyJoy() { $.bean = 0 await getUserInfo($.nextCode) await doSign() - // await helpFriends() - await getTaskInfo() - for (let j = 0; j < $.taskList.length; ++j) { - let task = $.taskList[j] - if (task.status === 0) - for (let i = task.doneTimes; i < task.ext.count; ++i) { - await doTask(task.taskId) - } - if (task.status === 2) - await awardTask(task.taskId) - } + // 帮助作者 + await helpFriends() + await doTasks() await getCoin() await getUserBean() console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) @@ -256,6 +274,18 @@ async function jdCrazyJoy() { await doApplyJdBean(applyJdBean) } } +async function doTasks() { + await getTaskInfo() + for (let j = 0; j < $.taskList.length; ++j) { + let task = $.taskList[j] + if (task.status === 0 && task.taskTypeId === 103) + for (let i = task.doneTimes; i < task.ext.count; ++i) { + await doTask(task.taskId) + } + if (task.status === 2) + await awardTask(task.taskId) + } +} function doApplyJdBean(bean = 1000) { // 兑换京豆 let body = {"paramData":{"bean":bean}} @@ -333,7 +363,7 @@ function getTaskInfo() { if (safeGet(data)) { data = JSON.parse(data); if (data.success && data.data && data.data.length) { - $.taskList = data.data.filter(vo => vo.taskTypeId === 103) + $.taskList = data.data } else { console.log(`任务信息获取失败`) } From 97ce979096adf1dee9facaca4abf0bd6f3e44349 Mon Sep 17 00:00:00 2001 From: Akira Date: Thu, 24 Dec 2020 00:06:35 +0800 Subject: [PATCH 0523/1259] =?UTF-8?q?-=20=E8=B0=83=E6=95=B4crazyjoy?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BA=92=E5=8A=A9=E8=BE=93=E5=87=BA=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=20-=20=E5=A2=9E=E5=8A=A0crazyjoy=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BA=92=E5=8A=A9=E7=A0=81=E6=8F=90=E5=8F=96=20-=20crazyjoycoi?= =?UTF-8?q?n=E4=BB=BB=E5=8A=A1=E6=97=A5=E5=BF=97=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=88=B3=EF=BC=8C=E5=B9=B6=E5=9C=A8=E9=87=8D=E5=90=AF=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E6=B8=85=E7=A9=BA=E4=B9=8B=E5=89=8D=E7=9A=84?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/proc_file.sh | 25 +++++++++++++++---------- jd_crazy_joy.js | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/docker/proc_file.sh b/docker/proc_file.sh index c8849c8c..6def887d 100644 --- a/docker/proc_file.sh +++ b/docker/proc_file.sh @@ -10,6 +10,7 @@ jxFactoryFile="${logdDir}/jd_dreamFactory.log" plantBean="${logdDir}/jd_plantBean.log" jdfruit="${logdDir}/jd_fruit.log" jdpet="${logdDir}/jd_pet.log" +jdcrazyJoy="${logdDir}/jd_crazy_joy.log" echo -e >$sharecodeFile @@ -31,24 +32,28 @@ echo "提取京东农场助力码完成" sed -n '/东东萌宠好友互助码】.*/'p $jdpet | awk '{print $4,$5}' | sort | uniq >>$sharecodeFile echo "提取东东萌宠助力码完成" +sed -n '/crazyJoy任务好友互助码】.*/'p $jdcrazyJoy | awk '{print $4,$5}' | sort | uniq >>$sharecodeFile +echo "提取crazyJoy任务助力码完成" + echo "===========================================================================" echo "整理完成,具体结果请查看${sharecodeFile}文件" echo "处理jd_crazy_joy_coin任务。。。" if [ ! $CRZAY_JOY_COIN_ENABLE ]; then - echo "默认启用jd_crazy_joy_coin杀掉jd_crazy_joy_coin任务,并重启" - eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') - node /scripts/jd_crazy_joy_coin.js >> /scripts/logs/jd_crazy_joy_coin.log 2>&1 & - echo "默认jd_crazy_joy_coin重启完成" + echo "默认启用jd_crazy_joy_coin杀掉jd_crazy_joy_coin任务,并重启" + eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') + echo '' >/scripts/logs/jd_crazy_joy_coin.log + node /scripts/jd_crazy_joy_coin.js | ts >>/scripts/logs/jd_crazy_joy_coin.log 2>&1 & + echo "默认jd_crazy_joy_coin重启完成" else if [ $CRZAY_JOY_COIN_ENABLE = "Y" ]; then echo "配置启用jd_crazy_joy_coin,杀掉jd_crazy_joy_coin任务,并重启" eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') - node /scripts/jd_crazy_joy_coin.js >> /scripts/logs/jd_crazy_joy_coin.log 2>&1 & + echo '' >/scripts/logs/jd_crazy_joy_coin.log + node /scripts/jd_crazy_joy_coin.js | ts >>/scripts/logs/jd_crazy_joy_coin.log 2>&1 & echo "配置jd_crazy_joy_coin重启完成" - else - eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') - echo "已配置不启用jd_crazy_joy_coin任务,不处理" - fi + else + eval $(ps -ef | grep "jd_crazy" | awk '{print "kill "$1}') + echo "已配置不启用jd_crazy_joy_coin任务,不处理" + fi fi - diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 2e746db6..95468cbe 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -294,7 +294,7 @@ function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { if (safeGet(data)) { data = JSON.parse(data); if (data.success && data.data && data.data.userInviteCode) { - console.log(`您的助力码为: ${data.data.userInviteCode}`) + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${data.data.userInviteCode}`) $.selfCodes.push(data.data.userInviteCode) $.nextCode = data.data.userInviteCode } From 3d9f1635624aa7e8b7999733fcee7171be6618e6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 07:46:21 +0800 Subject: [PATCH 0524/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index dbdd5012..49aa65b0 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -978,7 +978,7 @@ function QueryTuan(activeId, tuanId) { function CreateTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape(tuanActiveId)}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape(tuanActiveId)}&isOpenApp=2&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", From ed7eb28974165147d48974090bfc82b0158f930a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 09:29:46 +0800 Subject: [PATCH 0525/1259] =?UTF-8?q?=E5=88=86=E7=BB=84=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=EF=BC=8C=E6=9F=A5=E7=9C=8B=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E6=98=8E=E6=9C=97=E6=B8=85=E6=99=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 68 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 23 deletions(-) diff --git a/githubAction.md b/githubAction.md index fee7d186..61db5b95 100644 --- a/githubAction.md +++ b/githubAction.md @@ -74,14 +74,23 @@ #### 下方提供使用到的 **Secrets全集合** +##### 京东(必须) + | Name | 归属 | 属性 | 说明 | | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | | `JD_COOKIE` | 京东 | 必须 | 京东cookie,多个账号的cookie使用`&`隔开或者换行。具体获取参考[浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) | -| `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。具体获取参考此[issue](https://github.com/lxk0301/jd_scripts/issues/127) | -| `JD_BEAN_STOP` | 京东 | 非必须 | jd_bean_sign.js自定义延迟签到,单位毫秒. 默认分批并发无延迟. 延迟作用于每个签到接口, 如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | -| `JD_BEAN_SIGN_STOP_NOTIFY`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | -| `JD_BEAN_SIGN_NOTIFY_SIMPLE`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | + +##### 京东隐私是安全环境变量 + +| Name | 归属 | 属性 | 说明 | +| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | | `JD_DEBUG` | 脚本打印log | 非必须 | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | +| `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。具体获取参考此[issue](https://github.com/lxk0301/jd_scripts/issues/127) | + +##### 推送通知环境变量 + +| Name | 归属 | 属性 | 说明 | +| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | | `PUSH_KEY` | 微信推送 | 非必须 | cookie失效推送[server酱的微信通知](http://sc.ftqq.com/3.version) | | `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | cookie失效推送BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg)(注:支持自建填完整链接即可) | | `BARK_SOUND` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | @@ -95,17 +104,39 @@ | `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | | `PUSH_PLUS_TOKEN` | pushplus推送 | 非必须 | 微信扫码登录后一对一推送或一对多推送下面的token(您的Token) [官方网站](http://pushplus.hxtrip.com/) | | `PUSH_PLUS_USER` | pushplus推送 | 非必须 | 一对多推送的“群组编码”(一对多推送下面->您的群组(如无则新建)->群组编码)注:(1、需订阅者扫描二维码 2、如果您是创建群组所属人,也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送),只填`PUSH_PLUS_TOKEN`默认为一对一推送 | +| `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | +| `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | + +##### 互助码类环境变量 + +| Name | 归属 | 属性 | 说明 | +| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | +| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看 [jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看 [jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDZZ_SHARECODES` | 京东赚赚(jd_jdzz.js)脚本互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | + +##### 控制脚本功能环境变量 + +| Name | 归属 | 属性 | 说明 | +| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | +| `JD_BEAN_STOP` | 京东 | 非必须 | `jd_bean_sign.js`自定义延迟签到,单位毫秒. 默认分批并发无延迟. 延迟作用于每个签到接口, 如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | +| `JD_BEAN_SIGN_STOP_NOTIFY`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | +| `JD_BEAN_SIGN_NOTIFY_SIMPLE`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | | `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制jd_joy_reward.js脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) -| `JD_818_SHAREID_NOTIFY` | 京东818互助码通知开关 | 非必须 | 控制jd_818.js脚本是否在获取互助码后通知,`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | -| `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制jd_joy_feedPets.js脚本喂食数量 ,可以填的数字10,20,40,80 , 其他数字不可. | -| `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制jd_joy_steal.js脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | -| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制jd_joy.js脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | -| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制jd_joy.js脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | +| `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制`jd_joy_reward.js`脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) +| `JD_818_SHAREID_NOTIFY` | 京东818互助码通知开关 | 非必须 | 控制`jd_818.js`脚本是否在获取互助码后通知,`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | +| `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制`jd_joy_feedPets.js`脚本喂食数量 ,可以填的数字10,20,40,80 , 其他数字不可. | +| `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | +| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | +| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | | `JD_JOY_REWARD_NAME` | 宠汪汪积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | -| `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 控制jd_blueCoin.js兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | -| `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | 控制jd_blueCoin.js兑换奖品成功后是否静默运行, `false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | +| `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行, `false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `SUPERMARKET_UPGRADE` | 京小超自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | | `BUSINESS_CIRCLE_JUMP` | 京小超自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | | `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | @@ -113,17 +144,8 @@ | `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开. 四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`, `遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明)| | `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。| | `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | -| `JDJOY_HELPSELF` | 疯狂的joy | 非必须 | 疯狂的joy循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。| -| `JDJOY_APPLYJDBEAN` | 疯狂的joy | 非必须 | 疯狂的joy京豆兑换,目前最小值为500/1000京豆,默认不开启京豆兑换。| -| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看 [jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看 [jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `DDFACTORY_SHARECODES`| 东东工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDZZ_SHARECODES` | 京东赚赚(jd_jdzz.js)脚本互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | -| `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | +| `JDJOY_HELPSELF` | 疯狂的joy | 非必须 | 疯狂的joy循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。| +| `JDJOY_APPLYJDBEAN` | 疯狂的joy | 非必须 | 疯狂的joy京豆兑换,目前最小值为500/1000京豆,默认不开启京豆兑换。| | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | | `WATCH_ACCEPTBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discAcceptTask`(需40个,每个之间使用@符号隔开) | From 1ba126943855cd192c6bd1944b18ef4fa2291989 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 09:38:01 +0800 Subject: [PATCH 0526/1259] update --- githubAction.md | 81 ------------------------------------------------- 1 file changed, 81 deletions(-) diff --git a/githubAction.md b/githubAction.md index 61db5b95..b4d33e7c 100644 --- a/githubAction.md +++ b/githubAction.md @@ -1,79 +1,5 @@ ## 环境变量说明 - -#### 京东Cookie - - - Secret新增`JD_COOKIE`,填入cookie信息,多账号的cookie, 使用`&`或者换行隔开(两种方法) - - - 方式已一:`&`号隔开示例(注:后面的英文引号`;`不可缺失) - 如 `账号一cookie&账号二cookie&账号三cookie`,再多账号就依次类推即可 - ``` - pt_key=xxx1;pt_pin=xxx1;&pt_key=xxx2;pt_pin=xxx2;&pt_key=xxx3;pt_pin=xxx3; - ``` - - 方式二:按`Enter`键换行隔开示例(这里给下三个账号的示例) - ``` - pt_key=bbbbbbbbbbbbbb;pt_pin=aaaaaaa; - pt_key=cccccccc;pt_pin=dddddddd; - pt_key=eeeeeeeee;pt_pin=ffffffff; - ``` - - 京东cookie获取看这里 - - [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) - - IOS代理软件(Surge, Quantumult X, Loon)等用户有使用过BoxJs的,可在BoxJs里面提取京东cookie(打开BoxJs -> 底部中间的 `应用` -> NobyDa脚本订阅 -> 京东(多合一签到) -> 点击会话右上方的三个点点 -> 修改会话 -> 全选复制即可),再不会看此[图文教程](icon/jd8.png) - - - - - -#### 自动同步Fork后的代码 - - > 此部分内容由tg@wukongdada和tg@goukey提供 - - - 方案A - 强制远程分支覆盖自己的分支(**新手推荐使用**) - - 1. 参考tg@wukongdada这篇教程 [保持自己github的forks自动和上游仓库同步的教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/gitSync.md) , 安装[pull插件](https://github.com/apps/pull) 并确认此项目已在pull插件的作用下(参考@twukongdada这篇教程文中1-d) - - 2. 确保.github/pull.yml文件正常存在,yml内上游作者填写正确(此项目已填好,无需更改)。 - - 3. 确保pull.yml里面是`mergeMethod: hardreset`(默认就是`hardreset`)。 - - 4. ENJOY!上游更改三小时左右就会自动发起同步。 - ``` - # 方案A可参考这里 - version: "1" - rules: # Array of rules - - base: master # Required. Target branch - upstream: lxk0301:master # Required. Must be in the same fork network. - mergeMethod: hardreset # Optional, one of [none, merge, squash, rebase, hardreset], Default: none. - mergeUnstable: true # Optional, merge pull request even when the mergeable_state is not clean. Default: false - ``` - - 方案B - 保留自己仓库已修改过的文件(**需修改脚本或者提PR的使用**) - - > 上游变动后pull插件会自动发起pr,但如果有冲突需要自行**手动**确认。 - > 如果上游更新涉及workflow里的文件内容改动,需要自行**手动**确认。 - - 1. 参考tg@wukongdada这篇教程 [保持自己github的forks自动和上游仓库同步的教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/gitSync.md) , 安装[pull插件](https://github.com/apps/pull) 并确认此项目已在pull插件的作用下(参考@twukongdada这篇教程文中1-d) - 2. 确保.github/pull.yml文件正常存在,yml内上游作者填写正确(此项目已填好,无需更改)。 - 3. 将pull.yml里面的`mergeMethod: hardreset`修改为`mergeMethod: merge`保存。 - 4. ENJOY!上游更改三小时左右就会自动发起同步。 - ``` - # 方案B可参考这里 - version: "1" - rules: # Array of rules - - base: master # Required. Target branch - upstream: lxk0301:master # Required. Must be in the same fork network. - mergeMethod: merge # Optional, one of [none, merge, squash, rebase, hardreset], Default: none. - mergeUnstable: true # Optional, merge pull request even when the mergeable_state is not clean. Default: false - ``` - - 方案C - 利用github-action定时cron更新同步(**新手推荐使用**) - - > 效果和方案A一样(即:强制更新覆盖) - - 新建secret,`Name`为`PAT`,填写的`Value`值需要去申请Personal access tokens,申请教程[看此处](https://www.jianshu.com/p/bb82b3ad1d11) 记得勾选`repo`权限就行 - - - -#### 下方提供使用到的 **Secrets全集合** - ##### 京东(必须) | Name | 归属 | 属性 | 说明 | @@ -205,10 +131,3 @@ jd_818.js是每次获取新的互助码会通知一次,以帮助您快速上 其余的脚本平常运行都是不通知,只有在京东cookie失效后,才会推送通知 ``` - -​ -##### 参考文献 -[GitHub Actions 手动触发方式进化史](https://p3terx.com/archives/github-actions-manual-trigger.html) - -[GitHub Actions 入门教程](https://p3terx.com/archives/github-actions-started-tutorial.html) - From e5cce2790824fb1149142d4b81f6e556c036e7a7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 09:40:50 +0800 Subject: [PATCH 0527/1259] update --- README.md | 2 +- githubAction.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 90fd70a8..a9bf2043 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ ### 方法三:Docker(NAS或VPS用户) - 可以精确控制任务运行时间,有二种办法:[docker办法一](https://github.com/lxk0301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js类似)](https://github.com/EvineDeng/jd-base) - - [环境变量](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) + - [环境变量集合](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md) #### 注:以上三种运行机制都是Node.js,故您需仔细阅读下面几点 diff --git a/githubAction.md b/githubAction.md index b4d33e7c..1886e713 100644 --- a/githubAction.md +++ b/githubAction.md @@ -6,7 +6,7 @@ | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | | `JD_COOKIE` | 京东 | 必须 | 京东cookie,多个账号的cookie使用`&`隔开或者换行。具体获取参考[浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) | -##### 京东隐私是安全环境变量 +##### 京东隐私安全 环境变量 | Name | 归属 | 属性 | 说明 | | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | From 84d03fe158b5d5d138300ab6213a95d8819a549e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 10:05:56 +0800 Subject: [PATCH 0528/1259] =?UTF-8?q?debug=EF=BC=8C=E4=B8=8D=E7=94=A8NobyD?= =?UTF-8?q?a=E8=8E=B7=E5=8F=96=E7=9A=84=E4=BA=AC=E4=B8=9Ccookie=E4=B9=9F?= =?UTF-8?q?=E5=8F=AF(=E4=B8=8D=E6=8F=90=E7=A4=BA=E8=A6=81=E5=8E=BB?= =?UTF-8?q?=E8=8E=B7=E5=8F=96cookie)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_feedPets.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index f26ee07e..65d6db51 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -33,6 +33,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let jdNotify = true;//是否开启静默运行。默认true开启 let message = '', subTitle = ''; @@ -58,8 +59,6 @@ let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //喂食数量默认10g, 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 } From 00350d6e84728c5b50b625180e5e947ed1921608 Mon Sep 17 00:00:00 2001 From: cokyrain <75012356+cokyrain@users.noreply.github.com> Date: Thu, 24 Dec 2020 10:21:33 +0800 Subject: [PATCH 0529/1259] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 解决云函数报错 in method 'console_log', argument 1 of type 'char *' --- jd_bean_sign.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index 62b19a32..accf5990 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -65,7 +65,7 @@ async function execSign() { const notifyContent = await fs.readFileSync(resultPath, "utf8"); console.log(`👇👇👇👇👇👇👇👇👇👇👇LOG记录👇👇👇👇👇👇👇👇👇👇👇\n${notifyContent}\n👆👆👆👆👆👆👆👆👆LOG记录👆👆👆👆👆👆👆👆👆👆👆`); // await exec("node JD_DailyBonus.js", { stdio: "inherit" }); - // console.log('执行完毕', new Date(new Date().getTime() + 8 * 60 * 60 * 1000).toLocaleDateString()) + // console.log('执行完毕', new Date(new Date().getTime() + 8 * 3600000).toLocaleDateString()) //发送通知 if ($.isNode()) { let notifyContent = ""; @@ -88,7 +88,7 @@ async function execSign() { } } //不管哪个时区,这里得到的都是北京时间的时间戳; - const UTC8 = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; + const UTC8 = new Date().getTime() + new Date().getTimezoneOffset()*60000 + 28800000; $.beanSignTime = timeFormat(UTC8); console.log(`脚本执行完毕时间:${$.beanSignTime}`) if (BarkContent) { From 3093e56bb6d80d4c9b63a477ad4c8a7aed8fc270 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 10:21:47 +0800 Subject: [PATCH 0530/1259] =?UTF-8?q?IOS=E5=85=BC=E5=AE=B9=E5=A4=9A?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7cookie,=E5=8D=B3=E4=BD=BF=E4=B8=8D=E7=94=A8No?= =?UTF-8?q?byDacookie,=E4=B9=9F=E4=B8=8D=E4=BC=9A=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E5=8E=BB=E8=8E=B7=E5=8F=96cookie,cookie=E5=A4=B1=E6=95=88?= =?UTF-8?q?=E5=90=8E,=E4=B8=8D=E5=86=8D=E8=87=AA=E5=8A=A8=E6=B8=85?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_818.js | 4 ++-- activity/jd_apple_live.js | 3 +-- activity/jd_digital_floor.js | 3 +-- activity/jd_jxstory.js | 3 +-- activity/jd_live_redrain2.js | 1 + activity/jd_pubg.js | 3 +-- activity/jd_split.js | 3 +-- activity/jd_xtg.js | 3 +-- jd_bean_change.js | 3 +-- jd_bean_home.js | 1 + jd_blueCoin.js | 3 +-- jd_car.js | 1 + jd_club_lottery.js | 3 +-- jd_crazy_joy.js | 1 + jd_crazy_joy_coin.js | 1 + jd_daily_egg.js | 3 +-- jd_dreamFactory.js | 3 +-- jd_ds.js | 3 +-- jd_fruit.js | 2 -- jd_health.js | 3 +-- jd_jdfactory.js | 3 +-- jd_jdh.js | 3 +-- jd_jdzz.js | 1 + jd_joy.js | 3 +-- jd_joy_feedPets.js | 1 + jd_joy_reward.js | 3 +-- jd_joy_run.js | 1 + jd_joy_steal.js | 3 +-- jd_kd.js | 3 +-- jd_live.js | 3 +-- jd_live_redrain.js | 1 + jd_moneyTree.js | 3 +-- jd_ms_redrain.js | 3 +-- jd_necklace.js | 3 +-- jd_pet.js | 2 -- jd_pigPet.js | 3 +-- jd_plantBean.js | 2 -- jd_redPacket.js | 3 +-- jd_shop.js | 3 +-- jd_small_home.js | 3 +-- jd_speed.js | 3 +-- jd_syj.js | 3 +-- jd_unbind.js | 3 +-- jd_unsubscribe.js | 3 +-- jd_watch.js | 3 +-- jr_sign.js | 1 + 46 files changed, 44 insertions(+), 72 deletions(-) diff --git a/activity/jd_818.js b/activity/jd_818.js index 39753509..6acfba5c 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -50,6 +50,8 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; @@ -77,8 +79,6 @@ let helpCode = [] 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 } diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js index 02c284d7..26022817 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -41,6 +41,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow@P04z54XCjVUm4aW5u2ak7ZCdan1BeYMuZ9HwF34gJjW@P04z54XCjVUm4aW5m9cZ2T6jChKkkjZEdhiKUY`, `P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow`]; @@ -65,8 +66,6 @@ const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2b 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 } diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index 5520493e..072a6e10 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -44,6 +44,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://digital-floor.m.jd.com/adf/index/'; !(async () => { @@ -67,8 +68,6 @@ const JD_API_HOST = 'https://digital-floor.m.jd.com/adf/index/'; 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 } diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js index 21532995..cd46e3ed 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -46,6 +46,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !(async () => { await requireConfig(); @@ -69,8 +70,6 @@ if ($.isNode()) { 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 } diff --git a/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js index 4e5b0ce1..aeb5c6c4 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -42,6 +42,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index e009ecbd..bed15df4 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -137,6 +137,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } 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'] @@ -161,8 +162,6 @@ const inviteCodes = ['65561ad5-af72-4d1c-a5be-37b3de372b67@2d5f579d-e6d1-479e-93 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 } diff --git a/activity/jd_split.js b/activity/jd_split.js index ae798b89..717f09b7 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -41,6 +41,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; $.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5m9cZ2T6jChKki0Hfndla5k', 'P04z54XCjVUnIaW5u2ak7ZCdan1BT0NlbBGZ1-rnMYj', 'P04z54XCjVUnIaW5m9cZ2ariXVJwI64DaVTNXQ']; @@ -64,8 +65,6 @@ $.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5m9cZ2 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 } diff --git a/activity/jd_xtg.js b/activity/jd_xtg.js index 0e9e59be..99aa581b 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -44,6 +44,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const starID = [ 'bolangwutiaoren', @@ -115,8 +116,6 @@ const JD_API_HOST = 'https://urvsaggpt.m.jd.com/guardianstar'; 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 } diff --git a/jd_bean_change.js b/jd_bean_change.js index 012e6278..2c3b7623 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -39,6 +39,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !(async () => { if (!cookiesArr[0]) { @@ -64,8 +65,6 @@ if ($.isNode()) { 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 } diff --git a/jd_bean_home.js b/jd_bean_home.js index b6e9ce5e..8ef8daa4 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -42,6 +42,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 4d4b2e65..1d483f2f 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -34,6 +34,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; @@ -65,8 +66,6 @@ const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; 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 } diff --git a/jd_car.js b/jd_car.js index ce67fe7c..b41d2151 100644 --- a/jd_car.js +++ b/jd_car.js @@ -42,6 +42,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://car-member.jd.com/api/'; !(async () => { diff --git a/jd_club_lottery.js b/jd_club_lottery.js index ed8d10a2..f262948c 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -38,6 +38,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { @@ -62,8 +63,6 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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 } diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 96043c86..461f39d6 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -50,6 +50,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !function (n) { "use strict"; diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 4c85ab71..0faa591d 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -42,6 +42,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !function (n) { "use strict"; diff --git a/jd_daily_egg.js b/jd_daily_egg.js index 7250fd14..711e4a21 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -28,6 +28,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !(async () => { if (!cookiesArr[0]) { @@ -48,8 +49,6 @@ if ($.isNode()) { 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 } diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 49aa65b0..ba261991 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -49,6 +49,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !(async () => { await requireConfig(); @@ -76,8 +77,6 @@ if ($.isNode()) { 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 } diff --git a/jd_ds.js b/jd_ds.js index cd8204ac..aa5bac6c 100644 --- a/jd_ds.js +++ b/jd_ds.js @@ -48,6 +48,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/'; !(async () => { @@ -70,8 +71,6 @@ const JD_API_HOST = 'https://api.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 } diff --git a/jd_fruit.js b/jd_fruit.js index c996e7b8..4f2eaa55 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -60,8 +60,6 @@ const urlSchema = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%2 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 } diff --git a/jd_health.js b/jd_health.js index 5ebae0be..ee4ffe9b 100644 --- a/jd_health.js +++ b/jd_health.js @@ -40,6 +40,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5m9cZ2T6jChKkh8FWbFAplQ', `P04z54XCjVUnoaW5u2ak7ZCdan1Bdbpik_F9ud7lznm`, `P04z54XCjVUnoaW5m9cZ2ariXVJwFN5uKHNqnc`]; @@ -64,8 +65,6 @@ const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5m9c 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 } diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 0c404e82..b1d7a45f 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -49,6 +49,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let wantProduct = ``;//心仪商品名称 const JD_API_HOST = 'https://api.m.jd.com/client.action'; @@ -74,8 +75,6 @@ const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVW 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 } diff --git a/jd_jdh.js b/jd_jdh.js index e28ad9cb..9ff14775 100644 --- a/jd_jdh.js +++ b/jd_jdh.js @@ -37,6 +37,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; $.newShareCodes = ['21d9b4b51a69839577027beb0aad5105', '8edbdfa148e78f028496cff17e7df35b']; @@ -60,8 +61,6 @@ $.newShareCodes = ['21d9b4b51a69839577027beb0aad5105', '8edbdfa148e78f028496cff1 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 } diff --git a/jd_jdzz.js b/jd_jdzz.js index 74c2f4a9..042a8602 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -42,6 +42,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ diff --git a/jd_joy.js b/jd_joy.js index 1470a529..00166388 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -37,6 +37,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let message = '', subTitle = ''; let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //每次喂养数量 [10,20,40,80] @@ -66,8 +67,6 @@ const weAppUrl = 'https://draw.jdfcloud.com//pet'; 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 } diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index 65d6db51..ed17455d 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -34,6 +34,7 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let jdNotify = true;//是否开启静默运行。默认true开启 let message = '', subTitle = ''; diff --git a/jd_joy_reward.js b/jd_joy_reward.js index f8b71370..6878e769 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -36,6 +36,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://jdjoy.jd.com'; !(async () => { @@ -56,8 +57,6 @@ const JD_API_HOST = 'https://jdjoy.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 } diff --git a/jd_joy_run.js b/jd_joy_run.js index c22fd5ae..2b18c1e0 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -78,6 +78,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); if ($.getdata('jd_joy_invite_pin')) { invite_pins = []; invite_pins.push($.getdata('jd_joy_invite_pin')); diff --git a/jd_joy_steal.js b/jd_joy_steal.js index f456f286..c3de2099 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -35,6 +35,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let message = '', subTitle = ''; @@ -62,8 +63,6 @@ const JD_API_HOST = 'https://jdjoy.jd.com/pet' 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 } diff --git a/jd_kd.js b/jd_kd.js index c3ef9942..ffefbe85 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -42,6 +42,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { @@ -64,8 +65,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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 } diff --git a/jd_live.js b/jd_live.js index cc273741..ef9146b7 100644 --- a/jd_live.js +++ b/jd_live.js @@ -39,6 +39,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { @@ -61,8 +62,6 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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 } diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 31e95302..596e3afe 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -59,6 +59,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 584810b9..1b3d2587 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -32,6 +32,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let jdNotify = true;//是否开启静默运行,默认true开启 @@ -56,8 +57,6 @@ let userInfo = null, taskInfo = [], message = '', subTitle = '', fruitTotal = 0; 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 } diff --git a/jd_ms_redrain.js b/jd_ms_redrain.js index 258f0dc4..c0e82585 100644 --- a/jd_ms_redrain.js +++ b/jd_ms_redrain.js @@ -41,6 +41,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { @@ -63,8 +64,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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 } diff --git a/jd_necklace.js b/jd_necklace.js index ad7ea885..f1db53f4 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -46,6 +46,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; @@ -69,8 +70,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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 } diff --git a/jd_pet.js b/jd_pet.js index 3671f3b7..1446989d 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -59,8 +59,6 @@ let randomCount = $.isNode() ? 20 : 5; 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 } diff --git a/jd_pigPet.js b/jd_pigPet.js index 2b14939f..f93b4a73 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -33,6 +33,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !(async () => { if (!cookiesArr[0]) { @@ -52,8 +53,6 @@ if ($.isNode()) { $.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 } diff --git a/jd_plantBean.js b/jd_plantBean.js index 4ae0779b..91abc363 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -63,8 +63,6 @@ let randomCount = $.isNode() ? 20 : 5; 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 } diff --git a/jd_redPacket.js b/jd_redPacket.js index 4d383eb2..418f11b8 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -44,6 +44,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; @@ -68,8 +69,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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 } diff --git a/jd_shop.js b/jd_shop.js index 65007357..4843a9d0 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -32,6 +32,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let message = '', subTitle = ''; @@ -55,8 +56,6 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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 } diff --git a/jd_small_home.js b/jd_small_home.js index 5ee50c25..096519e6 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -58,6 +58,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } $.newShareCodes = []; const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; @@ -82,8 +83,6 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; 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 } diff --git a/jd_speed.js b/jd_speed.js index 6d7a9705..f9da4a9c 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -36,6 +36,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let jdNotify = true;//是否开启静默运行。默认true开启 let message = '', subTitle = ''; @@ -60,8 +61,6 @@ const JD_API_HOST = 'https://api.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 } diff --git a/jd_syj.js b/jd_syj.js index ef3bce82..cd6dabfa 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -46,6 +46,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { @@ -68,8 +69,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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 } diff --git a/jd_unbind.js b/jd_unbind.js index a2a3d707..0e618a02 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -34,6 +34,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const jdNotify = $.getdata('jdUnsubscribeNotify');//是否关闭通知,false打开通知推送,true关闭通知推送 let cardPageSize = $.getdata('jdUnsubscribePageSize') || 200;// 运行一次取消多少个会员卡。数字0表示不注销任何会员卡 @@ -60,8 +61,6 @@ const JD_API_HOST = 'https://api.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 } diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 7c3f9d81..02a79cd9 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -35,6 +35,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const jdNotify = $.getdata('jdUnsubscribeNotify');//是否关闭通知,false打开通知推送,true关闭通知推送 let goodPageSize = $.getdata('jdUnsubscribePageSize') || 20;// 运行一次取消多少个已关注的商品。数字0表示不取关任何商品 @@ -60,8 +61,6 @@ const JD_API_HOST = 'https://wq.jd.com/fav'; 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 } diff --git a/jd_watch.js b/jd_watch.js index fab4a668..499a2fe2 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -140,6 +140,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { @@ -183,8 +184,6 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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 } diff --git a/jr_sign.js b/jr_sign.js index ff74cf2a..17dd9cea 100644 --- a/jr_sign.js +++ b/jr_sign.js @@ -39,6 +39,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } const JD_API_HOST = 'https://api.m.jd.com/api'; !(async () => { From 73dd002ae3b9e628f546bec65439d1ae2ab5c523 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 10:22:41 +0800 Subject: [PATCH 0531/1259] fix --- jd_joy_feedPets.js | 1 - 1 file changed, 1 deletion(-) diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index ed17455d..65d6db51 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -34,7 +34,6 @@ if ($.isNode()) { cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); - cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } let jdNotify = true;//是否开启静默运行。默认true开启 let message = '', subTitle = ''; From 167790eec81f8b47d2cfce5bf92936f7765c6413 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 10:37:47 +0800 Subject: [PATCH 0532/1259] fix bug --- jd_blueCoin.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 1d483f2f..e0e145a0 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -1,7 +1,7 @@ /* 京小超兑换奖品 脚本地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js 感谢@yangtingxiao提供PR -更新时间:2020-12-15 +更新时间:2020-12-24 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ======================quantumultx=============== @@ -93,7 +93,7 @@ async function PrizeIndex() { // const prizeList = [...$.queryPrizeData, ...$.materialPrizeIndex]; const prizeList = [...$.queryPrizeData]; if (`${coinToBeans}` === '1000') { - if (prizeList[1].beanType === 'BeanPackage') { + if (prizeList[1] && prizeList[1].beanType === 'BeanPackage') { console.log(`查询换${prizeList[1].title}ID成功,ID:${prizeList[1].prizeId}`) $.title = prizeList[1].title; $.blueCost = prizeList[1].blueCost; @@ -102,11 +102,11 @@ async function PrizeIndex() { $.beanerr = `东哥今天不给换`; return ; } - if (prizeList[1].inStock === 506) { + if (prizeList[1] && prizeList[1].inStock === 506) { $.beanerr = `失败,1000京豆领光了,请明天再来`; return ; } - if (prizeList[1].targetNum === prizeList[1].finishNum) { + if (prizeList[1] && prizeList[1].targetNum === prizeList[1] && prizeList[1].finishNum) { $.beanerr = `${prizeList[1].subTitle}`; return ; } @@ -118,7 +118,7 @@ async function PrizeIndex() { $.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`; } } else if (`${coinToBeans}` === '20') { - if (prizeList[0].beanType === 'Bean') { + if (prizeList[0] && prizeList[0].beanType === 'Bean') { console.log(`查询换${prizeList[0].title}ID成功,ID:${prizeList[0].prizeId}`) $.title = prizeList[0].title; $.blueCost = prizeList[0].blueCost; @@ -127,12 +127,12 @@ async function PrizeIndex() { $.beanerr = `东哥今天不给换`; return ; } - if (prizeList[0].inStock === 506) { + if (prizeList[0] && prizeList[0].inStock === 506) { console.log(`失败,万能的京豆领光了,请明天再来`); $.beanerr = `失败,万能的京豆领光了,请明天再来`; return ; } - if (prizeList[0].targetNum === prizeList[0].finishNum) { + if ((prizeList[0] && prizeList[0].targetNum) === (prizeList[0] && prizeList[0].finishNum)) { $.beanerr = `${prizeList[0].subTitle}`; return ; } From 5420a556e234243238b693faedf38b19322d4878 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 11:06:32 +0800 Subject: [PATCH 0533/1259] =?UTF-8?q?joy=E6=8C=82=E6=9C=BA=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E5=8E=BB=E6=8E=89cookie=E8=BF=87=E6=9C=9F=E5=90=8E?= =?UTF-8?q?=E7=9A=84=E6=8E=A8=E9=80=81=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_live_redrain2.js | 2 -- jd_bean_home.js | 2 -- jd_car.js | 2 -- jd_crazy_joy.js | 6 ------ jd_crazy_joy_coin.js | 8 +------- jd_jdzz.js | 2 -- jd_live_redrain.js | 2 -- jr_sign.js | 2 -- 8 files changed, 1 insertion(+), 25 deletions(-) diff --git a/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js index aeb5c6c4..a575ab4d 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -67,8 +67,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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 } diff --git a/jd_bean_home.js b/jd_bean_home.js index 8ef8daa4..a4109d74 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -68,8 +68,6 @@ const JD_API_HOST = 'https://api.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 } diff --git a/jd_car.js b/jd_car.js index b41d2151..a695a2b4 100644 --- a/jd_car.js +++ b/jd_car.js @@ -65,8 +65,6 @@ const JD_API_HOST = 'https://car-member.jd.com/api/'; 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 } diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index af863858..73efae78 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -190,8 +190,6 @@ if ($.isNode()) { 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 } @@ -217,8 +215,6 @@ if ($.isNode()) { 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 } @@ -241,8 +237,6 @@ if ($.isNode()) { 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 } diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 0faa591d..c3ee2ac6 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -179,13 +179,7 @@ if ($.isNode()) { 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。 - } + $.log(`\n京东账号${$.index} ${$.nickName || $.UserName}\ncookie已过期,请重新登录获取\n`) continue } await jdJxStory() diff --git a/jd_jdzz.js b/jd_jdzz.js index 042a8602..f5da3632 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -73,8 +73,6 @@ const inviteCodes = [ 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 } diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 596e3afe..f13c7e33 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -89,8 +89,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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 } diff --git a/jr_sign.js b/jr_sign.js index 17dd9cea..b7e6089a 100644 --- a/jr_sign.js +++ b/jr_sign.js @@ -62,8 +62,6 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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 } From 7b046a2625302720dc7594eefac47fe398161cb5 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 24 Dec 2020 11:06:38 +0800 Subject: [PATCH 0534/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8D=E5=BC=80?= =?UTF-8?q?=E5=B9=B8=E8=BF=90=E5=AE=9D=E7=AE=B1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 0faa591d..78561d60 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -421,7 +421,7 @@ function getCoin() { if (data.data && data.data.totalCoinAmount) $.coin = data.data.totalCoinAmount if (data.data && data.data.luckyBoxRecordId) { - await openBox(data.data.luckyBoxRecordId) + await openBox('LUCKY_BOX_DROP',data.data.luckyBoxRecordId) } else $.log(`产出金币信息获取失败`) } From 4f9b5e0aff2bdd4638aa6a10ebda9628aedcd684 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 11:50:06 +0800 Subject: [PATCH 0535/1259] update --- githubAction.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/githubAction.md b/githubAction.md index 1886e713..54a9f63d 100644 --- a/githubAction.md +++ b/githubAction.md @@ -13,17 +13,17 @@ | `JD_DEBUG` | 脚本打印log | 非必须 | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | | `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。具体获取参考此[issue](https://github.com/lxk0301/jd_scripts/issues/127) | -##### 推送通知环境变量 +##### 推送通知环境变量(目前提供`微信server酱`、`pushplus(推送加)`、`iOS Bark APP`、`telegram机器人`、`钉钉机器人`、`企业微信机器人`、`iGot`、`QQ酷推`等通知方式) | Name | 归属 | 属性 | 说明 | | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | -| `PUSH_KEY` | 微信推送 | 非必须 | cookie失效推送[server酱的微信通知](http://sc.ftqq.com/3.version) | -| `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | cookie失效推送BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg)(注:支持自建填完整链接即可) | +| `PUSH_KEY` | 微信server酱推送 | 非必须 | server酱的微信通知[官方文档](http://sc.ftqq.com/3.version) | +| `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | IOS用户下载BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg)(注:支持自建填完整链接即可) | | `BARK_SOUND` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | -| `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./backUp/TG_PUSH.md) | -| `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | -| `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于`=`符号后面的XXX即可 | -| `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的`SECXXXXXXXXXX`等字符 , 注:钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | +| `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送(需设备可连接外网),`TG_BOT_TOKEN`和`TG_USER_ID`两者必需,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./backUp/TG_PUSH.md) | +| `TG_USER_ID` | telegram推送 | 非必须 | tg推送(需设备可连接外网),`TG_BOT_TOKEN`和`TG_USER_ID`两者必需,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | +| `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送(`DD_BOT_TOKEN`和`DD_BOT_SECRET`两者必需)[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于`=`符号后面的XXX即可 | +| `DD_BOT_SECRET` | 钉钉推送 | 非必须 | (`DD_BOT_TOKEN`和`DD_BOT_SECRET`两者必需) ,密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的`SECXXXXXXXXXX`等字符 , 注:钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | | `QYWX_KEY` | 企业微信推送 | 非必须 | 密钥,企业微信推送 webhook 后面的 key [详见官方说明文档](https://work.weixin.qq.com/api/doc/90000/90136/91770) | | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | | `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | From e0b16b522b1128eef948f5d41cb7dfa429877d31 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 13:54:23 +0800 Subject: [PATCH 0536/1259] =?UTF-8?q?=E5=AE=A0=E6=B1=AA=E6=B1=AA=E8=B5=9B?= =?UTF-8?q?=E8=B7=91=E6=B7=BB=E5=8A=A0=E9=A2=86=E5=8F=96=E8=83=BD=E5=8A=9B?= =?UTF-8?q?=E8=A1=A5=E7=BB=99=E7=AB=99=E5=8A=9F=E8=83=BD,(2=E4=BA=BA?= =?UTF-8?q?=E8=B5=9B=E8=B7=91=E5=8F=AF=E5=8A=A05KM=EF=BC=8C50=E4=BA=BA?= =?UTF-8?q?=E8=B5=9B=E8=B7=91=E5=8F=AF=E5=8A=A025KM)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy.js | 72 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 59 insertions(+), 13 deletions(-) diff --git a/jd_joy.js b/jd_joy.js index 00166388..302fc972 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -1,9 +1,8 @@ /* -TODO 能力补给站(2人赛跑可加5KM,50人赛跑可加25KM),抽空添加 jd宠汪汪 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_joy.js 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js IOS用户支持京东双账号,NodeJs用户支持N个京东账号 -更新时间:2020-12-14 +更新时间:2020-12-24 建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 feedCount:自定义 每次喂养数量; 等级只和喂养次数有关,与数量无关 推荐每次投喂10个,积累狗粮,然后去玩聚宝盆赌 @@ -136,8 +135,8 @@ async function joinTwoPeopleRun() { let teamLevelTemp = []; teamLevelTemp = $.isNode() ? (process.env.JOY_TEAM_LEVEL ? process.env.JOY_TEAM_LEVEL.split('&') : teamLevel.split('&')) : ($.getdata('JOY_TEAM_LEVEL') ? $.getdata('JOY_TEAM_LEVEL').split('&') : teamLevel.split('&')); teamLevelTemp = teamLevelTemp[$.index - 1] ? teamLevelTemp[$.index - 1] : 2; - console.log(`\n===========以下是${teamLevelTemp}人赛跑信息========\n`) await getPetRace(); + console.log(`\n===以下是京东账号${$.index} ${$.nickName} ${$.petRaceResult.data.teamLimitCount || teamLevelTemp}人赛跑信息===\n`) if ($.petRaceResult) { let petRaceResult = $.petRaceResult.data.petRaceResult; // let raceUsers = $.petRaceResult.data.raceUsers; @@ -146,13 +145,13 @@ async function joinTwoPeopleRun() { console.log(`暂未参赛,现在为您参加${teamLevelTemp}人赛跑`); await runMatch(teamLevelTemp * 1); if ($.runMatchResult.success) { - console.log(`${teamLevelTemp}人赛跑参加成功\n`); - message += `${teamLevelTemp}人赛跑:成功参加\n`; - await getPetRace(); - petRaceResult = $.petRaceResult.data.petRaceResult; - await getRankList(); - // raceUsers = $.petRaceResult.data.raceUsers; - // console.log(`参赛后的状态:${petRaceResult}`) + await getWinCoin(); + console.log(`${$.getWinCoinRes.data.teamLimitCount || teamLevelTemp}人赛跑参加成功\n`); + message += `${$.getWinCoinRes.data.teamLimitCount || teamLevelTemp}人赛跑:成功参加\n`; + // if ($.getWinCoinRes.data['supplyOrder']) await energySupplyStation($.getWinCoinRes.data['supplyOrder']); + await energySupplyStation('2'); + // petRaceResult = $.petRaceResult.data.petRaceResult; + // await getRankList(); console.log(`双人赛跑助力请自己手动去邀请好友,脚本不带赛跑助力功能\n`); } } @@ -165,18 +164,21 @@ async function joinTwoPeopleRun() { if (petRaceResult === 'unreceive') { console.log('今日参赛的比赛已经结束,现在领取奖励'); await getWinCoin(); - let winCoin = 0; + let winCoin = 0, teamLimitCount = 2; if ($.getWinCoinRes && $.getWinCoinRes.success) { winCoin = $.getWinCoinRes.data.winCoin; + teamLimitCount = $.getWinCoinRes.data.teamLimitCount; } await receiveJoyRunAward(); console.log(`领取赛跑奖励结果:${JSON.stringify($.receiveJoyRunAwardRes)}`) if ($.receiveJoyRunAwardRes.success) { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLevelTemp}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); - if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n${teamLevelTemp}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLimitCount}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); + if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n${teamLimitCount}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) } } if (petRaceResult === 'participate') { + // if ($.getWinCoinRes.data['supplyOrder']) await energySupplyStation($.getWinCoinRes.data['supplyOrder']); + await energySupplyStation('2'); await getRankList(); if($.raceUsers && $.raceUsers.length > 0) { for (let index = 0; index < $.raceUsers.length; index++) { @@ -735,6 +737,50 @@ function receiveJoyRunAward() { }) }) } +//能力补给站 +async function energySupplyStation(showOrder) { + let status; + await getSupplyInfo(showOrder); + if ($.getSupplyInfoRes && $.getSupplyInfoRes.success) { + if ($.getSupplyInfoRes.data) { + const { marketList } = $.getSupplyInfoRes.data; + for (let list of marketList) { + if (!list['status']) { + await scanMarket('combat/supply', { showOrder, 'supplyType': 'scan_market', 'taskInfo': list.marketLink || list['marketLinkH5'], 'reqSource': 'weapp' }); + await getSupplyInfo(showOrder); + } else { + $.log(`能力补给站 ${$.getSupplyInfoRes.data.addDistance}km里程 已领取\n`); + status = list['status']; + } + } + if (!status) { + await energySupplyStation(showOrder); + } + } + } +} +function getSupplyInfo(showOrder) { + return new Promise(resolve => { + const url = `${weAppUrl}/combat/getSupplyInfo?showOrder=${showOrder}`; + $.get(taskUrl(url, 'draw.jdfcloud.com', `weapp`), (err, resp, data) => { + try { + if (err) { + console.log('\n京东宠汪汪: API查询请求失败 ‼️‼️') + } else { + // console.log('查询应援团信息API',(data)) + // $.appGetPetTaskConfigRes = JSON.parse(data); + if (data) { + $.getSupplyInfoRes = JSON.parse(data); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }) + }) +} function showMsg() { jdNotify = $.getdata('jdJoyNotify') ? $.getdata('jdJoyNotify') : jdNotify; if (!jdNotify || jdNotify === 'false') { From 3eb3cd43a04ae643d01f94b3dfce20dda64445f6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 18:10:30 +0800 Subject: [PATCH 0537/1259] =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84joy?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=92=E5=8A=A9=E7=A0=81=E5=A1=AB=E5=86=99?= =?UTF-8?q?=E7=9A=84=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=20JDJOY=5FSHARECO?= =?UTF-8?q?DES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + jd_crazy_joy.js | 43 ++++++++++++++++++++++++++++++------------- jd_plantBean.js | 20 ++++++++++---------- 3 files changed, 41 insertions(+), 23 deletions(-) diff --git a/githubAction.md b/githubAction.md index 54a9f63d..c730ea0f 100644 --- a/githubAction.md +++ b/githubAction.md @@ -44,6 +44,7 @@ | `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | | `JDZZ_SHARECODES` | 京东赚赚(jd_jdzz.js)脚本互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDJOY_SHARECODES` | 疯狂的joy(jd_crazy_joy.js)脚本互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 73efae78..f85bb81d 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -29,13 +29,14 @@ const JD_API_HOST = 'https://api.m.jd.com/'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -let helpSelf = false // 循环助力 +let helpSelf = false // 循环助力,默认关闭 let applyJdBean = 0 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = [ - 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE', - 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE' + 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE', + 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE' ]; +const randomCount = 5; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -575,7 +576,30 @@ function taskUrl(functionId, body = '') { } } } - +function readShareCode() { + console.log(`开始`) + return new Promise(async resolve => { + $.get({url: `https://code.chiang.fun/api/v1/jd/jdcrazyjoy/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(10000); + resolve() + }) +} //格式化助力码 function shareCodesFormat() { return new Promise(async resolve => { @@ -588,7 +612,7 @@ function shareCodesFormat() { const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); $.newShareCodes = inviteCodes[tempIndex].split('@'); } - const readShareCodeRes = null //await readShareCode(); + const readShareCodeRes = await readShareCode(); if (readShareCodeRes && readShareCodeRes.code === 200) { $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; } @@ -605,16 +629,9 @@ function requireConfig() { if ($.isNode()) { if (process.env.JDJOY_SHARECODES) { if (process.env.JDJOY_SHARECODES.indexOf('\n') > -1) { - console.log(`您的互助码选择的是用\n隔开\n`) shareCodes = process.env.JDJOY_SHARECODES.split('\n'); - } else if (process.env.JDJOY_SHARECODES.indexOf('&') > -1) { - console.log(`您的互助码选择的是用&隔开\n`) - shareCodes = process.env.JDJOY_SHARECODES.split('&'); - } else if (process.env.JDJOY_SHARECODES.indexOf('@') > -1) { - console.log(`您的互助码选择的是用@隔开\n`) - shareCodes = process.env.JDJOY_SHARECODES.split('@'); } else { - shareCodes = process.env.JDJOY_SHARECODES.split(); + shareCodes = process.env.JDJOY_SHARECODES.split('&'); } } if (process.env.JDJOY_HELPSELF) { diff --git a/jd_plantBean.js b/jd_plantBean.js index 91abc363..9497a079 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -701,21 +701,21 @@ function request(function_id, body = {}){ }) } function taskUrl(function_id, body) { - body["version"] = "9.0.0.1"; + body["version"] = "9.2.4.0"; body["monitor_source"] = "plant_app_plant_index"; body["monitor_refer"] = ""; return { url: JD_API_HOST, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=ld&client=apple&area=5_274_49707_49973&build=167283&clientVersion=9.1.0`, + body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=ld&client=apple&area=19_1601_50258_51885&build=167490&clientVersion=9.3.2`, headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - '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, + "Host": "api.m.jd.com", + "Accept": "*/*", + "Connection": "keep-alive", + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "Accept-Language": "zh-Hans-CN;q=1,en-CN;q=0.9", + "Accept-Encoding": "gzip, deflate, br", + "Content-Type": "application/x-www-form-urlencoded" } } } From 63e27c01152cf2d65ada8075a634bce5179609b6 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 24 Dec 2020 18:55:46 +0800 Subject: [PATCH 0538/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=96=B0=E5=A2=9E=E7=96=AF=E7=8B=82=E7=9A=84joy?= =?UTF-8?q?=E4=BA=92=E5=8A=A9=E7=A0=81secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数同步新增疯狂的joy互助码secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 78ff5534..100db470 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -70,6 +70,7 @@ jobs: if [ $DDFACTORY_SHARECODES ]; then sed -i "/variables/a\ DDFACTORY_SHARECODES: $DDFACTORY_SHARECODES" serverless.yml; fi; if [ $DREAM_FACTORY_SHARE_CODES ]; then sed -i "/variables/a\ DREAM_FACTORY_SHARE_CODES: $DREAM_FACTORY_SHARE_CODES" serverless.yml; fi; if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; + if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; @@ -124,6 +125,7 @@ jobs: DDFACTORY_SHARECODES: ${{ secrets.DDFACTORY_SHARECODES}} DREAM_FACTORY_SHARE_CODES: ${{ secrets.DREAM_FACTORY_SHARE_CODES}} JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} + JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} From 45a27a12982404c1b1d416c136cc61f1e8457605 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 24 Dec 2020 21:28:46 +0800 Subject: [PATCH 0539/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=A0=E6=B1=AA?= =?UTF-8?q?=E6=B1=AA=E8=B5=9B=E8=B7=91=E6=88=90=E5=8A=9F=E5=90=8E=E9=A2=86?= =?UTF-8?q?=E5=8F=96=E5=A5=96=E5=8A=B1=E5=87=BA=E7=8E=B0=E7=9A=84"null?= =?UTF-8?q?=E4=BA=BA"=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/jd_joy.js b/jd_joy.js index 302fc972..84252778 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -164,16 +164,15 @@ async function joinTwoPeopleRun() { if (petRaceResult === 'unreceive') { console.log('今日参赛的比赛已经结束,现在领取奖励'); await getWinCoin(); - let winCoin = 0, teamLimitCount = 2; + let winCoin = 0; if ($.getWinCoinRes && $.getWinCoinRes.success) { winCoin = $.getWinCoinRes.data.winCoin; - teamLimitCount = $.getWinCoinRes.data.teamLimitCount; } await receiveJoyRunAward(); console.log(`领取赛跑奖励结果:${JSON.stringify($.receiveJoyRunAwardRes)}`) if ($.receiveJoyRunAwardRes.success) { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${teamLimitCount}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); - if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n${teamLimitCount}人赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${$.name}赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); + if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n太棒了,${$.name}赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) } } if (petRaceResult === 'participate') { From e06a96bfe2f074093854b4b6c9b9d241eebde8b5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 00:18:57 +0800 Subject: [PATCH 0540/1259] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index a9bf2043..7002d51d 100644 --- a/README.md +++ b/README.md @@ -59,8 +59,6 @@ **TODO** -- [ ] 东东工厂相互助力 -- [ ] 京喜工厂相互助力 ## 食用方法 From f7455cd0ea7e7813433b82df0f75cd08bf23c4f0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 00:20:58 +0800 Subject: [PATCH 0541/1259] Update githubAction.md --- githubAction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/githubAction.md b/githubAction.md index c730ea0f..415242ed 100644 --- a/githubAction.md +++ b/githubAction.md @@ -118,9 +118,9 @@ Apple京东自营旗舰店 100&100&iPhone12&Apple京东自营旗舰店 ``` -#### 关于脚本推送通知(微信server酱推送通知,bark app推送通知,telegram机器人推送通知,钉钉机器人推送通知,iGot聚合推送) +#### 关于脚本推送通知频率 - > 如果你填写了上面五种推送通知方式中的某一个通知所需secret,那么脚本通知情况如下: + > 如果你填写了推送通知方式中的某一种通知所需环境变量,那么脚本通知情况如下: > 目前默认只有jd_fruit.js,jd_pet.js,jd_bean_sign.js,jd_818.js四个脚本每次运行后都通知 From 26291b236db1b15cf87eb247d603917387724214 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 09:47:57 +0800 Subject: [PATCH 0542/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B0=B4=E6=9E=9C?= =?UTF-8?q?=E6=88=90=E7=86=9F=E5=90=8E=E7=9A=84=E5=BC=B9=E7=AA=97=E6=8F=90?= =?UTF-8?q?=E9=86=92=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index 4f2eaa55..03185eb1 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,6 +1,6 @@ /* 东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js -更新时间:2020-12-15 +更新时间:2020-12-25 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -279,7 +279,7 @@ async function doTenWater() { } if (isFruitFinished) { option['open-url'] = urlSchema; - $.msg($.name, `【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取`, '请去京东APP或微信小程序查看\n点击弹窗即达', option); + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName || $.UserName}\n【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取\n请去京东APP或微信小程序查看\n点击弹窗即达`, option); $.done(); if ($.isNode()) { await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}水果已可领取`, `京东账号${$.index} ${$.nickName}\n${$.farmInfo.farmUserPro.name}已可领取`); @@ -403,7 +403,7 @@ async function doTenWaterAgain() { } if (isFruitFinished) { option['open-url'] = urlSchema; - $.msg($.name, `【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取`, '请去京东APP或微信小程序查看\n点击弹窗即达', option); + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName || $.UserName}\n【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取\n请去京东APP或微信小程序查看\n点击弹窗即达`, option); $.done(); if ($.isNode()) { await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}水果已可领取`, `京东账号${$.index} ${$.nickName}\n${$.farmInfo.farmUserPro.name}已可领取`); @@ -431,7 +431,7 @@ async function doTenWaterAgain() { } if (isFruitFinished) { option['open-url'] = urlSchema; - $.msg($.name, `【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取`, '请去京东APP或微信小程序查看\n点击弹窗即达', option); + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName || $.UserName}\n【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取\n请去京东APP或微信小程序查看\n点击弹窗即达`, option); $.done(); if ($.isNode()) { await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}水果已可领取`, `京东账号${$.index} ${$.nickName}\n${$.farmInfo.farmUserPro.name}已可领取`); From da6b6e35d2157c1d32b0538de5725a846965b4c7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 09:54:53 +0800 Subject: [PATCH 0543/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E5=A6=82=E6=9A=82=E6=9C=AA=E9=80=89=E6=8B=A9=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=94=9F=E4=BA=A7=EF=BC=8C=E5=88=99=E6=AF=8F?= =?UTF-8?q?=E9=9A=946=E5=B0=8F=E6=97=B6=E6=8F=90=E9=86=92=E4=B8=80?= =?UTF-8?q?=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index ba261991..4c0b8fc5 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -565,7 +565,12 @@ function userInfo() { // $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); } else if (data.factoryList && !data.productionList) { console.log(`【提示】京东账号${$.index}[${$.nickName}]京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) - // $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); + let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); + if (nowTimes.getHours() % 6 === 0) { + //如按每小时运行一次,则此处将一天推送4次提醒 + $.msg($.name, '提醒⏰', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); + await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`) + } } } } else { From 2b63f40771a12caa437d75ba91d6907362c2ba6f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 10:41:07 +0800 Subject: [PATCH 0544/1259] =?UTF-8?q?=E5=A4=A9=E5=A4=A9=E5=8A=A0=E9=80=9F?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E8=87=AA=E5=8A=A8=E9=A2=86=E5=8F=96?= =?UTF-8?q?=20=E5=B7=B2=E5=AE=8C=E6=88=90=E7=9A=84=E8=99=AB=E6=B4=9E?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BA=AC=E8=B1=86=E5=A5=96=E5=8A=B1(?= =?UTF-8?q?=E6=AF=8F=E4=B8=AA=E4=BB=BB=E5=8A=A1=E5=8F=AF=E5=BE=97100-300?= =?UTF-8?q?=E4=BA=AC=E8=B1=86)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_speed.js | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 99 insertions(+), 3 deletions(-) diff --git a/jd_speed.js b/jd_speed.js index f9da4a9c..305701ce 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -1,12 +1,11 @@ /* 京东天天加速链接:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js -更新时间:2020-11-03 +更新时间:2020-12-25 支持京东双账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 每天4京豆,再小的苍蝇也是肉 从 https://github.com/Zero-S1/JD_tools/blob/master/JD_speed.py 改写来的 建议3小时运行一次,打卡时间间隔是6小时 -注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save */ // quantumultx // [task_local] @@ -67,6 +66,7 @@ const JD_API_HOST = 'https://api.m.jd.com/' message = ''; subTitle = ''; await jDSpeedUp(); + await getMemBerList(); await showMsg(); } } @@ -85,7 +85,7 @@ function showMsg() { $.log(`\n${message}\n`); } } -function jDSpeedUp(sourceId, doubleKey) { +function jDSpeedUp(sourceId) { return new Promise((resolve) => { let body = {"source": "game"}; if (sourceId) { @@ -109,6 +109,7 @@ function jDSpeedUp(sourceId, doubleKey) { try { if (err) { console.log('京东天天-加速: 签到接口请求失败 ‼️‼️'); + console.log(`${JSON.stringify(err)}`) } else { if (data) { let res = JSON.parse(data); @@ -184,6 +185,7 @@ function spaceEventList() { try { if (err) { console.log("\n京东天天-加速: 查询太空特殊事件请求失败 ‼️‼️") + console.log(`${JSON.stringify(err)}`) } else { if (data) { const cc = JSON.parse(data); @@ -244,6 +246,7 @@ function spaceEventHandleEvent(spaceEventList) { try { if (err) { console.log("\n京东天天-加速: 处理太空特殊事件请求失败 ‼️‼️") + console.log(`${JSON.stringify(err)}`) } else { if (data) { const cc = JSON.parse(data); @@ -291,6 +294,7 @@ function energyPropList() { try { if (err) { console.log("\n京东天天-加速: 查询道具请求失败 ‼️‼️") + console.log(`${JSON.stringify(err)}`) } else { if (data) { const cc = JSON.parse(data) @@ -346,6 +350,7 @@ function receiveEnergyProp(CID) { try { if (error) { console.log("\n天天加速-领取道具请求失败 ‼️‼️") + console.log(`${JSON.stringify(error)}`) } else { if (data) { const cc = JSON.parse(data) @@ -390,6 +395,7 @@ function energyPropUsaleList(EID) { try { if (error) { console.log("\n天天加速-查询道具ID请求失败 ‼️‼️") + console.log(`${JSON.stringify(error)}`) } else { if (data) { const cc = JSON.parse(data); @@ -450,6 +456,7 @@ function useEnergy(PropID) { try { if (error) { console.log("\n天天加速-使用燃料请求失败 ‼️‼️") + console.log(`${JSON.stringify(error)}`) } else { if (data) { const cc = JSON.parse(data); @@ -476,6 +483,84 @@ function useEnergy(PropID) { } }) } +function getMemBerList() { + return new Promise((resolve) => { + const body = { "source": "game", "status": 0}; + const spaceEventUrl = { + url: `${JD_API_HOST}?appid=memberTaskCenter&functionId=member_list&body=${escape(JSON.stringify(body))}&_t=${Date.now()}`, + headers: { + Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', + Cookie: cookie, + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.get(spaceEventUrl, async (err, resp, data) => { + try { + if (err) { + console.log(`${$.name} API请求失败,请检查网路重试`) + console.log(`${JSON.stringify(err)}`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data && data.success) { + $.getRewardBeans = 0; + console.log(`\n检查是否可领虫洞京豆奖励`) + $.memBerList = data.data.filter(item => item['taskStatus'] === 2); + if ($.memBerList && $.memBerList.length > 0) { + for (let uuids of $.memBerList) { + await getReward(uuids['uuid']); + } + if ($.getRewardBeans > 0) { + $.msg(`${$.name}`, '', `${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`); + await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`) + } + } else { + console.log(`暂无可领取的虫洞京豆奖励`) + } + } + } + } + } catch (e) { + $.msg("天天加速-查询太空特殊事件" + e.name + "‼️", JSON.stringify(e), e.message) + $.logErr(e, resp) + } finally { + resolve() + } + }) + }) +} +function getReward(uuid) { + return new Promise((resolve) => { + const body = { "source": "game", uuid}; + const options = { + url: `${JD_API_HOST}?appid=memberTaskCenter&functionId=member_getReward&body=${escape(JSON.stringify(body))}&_t=${Date.now()}`, + headers: { + Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', + Cookie: cookie, + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.get(options, async (err, resp, data) => { + try { + if (err) { + console.log(`${$.name} API请求失败,请检查网路重试`) + console.log(`${JSON.stringify(err)}`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data && data.success) { + $.getRewardBeans += data.data.beans; + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve() + } + }) + }) +} function TotalBean() { return new Promise(async resolve => { const options = { @@ -527,5 +612,16 @@ function jsonParse(str) { } } } +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){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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 From b584830f84340d79026d15dec880cd01791615c1 Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 25 Dec 2020 10:47:30 +0800 Subject: [PATCH 0545/1259] =?UTF-8?q?=E6=B5=8F=E8=A7=883=E4=B8=AA=E5=95=86?= =?UTF-8?q?=E5=93=811=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 70 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 57 insertions(+), 13 deletions(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index 8ef8daa4..57599dbe 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -113,11 +113,53 @@ const JD_API_HOST = 'https://api.m.jd.com/'; }) async function jdBeanHome() { + $.doneState = false + for (let i = 0; i < 3; ++i) { + await doTask2() + await $.wait(1000) + if ($.doneState) break + } + await $.wait(1000) + await award("feeds") + await $.wait(1000) await getUserInfo() + await $.wait(1000) await getTaskList() await showMsg(); } +function getRandomInt(min, max) { + min = Math.ceil(min); + max = Math.floor(max); + return Math.floor(Math.random() * (max - min)) + min; +} +function doTask2() { + return new Promise(resolve => { + const body = {"awardFlag": false, "skuId": `${getRandomInt(10000000,20000000)}`, "source": "feeds", "type": '1'}; + $.post(taskUrl('beanHomeTask', 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' && data.data){ + console.log(`任务完成进度:${data.data.taskProgress} / ${data.data.taskThreshold}`) + if(data.data.taskProgress===data.data.taskThreshold) + $.doneState = true + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + function getAuthorShareCode() { return new Promise(resolve => { $.get({url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_bean_home",headers:{ @@ -166,18 +208,20 @@ function getUserInfo() { } else { if (safeGet(data)) { data = JSON.parse(data); - $.actId = data.data.jklInfo.keyId - let {shareCode, groupCode} = data.data - if (!shareCode) { - console.log(`未获取到助力码,去开团`) - await hitGroup() - } else { - console.log(shareCode, groupCode) - // 去做逛会场任务 - if (data.data.beanActivityVisitVenue.taskStatus === '0') { - await help(shareCode, groupCode, 1) + if(data.data.jklInfo) { + $.actId = data.data.jklInfo.keyId + let {shareCode, groupCode} = data.data + if (!shareCode) { + console.log(`未获取到助力码,去开团`) + await hitGroup() + } else { + console.log(shareCode, groupCode) + // 去做逛会场任务 + if (data.data.beanActivityVisitVenue.taskStatus === '0') { + await help(shareCode, groupCode, 1) + } + $.newShareCodes.push([shareCode, groupCode]) } - $.newShareCodes.push([shareCode, groupCode]) } } } @@ -330,9 +374,9 @@ function receiveTask(itemId = "zddd", type = "3") { } -function award() { +function award(source="home") { return new Promise(resolve => { - const body = {"awardFlag": true, "source": "home"}; + const body = {"awardFlag": true, "source": source}; $.post(taskUrl('beanHomeTask', body), (err, resp, data) => { try { if (err) { From 8b4f6c225750e4956aa21159c80c3cd0551bfa11 Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Fri, 25 Dec 2020 11:21:19 +0800 Subject: [PATCH 0546/1259] Update jdDreamFactoryShareCodes.js --- jdDreamFactoryShareCodes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdDreamFactoryShareCodes.js b/jdDreamFactoryShareCodes.js index 61148552..8092924b 100644 --- a/jdDreamFactoryShareCodes.js +++ b/jdDreamFactoryShareCodes.js @@ -11,7 +11,7 @@ let shareCodes = [ 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==@-OvElMzqeyeGBWazWYjI1Q==',//账号一的好友shareCode,不同好友中间用@符号隔开 '1uzRU5HkaUgvy0AB5Q9VUg==@PDPM257r_KuQhil2Y7koNw==@-OvElMzqeyeGBWazWYjI1Q==',//账号二的好友shareCode,不同好友中间用@符号隔开 ] -// 判断github action里面是否有东东萌宠互助码 +// 判断github action里面是否有京喜工厂互助码 if (process.env.DREAM_FACTORY_SHARE_CODES) { if (process.env.DREAM_FACTORY_SHARE_CODES.indexOf('&') > -1) { console.log(`您的互助码选择的是用&隔开\n`) @@ -28,4 +28,4 @@ if (process.env.DREAM_FACTORY_SHARE_CODES) { for (let i = 0; i < shareCodes.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); exports['shareCodes' + index] = shareCodes[i]; -} \ No newline at end of file +} From 7b7ebfcb1ac2b7b13c3f9cf85b3b8891ef2ad169 Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Fri, 25 Dec 2020 11:23:30 +0800 Subject: [PATCH 0547/1259] Update jdPlantBeanShareCodes.js --- jdPlantBeanShareCodes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdPlantBeanShareCodes.js b/jdPlantBeanShareCodes.js index 3894909b..faba2b6b 100644 --- a/jdPlantBeanShareCodes.js +++ b/jdPlantBeanShareCodes.js @@ -11,7 +11,7 @@ let PlantBeanShareCodes = [ '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba@olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy',//账号一的好友shareCode,不同好友中间用@符号隔开 '4npkonnsy7xi3p6pjfxg6ct5gll42gmvnz7zgoy@6dygkptofggtp6ffhbowku3xgu@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy',//账号二的好友shareCode,不同好友中间用@符号隔开 ] -// 判断github action里面是否有东东萌宠互助码 +// 判断github action里面是否有种豆得豆互助码 if (process.env.PLANT_BEAN_SHARECODES) { if (process.env.PLANT_BEAN_SHARECODES.indexOf('&') > -1) { console.log(`您的种豆互助码选择的是用&隔开\n`) @@ -28,4 +28,4 @@ if (process.env.PLANT_BEAN_SHARECODES) { for (let i = 0; i < PlantBeanShareCodes.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); exports['PlantBeanShareCodes' + index] = PlantBeanShareCodes[i]; -} \ No newline at end of file +} From a1b0f931f076d174c16d5f7f92126c69a26a9bf5 Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Fri, 25 Dec 2020 11:24:49 +0800 Subject: [PATCH 0548/1259] Update jdFruitShareCodes.js --- jdFruitShareCodes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdFruitShareCodes.js b/jdFruitShareCodes.js index 4ddbd3da..d06c92d1 100644 --- a/jdFruitShareCodes.js +++ b/jdFruitShareCodes.js @@ -1,5 +1,5 @@ /* -水果互助码 +东东农场互助码 此文件为Node.js专用。其他用户请忽略 支持京东N个账号 */ @@ -11,7 +11,7 @@ let FruitShareCodes = [ '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a',//账号一的好友shareCode,不同好友中间用@符号隔开 '6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3',//账号二的好友shareCode,不同好友中间用@符号隔开 ] -// 判断github action里面是否有水果互助码 +// 判断github action里面是否有东东农场互助码 if (process.env.FRUITSHARECODES) { if (process.env.FRUITSHARECODES.indexOf('&') > -1) { console.log(`您的东东农场互助码选择的是用&隔开\n`) From 8b68ced78e0a18d9123cab0c0d2e7711d167fe38 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 12:31:48 +0800 Subject: [PATCH 0549/1259] fix --- jd_speed.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_speed.js b/jd_speed.js index 305701ce..8c177e80 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -511,8 +511,8 @@ function getMemBerList() { await getReward(uuids['uuid']); } if ($.getRewardBeans > 0) { - $.msg(`${$.name}`, '', `${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`); - await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`) + $.msg(`${$.name}`, '', `京东账号${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`) } } else { console.log(`暂无可领取的虫洞京豆奖励`) From 96931f1d8b1162edbd7cdecfacf6d79d65c8fcb6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 12:39:33 +0800 Subject: [PATCH 0550/1259] =?UTF-8?q?=E4=B8=89=E5=A4=A7=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=A2=E9=98=85=EF=BC=88=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84joy=E6=97=A5=E5=B8=B8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=84=9A=E6=9C=AC=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 4 +++- QuantumultX/lxk0301_gallery.json | 1 + Surge/lxk0301_Task.sgmodule.sgmodule | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index d2fbd7ae..b334fd30 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -120,4 +120,6 @@ cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lx # 金融打卡领年终奖 cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 -cron "10 0 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 \ No newline at end of file +cron "10 0 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 +# 疯狂的joy日常任务 +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 \ No newline at end of file diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index bc4aee1c..7bc2c286 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -35,6 +35,7 @@ "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png", "14 11 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", "44 12 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", + "30 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "1 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "10 12 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 5a277b26..2be5a205 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -71,6 +71,8 @@ cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 #注销京东店铺会员卡 cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, timeout=750, wake-system=1, tag=注销京东店铺会员卡 +#疯狂的joy日常任务 +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 #以下为短期活动 #金融打卡领年终奖 cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 From 12f802cc2a1446dcf740e15c0017f63faa07d003 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 13:09:36 +0800 Subject: [PATCH 0551/1259] update --- README.md | 68 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 7002d51d..fb8d8eee 100644 --- a/README.md +++ b/README.md @@ -20,36 +20,44 @@ > ***您使用或者复制了本仓库且本人制作的任何脚本,则视为`已接受`此声明,请仔细阅读*** ## Script脚本列表 +#### 说明 +1. 其中 [jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js) 可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) +2. 短期任务仅在特定时间有效,请自行在京东APP上查阅,恕不再另行说明。 -1. 京东水果([jd_fruit.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js)) -2. 东东萌宠([jd_pet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js)) -4. 种豆得豆([jd_plantBean.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js)) -5. 天天加速([jd_speed.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js)) -6. 摇钱树([jd_moneyTree.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js)) -6. 宠汪汪([jd_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js)) -7. 宠汪汪偷好友狗粮与积分([jd_joy_steal.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js)) -8. 宠汪汪单独喂食([jd_joy_feedPets.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js)) -9. 宠汪汪兑换奖品([jd_joy_reward.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js)) -10. 宠汪汪强制为好友助力(刷好友)([jd_joy_help.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js)) -11. 宠汪汪赛跑助力([jd_joy_run.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js)) -12. 宠汪汪聚宝盆辅助脚本([jd_petTreasureBox.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js)) -13. 取关京东店铺和商品([jd_unsubscribe.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js)) -14. 东东超市([jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js)) -15. 东东超市兑换奖品([jd_blueCoin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js)) -16. 进店领豆([jd_shop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js)) -17. 摇京豆([jd_club_lottery.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js)) -18. 全名开红包([jd_redPacket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js)) -19. 京东多合一签到([jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js)) 【可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js,iOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) 】 -20. 京豆变动通知([jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js)) -21. 京喜工厂([jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js)) -22. 东东小窝([jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js)) -23. 东东工厂([jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js)) -24. 点点券([jd_necklace.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js)) -25. 十元街([jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js)) -26. 京东金融-天天提鹅([jd_daily_egg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_daily_egg.js)) -27. 京东金融-养猪猪([jd_pigPet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pigPet.js)) -28. 以及其他一部分在特定时间可用的薅京豆脚本:[手机狂欢城](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) 、[星推官](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) 、[双十一活动领金币](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js) 、[热8超级盲盒](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js) -29. Webhook触发Action([webhook.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/webhook.js)) +| 活动时长 | 名称 | 脚本 | +| ---- | ------------------------------ | -------------------------------------------------------------------------------------------------------- | +| 长期 | 疯狂的joy | [jd_crazy_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js) | +| 长期 | 京豆变动通知 | [jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js) | +| 长期 | 京东多合一签到 | [jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js) | +| 长期 | 东东超市兑换奖品 | [jd_blueCoin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js) | +| 长期 | 摇京豆 | [jd_club_lottery.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js) | +| 长期 | 东东农场 | [jd_fruit.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js) | +| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js) | +| 长期 | 宠汪汪单独喂食 | [jd_joy_feedPets.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js) | +| 长期 | 宠汪汪强制为好友助力(iOS端专用) | [jd_joy_help.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js) | +| 长期 | 宠汪汪聚宝盆辅助脚本(iOS端专用) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js) | +| 长期 | 宠汪汪兑换奖品 | [jd_joy_reward.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js) | +| 长期 | 宠汪汪赛跑助力 | [jd_joy_run.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js) | +| 长期 | 宠汪汪偷好友狗粮与积分 | [jd_joy_steal.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js) | +| 长期 | 摇钱树 | [jd_moneyTree.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js) | +| 长期 | 东东萌宠 | [jd_pet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js) | +| 长期 | 金融养猪 | [jd_pigPet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pigPet.js) | +| 长期 | 天天提鹅 | [jd_daily_egg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_daily_egg.js) | +| 长期 | 种豆得豆 | [jd_plantBean.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js) | +| 长期 | 全民开红包 | [jd_redPacket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js) | +| 长期 | 进店领豆 | [jd_shop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js) | +| 长期 | 天天加速 | [jd_speed.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js) | +| 长期 | 京东快递 | [jd_kd.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js) | +| 长期 | 东东超市 | [jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js) | +| 长期 | 京喜工厂 | [jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js) | +| 长期 | 东东工厂 | [jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js) | +| 长期 | 东东小窝 | [jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js) | +| 长期 | 点点券 | [jd_necklace.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js) | +| 长期 | 十元街 | [jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js) | +| 长期 | 京东代属 | [jd_ds.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js) | +| 长期 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js) | +| 短期 | 星推官 | [jd_xtg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) | +| 短期 | 手机狂欢城 | [jd_818.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) | 搬运脚本 1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js)) @@ -58,7 +66,7 @@ **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** **TODO** - +- [ ] 所有活动互助码在一个脚本打印 ## 食用方法 From b4ce0bfc272cd157ba45e71071080d6502f882bb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 17:06:13 +0800 Subject: [PATCH 0552/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=82=E6=9C=BA?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 00f394ba..4e4a5a3b 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -412,12 +412,17 @@ function getCoin() { if (data.data && data.data.tryMoneyJoyBeans) { console.log(`分红狗生效中,预计获得 ${data.data.tryMoneyJoyBeans} 京豆奖励`) } - if (data.data && data.data.totalCoinAmount) - $.coin = data.data.totalCoinAmount + if (data.data && data.data.totalCoinAmount) { + $.coin = data.data.totalCoinAmount; + } else { + $.coin = `获取当前金币数量失败` + } if (data.data && data.data.luckyBoxRecordId) { await openBox('LUCKY_BOX_DROP',data.data.luckyBoxRecordId) - } else - $.log(`产出金币信息获取失败`) + } + if (data.data) { + $.log(`此次在线收益:获得 ${data.data['coins']} 金币`) + } } } } catch (e) { @@ -430,7 +435,6 @@ function getCoin() { } function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { - console.log(`openBox:${eventType}`) let body = { eventType, "eventRecordId": boxId} return new Promise(async resolve => { $.get(taskUrl('crazyJoy_event_getVideoAdvert', JSON.stringify(body)), async (err, resp, data) => { From 51dd80e63e6a893f8db0eb3eca3a4b9d6ab97ddb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 21:26:50 +0800 Subject: [PATCH 0553/1259] Update jd_speed.js --- jd_speed.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_speed.js b/jd_speed.js index 8c177e80..905cecc2 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -512,7 +512,7 @@ function getMemBerList() { } if ($.getRewardBeans > 0) { $.msg(`${$.name}`, '', `京东账号${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`); - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`) + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n虫洞任务:获得${$.getRewardBeans}京豆`) } } else { console.log(`暂无可领取的虫洞京豆奖励`) From 6ce168bdc367e472394bbbfc6112ae1f84ec3bbb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 21:29:23 +0800 Subject: [PATCH 0554/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 4c0b8fc5..5d33133e 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -569,7 +569,7 @@ function userInfo() { if (nowTimes.getHours() % 6 === 0) { //如按每小时运行一次,则此处将一天推送4次提醒 $.msg($.name, '提醒⏰', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`) + if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`) } } } @@ -1253,17 +1253,17 @@ async function exchangeProNotify() { // 一:在兑换超时这一天(2020/12/8 09:20:04)的前2小时内通知 if ((exchangeEndTime - nowTimes) <= 3600000 * 2) { $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}${(exchangeEndTime - nowTimes) / 60*60*1000}分钟后兑换超时\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, {'open-url': jxOpenUrl, 'media-url': $.picture}) - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}${(exchangeEndTime - nowTimes) / 60*60*1000}分钟后兑换超时\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, { url: jxOpenUrl }) + if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}${(exchangeEndTime - nowTimes) / 60*60*1000}分钟后兑换超时\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, { url: jxOpenUrl }) } //二:在兑换超时日期前的时间一天通知三次(2020/12/6 9,10,11点,以及在2020/12/7 9,10,11点各通知一次) if (nowHours === exchangeEndHours || nowHours === (exchangeEndHours + 1) || nowHours === (exchangeEndHours + 2)) { $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}已可兑换\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, {'open-url': jxOpenUrl, 'media-url': $.picture}) - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}已可兑换\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, { url: jxOpenUrl }) + if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}已可兑换\n【兑换截止时间】${$.exchangeEndTime}\n请速去京喜APP->首页->好物0元造进行兑换`, { url: jxOpenUrl }) } } else { //兑换已超时 $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}兑换已超时,请重新选择商品生产\n【兑换截止时间】${$.exchangeEndTime}`, {'open-url': jxOpenUrl}) - await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}兑换已超时,请重新选择商品生产\n【兑换截止时间】${$.exchangeEndTime}`, { url: jxOpenUrl }) + if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n【生产商品】${$.productName}兑换已超时,请重新选择商品生产\n【兑换截止时间】${$.exchangeEndTime}`, { url: jxOpenUrl }) } } } From a0d0e72749ab552d5d392d4e5da1aafa8022098d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 25 Dec 2020 22:21:33 +0800 Subject: [PATCH 0555/1259] Update qqread.js --- backUp/qqread.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index e2db6bd6..f72fe1f4 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -235,7 +235,7 @@ async function QQ_READ() { function showmsg() { return new Promise(async resolve => { let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); - if (nowTimes.getHours() === 22 && (nowTimes.getMinutes() >= 0 && nowTimes.getMinutes() <= 20)) { + if (nowTimes.getHours() === 22 && (nowTimes.getMinutes() >= 0 && nowTimes.getMinutes() <= 15)) { await notify.sendNotify(jsname, tz); } $.msg(jsname, "", tz); From b70ef8abd1a302fb51c673b75e505c00f2b38f6c Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 25 Dec 2020 23:04:37 +0800 Subject: [PATCH 0556/1259] =?UTF-8?q?=E5=86=85=E7=BD=AE=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E9=9B=A8id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index f13c7e33..96f147fd 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -21,7 +21,18 @@ cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercon 直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, 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') : ''; @@ -67,12 +78,23 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } + $.log(`=====远程红包雨信息=====`) await getRedRain(); if(!$.activityId) return let nowTs = new Date().getTime() if (!($.st <= nowTs && nowTs < $.ed)) { - console.log(`不在红包雨时间之内`) - return + $.log(`远程红包雨配置获取错误,从本地读取配置`) + $.log(`\n`) + let hour = new Date().getUTCHours() + 8 + if (ids[hour]){ + $.activityId = ids[hour] + $.log(`本地红包雨配置获取成功`) + } else{ + $.log(`无法从本地读取配置,请检查运行时间`) + return + } + } else{ + $.log(`远程红包雨配置获取成功`) } for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { From 2b4d04a465880ce627c83e80e72c84aa4b404432 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 26 Dec 2020 14:01:34 +0800 Subject: [PATCH 0557/1259] fix --- jd_pet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index 1446989d..9b19c20f 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,6 +1,6 @@ /* 东东萌宠 更新地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js -更新时间:2020-11-30 +更新时间:2020-12-26 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -90,7 +90,7 @@ async function jdPet() { } if (!$.petInfo.goodsInfo) { $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`, { "open-url": "openapp.jdmoble://" }); - await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`); + if ($.isNode()) await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`); return } goodsUrl = $.petInfo.goodsInfo && $.petInfo.goodsInfo.goodsUrl; From e359db62b71eec1e174e2ffa5932532abf201257 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 26 Dec 2020 14:29:59 +0800 Subject: [PATCH 0558/1259] =?UTF-8?q?=E6=B3=A8=E9=94=80=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E5=BA=97=E9=93=BA=E4=BC=9A=E5=91=98=E5=8D=A1=E8=84=9A=E6=9C=AC?= =?UTF-8?q?,=E6=89=8B=E6=9C=BA=E7=AB=AF=E6=B7=BB=E5=8A=A0BoxJs=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 176 +++++++++++++++++++++++---------------------- jd_unbind.js | 35 +++++---- lxk0301.boxjs.json | 38 ++++++++++ 3 files changed, 144 insertions(+), 105 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index b1d7a45f..5f16249c 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-12-06 18:19:21 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-06 22:58:02 + * @Last Modified time: 2020-12-26 22:58:02 */ /* 东东工厂,不是京喜工厂 @@ -254,98 +254,100 @@ async function helpFriends() { } } async function doTask() { - for (let item of $.taskVos) { - if (item.taskType === 1) { - //关注店铺任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - for (let task of item.followShopVo) { - if (task.status === 1) { - await jdfactory_collectScore(task.taskToken); - } - } - } else { - console.log(`${item.taskName}已做完`) - } - } - if (item.taskType === 2) { - //看看商品任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - for (let task of item.productInfoVos) { - if (task.status === 1) { - await jdfactory_collectScore(task.taskToken); - } - } - } else { - console.log(`${item.taskName}已做完`) - } - } - if (item.taskType === 3) { - //逛会场任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await jdfactory_collectScore(task.taskToken); - } - } - } else { - console.log(`${item.taskName}已做完`) - } - } - if (item.taskType === 10) { - if (item.status === 1) { - if (item.threeMealInfoVos[0].status === 1) { - //可以做此任务 + if ($.taskVos && $.taskVos.length > 0) { + for (let item of $.taskVos) { + if (item.taskType === 1) { + //关注店铺任务 + if (item.status === 1) { console.log(`准备做此任务:${item.taskName}`); - await jdfactory_collectScore(item.threeMealInfoVos[0].taskToken); - } else if (item.threeMealInfoVos[0].status === 0) { - console.log(`${item.taskName} 任务已错过时间`) + for (let task of item.followShopVo) { + if (task.status === 1) { + await jdfactory_collectScore(task.taskToken); + } + } + } else { + console.log(`${item.taskName}已做完`) } - } else if (item.status === 2){ - 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 jdfactory_collectScore(task.taskToken); - // } - // } - } else { - console.log(`${item.taskName}已做完`) + if (item.taskType === 2) { + //看看商品任务 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + for (let task of item.productInfoVos) { + if (task.status === 1) { + await jdfactory_collectScore(task.taskToken); + } + } + } else { + console.log(`${item.taskName}已做完`) + } } - } - if (item.taskType === 13) { - //每日打卡 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); - } else { - console.log(`${item.taskName}已完成`); + if (item.taskType === 3) { + //逛会场任务 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + for (let task of item.shoppingActivityVos) { + if (task.status === 1) { + await jdfactory_collectScore(task.taskToken); + } + } + } else { + console.log(`${item.taskName}已做完`) + } } - } - if (item.taskType === 14) { - //好友助力 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - // await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); - } else { - console.log(`${item.taskName}已完成`); + if (item.taskType === 10) { + if (item.status === 1) { + if (item.threeMealInfoVos[0].status === 1) { + //可以做此任务 + console.log(`准备做此任务:${item.taskName}`); + await jdfactory_collectScore(item.threeMealInfoVos[0].taskToken); + } else if (item.threeMealInfoVos[0].status === 0) { + console.log(`${item.taskName} 任务已错过时间`) + } + } else if (item.status === 2){ + console.log(`${item.taskName}已完成`); + } } - } - if (item.taskType === 23) { - //从数码电器首页进入 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - await queryVkComponent(); - await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); - } else { - 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 jdfactory_collectScore(task.taskToken); + // } + // } + } else { + console.log(`${item.taskName}已做完`) + } + } + if (item.taskType === 13) { + //每日打卡 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); + } else { + console.log(`${item.taskName}已完成`); + } + } + if (item.taskType === 14) { + //好友助力 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + // await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); + } else { + console.log(`${item.taskName}已完成`); + } + } + if (item.taskType === 23) { + //从数码电器首页进入 + if (item.status === 1) { + console.log(`准备做此任务:${item.taskName}`); + await queryVkComponent(); + await jdfactory_collectScore(item.simpleRecordInfoVo.taskToken); + } else { + console.log(`${item.taskName}已完成`); + } } } } diff --git a/jd_unbind.js b/jd_unbind.js index 0e618a02..65e5377f 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -36,9 +36,9 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } -const jdNotify = $.getdata('jdUnsubscribeNotify');//是否关闭通知,false打开通知推送,true关闭通知推送 -let cardPageSize = $.getdata('jdUnsubscribePageSize') || 200;// 运行一次取消多少个会员卡。数字0表示不注销任何会员卡 -let stopCards = $.getdata('jdUnsubscribeStopCards') || ['京东PLUS会员'];//遇到此会员卡不再进行注销 +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]) { @@ -220,24 +220,23 @@ function TotalBean() { } function requireConfig() { return new Promise(resolve => { - if ($.isNode() && process.env.UN_BIND_CARD_NUM) { - $.UN_BIND_NUM = process.env.UN_BIND_CARD_NUM - } - if ($.isNode() && process.env.UN_BIND_STOP_CARD) { - if (process.env.UN_BIND_STOP_CARD.indexOf('&') > -1) { - $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('&'); - } else if (process.env.UN_BIND_STOP_CARD.indexOf('@') > -1) { - $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('@'); - } else if (process.env.UN_BIND_STOP_CARD.indexOf('\n') > -1) { - $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('\n'); - } else if (process.env.UN_BIND_STOP_CARD.indexOf('\\n') > -1) { - $.UN_BIND_STOP_CARD = process.env.UN_BIND_STOP_CARD.split('\\n'); + $.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 = process.env.UN_BIND_STOP_CARD.split(); + $.UN_BIND_STOP_CARD = $.UN_BIND_STOP_CARD.split(); } } - cardPageSize = $.UN_BIND_NUM || cardPageSize - stopCards = $.UN_BIND_STOP_CARD || stopCards + cardPageSize = $.UN_BIND_NUM; + stopCards = $.UN_BIND_STOP_CARD; resolve() }) } diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 842a61dd..dc9e0e5a 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -664,6 +664,44 @@ "https://raw.githubusercontent.com/Orz-3/task/master/jd.png" ] }, + { + "id": "jd_unbind", + "name": "注销京东会员卡", + "keys": [ + "UN_BIND_CARD_NUM", + "UN_BIND_STOP_CARD" + ], + "settings": [ + { + "id": "jdUnbindCardNotify", + "name": "静默运行", + "val": false, + "type": "boolean", + "desc": "运行脚本时不发出系统弹窗通知" + }, + { + "id": "UN_BIND_CARD_NUM", + "name": "注销京东店铺会员卡的数量", + "val": 200, + "type": "number", + "desc": "运行一次脚本注销多少个店铺会员卡(默认200个,输入0表示不注销会员卡)" + }, + { + "id": "UN_BIND_STOP_CARD", + "name": "注销京东店铺会员卡(白名单)", + "val": "", + "type": "text", + "desc": "不想注销的店铺会员卡名称" + } + ], + "author": "@lxk0301", + "repo": "https://github.com/lxk0301/jd_scripts", + "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js", + "icons": [ + "https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind_mini.png", + "https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png" + ] + }, { "id": "jd_SuperMarket", "name": "京小超", From d2c05b4d50e77507c5ca3ffc3478942e94f3780f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 26 Dec 2020 14:59:57 +0800 Subject: [PATCH 0559/1259] debug --- jd_crazy_joy.js | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index f85bb81d..38165fb3 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -16,10 +16,10 @@ crazyJoy任务 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 ===============Surge================= -crazyJoy任务 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js +crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js ============小火箭========= -crazyJoy任务 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, cronexpr="10 * * * *", timeout=200, enable=true +crazyJoy任务 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, cronexpr="10 7 * * *", timeout=200, enable=true */ @@ -36,7 +36,7 @@ const inviteCodes = [ 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE', 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE' ]; -const randomCount = 5; +const randomCount = $.isNode() ? 10 : 5; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -175,7 +175,8 @@ if ($.isNode()) { return; } await requireConfig(); - $.nextCode = "EdLPh8A6X5G1iWXu-uPYfA==" + $.nextCode = ["EdLPh8A6X5G1iWXu-uPYfA==", "nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s"]; + $.nextCode = $.nextCode[randomNumber(0, $.nextCode.length)]; $.selfCodes = [] for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { @@ -258,7 +259,7 @@ async function jdCrazyJoy() { $.bean = 0 await getUserInfo($.nextCode) await doSign() - // 帮助作者 + // 助力好友 await helpFriends() await doTasks() await getCoin() @@ -495,7 +496,13 @@ function helpFriend(code) { } else { if (safeGet(data)) { data = JSON.parse(data); - console.log(data.resultTips) + if (data['resultCode'] ==='0') { + console.log(`助力信息:${JSON.stringify(data)}`); + } else if (data['resultCode'] === '2000402') { + console.log(data.resultTips) + } else { + console.log(`助力异常:${JSON.stringify(data)}`); + } } } } catch (e) { @@ -719,5 +726,13 @@ function jsonParse(str) { } } } +/** + * 生成随机数字 + * @param {number} min 最小值(包含) + * @param {number} max 最大值(不包含) + */ +function randomNumber(min = 0, max = 100) { + return Math.min(Math.floor(min + Math.random() * (max - min)), max); +} // 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();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)} From 2f8e1507f18c9eb10e6ace6f84126a878c78fa88 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 26 Dec 2020 15:37:16 +0800 Subject: [PATCH 0560/1259] =?UTF-8?q?fix,=E4=BA=AC=E5=96=9C=E5=B7=A5?= =?UTF-8?q?=E5=8E=82=E6=B4=BB=E5=8A=A8=E5=BB=B6=E9=95=BF,=E6=88=AA?= =?UTF-8?q?=E6=AD=A2=E6=97=B6=E9=97=B4=E5=88=B02021-12-31=E6=97=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 5d33133e..e81aad66 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -31,7 +31,7 @@ const JD_API_HOST = 'https://m.jingxi.com'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; -const tuanActiveId = `6S9y4sJUfA2vPQP6TLdVIQ==`; +let tuanActiveId = `6S9y4sJUfA2vPQP6TLdVIQ==`; 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 = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; @@ -1018,17 +1018,19 @@ function CreateTuan() { }) } async function joinLeaderTuan() { - await updateTuanIds(); - if (!$.tuanIdS) await updateTuanIdsCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateFactoryTuanId.json'); - if (!$.tuanIdS) await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateFactoryTuanId.json'); - for (let tuanId of $.tuanIdS.tuanIds) { - if (!tuanId) continue - await JoinTuan(tuanId); + if ($.tuanIdS && $.tuanIdS.tuanIds) { + for (let tuanId of $.tuanIdS.tuanIds) { + if (!tuanId) continue + await JoinTuan(tuanId); + } } + $.tuanIdS = null; if (!$.tuanIdS) await updateTuanIdsCDN('https://gitee.com/shylocks/updateTeam/raw/main/jd_updateFactoryTuanId.json'); - for (let tuanId of $.tuanIdS.tuanIds) { - if (!tuanId) continue - await JoinTuan(tuanId); + if ($.tuanIdS && $.tuanIdS.tuanIds) { + for (let tuanId of $.tuanIdS.tuanIds) { + if (!tuanId) continue + await JoinTuan(tuanId); + } } } function JoinTuan(tuanId) { @@ -1338,8 +1340,15 @@ function shareCodesFormat() { }) } function requireConfig() { - return new Promise(resolve => { + return new Promise(async resolve => { + await updateTuanIdsCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateFactoryTuanId.json'); + if (!$.tuanIdS) await updateTuanIds(); + if (!$.tuanIdS) await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateFactoryTuanId.json'); + if ($.tuanIdS && $.tuanIdS.tuanActiveId) { + tuanActiveId = $.tuanIdS.tuanActiveId; + } console.log(`开始获取${$.name}配置文件\n`); + console.log(`tuanActiveId: ${tuanActiveId}`) //Node.js用户请在jdCookie.js处填写京东ck; const shareCodes = $.isNode() ? require('./jdDreamFactoryShareCodes.js') : ''; console.log(`共${cookiesArr.length}个京东账号\n`); From a3d3627f5c1a98319b52d1a40f3e2d50c196dcc1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 26 Dec 2020 16:24:52 +0800 Subject: [PATCH 0561/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E8=A7=A3=E9=94=81=E7=AD=89=E7=BA=A7=E5=A5=96?= =?UTF-8?q?=E5=8A=B1(=E4=BA=AC=E8=B1=86)=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy.js | 92 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 82 insertions(+), 10 deletions(-) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 38165fb3..87436dcf 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -185,6 +185,7 @@ if ($.isNode()) { $.index = i + 1; $.isLogin = true; $.nickName = ''; + $.GROWTH_REWARD_BEAN = 0;//解锁等级奖励的京豆 await TotalBean(); console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); if (!$.isLogin) { @@ -262,19 +263,23 @@ async function jdCrazyJoy() { // 助力好友 await helpFriends() await doTasks() + await getGrowthReward();//领取解锁的等级奖励 await getCoin() await getUserBean() - console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) if ( applyJdBean!==0 && applyJdBean<=$.bean){ await $.wait(1000) console.log(`检测您打开了自动兑换开关,去兑换京豆`) await doApplyJdBean(applyJdBean) } + await showMsg(); } async function doTasks() { await getTaskInfo() for (let j = 0; j < $.taskList.length; ++j) { - let task = $.taskList[j] + let task = $.taskList[j]; + if (task['taskTypeId'] === 102) { + message += `${task.taskTitle}:${task['doneTimes']}/${task.ext.count}\n`; + } if (task.status === 0 && task.taskTypeId === 103) for (let i = task.doneTimes; i < task.ext.count; ++i) { await doTask(task.taskId) @@ -295,10 +300,12 @@ function doApplyJdBean(bean = 1000) { } else { if (safeGet(data)) { data = JSON.parse(data); - if (data.success) + if (data.success) { console.log(`兑换${bean}京豆成功`) - else + message += `兑换京豆:${bean}京豆成功\n`; + } else { console.log(`兑换${bean}京豆失败,错误信息:${data.resultTips||data.message}`) + } } } } catch (e) { @@ -324,6 +331,7 @@ function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${data.data.userInviteCode}`) $.selfCodes.push(data.data.userInviteCode) $.nextCode = data.data.userInviteCode + message += `${data.data['nickName']}:${data.data['userTopLevelJoyId']}级JOY\n`; } else console.log(`用户信息获取失败`) @@ -360,7 +368,7 @@ function getTaskInfo() { if (safeGet(data)) { data = JSON.parse(data); if (data.success && data.data && data.data.length) { - $.taskList = data.data + $.taskList = data.data; } else { console.log(`任务信息获取失败`) } @@ -497,7 +505,7 @@ function helpFriend(code) { if (safeGet(data)) { data = JSON.parse(data); if (data['resultCode'] ==='0') { - console.log(`助力信息:${JSON.stringify(data)}`); + console.log(`助力结果:${JSON.stringify(data)}`); } else if (data['resultCode'] === '2000402') { console.log(data.resultTips) } else { @@ -549,8 +557,9 @@ function getCoin() { } else { if (safeGet(data)) { data = JSON.parse(data); - if (data.data && data.data.totalCoinAmount) - $.coin = data.data.totalCoinAmount + if (data.data && data.data.totalCoinAmount) { + $.coin = data.data.totalCoinAmount; + } } } } catch (e) { @@ -561,8 +570,71 @@ function getCoin() { }) }) } - - +//领取解锁等级奖励(京豆) +function getGrowthReward() { + return new Promise(async resolve => { + const body = { "paramData":{"eventType":"GROWTH_REWARD"} }; + $.get(taskUrl('crazyJoy_event_getGrowthAndSceneState', JSON.stringify(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['resultCode'] === '0') { + if (data.data) { + for (let item of data.data) { + if (item.status === 1) { + if (item.eventRecordId) await obtainAward(item.eventRecordId); + } + } + if ($.GROWTH_REWARD_BEAN > 0) { + message += `解锁等级奖励:获得${$.GROWTH_REWARD_BEAN}京豆\n`; + } + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function obtainAward(eventRecordId) { + return new Promise(async resolve => { + const body = {"eventType": "GROWTH_REWARD", eventRecordId}; + $.get(taskUrl('crazyJoy_event_obtainAward', JSON.stringify(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['resultCode'] === '0') { + $.GROWTH_REWARD_BEAN += data.data['beans']; + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +function showMsg() { + return new Promise(async resolve => { + message += `当前信息:${$.bean}京豆,${$.coin}金币` + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`) + resolve() + }) +} function taskUrl(functionId, body = '') { let t = Date.now().toString().substr(0, 10) let e = body || "" From 30c288ed88886a34d588cce82ebaf5c4ac17bdcc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 26 Dec 2020 17:00:33 +0800 Subject: [PATCH 0562/1259] Update jd_crazy_joy.js --- jd_crazy_joy.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 87436dcf..a87e8711 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -185,6 +185,7 @@ if ($.isNode()) { $.index = i + 1; $.isLogin = true; $.nickName = ''; + message = ''; $.GROWTH_REWARD_BEAN = 0;//解锁等级奖励的京豆 await TotalBean(); console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); From d6c74fd65e41e17a9d28fce205ce331025711680 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 26 Dec 2020 21:05:15 +0800 Subject: [PATCH 0563/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=EF=BC=8C=E4=BF=AE=E5=A4=8D0=E7=82=B9?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_live_redrain.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 96f147fd..4de7cad5 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -85,7 +85,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; if (!($.st <= nowTs && nowTs < $.ed)) { $.log(`远程红包雨配置获取错误,从本地读取配置`) $.log(`\n`) - let hour = new Date().getUTCHours() + 8 + let hour = (new Date().getUTCHours() + 8) %24 if (ids[hour]){ $.activityId = ids[hour] $.log(`本地红包雨配置获取成功`) @@ -103,7 +103,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; $.index = i + 1; $.isLogin = true; $.nickName = ''; - message = `【${new Date($.st).getHours()}点${$.name}】` + message = `【${new Date().getUTCHours()+8}点${$.name}】` await TotalBean(); console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); if (!$.isLogin) { @@ -185,6 +185,7 @@ function receiveRedRain() { message += `领取失败,已领过\n`; } else { console.log(`异常:${JSON.stringify(data)}`) + message += `暂无红包雨\n`; } } } From af2ca0ab7ace9ef24a72cb064019b94486fa99ea Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 27 Dec 2020 12:02:08 +0800 Subject: [PATCH 0564/1259] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E6=B1=BD=E8=BD=A6=E7=AD=BE=E5=88=B0=E6=97=B6=E9=97=B4=EF=BC=8C?= =?UTF-8?q?=E6=96=B9=E4=BE=BF=E5=85=91=E6=8D=A2=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更改京东汽车签到时间,方便兑换京豆 --- serverless.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/serverless.yml b/serverless.yml index 3a81ce08..98a0be61 100644 --- a/serverless.yml +++ b/serverless.yml @@ -19,15 +19,15 @@ inputs: - timer: # 签到 parameters: name: jd_bean_sign - cronExpression: "0 0 0,7 * * * *" - enable: true - argument: jd_bean_sign - - timer: # 京小超兑换奖品# 摇京豆 - parameters: - name: jd_blueCoin_jd_club_lottery cronExpression: "0 0 0 * * * *" enable: true - argument: jd_blueCoin&jd_club_lottery + argument: jd_bean_sign + - timer: #京小超兑换奖品 #摇京豆 #京东汽车 + parameters: + name: jd_blueCoin_jd_club_lottery_car + cronExpression: "0 0 0 * * * *" + enable: true + argument: jd_blueCoin&jd_club_lottery&jd_car - timer: # 东东农场# 东东萌宠 parameters: name: jd_fruit_jd_pet @@ -64,9 +64,9 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东汽车 #京东健康APP + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东健康APP parameters: - name: bean_change_crazy_joy_rankingList_bean_home_car_jdh + name: bean_change_crazy_joy_rankingList_bean_home_jdh cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_jdh From 517161229453ee6628acb0511869069d3028dc7f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 27 Dec 2020 12:26:33 +0800 Subject: [PATCH 0565/1259] Update jd_dreamFactory.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 京喜工作 调整未选择商品生产时的通知频率 --- jd_dreamFactory.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e81aad66..2333f2f8 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2020-12-07 +更新时间:2020-12-27 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -566,8 +566,8 @@ function userInfo() { } else if (data.factoryList && !data.productionList) { console.log(`【提示】京东账号${$.index}[${$.nickName}]京喜工厂未选购商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购\n`) let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); - if (nowTimes.getHours() % 6 === 0) { - //如按每小时运行一次,则此处将一天推送4次提醒 + if (nowTimes.getHours() % 12 === 0) { + //如按每小时运行一次,则此处将一天推送2次提醒 $.msg($.name, '提醒⏰', `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`); if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}[${$.nickName}]京喜工厂未选择商品\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 选择商品`) } From 459befbc753301ff02e049c23ac5b5887fe1e895 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 27 Dec 2020 12:34:11 +0800 Subject: [PATCH 0566/1259] Update JD_extra_cookie.js --- JD_extra_cookie.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index f1eed495..c0d71f5b 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -8,10 +8,9 @@ Github: https://github.com/dompling =================== 特别说明: 1.获取多个京东cookie文件,不和野比大佬的文件冲突。暂不支持野比大佬脚本签到。 -2.若是要使用京东多合一签到,请使用修改版地址:https://raw.githubusercontent.com/dompling/Script/master/jd/JD_extra.js =================== =================== -使用方式:复制 https://home.m.jd.com/myJd/newhome.action 到浏览器打开 ,在个人中心自动获取 cookie, +使用方式:在代理软件配置好下方配置后,复制 https://home.m.jd.com/myJd/newhome.action 到浏览器打开 ,在个人中心自动获取 cookie, 若弹出成功则正常使用。否则继续再此页面继续刷新一下试试 =================== From 7ebb66859ca161c0d63029241ba72dc1ed35aa15 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 27 Dec 2020 12:41:12 +0800 Subject: [PATCH 0567/1259] Update JD_extra_cookie.js --- JD_extra_cookie.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index c0d71f5b..504eda2d 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -7,7 +7,7 @@ Github: https://github.com/dompling =================== 特别说明: -1.获取多个京东cookie文件,不和野比大佬的文件冲突。暂不支持野比大佬脚本签到。 +1.获取多个京东cookie的脚本,不和NobyDa的京东cookie冲突。 =================== =================== 使用方式:在代理软件配置好下方配置后,复制 https://home.m.jd.com/myJd/newhome.action 到浏览器打开 ,在个人中心自动获取 cookie, From c22501834dbaf29b2e8575d6ecb55c2f4e1c3327 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 27 Dec 2020 12:48:35 +0800 Subject: [PATCH 0568/1259] Update README.md --- README.md | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/README.md b/README.md index fb8d8eee..46b8e821 100644 --- a/README.md +++ b/README.md @@ -105,26 +105,7 @@ ### 方法四:iOS系统的代理软件(QuantumultX, Surge, Loon, 小火箭) -#### 以下内容只针对iOS用户 - -#### ios使用多个京东账号,需要使用BoxJs保存多会话进行切换 - -##### BoxJs简单说明可看作者[BoxJs仓库地址](https://github.com/chavyleung/scripts/) - -使用box可以实现远程订阅助力好友(需订阅此 [链接](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/lxk0301.boxjs.json)) - -- [BoxJs使用教程](https://chavyleung.gitbook.io/boxjs/) - -- [BoxJs教程视频](https://youtu.be/eIpBrRxiy0w) - - -【用box订阅的好处】 - - 1、脚本也可以远程挂载。京东活动助力功能的分享码只需在box里面填写。以后只需远程更新就行。 - - 2、所有脚本的cookie都可以备份,方便你迁移到其他支持box的软件。 - - 3、box可以支持多账号 +#### [京东cookie获取脚本](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js) ### 赞赏码(开发维护不易,请赏杯茶水费)
From a572b154d199b72e42a915c85c047f0a5b014f5c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 27 Dec 2020 14:08:01 +0800 Subject: [PATCH 0569/1259] Update lxk0301_Task.sgmodule.sgmodule --- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 2be5a205..08b3479b 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -32,7 +32,7 @@ cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script #京小超 cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js,timeout=530, wake-system=1, tag=京小超 京小超兑换奖品 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,timeout=130, wake-system=1, tag=京小超兑换奖品 +cron "0,30 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,timeout=130, wake-system=1, tag=京小超兑换奖品 #取关京东店铺商品 cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js,timeout=250, wake-system=1, tag=取关京东店铺商品 #进店领豆 From bb4cf02837967823c456e39bc881d04522ee7ec0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 27 Dec 2020 14:08:37 +0800 Subject: [PATCH 0570/1259] Update lxk0301_LoonTask.conf --- Loon/lxk0301_LoonTask.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index b334fd30..8f236711 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -37,7 +37,7 @@ cron "3 */5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "11 1-23/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js,tag=京小超 # 京小超兑换奖品 -cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 +cron "0,30 0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 # 取关京东店铺商品 cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 @@ -122,4 +122,4 @@ cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_s # 健康抽奖机 cron "10 0 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 # 疯狂的joy日常任务 -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 \ No newline at end of file +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 From 65095b745647fb62ce7c7c197403c5a3abfd3c3e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 27 Dec 2020 14:09:37 +0800 Subject: [PATCH 0571/1259] Update lxk0301_gallery.json --- QuantumultX/lxk0301_gallery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 7bc2c286..162513d2 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -13,7 +13,7 @@ "15 */5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", "11 1-23/5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "0,30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", "55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", "15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", From 0375d79b97c5ee159cca60b37981f3c5a3032f56 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 27 Dec 2020 14:10:28 +0800 Subject: [PATCH 0572/1259] Update crontab_list.sh --- docker/crontab_list.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index c2510d14..046099de 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -19,9 +19,9 @@ ##############长期活动############## # 签到 -0 0,12,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 +0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 # 京小超兑换奖品 -0 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1 +0,30 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1 # 摇京豆 0 0 * * * node /scripts/jd_club_lottery.js >> /scripts/logs/jd_club_lottery.log 2>&1 # 东东农场 From ca3277de0c95ef178f1ac7399aac6a3bc51cfc1c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 28 Dec 2020 18:25:47 +0800 Subject: [PATCH 0573/1259] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 46b8e821..8783d737 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,8 @@ **TODO** - [ ] 所有活动互助码在一个脚本打印 +## [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) + ## 食用方法 ### 方法一:本地安装Node.js,下载本库脚本 From 1b4581aae94b664957852c53e2289679a9057cb1 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 28 Dec 2020 20:09:48 +0800 Subject: [PATCH 0574/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新云函数教程 --- iCloud.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/iCloud.md b/iCloud.md index 4066d16d..9eb86134 100644 --- a/iCloud.md +++ b/iCloud.md @@ -149,6 +149,60 @@ let CookieJDs = [ 目前repo中按照每个脚本一个定时器的方式设置到云函数中,大约需要触发器10多个,由于云函数触发器限制最多10个,需要对触发器进行整合,整合后触发器保持在10个以内,以下设置仅供参考
-![iCloud5](./icon/iCloud5.png) +| **JavaScript** | **脚本名称** | **活动时间** | **原Repository UTC时间** | **适用于云函数的北京时间** | **serverless.yml** | +| :----------------------: | :----------------------: | :----------: | :-----------------------: | :-------------------------: | :----------------: | +| `jd_bean_change` | 京豆变动通知 | 长期 | 0 2 * * * | 0 1 */1 * * | 30 7 * * * | +| `jd_bean_home` | 领京豆额外奖励 | 长期 | / | 0 1 */1 * * | 30 7 * * * | +| `jd_bean_sign` | 京豆签到 | 长期 | 0 16 * * * | 0 0 */1 * * | 0 0 * * * | +| `jd_blueCoin` | 京小超兑换奖品 | 长期 | 0 16 * * * | 0 1 */1 * * | 0 0 * * * | +| `jd_car` | 京东汽车 | 长期 | / | 0 0 */1 * * | 0 0 * * * | +| `jd_club_lottery` | 摇京豆 | 长期 | 0 16 * * * | 0 0 */1 * * | 0 0 * * * | +| `jd_crazy_joy` | 疯狂的joy | 长期 | / | / | 30 7 * * * | +| `jd_crazy_joy_coin` | 疯狂的joy挂机 | 长期 | / | / | / | +| `jd_daily_egg` | 京东金融-天天提额 | 长期 | 10 */3 * * * | 0-12/3 */3 * * * | 8 */3 * * * | +| `jd_dreamFactory` | 京喜工厂 | 长期 | / | */30 * * * * | 3 */1 * * * | +| `jd_ds` | 京东代属(校园用户) | 长期 | / | / | / | +| `jd_fruit` | 东东农场 | 长期 | 20 23,4,10 * * * | 0,5,10 8,9,12,18,23,0 * * * | 5 6-18/6 * * * | +| `jd_health` | 健康抽奖机 | 短期 | / | 0 0 */1 * * | 10 0 * * * | +| `jd_jdfactory` | 东东工厂 | 长期 | / | */30 * * * * | 3 */1 * * * | +| `jd_jdh` | 京东健康APP | 短期 | / | / | 30 7 * * * | +| `jd_jdzz` | 京东赚赚 | 长期 | / | / | 3 1 * * * | +| `jd_joy` | 宠汪汪 | 长期 | 0 0,1,4,10,15,16 * * * | 0,5,10 8,9,12,18,23,0 * * * | 3 */1 * * * | +| `jd_joy_feedPets` | 宠汪汪单独喂食 | 长期 | */20 */1 * * * | 0-12/3 */3 * * * | 3 */1 * * * | +| `jd_joy_help` | 宠汪汪强制为别人助力 | 长期 | / | / | / | +| `jd_joy_reward` | 宠汪汪兑换奖品 | 长期 | 0 0,4,8,16 * * * | 0 8,12,16,0 */1 * * | 0 0-16/8,20 * * * | +| `jd_joy_run` | 宠汪汪邀请助力与赛跑助力 | 长期 | / | / | / | +| `jd_joy_steal` | 宠汪汪偷好友狗粮与积分 | 长期 | 0 16,22 * * * | 0 0,6,20 */1 * * | 0 0-16/8,20 * * * | +| `jd_kd` | 京东快递 | 长期 | / | 0 1 */1 * * | 3 1 * * * | +| `jd_live` | 京东直播18豆 | 长期 | / | / | 0 0-16/8,20 * * * | +| `jd_live_redrain` | 超级直播间红包雨 | 短期 | / | 0 0,20,9-23/2 * * MON-FRI | / | +| `jd_lotteryMachine` | 京东抽奖机 | 长期 | 11 17 * * * | 0 0 */1 * * | 10 0 * * * | +| `jd_moneyTree` | 摇钱树 | 长期 | 40 */3 * * * | 0-12/3 */3 * * * | 3 */1 * * * | +| `jd_ms_redrain` | 秒杀红包雨 | 短期 | / | 0 1 */1 * * | 10 0 * * * | +| `jd_necklace` | 点点券 | 长期 | / | 0 0,6,20 */1 * * | 0 0-16/8,20 * * * | +| `jd_pet` | 东东萌宠 | 长期 | 35 23,4,10 * * * | 0,5,10 8,9,12,18,23,0 * * * | 5 6-18/6 * * * | +| `jd_petTreasureBox` | 宠汪汪聚宝盆 | 长期 | / | / | / | +| `jd_pigPet` | 京东金融-养猪猪 | 长期 | / | 0-12/3 */3 * * * | 3 1 * * * | +| `jd_plantBean` | 种豆得豆 | 长期 | 0 23,0-14/1 * * * | 0-12/3 */3 * * * | 3 */1 * * * | +| `jd_rankingList` | 京东排行榜 | 长期 | 11 18 * * * | 0 0 */1 * * | 30 7 * * * | +| `jd_redPacket` | 全民开红包 | 长期 | 0 17 * * * | 0 1 */1 * * | 10 0 * * * | +| `jd_shop` | 进店领豆 | 长期 | 0 16 * * * | 0 0 */1 * * | 10 0 * * * | +| `jd_small_home` | 东东小窝 | 长期 | / | 0 0,6,20 */1 * * | 10 0 * * * | +| `jd_speed` | 天天加速 | 长期 | 33 */3 * * * | 0-12/3 */3 * * * | 8 */3 * * * | +| `jd_superMarket` | 东东超市 | 长期 | 15 * * * * | */30 * * * * | 15 * * * * | +| `jd_syj` | 十元街 | 长期 | / | 0 1 */1 * * | 3 1 * * * | +| `jd_unbind` | 注销京东会员卡 | 长期 | / | / | 10 0 * * * | +| `jd_unsubscribe` | 取关京东店铺和商品 | 长期 | 45 15 * * * | 0 1 */1 * * | 10 0 * * * | +| `jd_watch` | 发现-看一看 | 长期 | / | / | 3 1 * * * | +| `jr_sign` | 金融打卡年终奖 | 短期 | / | / | 3 1 * * * | +| `jd_818` | 京东手机狂欢城 | 短期 | 0 1,4,7,10,12,16,22 * * * | 0 9,12,15,16,20,0,6 */1 * * | / | +| `jd_apple_live` | 苹果抽奖机 | 短期 | / | / | / | +| `jd_collectProduceScore` | 双十一活动领金币 | 短期 | 30 * * * * | */30 * * * * | / | +| `jd_digital_floor` | 数码加购京豆 | 短期 | / | / | / | +| `jd_jxstory` | 京喜故事 | 短期 | / | / | / | +| `jd_mohe` | 热8超级魔盒 | 短期 | / | / | / | +| `jd_pubg` | PUBG | 短期 | / | / | / | +| `jd_split` | 金榜年终奖 | 短期 | / | / | / | +| `jd_xtg` | 双十一星推官 | 短期 | 0 16 * * * | 0 0 */1 * * | / | 点击提交,所有流程就结束了。 From 70e4c7e6a649e5f76b16066f739fe77d22c18955 Mon Sep 17 00:00:00 2001 From: huang28 <52352624+Huang28@users.noreply.github.com> Date: Mon, 28 Dec 2020 22:59:44 +0800 Subject: [PATCH 0575/1259] Update sendNotify.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 企业微信应用消息的推送支持 --- sendNotify.js | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/sendNotify.js b/sendNotify.js index 6a205895..eadb860b 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -48,6 +48,11 @@ let DD_BOT_SECRET = ''; //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_KEY) let QYWX_KEY = ''; +// =======================================企业微信应用消息通知设置区域=========================================== +//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001 +//注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_AM) +let QYWX_AM = ''; + // =======================================iGot聚合推送通知设置区域=========================================== //此处填您iGot的信息(推送key,例如:https://push.hellyw.com/XXXXXXXX) //注:此处设置github action用户填写到Settings-Secrets里面(Name输入IGOT_PUSH_KEY) @@ -108,6 +113,10 @@ if (process.env.QYWX_KEY) { QYWX_KEY = process.env.QYWX_KEY; } +if (process.env.QYWX_AM) { + QYWX_AM = process.env.QYWX_AM; +} + if (process.env.IGOT_PUSH_KEY) { IGOT_PUSH_KEY = process.env.IGOT_PUSH_KEY } @@ -131,6 +140,7 @@ async function sendNotify(text, desp, params = {}) { await tgBotNotify(text, desp);//telegram 机器人 await ddBotNotify(text, desp);//钉钉机器人 await qywxBotNotify(text, desp); //企业微信机器人 + await qywxamNotify(text, desp); //企业微信应用消息推送 await iGotNotify(text, desp, params);//iGot await CoolPush(text, desp);//QQ酷推 } @@ -406,6 +416,68 @@ function qywxBotNotify(text, desp) { }); } +function qywxamNotify(text, desp) { + return new Promise(resolve => { + if (QYWX_AM) { + var QYWX_AM_AY = QYWX_AM.split(','); + const options_accesstoken = { + url: `https://qyapi.weixin.qq.com/cgi-bin/gettoken`, + json: { + corpid:`${QYWX_AM_AY[0]}`, + corpsecret:`${QYWX_AM_AY[1]}`, + }, + headers: { + 'Content-Type': 'application/json', + }, + }; + $.post(options_accesstoken, (err, resp, data) => { + var json = JSON.parse(data); + accesstoken = json.access_token; + const options = { + url: `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accesstoken}`, + json: { + touser:`${QYWX_AM_AY[2]}`, + agentid:`${QYWX_AM_AY[3]}`, + msgtype: 'textcard', + textcard: { + title: `${text}`, + description: `${desp}`, + url: '127.0.0.1', + btntxt: '更多' + }, + safe:'0', + }, + headers: { + 'Content-Type': 'application/json', + }, + }; + $.post(options, (err, resp, data) => { + try { + if (err) { + console.log('企业微信应用消息发送通知消息失败!!\n'); + console.log(err); + } else { + data = JSON.parse(data); + if (data.errcode === 0) { + console.log('企业微信应用消息发送通知消息完成。\n'); + } else { + console.log(`${data.errmsg}\n`); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }); + }); + } else { + console.log('您未提供企业微信应用消息推送所需的QYWX_AM,取消企业微信应用消息推送消息通知\n'); + resolve(); + } + }); +} + function iGotNotify(text, desp, params={}){ return new Promise(resolve => { if (IGOT_PUSH_KEY) { From 240271ab86a89dedb87e074e5bc0386eed34bbf7 Mon Sep 17 00:00:00 2001 From: sxx1314 <8444252+sxx1314@users.noreply.github.com> Date: Thu, 31 Dec 2020 07:45:24 +0800 Subject: [PATCH 0576/1259] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9=E4=B8=BA=E5=9B=BE=E6=96=87?= =?UTF-8?q?=E6=B6=88=E6=81=AF=EF=BC=88=E6=96=87=E7=AB=A0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 改成了图文消息模式,原本的卡片信息只能显示512字节,并且看不了详情。 - 图文消息,可以设置图片和文章,并且描述也一样是512字节限制。但是可以点进去看文章详情。 - thumb_media_id 需要自己上传企业微信素材库之后才可以查询,必须设置。https://work.weixin.qq.com/api/doc/90000/90135/90253 - 文章内容暂时用的 ${desp} ,测试用marked.js转换之后也不会换行,我也懒得自己写方法希望来个大神补上。 --- sendNotify.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sendNotify.js b/sendNotify.js index eadb860b..262e5e97 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -49,7 +49,7 @@ let DD_BOT_SECRET = ''; let QYWX_KEY = ''; // =======================================企业微信应用消息通知设置区域=========================================== -//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001 +//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,素材库图片id(见https://work.weixin.qq.com/api/doc/90000/90135/90253) 注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001,2COXgjH2UIfERF2zxrtUOKgQ9XklUqMdGSWLBoW_lSDAdafat //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_AM) let QYWX_AM = ''; @@ -438,12 +438,18 @@ function qywxamNotify(text, desp) { json: { touser:`${QYWX_AM_AY[2]}`, agentid:`${QYWX_AM_AY[3]}`, - msgtype: 'textcard', - textcard: { + msgtype: 'mpnews', + mpnews: { + articles: [ + { title: `${text}`, - description: `${desp}`, - url: '127.0.0.1', - btntxt: '更多' + thumb_media_id: `${QYWX_AM_AY[4]}`, + author : `智能助手` , + content_source_url: ``, + content : `${desp}`, //暂时直接设置成了desp + digest: `${desp}` + } + ] }, safe:'0', }, From c2da5ac479529269feca9755856ef93170eedad3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 31 Dec 2020 10:53:46 +0800 Subject: [PATCH 0577/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index 7a84357b..ef5932ef 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -112,11 +112,15 @@ const JD_API_HOST = 'https://api.m.jd.com/'; async function jdBeanHome() { $.doneState = false - for (let i = 0; i < 3; ++i) { + // for (let i = 0; i < 3; ++i) { + // await doTask2() + // await $.wait(1000) + // if ($.doneState) break + // } + do { await doTask2() await $.wait(1000) - if ($.doneState) break - } + } while (!$.doneState) await $.wait(1000) await award("feeds") await $.wait(1000) @@ -142,10 +146,14 @@ function doTask2() { } else { if (safeGet(data)) { data = JSON.parse(data); - if(data.code === '0' && data.data){ + if (data.code === '0' && data.data){ console.log(`任务完成进度:${data.data.taskProgress} / ${data.data.taskThreshold}`) - if(data.data.taskProgress===data.data.taskThreshold) + if(data.data.taskProgress === data.data.taskThreshold) $.doneState = true + } else if (data.code === '0' && data.errorCode === 'HT201') { + $.doneState = true + } else { + console.log(`做任务异常:${JSON.stringify(data)}`) } } } From 6023537258b656ab6a4bba94f5bdf2fe4785227b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 31 Dec 2020 12:35:59 +0800 Subject: [PATCH 0578/1259] fix --- jd_bean_home.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_bean_home.js b/jd_bean_home.js index ef5932ef..dc5c8858 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -153,6 +153,7 @@ function doTask2() { } else if (data.code === '0' && data.errorCode === 'HT201') { $.doneState = true } else { + $.doneState = true console.log(`做任务异常:${JSON.stringify(data)}`) } } From 8dbd0de4d8a0f330d4b073d352d611de7253a070 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 31 Dec 2020 14:43:32 +0800 Subject: [PATCH 0579/1259] =?UTF-8?q?=E5=A2=9E=E5=A4=A7=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index dc5c8858..666ad746 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -119,7 +119,7 @@ async function jdBeanHome() { // } do { await doTask2() - await $.wait(1000) + await $.wait(3000) } while (!$.doneState) await $.wait(1000) await award("feeds") @@ -153,6 +153,7 @@ function doTask2() { } else if (data.code === '0' && data.errorCode === 'HT201') { $.doneState = true } else { + //HT304风控用户 $.doneState = true console.log(`做任务异常:${JSON.stringify(data)}`) } From c48bf23b2802a32e67706eceb2f4d80f84ef9734 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 31 Dec 2020 16:43:32 +0800 Subject: [PATCH 0580/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E6=B1=BD=E8=BD=A6=E8=84=9A=E6=9C=AC=E7=9A=84=E6=89=A7=E8=A1=8C?= =?UTF-8?q?cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- QuantumultX/lxk0301_gallery.json | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- docker/crontab_list.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 8f236711..181904f8 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -97,7 +97,7 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到 # 京东汽车 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车 # 领京豆额外奖励 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 162513d2..a3709536 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -26,7 +26,7 @@ "0 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", "15 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "20 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", + "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 08b3479b..72656fc7 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -58,7 +58,7 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip #领京豆额外奖励 cron "30 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, timeout=750, wake-system=1, tag=领京豆额外奖励 #京东汽车 -cron "30 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 #京东快递签到 cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 046099de..dd5a341e 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -75,7 +75,7 @@ # 京东快递签到 23 1 * * * node /scripts/jd_kd.js >> /scripts/logs/jd_kd.log 2>&1 # 京东汽车(签到满500赛点可兑换500京豆) -33 2 * * * node /scripts/jd_car.js >> /scripts/logs/jd_car.log 2>&1 +0 0 * * * node /scripts/jd_car.js >> /scripts/logs/jd_car.log 2>&1 # 领京豆额外奖励(每日可获得3京豆) 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) From 6fdd0c20e22dee7142dc65689389ce9d58132959 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 31 Dec 2020 18:04:00 +0800 Subject: [PATCH 0581/1259] =?UTF-8?q?=E7=A7=8D=E8=B1=86=E5=BE=97=E8=B1=86?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=80=E4=B8=8B=E6=94=B6=E5=8F=96=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B=E8=90=A5=E5=85=BB=E6=B6=B2=E7=9A=84=E7=AD=96=E7=95=A5?= =?UTF-8?q?=EF=BC=8C=E5=9C=A820=E7=82=B9=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=EF=BC=8C=E5=8F=AA=E9=9C=80=E6=BB=A1=E8=B6=B3=E5=A5=BD=E5=8F=8B?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E9=87=8F=E8=BE=BE=E5=88=B02=E7=93=B6?= =?UTF-8?q?=E5=8D=B3=E5=8E=BB=E6=94=B6=E5=8F=96=EF=BC=8C=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=BB=A1=E8=B6=B33=E7=93=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_plantBean.js | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/jd_plantBean.js b/jd_plantBean.js index 9497a079..8fbe3d0f 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -1,6 +1,6 @@ /* 种豆得豆 脚本更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js -更新时间:2020-11-04 +更新时间:2020-12-31 已支持IOS京东双账号,云端N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 注:会自动关注任务中的店铺跟商品,介意者勿使用。 @@ -161,14 +161,27 @@ async function stealFriendWater() { return } if ($.stealFriendList.data && $.stealFriendList.data.friendInfoList && $.stealFriendList.data.friendInfoList.length > 0) { + let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); for (let item of $.stealFriendList.data.friendInfoList) { - if (item.nutrCount >= 3) { - // console.log(`可以偷的好友的信息::${JSON.stringify(item)}`); - console.log(`可以偷的好友的信息paradiseUuid::${JSON.stringify(item.paradiseUuid)}`); - await collectUserNutr(item.paradiseUuid); - console.log(`偷取好友营养液情况:${JSON.stringify($.stealFriendRes)}`) - if ($.stealFriendRes.code === '0') { - console.log(`偷取好友营养液成功`) + if (new Date(nowTimes).getHours() === 20) { + if (item.nutrCount >= 2) { + // console.log(`可以偷的好友的信息::${JSON.stringify(item)}`); + console.log(`可以偷的好友的信息paradiseUuid::${JSON.stringify(item.paradiseUuid)}`); + await collectUserNutr(item.paradiseUuid); + console.log(`偷取好友营养液情况:${JSON.stringify($.stealFriendRes)}`) + if ($.stealFriendRes.code === '0') { + console.log(`偷取好友营养液成功`) + } + } + } else { + if (item.nutrCount >= 3) { + // console.log(`可以偷的好友的信息::${JSON.stringify(item)}`); + console.log(`可以偷的好友的信息paradiseUuid::${JSON.stringify(item.paradiseUuid)}`); + await collectUserNutr(item.paradiseUuid); + console.log(`偷取好友营养液情况:${JSON.stringify($.stealFriendRes)}`) + if ($.stealFriendRes.code === '0') { + console.log(`偷取好友营养液成功`) + } } } } From 857aedb4a965ca6d1c88d565c3c7f8e9bba54c5c Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 1 Jan 2021 10:33:55 +0800 Subject: [PATCH 0582/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E8=BF=87=E6=9C=9F=E7=9A=84=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数去除过期的活动 --- serverless.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/serverless.yml b/serverless.yml index 98a0be61..1309762e 100644 --- a/serverless.yml +++ b/serverless.yml @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live - - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 #秒杀红包雨 #健康抽奖机 + - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 #健康抽奖机 parameters: - name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home_ms_redrain_health + name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home_health cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home&jd_ms_redrain&jd_health + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home&jd_health - timer: # 京东天天加速# 天天提鹅 parameters: name: jd_speed_jd_daily_egg @@ -64,18 +64,18 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东健康APP + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 parameters: - name: bean_change_crazy_joy_rankingList_bean_home_jdh + name: bean_change_crazy_joy_rankingList_bean_home cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_jdh - - timer: #金融养猪 #十元街 #京东快递 #发现-看一看 #京东赚赚 #金融打卡领年终奖 + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car + - timer: #金融养猪 #京东快递 #京东赚赚 parameters: - name: pigPet_syj_kd_watch_jdzz_jr_sign + name: pigPet_kd_jdzz cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_watch&jd_jdzz&jr_sign + argument: jd_pigPet&jd_kd&jd_jdzz environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From b940f348371fbc71635a52cd300520492e42d4c5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 15:10:21 +0800 Subject: [PATCH 0583/1259] Update crontab_list.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 清除过期活动 --- docker/crontab_list.sh | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index dd5a341e..186c1483 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -4,18 +4,6 @@ 50 23 */3 * * rm -rf /scripts/logs/*.log ##############短期活动############## -# 秒杀红包雨(2020.12.31活动过期) -40 8 1-31 12 * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 -# 健康抽奖机(2020.12.31活动过期) -10 0 1-31 12 * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 -# 直播红包雨(2020.12.31活动过期) -1 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 -# 京东金融打卡领年终奖(2020.12.31活动过期) -10 6 1-31 12 * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 -# 京东健康APP集汪汪卡瓜分百万红包(2021.1.6活动过期) -10 8 * * * node /scripts/jd_jdh.js >> /scripts/logs/jd_jdh.log 2>&1 -# crazyJoy自动每日任务 -10 7 * * * node /scripts/jd_crazy_joy.js >> /scripts/logs/jd_crazy_joy.log 2>&1 ##############长期活动############## # 签到 @@ -84,7 +72,7 @@ 10 11 * * * node /scripts/jd_jdzz.js >> /scripts/logs/jd_jdzz.log 2>&1 # 宠汪汪邀请助力 10 10,11 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1 -# 京东发现-看一看,看40个视频领80京豆(非常耗时) -13 11,14 * * * node /scripts/jd_watch.js >> /scripts/logs/jd_watch.log 2>&1 # 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销 44 4 * * 6 node /scripts/jd_unbind.js >> /scripts/logs/jd_unbind.log 2>&1 +# crazyJoy自动每日任务 +10 7 * * * node /scripts/jd_crazy_joy.js >> /scripts/logs/jd_crazy_joy.log 2>&1 From 31ea059a5cbd0662fba7a86ae44adfa17941fe23 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 15:57:39 +0800 Subject: [PATCH 0584/1259] =?UTF-8?q?=E5=81=A5=E5=BA=B7=E6=8A=BD=E5=A5=96?= =?UTF-8?q?=E6=9C=BA=E8=BF=98=E8=83=BD=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 186c1483..15540fe8 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -4,7 +4,8 @@ 50 23 */3 * * rm -rf /scripts/logs/*.log ##############短期活动############## - +# 健康抽奖机(2020.12.31活动过期) +10 0 1-31 12 * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 From bc05c74ec467ac51121156a0795720e84e9dec3a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 16:30:51 +0800 Subject: [PATCH 0585/1259] =?UTF-8?q?=E5=AF=B9=E4=BA=8E=E5=B7=B2=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E6=B4=BB=E5=8A=A8=E7=9A=84=E8=84=9A=E6=9C=AC,?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=9A=E7=9F=A5=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 10 +++++----- Surge/lxk0301_Task.sgmodule.sgmodule | 8 -------- docker/crontab_list.sh | 2 +- jd_ds.js | 11 +++++++++-- jd_ms_redrain.js | 10 ++++++++-- jd_watch.js | 18 ++++++++++++++---- jr_sign.js | 11 +++++++++-- 7 files changed, 46 insertions(+), 24 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 181904f8..63977d1f 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -91,7 +91,7 @@ http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\ http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token # 京东代属 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 +# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 # 京东快递 cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到 @@ -107,18 +107,18 @@ cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script # 京东赚赚 cron "10 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 # 京东秒杀红包雨 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 +# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 #注销京东店铺会员卡 cron "23 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡 # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 # 京东看一看 -cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看 +# cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看 #直播红包雨 -cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 +# cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 # 金融打卡领年终奖 -cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 +# cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 cron "10 0 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 # 疯狂的joy日常任务 diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 72656fc7..ac722056 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -53,8 +53,6 @@ cron "40 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, timeout=650, wake-system=1, tag=东东小窝 #十元街 cron "40 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, timeout=650, wake-system=1, tag=十元街 -#京东代属(仅京东学生认证用户可用) -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, timeout=650, wake-system=1, tag=京东代属 #领京豆额外奖励 cron "30 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, timeout=750, wake-system=1, tag=领京豆额外奖励 #京东汽车 @@ -74,12 +72,6 @@ cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri #疯狂的joy日常任务 cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 #以下为短期活动 -#金融打卡领年终奖 -cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 #健康抽奖机 cron "30 2 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 -#直播红包雨(2020-12-31活动结束) -cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, timeout=750, wake-system=1, tag=直播红包雨 -#秒杀红包雨(2020-12-31活动结束) -cron "20 9 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 15540fe8..29945110 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -60,7 +60,7 @@ # 十元街 36 8,18 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 # 京东代属(注:限校园用户可使用) -36 9 * * * node /scripts/jd_ds.js >> /scripts/logs/jd_ds.log 2>&1 +# 36 9 * * * node /scripts/jd_ds.js >> /scripts/logs/jd_ds.log 2>&1 # 京东快递签到 23 1 * * * node /scripts/jd_kd.js >> /scripts/logs/jd_kd.log 2>&1 # 京东汽车(签到满500赛点可兑换500京豆) diff --git a/jd_ds.js b/jd_ds.js index aa5bac6c..46381bf9 100644 --- a/jd_ds.js +++ b/jd_ds.js @@ -87,8 +87,15 @@ const JD_API_HOST = 'https://api.m.jd.com/'; }) function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } else { + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); + } resolve() }) } diff --git a/jd_ms_redrain.js b/jd_ms_redrain.js index c0e82585..c2ea858e 100644 --- a/jd_ms_redrain.js +++ b/jd_ms_redrain.js @@ -83,8 +83,14 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; }) function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } else { + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); + } resolve() }) } diff --git a/jd_watch.js b/jd_watch.js index 499a2fe2..f1f9f25a 100644 --- a/jd_watch.js +++ b/jd_watch.js @@ -188,6 +188,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; continue } await jdHealth() + await showMsg(); } } })() @@ -200,8 +201,8 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; async function jdHealth() { $.bean = 0 await getTaskList() - console.log(`${$.name}浏览次数:${$.task.times}/${$.task.maxTimes}`) if($.task) { + console.log(`${$.name}浏览次数:${$.task.times}/${$.task.maxTimes}`) let i = 0, j = $.task.times while(j < $.task.maxTimes) { if (!acceptBody[i]) break @@ -220,8 +221,15 @@ async function jdHealth() { } function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); + 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } else { + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); + } resolve() }) } @@ -237,7 +245,9 @@ function getTaskList() { } else { if (safeGet(data)) { data = JSON.parse(data); - $.task = data['data']['discTasks'][1] + if (data.busiCode === '0') { + $.task = data['data']['discTasks'][1] + } } } } catch (e) { diff --git a/jr_sign.js b/jr_sign.js index b7e6089a..40c9a018 100644 --- a/jr_sign.js +++ b/jr_sign.js @@ -78,8 +78,14 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; }) function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } else { + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + } resolve() }) } @@ -96,6 +102,7 @@ function sign() { if (safeGet(data)) { data = JSON.parse(data); console.log(data.resultData.message) + message += `${data.resultData.message}` } } } catch (e) { From 30eebc81e0fb7984870f01e056f9903a392fafd0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 16:59:35 +0800 Subject: [PATCH 0586/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8D=81=E5=85=83?= =?UTF-8?q?=E8=A1=97=E7=AD=BE=E5=88=B0=E5=BE=97=E4=BA=AC=E8=B1=86=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_syj.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/jd_syj.js b/jd_syj.js index cd6dabfa..ea75fc27 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-27 09:19:21 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-27 09:58:02 + * @Last Modified time: 2021-1-1 16:58:02 */ /* 十元街脚本,一周签到下来可获得30京豆,一天任意时刻运行一次即可 @@ -93,7 +93,7 @@ function showMsg() { let signFlag = 0; function userSignIn() { return new Promise(resolve => { - const body = {"activityId":"8d6845fe2e77425c82d5078d314d33c5","inviterId":"VMIQlLQqjQyjZokQmv5bIDgq011L0Ov8","channel":"MiniProgram"}; + const body = {"activityId":"ccd8067defcd4787871b7f0c96fcbf5c","inviterId":"","channel":"MiniProgram"}; $.get(taskUrl('userSignIn', body), async (err, resp, data) => { try { if (err) { @@ -122,6 +122,10 @@ function userSignIn() { signFlag ++; await userSignIn(); } + } else if (data.code === 66) { + //此处有时会遇到 服务器繁忙 导致签到失败,故重复三次签到 + $.log(`${$.name}签到失败:${data.msg}`); + message += `【签到】失败,${data.msg}`; } else { console.log(`异常:${JSON.stringify(data)}`) } From e453e1817107d9b036251d5ed204ef34b99f354d Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 1 Jan 2021 17:12:32 +0800 Subject: [PATCH 0587/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E6=B7=BB=E5=8A=A0=E6=9C=89=E6=95=88=E7=9A=84=E5=8D=81?= =?UTF-8?q?=E5=85=83=E8=A1=97=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数重新添加有效的十元街活动 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 1309762e..d78fe00b 100644 --- a/serverless.yml +++ b/serverless.yml @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car - - timer: #金融养猪 #京东快递 #京东赚赚 + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 parameters: - name: pigPet_kd_jdzz + name: pigPet_syj_kd_jdzz cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_kd&jd_jdzz + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 6611018a9b150300258def8745e831d2c4eb6b6e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 17:17:34 +0800 Subject: [PATCH 0588/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=20=20=E5=81=9A=E4=BB=BB=E5=8A=A1=E5=A2=9E=E5=8A=A0=E5=BB=B6?= =?UTF-8?q?=E8=BF=9F=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 5f16249c..b756da1d 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -355,7 +355,8 @@ async function doTask() { //领取做完任务的奖励 function jdfactory_collectScore(taskToken) { - return new Promise(resolve => { + return new Promise(async resolve => { + await $.wait(1000); $.post(taskPostUrl("jdfactory_collectScore", { taskToken }, "jdfactory_collectScore"), async (err, resp, data) => { try { if (err) { From aed24e3d597bf0f889f9c328561d5541c1d9e355 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 1 Jan 2021 17:20:43 +0800 Subject: [PATCH 0589/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移过期的活动脚本 --- jd_jdh.js => activity/jd_jdh.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_jdh.js => activity/jd_jdh.js (100%) diff --git a/jd_jdh.js b/activity/jd_jdh.js similarity index 100% rename from jd_jdh.js rename to activity/jd_jdh.js From 776f5d426b8902814c95fefe2d834360f76e6fb7 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 1 Jan 2021 17:21:33 +0800 Subject: [PATCH 0590/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移过期的活动脚本 --- jd_live_redrain.js => activity/jd_live_redrain.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_live_redrain.js => activity/jd_live_redrain.js (100%) diff --git a/jd_live_redrain.js b/activity/jd_live_redrain.js similarity index 100% rename from jd_live_redrain.js rename to activity/jd_live_redrain.js From 2b8e65e49f57eccf3e2e63dd0da089bb4a234743 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 1 Jan 2021 17:21:58 +0800 Subject: [PATCH 0591/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移过期的活动脚本 --- jd_ms_redrain.js => activity/jd_ms_redrain.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_ms_redrain.js => activity/jd_ms_redrain.js (100%) diff --git a/jd_ms_redrain.js b/activity/jd_ms_redrain.js similarity index 100% rename from jd_ms_redrain.js rename to activity/jd_ms_redrain.js From 3eb4785f7accbc8ec40da128a6c08829b95325b8 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 1 Jan 2021 17:22:22 +0800 Subject: [PATCH 0592/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移过期的活动脚本 --- jd_watch.js => activity/jd_watch.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_watch.js => activity/jd_watch.js (100%) diff --git a/jd_watch.js b/activity/jd_watch.js similarity index 100% rename from jd_watch.js rename to activity/jd_watch.js From a4c6f8ec4cba917b80bfcb5f45249735068d0727 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 1 Jan 2021 17:22:45 +0800 Subject: [PATCH 0593/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移过期的活动脚本 --- jr_sign.js => activity/jr_sign.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jr_sign.js => activity/jr_sign.js (100%) diff --git a/jr_sign.js b/activity/jr_sign.js similarity index 100% rename from jr_sign.js rename to activity/jr_sign.js From 4960678188337f7bcfff69190cc6a07bdb6c9d6f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 18:10:12 +0800 Subject: [PATCH 0594/1259] =?UTF-8?q?jd=5Fcrazy=5Fjoy=5Fcoin.js=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=87=AA=E5=AE=9A=E4=B9=89=E8=B4=AD=E4=B9=B0=E7=AD=89?= =?UTF-8?q?=E7=BA=A7=E5=8A=9F=E8=83=BD=EF=BC=8C=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E4=B8=BA=20BUY=5FJPY=5FLEVEL=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E8=AE=BE=E7=BD=AE=E7=9A=84=E8=B4=AD=E4=B9=B0=E7=AD=89?= =?UTF-8?q?=E7=BA=A7=E5=A4=A7=E4=BA=8E=E6=9C=80=E9=AB=98=E5=8F=AF=E8=B4=AD?= =?UTF-8?q?=E4=B9=B0=E7=AD=89=E7=BA=A7=EF=BC=8C=E5=88=99=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 4e4a5a3b..8bf51c43 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -204,6 +204,10 @@ async function jdJxStory() { await $.wait(1000) await getJoyShop() await $.wait(1000) + $.log('当前JOY分布情况') + $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) + $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) + $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) for (let i = 0; i < $.joyIds.length; ++i) { if (!$.canBuy) { $.log(`金币不足,跳过购买`) @@ -280,8 +284,14 @@ function getJoyShop() { data = JSON.parse(data); if (data.success && data.data && data.data.shop) { const shop = data.data.shop.filter(vo => vo.status === 1) || [] - $.buyJoyLevel = shop.length ? shop[shop.length - 1]['joyId'] : 1 - $.cost = shop.length ? shop[shop.length - 1]['coins'] : Infinity + $.buyJoyLevel = shop.length ? shop[shop.length - 1]['joyId'] : 1;//可购买的最大等级 + if ($.isNode() && process.env.BUY_JPY_LEVEL) { + $.log(`当前可购买的最高JOY等级为${$.buyJoyLevel}级\n`) + $.buyJoyLevel = (process.env.BUY_JPY_LEVEL * 1) > $.buyJoyLevel ? $.buyJoyLevel : process.env.BUY_JPY_LEVEL * 1; + $.cost = shop[$.buyJoyLevel - 1]['coins'] + } else { + $.cost = shop.length ? shop[shop.length - 1]['coins'] : Infinity + } } } } catch (e) { From f314a69af7b25452eb1b742c69562f60e71eb4f6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 18:11:12 +0800 Subject: [PATCH 0595/1259] fix --- jd_crazy_joy_coin.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 8bf51c43..669bf766 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -204,10 +204,12 @@ async function jdJxStory() { await $.wait(1000) await getJoyShop() await $.wait(1000) - $.log('当前JOY分布情况') - $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) - $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) - $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) + if ($.joyIds && $.joyIds.length > 0) { + $.log('当前JOY分布情况') + $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) + $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) + $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) + } for (let i = 0; i < $.joyIds.length; ++i) { if (!$.canBuy) { $.log(`金币不足,跳过购买`) From 1685687158cd4e4dfd3fff7d02c2ad8e06fb2155 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 18:46:08 +0800 Subject: [PATCH 0596/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=8E=E4=BA=AC=E4=B8=9C=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E6=97=B6=E9=97=B4=E4=B9=8B=E5=B7=AE=E7=9A=84=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_reward.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 6878e769..d12d1c44 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -60,6 +60,7 @@ const JD_API_HOST = 'https://jdjoy.jd.com'; } continue } + console.log(`本地时间与京东服务器时间差:${await get_diff_time()}`); await joyReward(); // $.msg($.name, '兑换脚本暂不能使用', `请停止使用,等待后期更新\n如果新版本兑换您有兑换机会,请抓包兑换\n再把抓包数据发送telegram用户@lxk0301`); } @@ -273,6 +274,35 @@ function TotalBean() { }) }) } +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(await getJDServerTime()) + let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; + return nowTime - await getJDServerTime(); +} function jsonParse(str) { if (typeof str == "string") { try { From 48a1a5ad85fd2aa4b978d85ee4665608b6f8cddd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 19:00:58 +0800 Subject: [PATCH 0597/1259] Update jd_joy_reward.js --- jd_joy_reward.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index d12d1c44..26bf0c0f 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -60,7 +60,7 @@ const JD_API_HOST = 'https://jdjoy.jd.com'; } continue } - console.log(`本地时间与京东服务器时间差:${await get_diff_time()}`); + console.log(`本地时间与京东服务器时间差(毫秒):${await get_diff_time()}`); await joyReward(); // $.msg($.name, '兑换脚本暂不能使用', `请停止使用,等待后期更新\n如果新版本兑换您有兑换机会,请抓包兑换\n再把抓包数据发送telegram用户@lxk0301`); } From 564e4a30f2cfc7ab78c329d07e363ac6dffd07e7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 1 Jan 2021 22:14:14 +0800 Subject: [PATCH 0598/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 2333f2f8..11687c97 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -34,7 +34,7 @@ const randomCount = $.isNode() ? 20 : 5; let tuanActiveId = `6S9y4sJUfA2vPQP6TLdVIQ==`; 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 = ''; -const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; +const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@0WtCMPNq7jekehT6d3AbFw==', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { From 0bfa49c86c36bbb26fc8f30e568bf1da0bdf52e7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 2 Jan 2021 10:41:57 +0800 Subject: [PATCH 0599/1259] Update lxk0301_Task.sgmodule.sgmodule --- Surge/lxk0301_Task.sgmodule.sgmodule | 2 -- 1 file changed, 2 deletions(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index ac722056..0419fcbe 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -61,8 +61,6 @@ cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 -#京东看一看 -cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, timeout=7750, wake-system=1, tag=京东看一看 #京东健康 cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, timeout=750, wake-system=1, tag=京东健康 #京东赚赚 From 61b73695399090587f7b4538fbcc95df84f235b2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 2 Jan 2021 10:46:09 +0800 Subject: [PATCH 0600/1259] Update lxk0301_Task.sgmodule.sgmodule --- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 0419fcbe..f359b012 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -71,5 +71,5 @@ cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 #以下为短期活动 #健康抽奖机 -cron "30 2 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 +cron "30 2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 From 5b6fbb1dd1909855b773d68bf467598d188309be Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 2 Jan 2021 21:42:52 +0800 Subject: [PATCH 0601/1259] add --- backUp/iOS_Weather_AQI_Standard.js | 138 +++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 backUp/iOS_Weather_AQI_Standard.js diff --git a/backUp/iOS_Weather_AQI_Standard.js b/backUp/iOS_Weather_AQI_Standard.js new file mode 100644 index 00000000..dfb22941 --- /dev/null +++ b/backUp/iOS_Weather_AQI_Standard.js @@ -0,0 +1,138 @@ +// 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){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)} \ No newline at end of file From 7d035a4661894ce0cd744d56cd24f4490c638cb8 Mon Sep 17 00:00:00 2001 From: Akira Date: Sat, 2 Jan 2021 23:27:27 +0800 Subject: [PATCH 0602/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89shell=E8=84=9A=E6=9C=AC=E8=87=AA=E5=8A=A8mod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Readme.md | 26 ++++++++++++++++++++------ docker/default_task.sh | 23 ++++++++++++++++++++++- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/docker/Readme.md b/docker/Readme.md index beb03302..922a84a7 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -1,4 +1,24 @@ ### Usage +```diff ++ 2021-01-03更新 增加 CUSTOM_SHELL_FILE 参数配置执行自定义shell脚本 ++ 例1:配置远程shell脚本, 我自己写了一个shell脚本https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh 内容很简单下载惊喜农场并添加定时任务 ++ CUSTOM_SHELL_FILE=https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh ++ ++ 例2:配置docker挂载本地自定义shell脚本,/scripts/docker/shell_script_mod.sh 为你在docker-compose.yml里面挂载到容器里面绝对路径 ++ CUSTOM_SHELL_FILE=/scripts/docker/shell_script_mod.sh ++ ++ tip:如果使用远程自定义,请保证网络畅通或者选择合适的国内仓库,例如有部分人的容器里面就下载不到github的raw文件,那就可以把自己的自定义shell写在gitee上,或者换本地挂载 ++ 如果是 docker 挂载本地,请保重文件挂载进去了,并且配置的是绝对路径。 ++ 自定义 shell 脚本里面如果要加 crontab 任务请使用 echo 追加到 /scripts/docker/merged_list_file.sh 里面否者不生效 ++ 注⚠️ 建议无shell能力的不要轻易使用,当然你可以找别人写好适配了这个docker镜像的脚本直接远程配置 ++ 上面写了这么多如果还看不懂,不建议使用该变量功能。 +_____ +! ⚠️⚠️⚠️2020-12-11更新镜像启动方式,虽然兼容旧版的运行启动方式,但是强烈建议更新镜像和配置后使用 +! 更新后`command:`指令配置不再需要 +! 更新后可以使用自定义任务文件追加在默任务文件之后,比以前的完全覆盖多一个选择 +! - 新的自定两个环境变量为 `CUSTOM_LIST_MERGE_TYPE`:自定文件的生效方式可选值为`append`,`overwrite`默认为`append` ; `CUSTOM_LIST_FILE`: 自定义文件的名字 +! 更新镜像增减镜像更新通知,以后镜像如果更新之后,会通知用户更新 +``` > 推荐使用`docker-compose`所以这里只介绍`docker-compose`使用方式 - `docker-compose` 安装(群晖nas docker自带安装了docker-compose) @@ -21,12 +41,6 @@ pip install docker-compose ### 如果需要使用 docker 多个账户独立并发执行定时任务,[参考这里](https://github.com/iouAkira/scripts/blob/patch-1/docker/docker%E5%A4%9A%E8%B4%A6%E6%88%B7%E4%BD%BF%E7%94%A8%E7%8B%AC%E7%AB%8B%E5%AE%B9%E5%99%A8%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md#%E4%BD%BF%E7%94%A8%E6%AD%A4%E6%96%B9%E5%BC%8F%E8%AF%B7%E5%85%88%E7%90%86%E8%A7%A3%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8docker%E5%8A%9E%E6%B3%95%E4%B8%80%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) -⚠️⚠️⚠️2020-12-11更新镜像启动方式,虽然兼容旧版的运行启动方式,但是强烈建议更新镜像和配置后使用 -- 更新后`command:`指令配置不再需要 -- 更新后可以使用自定义任务文件追加在默任务文件之后,比以前的完全覆盖多一个选择 -- - 新的自定两个环境变量为 `CUSTOM_LIST_MERGE_TYPE`:自定文件的生效方式可选值为`append`,`overwrite`默认为`append` ; `CUSTOM_LIST_FILE`: 自定义文件的名字 -- 更新镜像增减镜像更新通知,以后镜像如果更新之后,会通知用户更新 - > 注⚠️:前提先理解学会使用这下面的教程 ### 创建一个目录`jd_scripts`用于存放备份配置等数据,迁移重装的时候只需要备份整个jd_scripts目录即可 需要新建的目录文件结构参考如下: diff --git a/docker/default_task.sh b/docker/default_task.sh index caf4f6d1..26da7f0f 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -107,7 +107,7 @@ if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi -if [ $RANDOM_DELAY_MAX ];then +if [ $RANDOM_DELAY_MAX ]; then if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile @@ -116,6 +116,27 @@ else echo "未配置随即延迟对应的环境变量,故不设置延迟任务" fi +##增加自定义shell脚本 +if [ 0"$CUSTOM_SHELL_FILE" = "0" ]; then + echo "未配置自定shell脚本文件,跳过执行。" +else + if expr "$CUSTOM_SHELL_FILE" : 'http.*' &>/dev/null; then + echo "自定义shell脚本为远程脚本,开始下在自定义远程脚本。" + wget -O /scripts/docker/shell_script_mod.sh $CUSTOM_SHELL_FILE + echo "下载完成,开始执行..." + sh -x /scripts/docker/shell_script_mod.sh + echo "自定义远程shell脚本下载并执行结束。" + else + if [ !$CUSTOM_SHELL_FILE ]; then + echo "自定义shell脚本为docker挂载脚本文件,但是指定挂载文件不存在,跳过执行。" + else + echo "docker挂载的自定shell脚本,开始执行..." + sh -x $CUSTOM_SHELL_FILE + echo "docker挂载的自定shell脚本,执行结束。" + fi + fi +fi + echo "加载最新的定时任务文件..." crontab $mergedListFile From 71eda6afc47c03caf1785b610616bb31285e0b10 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 4 Jan 2021 12:22:11 +0800 Subject: [PATCH 0603/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E5=B0=8F=E7=AA=9D=E5=9B=A0=E8=A3=85=E9=A5=B0=E9=A2=86=E4=BA=AC?= =?UTF-8?q?=E8=B1=86=E5=8A=9F=E8=83=BD=E4=B8=8B=E7=BA=BF=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- docker/crontab_list.sh | 2 +- jd_small_home.js | 40 ++++++++++++++++++++------------------ 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 63977d1f..13ff0c41 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -120,6 +120,6 @@ cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd # 金融打卡领年终奖 # cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 -cron "10 0 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 +cron "10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 # 疯狂的joy日常任务 cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 29945110..4dbf59b8 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -5,7 +5,7 @@ ##############短期活动############## # 健康抽奖机(2020.12.31活动过期) -10 0 1-31 12 * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 +10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 diff --git a/jd_small_home.js b/jd_small_home.js index 096519e6..46a21a0b 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-12 11:42:12 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-23 14:27:20 + * @Last Modified time: 2021-1-4 14:27:20 */ /* 东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js @@ -274,25 +274,27 @@ function queryFurnituresCenterList() { if (safeGet(data)) { data = JSON.parse(data); if (data.head.code === 200) { - 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`; + 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 + // } + // } } - // for (let canBuyItem of $.canBuyList) { - // if (canBuyItem.needWoB <= $.woB) { - // await furnituresCenterPurchase(canBuyItem.id, canBuyItem.jdBeanNum); - // break - // } - // } } } } From c693e2c98d040a1c248f77c422948da0c0e574c5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 4 Jan 2021 12:35:46 +0800 Subject: [PATCH 0604/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A4=E6=96=AD=EF=BC=8C=E5=87=8F=E5=B0=91?= =?UTF-8?q?=E9=83=A8=E5=88=86=E7=94=A8=E6=88=B7=E8=8E=B7=E5=8F=96=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=85=A8=E5=AF=BC=E8=87=B4=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_apple_live.js | 2 +- activity/jd_jxstory.js | 2 +- activity/jd_pubg.js | 2 +- jd_crazy_joy.js | 2 +- jd_dreamFactory.js | 2 +- jd_fruit.js | 2 +- jd_health.js | 2 +- jd_jdfactory.js | 40 +++++++++++++++++++++------------------ jd_jdzz.js | 2 +- jd_pet.js | 2 +- jd_plantBean.js | 2 +- 11 files changed, 32 insertions(+), 28 deletions(-) diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js index 26022817..e2d04104 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -283,7 +283,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js index cd46e3ed..45c79941 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -498,7 +498,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index bed15df4..cc22b60c 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -330,7 +330,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index a87e8711..f1d1f5d9 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -666,7 +666,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 11687c97..713a46f9 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1305,7 +1305,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_fruit.js b/jd_fruit.js index 03185eb1..2cb8ec94 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1239,7 +1239,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取个${randomCount}码放到您固定的互助码后面`) + console.log(`随机取个${randomCount}码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_health.js b/jd_health.js index ee4ffe9b..b05005d0 100644 --- a/jd_health.js +++ b/jd_health.js @@ -265,7 +265,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_jdfactory.js b/jd_jdfactory.js index b756da1d..546b7109 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -108,8 +108,8 @@ function showMsg() { } else { $.log(`京东账号${$.index}${$.nickName}\n${message}`); } - if (new Date().getHours() === 23) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); + if (new Date().getHours() === 12) { + $.msg($.name, '', `${message}`); } resolve() }) @@ -181,6 +181,7 @@ async function algorithm() { } } else { console.log(`\n此账号${$.index}${$.nickName}暂未选择商品\n`); + message += `京东账号${$.index} ${$.nickName}\n`; message += `已选商品:暂无\n`; message += `心仪商品:${wantProduct ? wantProduct : '暂无'}\n`; if (wantProduct) { @@ -216,17 +217,17 @@ async function algorithm() { } else { console.log(`BoxJs或环境变量暂未提供心仪商品\n如需兑换心仪商品,请提供心仪商品名称\n`); await jdfactory_getProductList(true); - message += `当前剩余最多商品:${$.canMakeList[0].name}\n`; - message += `兑换所需电量:${$.canMakeList[0].fullScore}\n`; + message += `当前剩余最多商品:${$.canMakeList[0] && $.canMakeList[0].name}\n`; + message += `兑换所需电量:${$.canMakeList[0] && $.canMakeList[0].fullScore}\n`; message += `您当前总电量:${$.batteryValue * 1}\n`; - if ($.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0].fullScore) { + if ($.canMakeList[0] && $.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0] && $.canMakeList[0].fullScore) { let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); if (new Date(nowTimes).getHours() === 12) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0] && $.canMakeList[0] && [0].name}所需总电量:${$.canMakeList[0] && $.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0] && $.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); } } else { - console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0].name}所需的 ${$.canMakeList[0].fullScore}电量\n`) + console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0] && $.canMakeList[0].name}所需的 ${$.canMakeList[0] && $.canMakeList[0].fullScore}电量\n`) } } } @@ -535,17 +536,20 @@ function jdfactory_getProductList(flag = false) { if (safeGet(data)) { data = JSON.parse(data); if (data.data.bizCode === 0) { + $.canMakeList = []; $.canMakeList = data.data.result.canMakeList;//当前可选商品列表 sellOut:1为已抢光,0为目前可选择 - $.canMakeList.sort(sortCouponCount); - console.log(`商品名称 可选状态 剩余量`) - for (let item of $.canMakeList) { - console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可 选'} ${item.couponCount}`); - } - if (!flag) { + if ($.canMakeList && $.canMakeList.length > 0) { + $.canMakeList.sort(sortCouponCount); + console.log(`商品名称 可选状态 剩余量`) for (let item of $.canMakeList) { - if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { - await jdfactory_makeProduct(item.skuId); - break + console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可 选'} ${item.couponCount}`); + } + if (!flag) { + for (let item of $.canMakeList) { + if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { + await jdfactory_makeProduct(item.skuId); + break + } } } } @@ -624,7 +628,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_jdzz.js b/jd_jdzz.js index f5da3632..5ea61aa2 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -343,7 +343,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_pet.js b/jd_pet.js index 9b19c20f..cde3fd7f 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -442,7 +442,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取个${randomCount}码放到您固定的互助码后面`) + console.log(`随机取个${randomCount}码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_plantBean.js b/jd_plantBean.js index 8fbe3d0f..c573903e 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -521,7 +521,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取个${randomCount}码放到您固定的互助码后面`) + console.log(`随机取个${randomCount}码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } From 608db241102356f0e11d73b2b7c2040e1f99e5be Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 4 Jan 2021 13:03:49 +0800 Subject: [PATCH 0605/1259] update --- jd_bean_sign.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index accf5990..c54178c5 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -1,7 +1,7 @@ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 -更新时间:2020-12-21 +更新时间:2021-1-4 从 github @ruicky改写而来 version v0.0.1 create by ruicky @@ -17,6 +17,7 @@ const download = require('download'); let resultPath = "./result.txt"; let JD_DailyBonusPath = "./JD_DailyBonus.js"; let outPutUrl = './'; +let NodeSet = 'CookieSet.json'; let cookiesArr = [], cookie = ''; if ($.isNode()) { @@ -130,6 +131,7 @@ async function downFile () { async function changeFile (content) { console.log(`开始替换变量`) let newContent = content.replace(/var Key = ''/, `var Key = '${cookie}'`); + newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = ${NodeSet}`) if (process.env.JD_BEAN_STOP && process.env.JD_BEAN_STOP !== '0') { newContent = newContent.replace(/var stop = 0/, `var stop = ${process.env.JD_BEAN_STOP * 1}`); } @@ -219,6 +221,7 @@ function requireConfig() { resultPath = err ? '/tmp/result.txt' : resultPath; JD_DailyBonusPath = err ? '/tmp/JD_DailyBonus.js' : JD_DailyBonusPath; outPutUrl = err ? '/tmp/' : outPutUrl; + NodeSet = err ? '/tmp/CookieSet.json' : NodeSet; resolve() }); }) From ebfdf163a9bd2d4d4dcb0b849d3ff5999de718ac Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 4 Jan 2021 13:08:29 +0800 Subject: [PATCH 0606/1259] fix --- jd_bean_sign.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index c54178c5..fb3fee0e 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -131,7 +131,7 @@ async function downFile () { async function changeFile (content) { console.log(`开始替换变量`) let newContent = content.replace(/var Key = ''/, `var Key = '${cookie}'`); - newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = ${NodeSet}`) + newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = '${NodeSet}'`) if (process.env.JD_BEAN_STOP && process.env.JD_BEAN_STOP !== '0') { newContent = newContent.replace(/var stop = 0/, `var stop = ${process.env.JD_BEAN_STOP * 1}`); } From 9436c180c6e13248a0ef95667d0e4234dab80d71 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 4 Jan 2021 13:47:35 +0800 Subject: [PATCH 0607/1259] debug --- jd_joy_reward.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 26bf0c0f..560be572 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -299,7 +299,9 @@ function getJDServerTime() { }) } async function get_diff_time() { - // console.log(await getJDServerTime()) + console.log(`本机时间戳 ${Date.now()}`) + console.log(`京东服务器时间戳 ${await getJDServerTime()}`) + console.log(Date.now() - await getJDServerTime()) let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; return nowTime - await getJDServerTime(); } From d98cfaa06a13dfe024e23befc0c236293ade4bb3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 4 Jan 2021 13:51:16 +0800 Subject: [PATCH 0608/1259] debug --- jd_joy_reward.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 560be572..2eaf482d 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -299,11 +299,9 @@ function getJDServerTime() { }) } async function get_diff_time() { - console.log(`本机时间戳 ${Date.now()}`) - console.log(`京东服务器时间戳 ${await getJDServerTime()}`) - console.log(Date.now() - await getJDServerTime()) - let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - return nowTime - await getJDServerTime(); + // console.log(`本机时间戳 ${Date.now()}`) + // console.log(`京东服务器时间戳 ${await getJDServerTime()}`) + return Date.now() - await getJDServerTime(); } function jsonParse(str) { if (typeof str == "string") { From 0245263814f71a6af3c2c90b76357cd16742ef42 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 4 Jan 2021 17:14:58 +0800 Subject: [PATCH 0609/1259] update --- jdCookie.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/jdCookie.js b/jdCookie.js index 4eb2bb76..8f30c693 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -15,17 +15,12 @@ if (process.env.JD_COOKIE) { } else if (process.env.JD_COOKIE.indexOf('\n') > -1) { console.log(`您的cookie选择的是用换行隔开\n`) CookieJDs = process.env.JD_COOKIE.split('\n'); - } else if (process.env.JD_COOKIE.indexOf('\\n') > -1) { - //环境变量兼容腾讯云和docker下\n会被转义成\\n - console.log(`您的cookie选择的是用换行隔开\\n`) - CookieJDs = process.env.JD_COOKIE.split('\\n'); } else { CookieJDs = [process.env.JD_COOKIE]; } CookieJDs = [...new Set(CookieJDs)] 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`) - // console.log(`\n==================脚本执行来自 github action=====================\n`) } for (let i = 0; i < CookieJDs.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); From 5a654ecbe17d44497fafba71fe79a40cc83e0f81 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 4 Jan 2021 17:22:19 +0800 Subject: [PATCH 0610/1259] update jdCookie.js --- jdCookie.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jdCookie.js b/jdCookie.js index 8f30c693..f24b3983 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -18,10 +18,10 @@ if (process.env.JD_COOKIE) { } else { CookieJDs = [process.env.JD_COOKIE]; } - CookieJDs = [...new Set(CookieJDs)] - 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`) } +CookieJDs = [...new Set(CookieJDs.filter(item => item !== "" && item !== null && item !== undefined))] +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`) for (let i = 0; i < CookieJDs.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); exports['CookieJD' + index] = CookieJDs[i]; From b1fed8b8e48e61e90097258a37b14c36ede7f996 Mon Sep 17 00:00:00 2001 From: sxx1314 <8444252+sxx1314@users.noreply.github.com> Date: Tue, 5 Jan 2021 00:53:50 +0800 Subject: [PATCH 0611/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=20=E5=BA=94=E7=94=A8=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E4=B8=AD=E7=9A=84=E6=8D=A2=E8=A1=8C=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复企业微信 应用消息图文消息推送中换行缺失的问题 - 简单的替换了换行符,以后可以按照需求增加css等样式。 - 更换了图片id的issues说明链接 --- sendNotify.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sendNotify.js b/sendNotify.js index 262e5e97..e32a197b 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -49,7 +49,7 @@ let DD_BOT_SECRET = ''; let QYWX_KEY = ''; // =======================================企业微信应用消息通知设置区域=========================================== -//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,素材库图片id(见https://work.weixin.qq.com/api/doc/90000/90135/90253) 注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001,2COXgjH2UIfERF2zxrtUOKgQ9XklUqMdGSWLBoW_lSDAdafat +//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,素材库图片id(见https://github.com/lxk0301/jd_scripts/issues/519) 注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001,2COXgjH2UIfERF2zxrtUOKgQ9XklUqMdGSWLBoW_lSDAdafat //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_AM) let QYWX_AM = ''; @@ -430,7 +430,8 @@ function qywxamNotify(text, desp) { 'Content-Type': 'application/json', }, }; - $.post(options_accesstoken, (err, resp, data) => { + $.post(options_accesstoken, (err, resp, data) => { + html=desp.replace(/\n/g,"
") var json = JSON.parse(data); accesstoken = json.access_token; const options = { @@ -446,7 +447,7 @@ function qywxamNotify(text, desp) { thumb_media_id: `${QYWX_AM_AY[4]}`, author : `智能助手` , content_source_url: ``, - content : `${desp}`, //暂时直接设置成了desp + content : `${html}`, digest: `${desp}` } ] From 84b20446ff993f2c139ed16f07d3ac4b83245fe5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 09:20:26 +0800 Subject: [PATCH 0612/1259] update jdCookie.js --- jdCookie.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdCookie.js b/jdCookie.js index f24b3983..0dcadb23 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -24,5 +24,5 @@ console.log(`\n====================共有${CookieJDs.length}个京东账号Cooki console.log(`==================脚本执行- 北京时间(UTC+8):${new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString()}=====================\n`) for (let i = 0; i < CookieJDs.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); - exports['CookieJD' + index] = CookieJDs[i]; + exports['CookieJD' + index] = CookieJDs[i].trim(); } From 5d901f13aea09bf27b02fe38f19ad479b44a90aa Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 09:39:24 +0800 Subject: [PATCH 0613/1259] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=EF=BC=8C=E8=BF=81=E7=A7=BBtencentscf.md?= =?UTF-8?q?=E5=88=B0=E5=88=AB=E7=9A=84=E6=96=87=E4=BB=B6=E5=A4=B9=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- jd_ds.js => activity/jd_ds.js | 0 backUp/tencentscf.md | 128 ++++++++++++++++++++++++++++++++++ jd_fruit.js | 40 ++++++----- 4 files changed, 152 insertions(+), 20 deletions(-) rename jd_ds.js => activity/jd_ds.js (100%) create mode 100644 backUp/tencentscf.md diff --git a/README.md b/README.md index 8783d737..005764d5 100644 --- a/README.md +++ b/README.md @@ -85,9 +85,9 @@ ### 方法二:云服务器、腾讯云函数等等 - 需自行有云服务器,云函数等 - - 腾讯云云函数 [快速部署教程](tencentscf.md)(免费) + - 腾讯云云函数 [快速部署教程](../tencentscf.md)(免费) - 腾讯云云函数控制台使用 [教程说明](iCloud.md) - - 腾讯云云函数 [GitHub Action部署教程](tencentscf.md#github-action-部署) + - 腾讯云云函数 [GitHub Action部署教程](../tencentscf.md#github-action-部署) ### 方法三:Docker(NAS或VPS用户) diff --git a/jd_ds.js b/activity/jd_ds.js similarity index 100% rename from jd_ds.js rename to activity/jd_ds.js diff --git a/backUp/tencentscf.md b/backUp/tencentscf.md new file mode 100644 index 00000000..30c04ca2 --- /dev/null +++ b/backUp/tencentscf.md @@ -0,0 +1,128 @@ + +# 云函数快速部署京东脚本 +> +> - 本地安装依赖使用serverless部署,[点这里](tencentscf.md#1-安装-nodejs-环境) +> - Github Action 部署[点这里](tencentscf.md#github-action-部署) + +## 1. 安装 Node.js 环境 + +Node.js 环境 [下载地址](https://nodejs.org/zh-tw/download/) ,根据自己的操作系统下载和安装。 + +## 2. 下载代码 + +点击红框处下载压缩包 +![下载代码](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/1605497672397-zip.png) + +## 3. 安装依赖,配置 cookie + +### 3.1 安装依赖 + +压缩包解压后进入项目文件夹 + +- Windows 用户按住 **shift** 点击右键,点击 **在此处打开命令窗口** +- Mac 用户通过终端,自行进入该文件夹 + +在命令行内输入 `npm i `,等待运行完成。 + +此时,项目文件夹内会多出一个 `node_modules`文件夹 + +### 3.2 配置 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' +] +``` + +> 注:获取京东 cookie 教程参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) + + +## 4. 部署到云函数 + +### 4.1 开通服务 + +依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole** + +> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。 + +### 4.2 工具部署 + +下载 Serverless 工具,快速部署函数 +``` +npm install -g serverless +``` + +执行部署命令 +``` +serverless deploy +``` + +如果已经配置了永久秘钥,则可以直接部署,如果没有,可以直接**微信扫码**登录腾讯云,并且授权部署。 + +过几秒后,查看输出,可以看到函数和定时触发器都已经配置完成。 +``` +serverless ⚡framework +Action: "deploy" - Stage: "dev" - App: "jdscript" - Instance: "jdscript" + +functionName: scf-jdscript +description: This is a function in jdscript application. +namespace: default +runtime: Nodejs12.16 +handler: index.main_handler +memorySize: 64 +lastVersion: $LATEST +traffic: 1 +triggers: + timer: + - timer-jdscript-dev + +36s › jdscript › Success +``` + +## 5. 查看和测试 + +登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 + +在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 + +![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) + +> 如果需要配置永久秘钥,则可以在[访问秘钥页面](https://console.cloud.tencent.com/cam/capi)获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY,并配置在代码根目录 .env 文件中。 + + +# Github Action 部署 +## 1. 开通服务 + +依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole** + +> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。 + +## 2. 在这里新建一个访问密钥[新建密钥](https://console.cloud.tencent.com/cam/capi) +> 将SecretId和SecretKey分别配置在仓库的secrets变量里面, TENCENT_SECRET_ID对应你的SecretId的值,TENCENT_SECRET_KEY对应你的SecretKey的值 + +## 3. 配置自己需要secrets变量[参考这里](githubAction.md#下方提供使用到的-secrets全集合) +### __重要的说三遍__ +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +> 排查问题第一步先看自己[腾讯云函数](https://console.cloud.tencent.com/scf/list-detail?rid=5&ns=default&id=scf-jdscript)那边的环境变量跟自己在仓库配置的 `secrets` 是否一致 +![image](https://user-images.githubusercontent.com/6993269/99937191-06617680-2da0-11eb-99ea-033f2c655683.png) + + +## 4.执行action workflow进行部署,workflow未报错即部署成功 +![image](https://user-images.githubusercontent.com/6993269/99513289-6a152980-29c5-11eb-9266-3f56ba13d3b2.png) +## 5. 查看和测试 +登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 + +在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 + +![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) +## 6. 设置触发器[看这里](iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) diff --git a/jd_fruit.js b/jd_fruit.js index 2cb8ec94..327e97f3 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,6 +1,6 @@ /* 东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js -更新时间:2020-12-25 +更新时间:2021-1-5 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -29,9 +29,9 @@ let cookiesArr = [], cookie = '', jdFruitShareArr = [], isBox = false, notify, n //下面给出两个账号的填写示例(iOS只支持2个京东账号) let shareCodes = [ // 这个列表填入你要助力的好友的shareCode //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 - '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a', + '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a@', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3', + 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3@2673c3777d4443829b2a635059953a28', ] let message = '', subTitle = '', option = {}, isFruitFinished = false; const retainWater = 100;//保留水滴大于多少g,默认100g; @@ -771,24 +771,28 @@ async function clockInIn() { // async function getAwardInviteFriend() { await friendListInitForFarm();//查询好友列表 - console.log(`\n今日已邀请好友${$.friendList.inviteFriendCount}个 / 每日邀请上限${$.friendList.inviteFriendMax}个`); - console.log(`开始删除${$.friendList.friends.length}个好友,可拿每天的邀请奖励`); - for (let friend of $.friendList.friends) { - console.log(`\n开始删除好友 [${friend.shareCode}]`); - const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 }); - if (deleteFriendForFarm && deleteFriendForFarm.code === '0') { - console.log(`删除好友 [${friend.shareCode}] 成功\n`); + if ($.friendList) { + console.log(`\n今日已邀请好友${$.friendList.inviteFriendCount}个 / 每日邀请上限${$.friendList.inviteFriendMax}个`); + console.log(`开始删除${$.friendList.friends.length}个好友,可拿每天的邀请奖励`); + for (let friend of $.friendList.friends) { + console.log(`\n开始删除好友 [${friend.shareCode}]`); + const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 }); + if (deleteFriendForFarm && deleteFriendForFarm.code === '0') { + console.log(`删除好友 [${friend.shareCode}] 成功\n`); + } } - } - await receiveFriendInvite();//为他人助力,接受邀请成为别人的好友 - if ($.friendList.inviteFriendCount > 0) { - if ($.friendList.inviteFriendCount > $.friendList.inviteFriendGotAwardCount) { - console.log('开始领取邀请好友的奖励'); - await awardInviteFriendForFarm(); - console.log(`领取邀请好友的奖励结果::${JSON.stringify($.awardInviteFriendRes)}`); + await receiveFriendInvite();//为他人助力,接受邀请成为别人的好友 + if ($.friendList.inviteFriendCount > 0) { + if ($.friendList.inviteFriendCount > $.friendList.inviteFriendGotAwardCount) { + console.log('开始领取邀请好友的奖励'); + await awardInviteFriendForFarm(); + console.log(`领取邀请好友的奖励结果::${JSON.stringify($.awardInviteFriendRes)}`); + } + } else { + console.log('今日未邀请过好友') } } else { - console.log('今日未邀请过好友') + console.log(`查询好友列表失败\n`); } } //给好友浇水 From 91cafec2b0a7fcc661d5fb601bdd2d964dcc14ef Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 09:41:24 +0800 Subject: [PATCH 0614/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 005764d5..4290e747 100644 --- a/README.md +++ b/README.md @@ -85,9 +85,9 @@ ### 方法二:云服务器、腾讯云函数等等 - 需自行有云服务器,云函数等 - - 腾讯云云函数 [快速部署教程](../tencentscf.md)(免费) + - 腾讯云云函数 [快速部署教程](./backUp/tencentscf.md)(免费) - 腾讯云云函数控制台使用 [教程说明](iCloud.md) - - 腾讯云云函数 [GitHub Action部署教程](../tencentscf.md#github-action-部署) + - 腾讯云云函数 [GitHub Action部署教程](./backUp/tencentscf.md#github-action-部署) ### 方法三:Docker(NAS或VPS用户) From b136ad66365a45694af6948bbe9092f4a63a04fe Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 10:00:14 +0800 Subject: [PATCH 0615/1259] update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4290e747..5c424359 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ ### 方法四:iOS系统的代理软件(QuantumultX, Surge, Loon, 小火箭) -#### [京东cookie获取脚本](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js) + - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js) ### 赞赏码(开发维护不易,请赏杯茶水费)
From 407bd635452ccb205f6dfd93547089cc3374b206 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 10:05:56 +0800 Subject: [PATCH 0616/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=20iCloud.md?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- iCloud.md => backUp/iCloud.md | 10 +++++----- backUp/tencentscf.md | 2 +- tencentscf.md | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) rename iCloud.md => backUp/iCloud.md (98%) diff --git a/README.md b/README.md index 5c424359..682c55cb 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ - 需自行有云服务器,云函数等 - 腾讯云云函数 [快速部署教程](./backUp/tencentscf.md)(免费) - - 腾讯云云函数控制台使用 [教程说明](iCloud.md) + - 腾讯云云函数控制台使用 [教程说明](./backUp/iCloud.md) - 腾讯云云函数 [GitHub Action部署教程](./backUp/tencentscf.md#github-action-部署) diff --git a/iCloud.md b/backUp/iCloud.md similarity index 98% rename from iCloud.md rename to backUp/iCloud.md index 9eb86134..22696205 100644 --- a/iCloud.md +++ b/backUp/iCloud.md @@ -108,21 +108,21 @@ let CookieJDs = [ 单击左侧导航栏**函数服务**,进入“函数服务”页面。 在页面上方选择一个地域,最好选择离你常用地区近点的,不至于导致账号异常。单击**新建**。如下图所示: -![iCloud1](./icon/iCloud1.png) +![iCloud1](../icon/iCloud1.png) 在“新建函数”页面填写函数基础信息,单击**下一步**。如下图所示: -![iCloud2](./icon/iCloud2.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) +![iCloud3](../icon/iCloud3.png) 内存用不了太大,64MB就够了(64M内存,免费时长6,400,000秒,内存与免费时长大致关系可以参看云函数官方说明),超时时间改为最大的900秒,然后点击最下面的完成。 -![iCloud4](./icon/iCloud4.png) +![iCloud4](../icon/iCloud4.png) ## 5.设置触发器 @@ -136,7 +136,7 @@ let CookieJDs = [ 创建触发器 -![iCloud6](./icon/iCloud6.png) +![iCloud6](../icon/iCloud6.png) 触发方式默认“**定时触发**”,定时任务名称随便起个名字,触发周期根据自己需要自行设置。 diff --git a/backUp/tencentscf.md b/backUp/tencentscf.md index 30c04ca2..eb31e499 100644 --- a/backUp/tencentscf.md +++ b/backUp/tencentscf.md @@ -125,4 +125,4 @@ triggers: 在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 ![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) -## 6. 设置触发器[看这里](iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) +## 6. 设置触发器[看这里](./backUp/iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) diff --git a/tencentscf.md b/tencentscf.md index 30c04ca2..eb31e499 100644 --- a/tencentscf.md +++ b/tencentscf.md @@ -125,4 +125,4 @@ triggers: 在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 ![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) -## 6. 设置触发器[看这里](iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) +## 6. 设置触发器[看这里](./backUp/iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) From 910031270a951c074f5c6d9da16c07ab5c613b13 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 10:08:18 +0800 Subject: [PATCH 0617/1259] fix --- backUp/tencentscf.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backUp/tencentscf.md b/backUp/tencentscf.md index eb31e499..30c04ca2 100644 --- a/backUp/tencentscf.md +++ b/backUp/tencentscf.md @@ -125,4 +125,4 @@ triggers: 在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 ![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) -## 6. 设置触发器[看这里](./backUp/iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) +## 6. 设置触发器[看这里](iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) From 50118f917d8285a7fd3c35ae0de2bcfef5d19f9f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 10:27:22 +0800 Subject: [PATCH 0618/1259] delete --- tencentscf.md | 128 -------------------------------------------------- 1 file changed, 128 deletions(-) delete mode 100644 tencentscf.md diff --git a/tencentscf.md b/tencentscf.md deleted file mode 100644 index eb31e499..00000000 --- a/tencentscf.md +++ /dev/null @@ -1,128 +0,0 @@ - -# 云函数快速部署京东脚本 -> -> - 本地安装依赖使用serverless部署,[点这里](tencentscf.md#1-安装-nodejs-环境) -> - Github Action 部署[点这里](tencentscf.md#github-action-部署) - -## 1. 安装 Node.js 环境 - -Node.js 环境 [下载地址](https://nodejs.org/zh-tw/download/) ,根据自己的操作系统下载和安装。 - -## 2. 下载代码 - -点击红框处下载压缩包 -![下载代码](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/1605497672397-zip.png) - -## 3. 安装依赖,配置 cookie - -### 3.1 安装依赖 - -压缩包解压后进入项目文件夹 - -- Windows 用户按住 **shift** 点击右键,点击 **在此处打开命令窗口** -- Mac 用户通过终端,自行进入该文件夹 - -在命令行内输入 `npm i `,等待运行完成。 - -此时,项目文件夹内会多出一个 `node_modules`文件夹 - -### 3.2 配置 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' -] -``` - -> 注:获取京东 cookie 教程参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) - - -## 4. 部署到云函数 - -### 4.1 开通服务 - -依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole** - -> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。 - -### 4.2 工具部署 - -下载 Serverless 工具,快速部署函数 -``` -npm install -g serverless -``` - -执行部署命令 -``` -serverless deploy -``` - -如果已经配置了永久秘钥,则可以直接部署,如果没有,可以直接**微信扫码**登录腾讯云,并且授权部署。 - -过几秒后,查看输出,可以看到函数和定时触发器都已经配置完成。 -``` -serverless ⚡framework -Action: "deploy" - Stage: "dev" - App: "jdscript" - Instance: "jdscript" - -functionName: scf-jdscript -description: This is a function in jdscript application. -namespace: default -runtime: Nodejs12.16 -handler: index.main_handler -memorySize: 64 -lastVersion: $LATEST -traffic: 1 -triggers: - timer: - - timer-jdscript-dev - -36s › jdscript › Success -``` - -## 5. 查看和测试 - -登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 - -在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 - -![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) - -> 如果需要配置永久秘钥,则可以在[访问秘钥页面](https://console.cloud.tencent.com/cam/capi)获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY,并配置在代码根目录 .env 文件中。 - - -# Github Action 部署 -## 1. 开通服务 - -依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole** - -> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。 - -## 2. 在这里新建一个访问密钥[新建密钥](https://console.cloud.tencent.com/cam/capi) -> 将SecretId和SecretKey分别配置在仓库的secrets变量里面, TENCENT_SECRET_ID对应你的SecretId的值,TENCENT_SECRET_KEY对应你的SecretKey的值 - -## 3. 配置自己需要secrets变量[参考这里](githubAction.md#下方提供使用到的-secrets全集合) -### __重要的说三遍__ -### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 -### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 -### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 -> 排查问题第一步先看自己[腾讯云函数](https://console.cloud.tencent.com/scf/list-detail?rid=5&ns=default&id=scf-jdscript)那边的环境变量跟自己在仓库配置的 `secrets` 是否一致 -![image](https://user-images.githubusercontent.com/6993269/99937191-06617680-2da0-11eb-99ea-033f2c655683.png) - - -## 4.执行action workflow进行部署,workflow未报错即部署成功 -![image](https://user-images.githubusercontent.com/6993269/99513289-6a152980-29c5-11eb-9266-3f56ba13d3b2.png) -## 5. 查看和测试 -登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 - -在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 - -![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) -## 6. 设置触发器[看这里](./backUp/iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) From 832245840c4b441c35af2344890c46647dc3f62d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 12:44:30 +0800 Subject: [PATCH 0619/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0log=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index 327e97f3..0b4b3ba2 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -771,14 +771,17 @@ async function clockInIn() { // async function getAwardInviteFriend() { await friendListInitForFarm();//查询好友列表 + console.log(`查询好友列表数据:${JSON.stringify($.friendList)}\n`) if ($.friendList) { console.log(`\n今日已邀请好友${$.friendList.inviteFriendCount}个 / 每日邀请上限${$.friendList.inviteFriendMax}个`); - console.log(`开始删除${$.friendList.friends.length}个好友,可拿每天的邀请奖励`); - for (let friend of $.friendList.friends) { - console.log(`\n开始删除好友 [${friend.shareCode}]`); - const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 }); - if (deleteFriendForFarm && deleteFriendForFarm.code === '0') { - console.log(`删除好友 [${friend.shareCode}] 成功\n`); + console.log(`开始删除${$.friendList.friends && $.friendList.friends.length}个好友,可拿每天的邀请奖励`); + if ($.friendList.friends && $.friendList.friends.length > 0) { + for (let friend of $.friendList.friends) { + console.log(`\n开始删除好友 [${friend.shareCode}]`); + const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 }); + if (deleteFriendForFarm && deleteFriendForFarm.code === '0') { + console.log(`删除好友 [${friend.shareCode}] 成功\n`); + } } } await receiveFriendInvite();//为他人助力,接受邀请成为别人的好友 From 98381caec3e7c95b0cfee948e743b29873d842f0 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 5 Jan 2021 13:23:34 +0800 Subject: [PATCH 0620/1259] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_get_share_code.js | 626 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 626 insertions(+) create mode 100644 jd_get_share_code.js diff --git a/jd_get_share_code.js b/jd_get_share_code.js new file mode 100644 index 00000000..46357d5b --- /dev/null +++ b/jd_get_share_code.js @@ -0,0 +1,626 @@ +const $ = new Env("获取互助码"); +const JD_API_HOST = "https://api.m.jd.com/client.action"; +let cookiesArr = [], cookie = '', message; +const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +!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); +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(); +} +!(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 = ''; + console.log(`======账号${$.index}开始======`) + await getShareCode() + console.log(`======账号${$.index}结束======`) + } + + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) +function getJdFactory() { + return new Promise(resolve => { + $.post( + taskPostUrl("jdfactory_getTaskDetail", {}, "jdfactory_getTaskDetail"), + async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`); + console.log(`$东东工厂 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 === 14) { + console.log( + `【东东工厂】${item.assistTaskDetailVo.taskToken}` + ); + } + }); + } + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + } + ); + }) +} +function getJxFactory(){ + const JX_API_HOST = "https://m.jingxi.com"; + + function JXGC_taskurl(functionId, body = "") { + return { + url: `${JX_API_HOST}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}`, + headers: { + Cookie: cookie, + Host: "m.jingxi.com", + Accept: "*/*", + Connection: "keep-alive", + "User-Agent": + "jdpingou;iPhone;3.14.4;14.0;ae75259f6ca8378672006fc41079cd8c90c53be8;network/wifi;model/iPhone10,2;appBuild/100351;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/62;pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", + "Accept-Language": "zh-cn", + Referer: "https://wqsd.jd.com/pingou/dream_factory/index.html", + "Accept-Encoding": "gzip, deflate, br", + }, + }; + } + + return new Promise(resolve => { + $.get( + JXGC_taskurl( + "userinfo/GetUserInfo", + `pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=` + ), + async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`); + console.log(`惊喜工厂 API请求失败,请检查网路重试`); + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data["ret"] === 0) { + data = data["data"]; + $.unActive = true; //标记是否开启了京喜活动或者选购了商品进行生产 + $.encryptPin = ""; + $.shelvesList = []; + if (data.factoryList && data.productionList) { + const production = data.productionList[0]; + const factory = data.factoryList[0]; + const productionStage = data.productionStage; + $.factoryId = factory.factoryId; //工厂ID + $.productionId = production.productionId; //商品ID + $.commodityDimId = production.commodityDimId; + $.encryptPin = data.user.encryptPin; + // subTitle = data.user.pin; + console.log(`【惊喜工厂】${data.user.encryptPin}`); + } + } else { + $.unActive = false; //标记是否开启了京喜活动或者选购了商品进行生产 + if (!data.factoryList) { + console.log( + `【提示】京东账号${$.index}[${$.nickName}]京喜工厂活动未开始请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动` + ); + } else if (data.factoryList && !data.productionList) { + console.log( + `【提示】京东账号${$.index}[${$.nickName}]京喜工厂未选购商品请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购` + ); + } + } + } else { + console.log(`GetUserInfo异常:${JSON.stringify(data)}`); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve() + } + } + ); + }) +} +function getJdPet(){ + const JDPet_API_HOST = "https://api.m.jd.com/client.action"; + + function jdPet_Url(function_id, body = {}) { + body["version"] = 2; + body["channel"] = "app"; + return { + url: `${JDPet_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 + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + : $.getdata("JDUA") + ? $.getdata("JDUA") + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + Host: "api.m.jd.com", + "Content-Type": "application/x-www-form-urlencoded", + }, + }; + } + return new Promise(resolve => { + $.post(jdPet_Url("initPetTown"), async (err, resp, data) => { + try { + if (err) { + console.log("东东萌宠: API查询请求失败 ‼️‼️"); + console.log(JSON.stringify(err)); + $.logErr(err); + } else { + data = JSON.parse(data); + + const initPetTownRes = data; + + message = `【京东账号${$.index}】${$.nickName}`; + if ( + initPetTownRes.code === "0" && + initPetTownRes.resultCode === "0" && + initPetTownRes.message === "success" + ) { + $.petInfo = initPetTownRes.result; + if ($.petInfo.userStatus === 0) { + /*console.log( + `【提示】京东账号${$.index}${$.nickName}萌宠活动未开启请手动去京东APP开启活动入口:我的->游戏与互动->查看更多开启` + );*/ + return; + } + + console.log( + `【京东萌宠】${$.petInfo.shareCode}` + ); + + } else if (initPetTownRes.code === "0") { + console.log(`初始化萌宠失败: ${initPetTownRes.message}`); + } else { + console.log("shit"); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }); + }) +} +async function getJdZZ() { + const JDZZ_API_HOST = "https://api.m.jd.com/client.action"; + + function getUserInfo() { + return new Promise(resolve => { + $.get(taskZZUrl("interactIndex"), 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.shareTaskRes) { + console.log(`【京东赚赚】${data.data.shareTaskRes.itemId}`); + } else { + //console.log(`已满5人助力,暂时看不到您的京东赚赚好友助力码`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) + } + + function taskZZUrl(functionId, body = {}) { + return { + url: `${JDZZ_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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Accept-Encoding': 'gzip, deflate, br', + } + } + } + + await getUserInfo() +} +async function getPlantBean() { + const JDplant_API_HOST = "https://api.m.jd.com/client.action"; + + async function plantBeanIndex() { + $.plantBeanIndexResult = await plant_request("plantBeanIndex"); //plantBeanIndexBody + } + + function plant_request(function_id, body = {}) { + return new Promise(async (resolve) => { + $.post(plant_taskUrl(function_id, body), (err, resp, data) => { + try { + if (err) { + console.log("种豆得豆: API查询请求失败 ‼️‼️"); + console.log(`function_id:${function_id}`); + $.logErr(err); + } else { + data = JSON.parse(data); + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }); + }); + } + + function plant_taskUrl(function_id, body) { + body["version"] = "9.0.0.1"; + body["monitor_source"] = "plant_app_plant_index"; + body["monitor_refer"] = ""; + return { + url: JDplant_API_HOST, + body: `functionId=${function_id}&body=${escape( + JSON.stringify(body) + )}&appid=ld&client=apple&area=5_274_49707_49973&build=167283&clientVersion=9.1.0`, + headers: { + Cookie: cookie, + Host: "api.m.jd.com", + Accept: "*/*", + Connection: "keep-alive", + "User-Agent": $.isNode() + ? process.env.JD_USER_AGENT + ? process.env.JD_USER_AGENT + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + : $.getdata("JDUA") + ? $.getdata("JDUA") + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "Accept-Language": "zh-Hans-CN;q=1,en-CN;q=0.9", + "Accept-Encoding": "gzip, deflate, br", + "Content-Type": "application/x-www-form-urlencoded", + }, + }; + } + + function getParam(url, name) { + const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); + const r = url.match(reg); + if (r != null) return unescape(r[2]); + return null; + } + + async function jdPlantBean() { + await plantBeanIndex(); + // console.log(plantBeanIndexResult.data.taskList); + if ($.plantBeanIndexResult.code === "0") { + const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl; + $.myPlantUuid = getParam(shareUrl, "plantUuid"); + console.log(`【种豆得豆】${$.myPlantUuid}`); + + } else { + console.log( + `种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}` + ); + } + } + + await jdPlantBean(); +} +async function getJDFruit() { + async function initForFarm() { + 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 + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + : $.getdata("JDUA") + ? $.getdata("JDUA") + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "Content-Type": "application/x-www-form-urlencoded", + }, + }; + $.post(option, (err, resp, data) => { + try { + if (err) { + console.log("东东农场: API查询请求失败 ‼️‼️"); + console.log(JSON.stringify(err)); + $.logErr(err); + } else { + if (safeGet(data)) { + $.farmInfo = JSON.parse(data); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }); + }); + } + + async function jdFruit() { + await initForFarm(); + if ($.farmInfo.farmUserPro) { + // option['media-url'] = $.farmInfo.farmUserPro.goodsImage; + subTitle = `【京东账号${$.index}】${$.nickName}`; + message = `【水果名称】${$.farmInfo.farmUserPro.name}`; + console.log( + `【京东农场】${$.farmInfo.farmUserPro.shareCode}` + ); + + } else { + /*console.log( + `初始化农场数据异常, 请登录京东 app查看农场0元水果功能是否正常,农场初始化数据: ${JSON.stringify( + $.farmInfo + )}` + );*/ + } + } + + await jdFruit(); +} +async function getJoy(){ + function taskUrl(functionId, body = '') { + let t = Date.now().toString().substr(0, 10) + let e = body || "" + e = $.md5("aDvScBv$gGQvrXfva8dG!ZC@DA70Y%lX" + e + t) + e = e + Number(t).toString(16) + return { + url: `${JD_API_HOST}?uts=${e}&appid=crazy_joy&functionId=${functionId}&body=${escape(body)}&t=${t}`, + headers: { + 'Cookie': cookie, + 'Host': 'api.m.jd.com', + 'Accept': '*/*', + 'Connection': 'keep-alive', + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Referer': 'https://crazy-joy.jd.com/', + 'origin': 'https://crazy-joy.jd.com', + 'Accept-Encoding': 'gzip, deflate, br', + } + } + } + let body = {"paramData": {}} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_user_gameState', JSON.stringify(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 && data.data && data.data.userInviteCode) { + console.log(`【crazyJoy】${data.data.userInviteCode}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +async function getShareCode() { + await getJdFactory() + await getJxFactory() + await getJdPet() + await getPlantBean() + await getJDFruit() + await getJdZZ() + await getJoy() +} + +function safeGet(data) { + try { + if (typeof JSON.parse(data) == "object") { + return true; + } + } catch (e) { + console.log(e); + console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); + return false; + } +} + +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 + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + : $.getdata("JDUA") + ? $.getdata("JDUA") + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + }, + }; +} +// 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)} From fef21f4097231eddf8a5ed085378b63faa037c60 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 15:19:15 +0800 Subject: [PATCH 0621/1259] debug --- jd_bean_sign.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index fb3fee0e..5ab774c7 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -131,7 +131,7 @@ async function downFile () { async function changeFile (content) { console.log(`开始替换变量`) let newContent = content.replace(/var Key = ''/, `var Key = '${cookie}'`); - newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = '${NodeSet}'`) + // newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = '${NodeSet}'`) if (process.env.JD_BEAN_STOP && process.env.JD_BEAN_STOP !== '0') { newContent = newContent.replace(/var stop = 0/, `var stop = ${process.env.JD_BEAN_STOP * 1}`); } From bea3a381fba6f8a51e6c959c23d5cf614503f8a4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 17:39:33 +0800 Subject: [PATCH 0622/1259] =?UTF-8?q?=E6=94=B9=E4=B8=BAPromise.all?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_sign.js | 2 +- sendNotify.js | 24 ++++++++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index 5ab774c7..fb3fee0e 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -131,7 +131,7 @@ async function downFile () { async function changeFile (content) { console.log(`开始替换变量`) let newContent = content.replace(/var Key = ''/, `var Key = '${cookie}'`); - // newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = '${NodeSet}'`) + newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = '${NodeSet}'`) if (process.env.JD_BEAN_STOP && process.env.JD_BEAN_STOP !== '0') { newContent = newContent.replace(/var stop = 0/, `var stop = ${process.env.JD_BEAN_STOP * 1}`); } diff --git a/sendNotify.js b/sendNotify.js index e32a197b..b23e2e12 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-08-19 16:12:40 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-21 13:52:54 + * @Last Modified time: 2021-1-5 17:52:54 */ const querystring = require("querystring"); const $ = new Env(); @@ -132,17 +132,21 @@ if (process.env.PUSH_PLUS_USER) { async function sendNotify(text, desp, params = {}) { //提供7种通知 - await serverNotify(text, desp);//微信server酱 - await pushPlusNotify(text, desp);//pushplus(推送加) + await Promise.all([ + serverNotify(text, desp),//微信server酱 + pushPlusNotify(text, desp)//pushplus(推送加) + ]) //由于上述两种微信通知需点击进去才能查看到详情,故text(标题内容)携带了账号序号以及昵称信息,方便不点击也可知道是哪个京东哪个活动 text = text.match(/.*?(?=\s?-)/g) ? text.match(/.*?(?=\s?-)/g)[0] : text; - await BarkNotify(text, desp, params);//iOS Bark APP - await tgBotNotify(text, desp);//telegram 机器人 - await ddBotNotify(text, desp);//钉钉机器人 - await qywxBotNotify(text, desp); //企业微信机器人 - await qywxamNotify(text, desp); //企业微信应用消息推送 - await iGotNotify(text, desp, params);//iGot - await CoolPush(text, desp);//QQ酷推 + await Promise.all([ + BarkNotify(text, desp, params),//iOS Bark APP + tgBotNotify(text, desp),//telegram 机器人 + ddBotNotify(text, desp),//钉钉机器人 + qywxBotNotify(text, desp), //企业微信机器人 + qywxamNotify(text, desp), //企业微信应用消息推送 + iGotNotify(text, desp, params),//iGot + CoolPush(text, desp)//QQ酷推 + ]) } function serverNotify(text, desp, timeout = 2100) { From 10b74ab144dc103d563f86b3e1b3e58bc1915b68 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 18:02:44 +0800 Subject: [PATCH 0623/1259] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=90=84=E7=B1=BB?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E9=82=80=E8=AF=B7=E7=A0=81=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0cookie=E8=BF=87=E6=9C=9F=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E5=90=A6=E5=88=99=E8=84=9A=E6=9C=AC=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E4=BC=9A=E6=89=A7=E8=A1=8C=E5=87=BA=E9=94=99=E4=B8=AD=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++-- jd_get_share_code.js | 65 +++++++++++++++++++++++++++++++++++--------- 2 files changed, 56 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 682c55cb..f7497952 100644 --- a/README.md +++ b/README.md @@ -68,8 +68,10 @@ **TODO** - [ ] 所有活动互助码在一个脚本打印 -## [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) - +## 邀请码互助 + - [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) + - [获取各类活动互助码脚本](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js) + - [邀请码使用规范](githubAction.md#互助码类环境变量)(仅限云端) ## 食用方法 ### 方法一:本地安装Node.js,下载本库脚本 diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 46357d5b..5b44c5cb 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -144,11 +144,14 @@ if ($.isNode()) { $.isLogin = true; $.nickName = ''; message = ''; + await TotalBean(); + if (!$.isLogin) { + continue + } console.log(`======账号${$.index}开始======`) await getShareCode() - console.log(`======账号${$.index}结束======`) + console.log(`======账号${$.index}结束======\n`) } - } })() .catch((e) => { @@ -174,7 +177,7 @@ function getJdFactory() { $.taskVos.map((item) => { if (item.taskType === 14) { console.log( - `【东东工厂】${item.assistTaskDetailVo.taskToken}` + `【账号${$.index}(${$.nickName || $.UserName})东东工厂】${item.assistTaskDetailVo.taskToken}` ); } }); @@ -238,7 +241,7 @@ function getJxFactory(){ $.commodityDimId = production.commodityDimId; $.encryptPin = data.user.encryptPin; // subTitle = data.user.pin; - console.log(`【惊喜工厂】${data.user.encryptPin}`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})惊喜工厂】${data.user.encryptPin}`); } } else { $.unActive = false; //标记是否开启了京喜活动或者选购了商品进行生产 @@ -317,7 +320,7 @@ function getJdPet(){ } console.log( - `【京东萌宠】${$.petInfo.shareCode}` + `【账号${$.index}(${$.nickName || $.UserName})京东萌宠】${$.petInfo.shareCode}` ); } else if (initPetTownRes.code === "0") { @@ -348,7 +351,7 @@ async function getJdZZ() { if (safeGet(data)) { data = JSON.parse(data); if (data.data.shareTaskRes) { - console.log(`【京东赚赚】${data.data.shareTaskRes.itemId}`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})京东赚赚】${data.data.shareTaskRes.itemId}`); } else { //console.log(`已满5人助力,暂时看不到您的京东赚赚好友助力码`) } @@ -449,7 +452,7 @@ async function getPlantBean() { if ($.plantBeanIndexResult.code === "0") { const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl; $.myPlantUuid = getParam(shareUrl, "plantUuid"); - console.log(`【种豆得豆】${$.myPlantUuid}`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})种豆得豆】${$.myPlantUuid}`); } else { console.log( @@ -513,11 +516,8 @@ async function getJDFruit() { async function jdFruit() { await initForFarm(); if ($.farmInfo.farmUserPro) { - // option['media-url'] = $.farmInfo.farmUserPro.goodsImage; - subTitle = `【京东账号${$.index}】${$.nickName}`; - message = `【水果名称】${$.farmInfo.farmUserPro.name}`; console.log( - `【京东农场】${$.farmInfo.farmUserPro.shareCode}` + `【账号${$.index}(${$.nickName || $.UserName})京东农场】${$.farmInfo.farmUserPro.shareCode}` ); } else { @@ -563,7 +563,7 @@ async function getJoy(){ if (safeGet(data)) { data = JSON.parse(data); if (data.success && data.data && data.data.userInviteCode) { - console.log(`【crazyJoy】${data.data.userInviteCode}`) + console.log(`【账号${$.index}(${$.nickName || $.UserName})crazyJoy】${data.data.userInviteCode}`) } } } @@ -596,7 +596,46 @@ function safeGet(data) { return false; } } - +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} function taskPostUrl(function_id, body = {}, function_id2) { let url = `${JD_API_HOST}`; if (function_id2) { From bb58352b914a01b5d68f0f986bfd82423fba7d65 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 18:04:26 +0800 Subject: [PATCH 0624/1259] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=90=84=E7=B1=BB?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E9=82=80=E8=AF=B7=E7=A0=81=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0cookie=E8=BF=87=E6=9C=9F=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E5=90=A6=E5=88=99=E8=84=9A=E6=9C=AC=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E4=BC=9A=E6=89=A7=E8=A1=8C=E5=87=BA=E9=94=99=E4=B8=AD=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7497952..245ab57f 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ ## 邀请码互助 - [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) - - [获取各类活动互助码脚本](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js) + - [获取各类活动互助码脚本 jd_get_share_code.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js) - [邀请码使用规范](githubAction.md#互助码类环境变量)(仅限云端) ## 食用方法 From a01115b999eb4b21b7e176baf2414f54f75925d7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 18:53:22 +0800 Subject: [PATCH 0625/1259] Update jd_crazy_joy_coin.js --- jd_crazy_joy_coin.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 669bf766..8824b85a 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -287,9 +287,9 @@ function getJoyShop() { if (data.success && data.data && data.data.shop) { const shop = data.data.shop.filter(vo => vo.status === 1) || [] $.buyJoyLevel = shop.length ? shop[shop.length - 1]['joyId'] : 1;//可购买的最大等级 - if ($.isNode() && process.env.BUY_JPY_LEVEL) { + if ($.isNode() && process.env.BUY_JOY_LEVEL) { $.log(`当前可购买的最高JOY等级为${$.buyJoyLevel}级\n`) - $.buyJoyLevel = (process.env.BUY_JPY_LEVEL * 1) > $.buyJoyLevel ? $.buyJoyLevel : process.env.BUY_JPY_LEVEL * 1; + $.buyJoyLevel = (process.env.BUY_JOY_LEVEL * 1) > $.buyJoyLevel ? $.buyJoyLevel : process.env.BUY_JOY_LEVEL * 1; $.cost = shop[$.buyJoyLevel - 1]['coins'] } else { $.cost = shop.length ? shop[shop.length - 1]['coins'] : Infinity From 7594053f5aa4ef38a2d70c7b15dc86781698be22 Mon Sep 17 00:00:00 2001 From: huang28 <52352624+Huang28@users.noreply.github.com> Date: Tue, 5 Jan 2021 20:37:47 +0800 Subject: [PATCH 0626/1259] 1 --- Loon/lxk0301_LoonTask.conf | 14 +- QuantumultX/lxk0301_gallery.json | 2 +- README.md | 14 +- Surge/lxk0301_Task.sgmodule.sgmodule | 14 +- activity/jd_apple_live.js | 2 +- activity/jd_ds.js | 220 +++++++++ activity/jd_jdh.js | 435 ++++++++++++++++++ activity/jd_jxstory.js | 2 +- activity/jd_live_redrain.js | 282 ++++++++++++ activity/jd_ms_redrain.js | 208 +++++++++ activity/jd_pubg.js | 2 +- activity/jd_watch.js | 418 +++++++++++++++++ activity/jr_sign.js | 199 ++++++++ backUp/iCloud.md | 208 +++++++++ backUp/iOS_Weather_AQI_Standard.js | 138 ++++++ backUp/tencentscf.md | 128 ++++++ docker/Readme.md | 26 +- docker/crontab_list.sh | 21 +- docker/default_task.sh | 23 +- jdCookie.js | 13 +- jd_bean_home.js | 22 +- jd_bean_sign.js | 5 +- jd_crazy_joy.js | 2 +- jd_crazy_joy_coin.js | 16 +- jd_dreamFactory.js | 4 +- jd_fruit.js | 45 +- jd_get_share_code.js | 665 +++++++++++++++++++++++++++ jd_health.js | 2 +- jd_jdfactory.js | 43 +- jd_jdzz.js | 2 +- jd_joy_reward.js | 30 ++ jd_pet.js | 2 +- jd_plantBean.js | 31 +- jd_small_home.js | 40 +- jd_syj.js | 8 +- sendNotify.js | 45 +- serverless.yml | 18 +- 37 files changed, 3179 insertions(+), 170 deletions(-) create mode 100644 activity/jd_ds.js create mode 100644 activity/jd_jdh.js create mode 100644 activity/jd_live_redrain.js create mode 100644 activity/jd_ms_redrain.js create mode 100644 activity/jd_watch.js create mode 100644 activity/jr_sign.js create mode 100644 backUp/iCloud.md create mode 100644 backUp/iOS_Weather_AQI_Standard.js create mode 100644 backUp/tencentscf.md create mode 100644 jd_get_share_code.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 8f236711..13ff0c41 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -91,13 +91,13 @@ http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\ http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token # 京东代属 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 +# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 # 京东快递 cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到 # 京东汽车 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车 # 领京豆额外奖励 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 @@ -107,19 +107,19 @@ cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script # 京东赚赚 cron "10 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 # 京东秒杀红包雨 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 +# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 #注销京东店铺会员卡 cron "23 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡 # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 # 京东看一看 -cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看 +# cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看 #直播红包雨 -cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 +# cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 # 金融打卡领年终奖 -cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 +# cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 -cron "10 0 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 +cron "10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 # 疯狂的joy日常任务 cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 162513d2..a3709536 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -26,7 +26,7 @@ "0 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", "15 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "20 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", + "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", diff --git a/README.md b/README.md index 8783d737..245ab57f 100644 --- a/README.md +++ b/README.md @@ -68,8 +68,10 @@ **TODO** - [ ] 所有活动互助码在一个脚本打印 -## [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) - +## 邀请码互助 + - [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) + - [获取各类活动互助码脚本 jd_get_share_code.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js) + - [邀请码使用规范](githubAction.md#互助码类环境变量)(仅限云端) ## 食用方法 ### 方法一:本地安装Node.js,下载本库脚本 @@ -85,9 +87,9 @@ ### 方法二:云服务器、腾讯云函数等等 - 需自行有云服务器,云函数等 - - 腾讯云云函数 [快速部署教程](tencentscf.md)(免费) - - 腾讯云云函数控制台使用 [教程说明](iCloud.md) - - 腾讯云云函数 [GitHub Action部署教程](tencentscf.md#github-action-部署) + - 腾讯云云函数 [快速部署教程](./backUp/tencentscf.md)(免费) + - 腾讯云云函数控制台使用 [教程说明](./backUp/iCloud.md) + - 腾讯云云函数 [GitHub Action部署教程](./backUp/tencentscf.md#github-action-部署) ### 方法三:Docker(NAS或VPS用户) @@ -107,7 +109,7 @@ ### 方法四:iOS系统的代理软件(QuantumultX, Surge, Loon, 小火箭) -#### [京东cookie获取脚本](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js) + - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js) ### 赞赏码(开发维护不易,请赏杯茶水费)
diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 08b3479b..f359b012 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -53,18 +53,14 @@ cron "40 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, timeout=650, wake-system=1, tag=东东小窝 #十元街 cron "40 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, timeout=650, wake-system=1, tag=十元街 -#京东代属(仅京东学生认证用户可用) -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, timeout=650, wake-system=1, tag=京东代属 #领京豆额外奖励 cron "30 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, timeout=750, wake-system=1, tag=领京豆额外奖励 #京东汽车 -cron "30 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 #京东快递签到 cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 -#京东看一看 -cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, timeout=7750, wake-system=1, tag=京东看一看 #京东健康 cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, timeout=750, wake-system=1, tag=京东健康 #京东赚赚 @@ -74,12 +70,6 @@ cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri #疯狂的joy日常任务 cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 #以下为短期活动 -#金融打卡领年终奖 -cron "30 7 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, timeout=750, wake-system=1, tag=金融打卡领年终奖 #健康抽奖机 -cron "30 2 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 -#直播红包雨(2020-12-31活动结束) -cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, timeout=750, wake-system=1, tag=直播红包雨 -#秒杀红包雨(2020-12-31活动结束) -cron "20 9 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, timeout=750, wake-system=1, tag=秒杀红包雨 +cron "30 2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js index 26022817..e2d04104 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -283,7 +283,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/activity/jd_ds.js b/activity/jd_ds.js new file mode 100644 index 00000000..46381bf9 --- /dev/null +++ b/activity/jd_ds.js @@ -0,0 +1,220 @@ +/* + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2020-11-27 09:19:21 + * @Last Modified by: shylocks https://github.com/shylocks + * @Last Modified time: 2020-12-7 17:39:02 + */ +/* +京东代属脚本,类似十元街,⚠️⚠️⚠️⚠️限校园用户可使用,其他用户签到失败无京豆 +一周签到下来可获得30京豆,一天任意时刻运行一次即可 + +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js +参考github@jidesheng6修改而来 +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东代属 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 + +===============Surge================= +京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js + +============小火箭========= +京东代属 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, cronexpr="10 7 * * *", timeout=200, 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 { + 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); +} +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; + $.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 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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/activity/jd_jdh.js b/activity/jd_jdh.js new file mode 100644 index 00000000..9ff14775 --- /dev/null +++ b/activity/jd_jdh.js @@ -0,0 +1,435 @@ +/* +京东健康 +京东健康APP集汪汪卡瓜分百万红包 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东健康 +10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 + +===============Surge================= +京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js + +============小火箭========= +京东健康 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, cronexpr="10 8 * * *", timeout=200, 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 { + 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); +} +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/', {"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 = ''; + 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 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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/activity/jd_jxstory.js b/activity/jd_jxstory.js index cd46e3ed..45c79941 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -498,7 +498,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js new file mode 100644 index 00000000..4de7cad5 --- /dev/null +++ b/activity/jd_live_redrain.js @@ -0,0 +1,282 @@ +/* +直播红包雨 +每天0,9,11,13,15,17,19,20,21,23可领,每日上限未知 +活动时间:2020-12-14 到 2020-12-31 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 + +===============Surge================= +直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js + +============小火箭========= +直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, 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 { + 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); +} +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; + } + $.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/`, {"open-url": "https://bean.m.jd.com/"}); + + 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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/activity/jd_ms_redrain.js b/activity/jd_ms_redrain.js new file mode 100644 index 00000000..c2ea858e --- /dev/null +++ b/activity/jd_ms_redrain.js @@ -0,0 +1,208 @@ +/* +秒杀红包雨,可以获取3次,一天运行一次即可 +活动时间:2020-12-1 到 2020-12-31 +活动入口:首页👉秒杀👉往下拉(手指向上滑动)👉可以看到狂撒2亿京东 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#秒杀红包雨 +10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 + +===============Surge================= +秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js + +============小火箭========= +秒杀红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=200, 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 { + 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); +} +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; + } + 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 + } + 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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/activity/jd_pubg.js b/activity/jd_pubg.js index bed15df4..cc22b60c 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -330,7 +330,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/activity/jd_watch.js b/activity/jd_watch.js new file mode 100644 index 00000000..f1f9f25a --- /dev/null +++ b/activity/jd_watch.js @@ -0,0 +1,418 @@ +/* +发现-看一看 +活动结束时间未知 +已支持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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看, enabled=true + +================Loon============== +[Script] +cron "10 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js,tag=京东看一看 + +===============Surge================= +京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js + +============小火箭========= +京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, cronexpr="10 9 * * *", timeout=900, 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 { + 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); +} +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/', {"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 = ''; + 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 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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/activity/jr_sign.js b/activity/jr_sign.js new file mode 100644 index 00000000..40c9a018 --- /dev/null +++ b/activity/jr_sign.js @@ -0,0 +1,199 @@ +/* +金融打卡领年终奖 +活动时间:2020-12-8 到 2020-12-31 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#金融打卡领年终奖 +10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 + +===============Surge================= +金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js + +============小火箭========= +金融打卡领年终奖 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, cronexpr="10 6 * * *", 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; +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); +} +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; + } + 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 + } + 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + } 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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/iCloud.md b/backUp/iCloud.md new file mode 100644 index 00000000..22696205 --- /dev/null +++ b/backUp/iCloud.md @@ -0,0 +1,208 @@ +## 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/lxk0301/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) + +## 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** | **脚本名称** | **活动时间** | **原Repository UTC时间** | **适用于云函数的北京时间** | **serverless.yml** | +| :----------------------: | :----------------------: | :----------: | :-----------------------: | :-------------------------: | :----------------: | +| `jd_bean_change` | 京豆变动通知 | 长期 | 0 2 * * * | 0 1 */1 * * | 30 7 * * * | +| `jd_bean_home` | 领京豆额外奖励 | 长期 | / | 0 1 */1 * * | 30 7 * * * | +| `jd_bean_sign` | 京豆签到 | 长期 | 0 16 * * * | 0 0 */1 * * | 0 0 * * * | +| `jd_blueCoin` | 京小超兑换奖品 | 长期 | 0 16 * * * | 0 1 */1 * * | 0 0 * * * | +| `jd_car` | 京东汽车 | 长期 | / | 0 0 */1 * * | 0 0 * * * | +| `jd_club_lottery` | 摇京豆 | 长期 | 0 16 * * * | 0 0 */1 * * | 0 0 * * * | +| `jd_crazy_joy` | 疯狂的joy | 长期 | / | / | 30 7 * * * | +| `jd_crazy_joy_coin` | 疯狂的joy挂机 | 长期 | / | / | / | +| `jd_daily_egg` | 京东金融-天天提额 | 长期 | 10 */3 * * * | 0-12/3 */3 * * * | 8 */3 * * * | +| `jd_dreamFactory` | 京喜工厂 | 长期 | / | */30 * * * * | 3 */1 * * * | +| `jd_ds` | 京东代属(校园用户) | 长期 | / | / | / | +| `jd_fruit` | 东东农场 | 长期 | 20 23,4,10 * * * | 0,5,10 8,9,12,18,23,0 * * * | 5 6-18/6 * * * | +| `jd_health` | 健康抽奖机 | 短期 | / | 0 0 */1 * * | 10 0 * * * | +| `jd_jdfactory` | 东东工厂 | 长期 | / | */30 * * * * | 3 */1 * * * | +| `jd_jdh` | 京东健康APP | 短期 | / | / | 30 7 * * * | +| `jd_jdzz` | 京东赚赚 | 长期 | / | / | 3 1 * * * | +| `jd_joy` | 宠汪汪 | 长期 | 0 0,1,4,10,15,16 * * * | 0,5,10 8,9,12,18,23,0 * * * | 3 */1 * * * | +| `jd_joy_feedPets` | 宠汪汪单独喂食 | 长期 | */20 */1 * * * | 0-12/3 */3 * * * | 3 */1 * * * | +| `jd_joy_help` | 宠汪汪强制为别人助力 | 长期 | / | / | / | +| `jd_joy_reward` | 宠汪汪兑换奖品 | 长期 | 0 0,4,8,16 * * * | 0 8,12,16,0 */1 * * | 0 0-16/8,20 * * * | +| `jd_joy_run` | 宠汪汪邀请助力与赛跑助力 | 长期 | / | / | / | +| `jd_joy_steal` | 宠汪汪偷好友狗粮与积分 | 长期 | 0 16,22 * * * | 0 0,6,20 */1 * * | 0 0-16/8,20 * * * | +| `jd_kd` | 京东快递 | 长期 | / | 0 1 */1 * * | 3 1 * * * | +| `jd_live` | 京东直播18豆 | 长期 | / | / | 0 0-16/8,20 * * * | +| `jd_live_redrain` | 超级直播间红包雨 | 短期 | / | 0 0,20,9-23/2 * * MON-FRI | / | +| `jd_lotteryMachine` | 京东抽奖机 | 长期 | 11 17 * * * | 0 0 */1 * * | 10 0 * * * | +| `jd_moneyTree` | 摇钱树 | 长期 | 40 */3 * * * | 0-12/3 */3 * * * | 3 */1 * * * | +| `jd_ms_redrain` | 秒杀红包雨 | 短期 | / | 0 1 */1 * * | 10 0 * * * | +| `jd_necklace` | 点点券 | 长期 | / | 0 0,6,20 */1 * * | 0 0-16/8,20 * * * | +| `jd_pet` | 东东萌宠 | 长期 | 35 23,4,10 * * * | 0,5,10 8,9,12,18,23,0 * * * | 5 6-18/6 * * * | +| `jd_petTreasureBox` | 宠汪汪聚宝盆 | 长期 | / | / | / | +| `jd_pigPet` | 京东金融-养猪猪 | 长期 | / | 0-12/3 */3 * * * | 3 1 * * * | +| `jd_plantBean` | 种豆得豆 | 长期 | 0 23,0-14/1 * * * | 0-12/3 */3 * * * | 3 */1 * * * | +| `jd_rankingList` | 京东排行榜 | 长期 | 11 18 * * * | 0 0 */1 * * | 30 7 * * * | +| `jd_redPacket` | 全民开红包 | 长期 | 0 17 * * * | 0 1 */1 * * | 10 0 * * * | +| `jd_shop` | 进店领豆 | 长期 | 0 16 * * * | 0 0 */1 * * | 10 0 * * * | +| `jd_small_home` | 东东小窝 | 长期 | / | 0 0,6,20 */1 * * | 10 0 * * * | +| `jd_speed` | 天天加速 | 长期 | 33 */3 * * * | 0-12/3 */3 * * * | 8 */3 * * * | +| `jd_superMarket` | 东东超市 | 长期 | 15 * * * * | */30 * * * * | 15 * * * * | +| `jd_syj` | 十元街 | 长期 | / | 0 1 */1 * * | 3 1 * * * | +| `jd_unbind` | 注销京东会员卡 | 长期 | / | / | 10 0 * * * | +| `jd_unsubscribe` | 取关京东店铺和商品 | 长期 | 45 15 * * * | 0 1 */1 * * | 10 0 * * * | +| `jd_watch` | 发现-看一看 | 长期 | / | / | 3 1 * * * | +| `jr_sign` | 金融打卡年终奖 | 短期 | / | / | 3 1 * * * | +| `jd_818` | 京东手机狂欢城 | 短期 | 0 1,4,7,10,12,16,22 * * * | 0 9,12,15,16,20,0,6 */1 * * | / | +| `jd_apple_live` | 苹果抽奖机 | 短期 | / | / | / | +| `jd_collectProduceScore` | 双十一活动领金币 | 短期 | 30 * * * * | */30 * * * * | / | +| `jd_digital_floor` | 数码加购京豆 | 短期 | / | / | / | +| `jd_jxstory` | 京喜故事 | 短期 | / | / | / | +| `jd_mohe` | 热8超级魔盒 | 短期 | / | / | / | +| `jd_pubg` | PUBG | 短期 | / | / | / | +| `jd_split` | 金榜年终奖 | 短期 | / | / | / | +| `jd_xtg` | 双十一星推官 | 短期 | 0 16 * * * | 0 0 */1 * * | / | + +点击提交,所有流程就结束了。 diff --git a/backUp/iOS_Weather_AQI_Standard.js b/backUp/iOS_Weather_AQI_Standard.js new file mode 100644 index 00000000..dfb22941 --- /dev/null +++ b/backUp/iOS_Weather_AQI_Standard.js @@ -0,0 +1,138 @@ +// 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){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)} \ No newline at end of file diff --git a/backUp/tencentscf.md b/backUp/tencentscf.md new file mode 100644 index 00000000..30c04ca2 --- /dev/null +++ b/backUp/tencentscf.md @@ -0,0 +1,128 @@ + +# 云函数快速部署京东脚本 +> +> - 本地安装依赖使用serverless部署,[点这里](tencentscf.md#1-安装-nodejs-环境) +> - Github Action 部署[点这里](tencentscf.md#github-action-部署) + +## 1. 安装 Node.js 环境 + +Node.js 环境 [下载地址](https://nodejs.org/zh-tw/download/) ,根据自己的操作系统下载和安装。 + +## 2. 下载代码 + +点击红框处下载压缩包 +![下载代码](https://imgbed-bucket-1251971143.cos.ap-guangzhou.myqcloud.com/1605497672397-zip.png) + +## 3. 安装依赖,配置 cookie + +### 3.1 安装依赖 + +压缩包解压后进入项目文件夹 + +- Windows 用户按住 **shift** 点击右键,点击 **在此处打开命令窗口** +- Mac 用户通过终端,自行进入该文件夹 + +在命令行内输入 `npm i `,等待运行完成。 + +此时,项目文件夹内会多出一个 `node_modules`文件夹 + +### 3.2 配置 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' +] +``` + +> 注:获取京东 cookie 教程参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) + + +## 4. 部署到云函数 + +### 4.1 开通服务 + +依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole** + +> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。 + +### 4.2 工具部署 + +下载 Serverless 工具,快速部署函数 +``` +npm install -g serverless +``` + +执行部署命令 +``` +serverless deploy +``` + +如果已经配置了永久秘钥,则可以直接部署,如果没有,可以直接**微信扫码**登录腾讯云,并且授权部署。 + +过几秒后,查看输出,可以看到函数和定时触发器都已经配置完成。 +``` +serverless ⚡framework +Action: "deploy" - Stage: "dev" - App: "jdscript" - Instance: "jdscript" + +functionName: scf-jdscript +description: This is a function in jdscript application. +namespace: default +runtime: Nodejs12.16 +handler: index.main_handler +memorySize: 64 +lastVersion: $LATEST +traffic: 1 +triggers: + timer: + - timer-jdscript-dev + +36s › jdscript › Success +``` + +## 5. 查看和测试 + +登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 + +在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 + +![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) + +> 如果需要配置永久秘钥,则可以在[访问秘钥页面](https://console.cloud.tencent.com/cam/capi)获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY,并配置在代码根目录 .env 文件中。 + + +# Github Action 部署 +## 1. 开通服务 + +依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole** + +> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。 + +## 2. 在这里新建一个访问密钥[新建密钥](https://console.cloud.tencent.com/cam/capi) +> 将SecretId和SecretKey分别配置在仓库的secrets变量里面, TENCENT_SECRET_ID对应你的SecretId的值,TENCENT_SECRET_KEY对应你的SecretKey的值 + +## 3. 配置自己需要secrets变量[参考这里](githubAction.md#下方提供使用到的-secrets全集合) +### __重要的说三遍__ +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 +> 排查问题第一步先看自己[腾讯云函数](https://console.cloud.tencent.com/scf/list-detail?rid=5&ns=default&id=scf-jdscript)那边的环境变量跟自己在仓库配置的 `secrets` 是否一致 +![image](https://user-images.githubusercontent.com/6993269/99937191-06617680-2da0-11eb-99ea-033f2c655683.png) + + +## 4.执行action workflow进行部署,workflow未报错即部署成功 +![image](https://user-images.githubusercontent.com/6993269/99513289-6a152980-29c5-11eb-9266-3f56ba13d3b2.png) +## 5. 查看和测试 +登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 + +在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。 + +![测试函数](https://user-images.githubusercontent.com/6993269/99628053-5a9eea80-2a70-11eb-906f-f1d5ea2bfa3a.png) +## 6. 设置触发器[看这里](iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4) diff --git a/docker/Readme.md b/docker/Readme.md index beb03302..922a84a7 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -1,4 +1,24 @@ ### Usage +```diff ++ 2021-01-03更新 增加 CUSTOM_SHELL_FILE 参数配置执行自定义shell脚本 ++ 例1:配置远程shell脚本, 我自己写了一个shell脚本https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh 内容很简单下载惊喜农场并添加定时任务 ++ CUSTOM_SHELL_FILE=https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh ++ ++ 例2:配置docker挂载本地自定义shell脚本,/scripts/docker/shell_script_mod.sh 为你在docker-compose.yml里面挂载到容器里面绝对路径 ++ CUSTOM_SHELL_FILE=/scripts/docker/shell_script_mod.sh ++ ++ tip:如果使用远程自定义,请保证网络畅通或者选择合适的国内仓库,例如有部分人的容器里面就下载不到github的raw文件,那就可以把自己的自定义shell写在gitee上,或者换本地挂载 ++ 如果是 docker 挂载本地,请保重文件挂载进去了,并且配置的是绝对路径。 ++ 自定义 shell 脚本里面如果要加 crontab 任务请使用 echo 追加到 /scripts/docker/merged_list_file.sh 里面否者不生效 ++ 注⚠️ 建议无shell能力的不要轻易使用,当然你可以找别人写好适配了这个docker镜像的脚本直接远程配置 ++ 上面写了这么多如果还看不懂,不建议使用该变量功能。 +_____ +! ⚠️⚠️⚠️2020-12-11更新镜像启动方式,虽然兼容旧版的运行启动方式,但是强烈建议更新镜像和配置后使用 +! 更新后`command:`指令配置不再需要 +! 更新后可以使用自定义任务文件追加在默任务文件之后,比以前的完全覆盖多一个选择 +! - 新的自定两个环境变量为 `CUSTOM_LIST_MERGE_TYPE`:自定文件的生效方式可选值为`append`,`overwrite`默认为`append` ; `CUSTOM_LIST_FILE`: 自定义文件的名字 +! 更新镜像增减镜像更新通知,以后镜像如果更新之后,会通知用户更新 +``` > 推荐使用`docker-compose`所以这里只介绍`docker-compose`使用方式 - `docker-compose` 安装(群晖nas docker自带安装了docker-compose) @@ -21,12 +41,6 @@ pip install docker-compose ### 如果需要使用 docker 多个账户独立并发执行定时任务,[参考这里](https://github.com/iouAkira/scripts/blob/patch-1/docker/docker%E5%A4%9A%E8%B4%A6%E6%88%B7%E4%BD%BF%E7%94%A8%E7%8B%AC%E7%AB%8B%E5%AE%B9%E5%99%A8%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md#%E4%BD%BF%E7%94%A8%E6%AD%A4%E6%96%B9%E5%BC%8F%E8%AF%B7%E5%85%88%E7%90%86%E8%A7%A3%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8docker%E5%8A%9E%E6%B3%95%E4%B8%80%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) -⚠️⚠️⚠️2020-12-11更新镜像启动方式,虽然兼容旧版的运行启动方式,但是强烈建议更新镜像和配置后使用 -- 更新后`command:`指令配置不再需要 -- 更新后可以使用自定义任务文件追加在默任务文件之后,比以前的完全覆盖多一个选择 -- - 新的自定两个环境变量为 `CUSTOM_LIST_MERGE_TYPE`:自定文件的生效方式可选值为`append`,`overwrite`默认为`append` ; `CUSTOM_LIST_FILE`: 自定义文件的名字 -- 更新镜像增减镜像更新通知,以后镜像如果更新之后,会通知用户更新 - > 注⚠️:前提先理解学会使用这下面的教程 ### 创建一个目录`jd_scripts`用于存放备份配置等数据,迁移重装的时候只需要备份整个jd_scripts目录即可 需要新建的目录文件结构参考如下: diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 046099de..4dbf59b8 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -4,19 +4,8 @@ 50 23 */3 * * rm -rf /scripts/logs/*.log ##############短期活动############## -# 秒杀红包雨(2020.12.31活动过期) -40 8 1-31 12 * node /scripts/jd_ms_redrain.js >> /scripts/logs/jd_ms_redrain.log 2>&1 # 健康抽奖机(2020.12.31活动过期) -10 0 1-31 12 * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 -# 直播红包雨(2020.12.31活动过期) -1 0,20,9-23/2 15-31 12 * node /scripts/jd_live_redrain.js >> /scripts/logs/jd_live_redrain.log 2>&1 -# 京东金融打卡领年终奖(2020.12.31活动过期) -10 6 1-31 12 * node /scripts/jr_sign.js >> /scripts/logs/jr_sign.log 2>&1 -# 京东健康APP集汪汪卡瓜分百万红包(2021.1.6活动过期) -10 8 * * * node /scripts/jd_jdh.js >> /scripts/logs/jd_jdh.log 2>&1 -# crazyJoy自动每日任务 -10 7 * * * node /scripts/jd_crazy_joy.js >> /scripts/logs/jd_crazy_joy.log 2>&1 - +10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 @@ -71,11 +60,11 @@ # 十元街 36 8,18 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 # 京东代属(注:限校园用户可使用) -36 9 * * * node /scripts/jd_ds.js >> /scripts/logs/jd_ds.log 2>&1 +# 36 9 * * * node /scripts/jd_ds.js >> /scripts/logs/jd_ds.log 2>&1 # 京东快递签到 23 1 * * * node /scripts/jd_kd.js >> /scripts/logs/jd_kd.log 2>&1 # 京东汽车(签到满500赛点可兑换500京豆) -33 2 * * * node /scripts/jd_car.js >> /scripts/logs/jd_car.log 2>&1 +0 0 * * * node /scripts/jd_car.js >> /scripts/logs/jd_car.log 2>&1 # 领京豆额外奖励(每日可获得3京豆) 33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1 # 京东直播(每日18豆) @@ -84,7 +73,7 @@ 10 11 * * * node /scripts/jd_jdzz.js >> /scripts/logs/jd_jdzz.log 2>&1 # 宠汪汪邀请助力 10 10,11 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1 -# 京东发现-看一看,看40个视频领80京豆(非常耗时) -13 11,14 * * * node /scripts/jd_watch.js >> /scripts/logs/jd_watch.log 2>&1 # 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销 44 4 * * 6 node /scripts/jd_unbind.js >> /scripts/logs/jd_unbind.log 2>&1 +# crazyJoy自动每日任务 +10 7 * * * node /scripts/jd_crazy_joy.js >> /scripts/logs/jd_crazy_joy.log 2>&1 diff --git a/docker/default_task.sh b/docker/default_task.sh index caf4f6d1..26da7f0f 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -107,7 +107,7 @@ if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi -if [ $RANDOM_DELAY_MAX ];then +if [ $RANDOM_DELAY_MAX ]; then if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile @@ -116,6 +116,27 @@ else echo "未配置随即延迟对应的环境变量,故不设置延迟任务" fi +##增加自定义shell脚本 +if [ 0"$CUSTOM_SHELL_FILE" = "0" ]; then + echo "未配置自定shell脚本文件,跳过执行。" +else + if expr "$CUSTOM_SHELL_FILE" : 'http.*' &>/dev/null; then + echo "自定义shell脚本为远程脚本,开始下在自定义远程脚本。" + wget -O /scripts/docker/shell_script_mod.sh $CUSTOM_SHELL_FILE + echo "下载完成,开始执行..." + sh -x /scripts/docker/shell_script_mod.sh + echo "自定义远程shell脚本下载并执行结束。" + else + if [ !$CUSTOM_SHELL_FILE ]; then + echo "自定义shell脚本为docker挂载脚本文件,但是指定挂载文件不存在,跳过执行。" + else + echo "docker挂载的自定shell脚本,开始执行..." + sh -x $CUSTOM_SHELL_FILE + echo "docker挂载的自定shell脚本,执行结束。" + fi + fi +fi + echo "加载最新的定时任务文件..." crontab $mergedListFile diff --git a/jdCookie.js b/jdCookie.js index 4eb2bb76..0dcadb23 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -15,19 +15,14 @@ if (process.env.JD_COOKIE) { } else if (process.env.JD_COOKIE.indexOf('\n') > -1) { console.log(`您的cookie选择的是用换行隔开\n`) CookieJDs = process.env.JD_COOKIE.split('\n'); - } else if (process.env.JD_COOKIE.indexOf('\\n') > -1) { - //环境变量兼容腾讯云和docker下\n会被转义成\\n - console.log(`您的cookie选择的是用换行隔开\\n`) - CookieJDs = process.env.JD_COOKIE.split('\\n'); } else { CookieJDs = [process.env.JD_COOKIE]; } - CookieJDs = [...new Set(CookieJDs)] - 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`) - // console.log(`\n==================脚本执行来自 github action=====================\n`) } +CookieJDs = [...new Set(CookieJDs.filter(item => item !== "" && item !== null && item !== undefined))] +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`) for (let i = 0; i < CookieJDs.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); - exports['CookieJD' + index] = CookieJDs[i]; + exports['CookieJD' + index] = CookieJDs[i].trim(); } diff --git a/jd_bean_home.js b/jd_bean_home.js index 7a84357b..666ad746 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -112,11 +112,15 @@ const JD_API_HOST = 'https://api.m.jd.com/'; async function jdBeanHome() { $.doneState = false - for (let i = 0; i < 3; ++i) { + // for (let i = 0; i < 3; ++i) { + // await doTask2() + // await $.wait(1000) + // if ($.doneState) break + // } + do { await doTask2() - await $.wait(1000) - if ($.doneState) break - } + await $.wait(3000) + } while (!$.doneState) await $.wait(1000) await award("feeds") await $.wait(1000) @@ -142,10 +146,16 @@ function doTask2() { } else { if (safeGet(data)) { data = JSON.parse(data); - if(data.code === '0' && data.data){ + if (data.code === '0' && data.data){ console.log(`任务完成进度:${data.data.taskProgress} / ${data.data.taskThreshold}`) - if(data.data.taskProgress===data.data.taskThreshold) + if(data.data.taskProgress === data.data.taskThreshold) $.doneState = true + } else if (data.code === '0' && data.errorCode === 'HT201') { + $.doneState = true + } else { + //HT304风控用户 + $.doneState = true + console.log(`做任务异常:${JSON.stringify(data)}`) } } } diff --git a/jd_bean_sign.js b/jd_bean_sign.js index accf5990..fb3fee0e 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -1,7 +1,7 @@ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 -更新时间:2020-12-21 +更新时间:2021-1-4 从 github @ruicky改写而来 version v0.0.1 create by ruicky @@ -17,6 +17,7 @@ const download = require('download'); let resultPath = "./result.txt"; let JD_DailyBonusPath = "./JD_DailyBonus.js"; let outPutUrl = './'; +let NodeSet = 'CookieSet.json'; let cookiesArr = [], cookie = ''; if ($.isNode()) { @@ -130,6 +131,7 @@ async function downFile () { async function changeFile (content) { console.log(`开始替换变量`) let newContent = content.replace(/var Key = ''/, `var Key = '${cookie}'`); + newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = '${NodeSet}'`) if (process.env.JD_BEAN_STOP && process.env.JD_BEAN_STOP !== '0') { newContent = newContent.replace(/var stop = 0/, `var stop = ${process.env.JD_BEAN_STOP * 1}`); } @@ -219,6 +221,7 @@ function requireConfig() { resultPath = err ? '/tmp/result.txt' : resultPath; JD_DailyBonusPath = err ? '/tmp/JD_DailyBonus.js' : JD_DailyBonusPath; outPutUrl = err ? '/tmp/' : outPutUrl; + NodeSet = err ? '/tmp/CookieSet.json' : NodeSet; resolve() }); }) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index a87e8711..f1d1f5d9 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -666,7 +666,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 4e4a5a3b..8824b85a 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -204,6 +204,12 @@ async function jdJxStory() { await $.wait(1000) await getJoyShop() await $.wait(1000) + if ($.joyIds && $.joyIds.length > 0) { + $.log('当前JOY分布情况') + $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) + $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) + $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) + } for (let i = 0; i < $.joyIds.length; ++i) { if (!$.canBuy) { $.log(`金币不足,跳过购买`) @@ -280,8 +286,14 @@ function getJoyShop() { data = JSON.parse(data); if (data.success && data.data && data.data.shop) { const shop = data.data.shop.filter(vo => vo.status === 1) || [] - $.buyJoyLevel = shop.length ? shop[shop.length - 1]['joyId'] : 1 - $.cost = shop.length ? shop[shop.length - 1]['coins'] : Infinity + $.buyJoyLevel = shop.length ? shop[shop.length - 1]['joyId'] : 1;//可购买的最大等级 + if ($.isNode() && process.env.BUY_JOY_LEVEL) { + $.log(`当前可购买的最高JOY等级为${$.buyJoyLevel}级\n`) + $.buyJoyLevel = (process.env.BUY_JOY_LEVEL * 1) > $.buyJoyLevel ? $.buyJoyLevel : process.env.BUY_JOY_LEVEL * 1; + $.cost = shop[$.buyJoyLevel - 1]['coins'] + } else { + $.cost = shop.length ? shop[shop.length - 1]['coins'] : Infinity + } } } } catch (e) { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 2333f2f8..713a46f9 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -34,7 +34,7 @@ const randomCount = $.isNode() ? 20 : 5; let tuanActiveId = `6S9y4sJUfA2vPQP6TLdVIQ==`; 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 = ''; -const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; +const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@0WtCMPNq7jekehT6d3AbFw==', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -1305,7 +1305,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_fruit.js b/jd_fruit.js index 03185eb1..0b4b3ba2 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,6 +1,6 @@ /* 东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js -更新时间:2020-12-25 +更新时间:2021-1-5 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -29,9 +29,9 @@ let cookiesArr = [], cookie = '', jdFruitShareArr = [], isBox = false, notify, n //下面给出两个账号的填写示例(iOS只支持2个京东账号) let shareCodes = [ // 这个列表填入你要助力的好友的shareCode //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 - '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a', + '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a@', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3', + 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3@2673c3777d4443829b2a635059953a28', ] let message = '', subTitle = '', option = {}, isFruitFinished = false; const retainWater = 100;//保留水滴大于多少g,默认100g; @@ -771,24 +771,31 @@ async function clockInIn() { // async function getAwardInviteFriend() { await friendListInitForFarm();//查询好友列表 - console.log(`\n今日已邀请好友${$.friendList.inviteFriendCount}个 / 每日邀请上限${$.friendList.inviteFriendMax}个`); - console.log(`开始删除${$.friendList.friends.length}个好友,可拿每天的邀请奖励`); - for (let friend of $.friendList.friends) { - console.log(`\n开始删除好友 [${friend.shareCode}]`); - const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 }); - if (deleteFriendForFarm && deleteFriendForFarm.code === '0') { - console.log(`删除好友 [${friend.shareCode}] 成功\n`); + console.log(`查询好友列表数据:${JSON.stringify($.friendList)}\n`) + if ($.friendList) { + console.log(`\n今日已邀请好友${$.friendList.inviteFriendCount}个 / 每日邀请上限${$.friendList.inviteFriendMax}个`); + console.log(`开始删除${$.friendList.friends && $.friendList.friends.length}个好友,可拿每天的邀请奖励`); + if ($.friendList.friends && $.friendList.friends.length > 0) { + for (let friend of $.friendList.friends) { + console.log(`\n开始删除好友 [${friend.shareCode}]`); + const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 }); + if (deleteFriendForFarm && deleteFriendForFarm.code === '0') { + console.log(`删除好友 [${friend.shareCode}] 成功\n`); + } + } } - } - await receiveFriendInvite();//为他人助力,接受邀请成为别人的好友 - if ($.friendList.inviteFriendCount > 0) { - if ($.friendList.inviteFriendCount > $.friendList.inviteFriendGotAwardCount) { - console.log('开始领取邀请好友的奖励'); - await awardInviteFriendForFarm(); - console.log(`领取邀请好友的奖励结果::${JSON.stringify($.awardInviteFriendRes)}`); + await receiveFriendInvite();//为他人助力,接受邀请成为别人的好友 + if ($.friendList.inviteFriendCount > 0) { + if ($.friendList.inviteFriendCount > $.friendList.inviteFriendGotAwardCount) { + console.log('开始领取邀请好友的奖励'); + await awardInviteFriendForFarm(); + console.log(`领取邀请好友的奖励结果::${JSON.stringify($.awardInviteFriendRes)}`); + } + } else { + console.log('今日未邀请过好友') } } else { - console.log('今日未邀请过好友') + console.log(`查询好友列表失败\n`); } } //给好友浇水 @@ -1239,7 +1246,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取个${randomCount}码放到您固定的互助码后面`) + console.log(`随机取个${randomCount}码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_get_share_code.js b/jd_get_share_code.js new file mode 100644 index 00000000..5b44c5cb --- /dev/null +++ b/jd_get_share_code.js @@ -0,0 +1,665 @@ +const $ = new Env("获取互助码"); +const JD_API_HOST = "https://api.m.jd.com/client.action"; +let cookiesArr = [], cookie = '', message; +const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +!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); +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(); +} +!(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 = ''; + await TotalBean(); + if (!$.isLogin) { + continue + } + console.log(`======账号${$.index}开始======`) + await getShareCode() + console.log(`======账号${$.index}结束======\n`) + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) +function getJdFactory() { + return new Promise(resolve => { + $.post( + taskPostUrl("jdfactory_getTaskDetail", {}, "jdfactory_getTaskDetail"), + async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`); + console.log(`$东东工厂 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 === 14) { + console.log( + `【账号${$.index}(${$.nickName || $.UserName})东东工厂】${item.assistTaskDetailVo.taskToken}` + ); + } + }); + } + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + } + ); + }) +} +function getJxFactory(){ + const JX_API_HOST = "https://m.jingxi.com"; + + function JXGC_taskurl(functionId, body = "") { + return { + url: `${JX_API_HOST}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}`, + headers: { + Cookie: cookie, + Host: "m.jingxi.com", + Accept: "*/*", + Connection: "keep-alive", + "User-Agent": + "jdpingou;iPhone;3.14.4;14.0;ae75259f6ca8378672006fc41079cd8c90c53be8;network/wifi;model/iPhone10,2;appBuild/100351;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/62;pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", + "Accept-Language": "zh-cn", + Referer: "https://wqsd.jd.com/pingou/dream_factory/index.html", + "Accept-Encoding": "gzip, deflate, br", + }, + }; + } + + return new Promise(resolve => { + $.get( + JXGC_taskurl( + "userinfo/GetUserInfo", + `pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=` + ), + async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`); + console.log(`惊喜工厂 API请求失败,请检查网路重试`); + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data["ret"] === 0) { + data = data["data"]; + $.unActive = true; //标记是否开启了京喜活动或者选购了商品进行生产 + $.encryptPin = ""; + $.shelvesList = []; + if (data.factoryList && data.productionList) { + const production = data.productionList[0]; + const factory = data.factoryList[0]; + const productionStage = data.productionStage; + $.factoryId = factory.factoryId; //工厂ID + $.productionId = production.productionId; //商品ID + $.commodityDimId = production.commodityDimId; + $.encryptPin = data.user.encryptPin; + // subTitle = data.user.pin; + console.log(`【账号${$.index}(${$.nickName || $.UserName})惊喜工厂】${data.user.encryptPin}`); + } + } else { + $.unActive = false; //标记是否开启了京喜活动或者选购了商品进行生产 + if (!data.factoryList) { + console.log( + `【提示】京东账号${$.index}[${$.nickName}]京喜工厂活动未开始请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动` + ); + } else if (data.factoryList && !data.productionList) { + console.log( + `【提示】京东账号${$.index}[${$.nickName}]京喜工厂未选购商品请手动去京东APP->游戏与互动->查看更多->京喜工厂 选购` + ); + } + } + } else { + console.log(`GetUserInfo异常:${JSON.stringify(data)}`); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve() + } + } + ); + }) +} +function getJdPet(){ + const JDPet_API_HOST = "https://api.m.jd.com/client.action"; + + function jdPet_Url(function_id, body = {}) { + body["version"] = 2; + body["channel"] = "app"; + return { + url: `${JDPet_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 + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + : $.getdata("JDUA") + ? $.getdata("JDUA") + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + Host: "api.m.jd.com", + "Content-Type": "application/x-www-form-urlencoded", + }, + }; + } + return new Promise(resolve => { + $.post(jdPet_Url("initPetTown"), async (err, resp, data) => { + try { + if (err) { + console.log("东东萌宠: API查询请求失败 ‼️‼️"); + console.log(JSON.stringify(err)); + $.logErr(err); + } else { + data = JSON.parse(data); + + const initPetTownRes = data; + + message = `【京东账号${$.index}】${$.nickName}`; + if ( + initPetTownRes.code === "0" && + initPetTownRes.resultCode === "0" && + initPetTownRes.message === "success" + ) { + $.petInfo = initPetTownRes.result; + if ($.petInfo.userStatus === 0) { + /*console.log( + `【提示】京东账号${$.index}${$.nickName}萌宠活动未开启请手动去京东APP开启活动入口:我的->游戏与互动->查看更多开启` + );*/ + return; + } + + console.log( + `【账号${$.index}(${$.nickName || $.UserName})京东萌宠】${$.petInfo.shareCode}` + ); + + } else if (initPetTownRes.code === "0") { + console.log(`初始化萌宠失败: ${initPetTownRes.message}`); + } else { + console.log("shit"); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }); + }) +} +async function getJdZZ() { + const JDZZ_API_HOST = "https://api.m.jd.com/client.action"; + + function getUserInfo() { + return new Promise(resolve => { + $.get(taskZZUrl("interactIndex"), 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.shareTaskRes) { + console.log(`【账号${$.index}(${$.nickName || $.UserName})京东赚赚】${data.data.shareTaskRes.itemId}`); + } else { + //console.log(`已满5人助力,暂时看不到您的京东赚赚好友助力码`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) + } + + function taskZZUrl(functionId, body = {}) { + return { + url: `${JDZZ_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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Accept-Encoding': 'gzip, deflate, br', + } + } + } + + await getUserInfo() +} +async function getPlantBean() { + const JDplant_API_HOST = "https://api.m.jd.com/client.action"; + + async function plantBeanIndex() { + $.plantBeanIndexResult = await plant_request("plantBeanIndex"); //plantBeanIndexBody + } + + function plant_request(function_id, body = {}) { + return new Promise(async (resolve) => { + $.post(plant_taskUrl(function_id, body), (err, resp, data) => { + try { + if (err) { + console.log("种豆得豆: API查询请求失败 ‼️‼️"); + console.log(`function_id:${function_id}`); + $.logErr(err); + } else { + data = JSON.parse(data); + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }); + }); + } + + function plant_taskUrl(function_id, body) { + body["version"] = "9.0.0.1"; + body["monitor_source"] = "plant_app_plant_index"; + body["monitor_refer"] = ""; + return { + url: JDplant_API_HOST, + body: `functionId=${function_id}&body=${escape( + JSON.stringify(body) + )}&appid=ld&client=apple&area=5_274_49707_49973&build=167283&clientVersion=9.1.0`, + headers: { + Cookie: cookie, + Host: "api.m.jd.com", + Accept: "*/*", + Connection: "keep-alive", + "User-Agent": $.isNode() + ? process.env.JD_USER_AGENT + ? process.env.JD_USER_AGENT + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + : $.getdata("JDUA") + ? $.getdata("JDUA") + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "Accept-Language": "zh-Hans-CN;q=1,en-CN;q=0.9", + "Accept-Encoding": "gzip, deflate, br", + "Content-Type": "application/x-www-form-urlencoded", + }, + }; + } + + function getParam(url, name) { + const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); + const r = url.match(reg); + if (r != null) return unescape(r[2]); + return null; + } + + async function jdPlantBean() { + await plantBeanIndex(); + // console.log(plantBeanIndexResult.data.taskList); + if ($.plantBeanIndexResult.code === "0") { + const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl; + $.myPlantUuid = getParam(shareUrl, "plantUuid"); + console.log(`【账号${$.index}(${$.nickName || $.UserName})种豆得豆】${$.myPlantUuid}`); + + } else { + console.log( + `种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}` + ); + } + } + + await jdPlantBean(); +} +async function getJDFruit() { + async function initForFarm() { + 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 + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + : $.getdata("JDUA") + ? $.getdata("JDUA") + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "Content-Type": "application/x-www-form-urlencoded", + }, + }; + $.post(option, (err, resp, data) => { + try { + if (err) { + console.log("东东农场: API查询请求失败 ‼️‼️"); + console.log(JSON.stringify(err)); + $.logErr(err); + } else { + if (safeGet(data)) { + $.farmInfo = JSON.parse(data); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }); + }); + } + + async function jdFruit() { + await initForFarm(); + if ($.farmInfo.farmUserPro) { + console.log( + `【账号${$.index}(${$.nickName || $.UserName})京东农场】${$.farmInfo.farmUserPro.shareCode}` + ); + + } else { + /*console.log( + `初始化农场数据异常, 请登录京东 app查看农场0元水果功能是否正常,农场初始化数据: ${JSON.stringify( + $.farmInfo + )}` + );*/ + } + } + + await jdFruit(); +} +async function getJoy(){ + function taskUrl(functionId, body = '') { + let t = Date.now().toString().substr(0, 10) + let e = body || "" + e = $.md5("aDvScBv$gGQvrXfva8dG!ZC@DA70Y%lX" + e + t) + e = e + Number(t).toString(16) + return { + url: `${JD_API_HOST}?uts=${e}&appid=crazy_joy&functionId=${functionId}&body=${escape(body)}&t=${t}`, + headers: { + 'Cookie': cookie, + 'Host': 'api.m.jd.com', + 'Accept': '*/*', + 'Connection': 'keep-alive', + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Referer': 'https://crazy-joy.jd.com/', + 'origin': 'https://crazy-joy.jd.com', + 'Accept-Encoding': 'gzip, deflate, br', + } + } + } + let body = {"paramData": {}} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_user_gameState', JSON.stringify(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 && data.data && data.data.userInviteCode) { + console.log(`【账号${$.index}(${$.nickName || $.UserName})crazyJoy】${data.data.userInviteCode}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +async function getShareCode() { + await getJdFactory() + await getJxFactory() + await getJdPet() + await getPlantBean() + await getJDFruit() + await getJdZZ() + await getJoy() +} + +function safeGet(data) { + try { + if (typeof JSON.parse(data) == "object") { + return true; + } + } catch (e) { + console.log(e); + console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); + return false; + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } else { + console.log(`京东服务器返回空数据`) + } + } + } 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 + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0" + : $.getdata("JDUA") + ? $.getdata("JDUA") + : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + }, + }; +} +// 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/jd_health.js b/jd_health.js index ee4ffe9b..b05005d0 100644 --- a/jd_health.js +++ b/jd_health.js @@ -265,7 +265,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 5f16249c..546b7109 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -108,8 +108,8 @@ function showMsg() { } else { $.log(`京东账号${$.index}${$.nickName}\n${message}`); } - if (new Date().getHours() === 23) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); + if (new Date().getHours() === 12) { + $.msg($.name, '', `${message}`); } resolve() }) @@ -181,6 +181,7 @@ async function algorithm() { } } else { console.log(`\n此账号${$.index}${$.nickName}暂未选择商品\n`); + message += `京东账号${$.index} ${$.nickName}\n`; message += `已选商品:暂无\n`; message += `心仪商品:${wantProduct ? wantProduct : '暂无'}\n`; if (wantProduct) { @@ -216,17 +217,17 @@ async function algorithm() { } else { console.log(`BoxJs或环境变量暂未提供心仪商品\n如需兑换心仪商品,请提供心仪商品名称\n`); await jdfactory_getProductList(true); - message += `当前剩余最多商品:${$.canMakeList[0].name}\n`; - message += `兑换所需电量:${$.canMakeList[0].fullScore}\n`; + message += `当前剩余最多商品:${$.canMakeList[0] && $.canMakeList[0].name}\n`; + message += `兑换所需电量:${$.canMakeList[0] && $.canMakeList[0].fullScore}\n`; message += `您当前总电量:${$.batteryValue * 1}\n`; - if ($.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0].fullScore) { + if ($.canMakeList[0] && $.canMakeList[0].couponCount > 0 && $.batteryValue * 1 >= $.canMakeList[0] && $.canMakeList[0].fullScore) { let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); if (new Date(nowTimes).getHours() === 12) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); - if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}【满足】兑换${$.canMakeList[0] && $.canMakeList[0] && [0].name}所需总电量:${$.canMakeList[0] && $.canMakeList[0].fullScore}\n请点击弹窗直达活动页面\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/2uSsV2wHEkySvompfjB43nuKkcHp/index.html%22%20%7D'}); + if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】${$.nickName}\n${message}【满足】兑换${$.canMakeList[0] && $.canMakeList[0].name}所需总电量:${$.canMakeList[0].fullScore}\n请速去活动页面查看`); } } else { - console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0].name}所需的 ${$.canMakeList[0].fullScore}电量\n`) + console.log(`\n目前电量${$.batteryValue * 1},不满足兑换 ${$.canMakeList[0] && $.canMakeList[0].name}所需的 ${$.canMakeList[0] && $.canMakeList[0].fullScore}电量\n`) } } } @@ -355,7 +356,8 @@ async function doTask() { //领取做完任务的奖励 function jdfactory_collectScore(taskToken) { - return new Promise(resolve => { + return new Promise(async resolve => { + await $.wait(1000); $.post(taskPostUrl("jdfactory_collectScore", { taskToken }, "jdfactory_collectScore"), async (err, resp, data) => { try { if (err) { @@ -534,17 +536,20 @@ function jdfactory_getProductList(flag = false) { if (safeGet(data)) { data = JSON.parse(data); if (data.data.bizCode === 0) { + $.canMakeList = []; $.canMakeList = data.data.result.canMakeList;//当前可选商品列表 sellOut:1为已抢光,0为目前可选择 - $.canMakeList.sort(sortCouponCount); - console.log(`商品名称 可选状态 剩余量`) - for (let item of $.canMakeList) { - console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可 选'} ${item.couponCount}`); - } - if (!flag) { + if ($.canMakeList && $.canMakeList.length > 0) { + $.canMakeList.sort(sortCouponCount); + console.log(`商品名称 可选状态 剩余量`) for (let item of $.canMakeList) { - if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { - await jdfactory_makeProduct(item.skuId); - break + console.log(`${item.name.slice(-4)} ${item.sellOut === 1 ? '已抢光':'可 选'} ${item.couponCount}`); + } + if (!flag) { + for (let item of $.canMakeList) { + if (item.name.indexOf(wantProduct) > -1 && item.couponCount > 0 && item.sellOut === 0) { + await jdfactory_makeProduct(item.skuId); + break + } } } } @@ -623,7 +628,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_jdzz.js b/jd_jdzz.js index f5da3632..5ea61aa2 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -343,7 +343,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面`) + console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 6878e769..2eaf482d 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -60,6 +60,7 @@ const JD_API_HOST = 'https://jdjoy.jd.com'; } continue } + console.log(`本地时间与京东服务器时间差(毫秒):${await get_diff_time()}`); await joyReward(); // $.msg($.name, '兑换脚本暂不能使用', `请停止使用,等待后期更新\n如果新版本兑换您有兑换机会,请抓包兑换\n再把抓包数据发送telegram用户@lxk0301`); } @@ -273,6 +274,35 @@ function TotalBean() { }) }) } +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 { diff --git a/jd_pet.js b/jd_pet.js index 9b19c20f..cde3fd7f 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -442,7 +442,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取个${randomCount}码放到您固定的互助码后面`) + console.log(`随机取个${randomCount}码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_plantBean.js b/jd_plantBean.js index 9497a079..c573903e 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -1,6 +1,6 @@ /* 种豆得豆 脚本更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js -更新时间:2020-11-04 +更新时间:2020-12-31 已支持IOS京东双账号,云端N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 注:会自动关注任务中的店铺跟商品,介意者勿使用。 @@ -161,14 +161,27 @@ async function stealFriendWater() { return } if ($.stealFriendList.data && $.stealFriendList.data.friendInfoList && $.stealFriendList.data.friendInfoList.length > 0) { + let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); for (let item of $.stealFriendList.data.friendInfoList) { - if (item.nutrCount >= 3) { - // console.log(`可以偷的好友的信息::${JSON.stringify(item)}`); - console.log(`可以偷的好友的信息paradiseUuid::${JSON.stringify(item.paradiseUuid)}`); - await collectUserNutr(item.paradiseUuid); - console.log(`偷取好友营养液情况:${JSON.stringify($.stealFriendRes)}`) - if ($.stealFriendRes.code === '0') { - console.log(`偷取好友营养液成功`) + if (new Date(nowTimes).getHours() === 20) { + if (item.nutrCount >= 2) { + // console.log(`可以偷的好友的信息::${JSON.stringify(item)}`); + console.log(`可以偷的好友的信息paradiseUuid::${JSON.stringify(item.paradiseUuid)}`); + await collectUserNutr(item.paradiseUuid); + console.log(`偷取好友营养液情况:${JSON.stringify($.stealFriendRes)}`) + if ($.stealFriendRes.code === '0') { + console.log(`偷取好友营养液成功`) + } + } + } else { + if (item.nutrCount >= 3) { + // console.log(`可以偷的好友的信息::${JSON.stringify(item)}`); + console.log(`可以偷的好友的信息paradiseUuid::${JSON.stringify(item.paradiseUuid)}`); + await collectUserNutr(item.paradiseUuid); + console.log(`偷取好友营养液情况:${JSON.stringify($.stealFriendRes)}`) + if ($.stealFriendRes.code === '0') { + console.log(`偷取好友营养液成功`) + } } } } @@ -508,7 +521,7 @@ function readShareCode() { console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (data) { - console.log(`随机取个${randomCount}码放到您固定的互助码后面`) + console.log(`随机取个${randomCount}码放到您固定的互助码后面(不影响已有固定互助)`) data = JSON.parse(data); } } diff --git a/jd_small_home.js b/jd_small_home.js index 096519e6..46a21a0b 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-12 11:42:12 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-23 14:27:20 + * @Last Modified time: 2021-1-4 14:27:20 */ /* 东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js @@ -274,25 +274,27 @@ function queryFurnituresCenterList() { if (safeGet(data)) { data = JSON.parse(data); if (data.head.code === 200) { - 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`; + 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 + // } + // } } - // for (let canBuyItem of $.canBuyList) { - // if (canBuyItem.needWoB <= $.woB) { - // await furnituresCenterPurchase(canBuyItem.id, canBuyItem.jdBeanNum); - // break - // } - // } } } } diff --git a/jd_syj.js b/jd_syj.js index cd6dabfa..ea75fc27 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-11-27 09:19:21 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-11-27 09:58:02 + * @Last Modified time: 2021-1-1 16:58:02 */ /* 十元街脚本,一周签到下来可获得30京豆,一天任意时刻运行一次即可 @@ -93,7 +93,7 @@ function showMsg() { let signFlag = 0; function userSignIn() { return new Promise(resolve => { - const body = {"activityId":"8d6845fe2e77425c82d5078d314d33c5","inviterId":"VMIQlLQqjQyjZokQmv5bIDgq011L0Ov8","channel":"MiniProgram"}; + const body = {"activityId":"ccd8067defcd4787871b7f0c96fcbf5c","inviterId":"","channel":"MiniProgram"}; $.get(taskUrl('userSignIn', body), async (err, resp, data) => { try { if (err) { @@ -122,6 +122,10 @@ function userSignIn() { signFlag ++; await userSignIn(); } + } else if (data.code === 66) { + //此处有时会遇到 服务器繁忙 导致签到失败,故重复三次签到 + $.log(`${$.name}签到失败:${data.msg}`); + message += `【签到】失败,${data.msg}`; } else { console.log(`异常:${JSON.stringify(data)}`) } diff --git a/sendNotify.js b/sendNotify.js index eadb860b..b23e2e12 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-08-19 16:12:40 * @Last Modified by: lxk0301 - * @Last Modified time: 2020-12-21 13:52:54 + * @Last Modified time: 2021-1-5 17:52:54 */ const querystring = require("querystring"); const $ = new Env(); @@ -49,7 +49,7 @@ let DD_BOT_SECRET = ''; let QYWX_KEY = ''; // =======================================企业微信应用消息通知设置区域=========================================== -//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001 +//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,素材库图片id(见https://github.com/lxk0301/jd_scripts/issues/519) 注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001,2COXgjH2UIfERF2zxrtUOKgQ9XklUqMdGSWLBoW_lSDAdafat //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_AM) let QYWX_AM = ''; @@ -132,17 +132,21 @@ if (process.env.PUSH_PLUS_USER) { async function sendNotify(text, desp, params = {}) { //提供7种通知 - await serverNotify(text, desp);//微信server酱 - await pushPlusNotify(text, desp);//pushplus(推送加) + await Promise.all([ + serverNotify(text, desp),//微信server酱 + pushPlusNotify(text, desp)//pushplus(推送加) + ]) //由于上述两种微信通知需点击进去才能查看到详情,故text(标题内容)携带了账号序号以及昵称信息,方便不点击也可知道是哪个京东哪个活动 text = text.match(/.*?(?=\s?-)/g) ? text.match(/.*?(?=\s?-)/g)[0] : text; - await BarkNotify(text, desp, params);//iOS Bark APP - await tgBotNotify(text, desp);//telegram 机器人 - await ddBotNotify(text, desp);//钉钉机器人 - await qywxBotNotify(text, desp); //企业微信机器人 - await qywxamNotify(text, desp); //企业微信应用消息推送 - await iGotNotify(text, desp, params);//iGot - await CoolPush(text, desp);//QQ酷推 + await Promise.all([ + BarkNotify(text, desp, params),//iOS Bark APP + tgBotNotify(text, desp),//telegram 机器人 + ddBotNotify(text, desp),//钉钉机器人 + qywxBotNotify(text, desp), //企业微信机器人 + qywxamNotify(text, desp), //企业微信应用消息推送 + iGotNotify(text, desp, params),//iGot + CoolPush(text, desp)//QQ酷推 + ]) } function serverNotify(text, desp, timeout = 2100) { @@ -430,7 +434,8 @@ function qywxamNotify(text, desp) { 'Content-Type': 'application/json', }, }; - $.post(options_accesstoken, (err, resp, data) => { + $.post(options_accesstoken, (err, resp, data) => { + html=desp.replace(/\n/g,"
") var json = JSON.parse(data); accesstoken = json.access_token; const options = { @@ -438,12 +443,18 @@ function qywxamNotify(text, desp) { json: { touser:`${QYWX_AM_AY[2]}`, agentid:`${QYWX_AM_AY[3]}`, - msgtype: 'textcard', - textcard: { + msgtype: 'mpnews', + mpnews: { + articles: [ + { title: `${text}`, - description: `${desp}`, - url: '127.0.0.1', - btntxt: '更多' + thumb_media_id: `${QYWX_AM_AY[4]}`, + author : `智能助手` , + content_source_url: ``, + content : `${html}`, + digest: `${desp}` + } + ] }, safe:'0', }, diff --git a/serverless.yml b/serverless.yml index 98a0be61..d78fe00b 100644 --- a/serverless.yml +++ b/serverless.yml @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live - - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 #秒杀红包雨 #健康抽奖机 + - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 #健康抽奖机 parameters: - name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home_ms_redrain_health + name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home_health cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home&jd_ms_redrain&jd_health + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home&jd_health - timer: # 京东天天加速# 天天提鹅 parameters: name: jd_speed_jd_daily_egg @@ -64,18 +64,18 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东健康APP + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 parameters: - name: bean_change_crazy_joy_rankingList_bean_home_jdh + name: bean_change_crazy_joy_rankingList_bean_home cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_jdh - - timer: #金融养猪 #十元街 #京东快递 #发现-看一看 #京东赚赚 #金融打卡领年终奖 + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 parameters: - name: pigPet_syj_kd_watch_jdzz_jr_sign + name: pigPet_syj_kd_jdzz cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_watch&jd_jdzz&jr_sign + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 56114e413cfe73ea7469c3c5cc34fc5fa224396f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 5 Jan 2021 20:48:14 +0800 Subject: [PATCH 0627/1259] Update qqread.js --- backUp/qqread.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index f72fe1f4..0ff1d2d9 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -62,7 +62,9 @@ const jsname = '企鹅读书' const $ = Env(jsname) let task = '', config, ssr2 = '', wktime, day = 0; console.log(`\n========= 脚本执行时间(TM):${new Date(new Date().getTime() + 0 * 60 * 60 * 1000).toLocaleString('zh', {hour12: false})} =========\n`) -const notify = require('../sendNotify'); + +const notify = $.isNode() ? require('../sendNotify') : ''; + const logs = 1; //0为关闭日志,1为开启 const TIME = 30//单次时长上传限制,默认5分钟 From cfb355f609156f7c5ab21e9cf8b7ba1e03ca18f5 Mon Sep 17 00:00:00 2001 From: huang28 <52352624+Huang28@users.noreply.github.com> Date: Wed, 6 Jan 2021 03:10:22 +0800 Subject: [PATCH 0628/1259] Update sendNotify.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 企业微信应用消息通知 增加一个选择推送消息类型,用图文消息直接填写素材库图片id的值,用卡片消息就填写0(就是数字零) --- sendNotify.js | 76 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 47 insertions(+), 29 deletions(-) diff --git a/sendNotify.js b/sendNotify.js index b23e2e12..47079790 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -50,6 +50,7 @@ let QYWX_KEY = ''; // =======================================企业微信应用消息通知设置区域=========================================== //此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,素材库图片id(见https://github.com/lxk0301/jd_scripts/issues/519) 注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001,2COXgjH2UIfERF2zxrtUOKgQ9XklUqMdGSWLBoW_lSDAdafat +//增加一个选择推送消息类型,用图文消息直接填写素材库图片id的值,用卡片消息就填写0(就是数字零) //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_AM) let QYWX_AM = ''; @@ -423,31 +424,48 @@ function qywxBotNotify(text, desp) { function qywxamNotify(text, desp) { return new Promise(resolve => { if (QYWX_AM) { - var QYWX_AM_AY = QYWX_AM.split(','); - const options_accesstoken = { - url: `https://qyapi.weixin.qq.com/cgi-bin/gettoken`, - json: { - corpid:`${QYWX_AM_AY[0]}`, - corpsecret:`${QYWX_AM_AY[1]}`, - }, - headers: { - 'Content-Type': 'application/json', - }, - }; - $.post(options_accesstoken, (err, resp, data) => { - html=desp.replace(/\n/g,"
") + var QYWX_AM_AY = QYWX_AM.split(','); + const options_accesstoken = { + url: `https://qyapi.weixin.qq.com/cgi-bin/gettoken`, + json: { + corpid:`${QYWX_AM_AY[0]}`, + corpsecret:`${QYWX_AM_AY[1]}`, + }, + headers: { + 'Content-Type': 'application/json', + }, + }; + $.post(options_accesstoken, (err, resp, data) => { + html=desp.replace(/\n/g,"
") var json = JSON.parse(data); accesstoken = json.access_token; - const options = { - url: `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accesstoken}`, - json: { - touser:`${QYWX_AM_AY[2]}`, - agentid:`${QYWX_AM_AY[3]}`, - msgtype: 'mpnews', - mpnews: { + const options_textcard = { + url: `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accesstoken}`, + json: { + touser:`${QYWX_AM_AY[2]}`, + agentid:`${QYWX_AM_AY[3]}`, + msgtype: 'textcard', + textcard: { + title: `${text}`, + description: `${desp}`, + url: '127.0.0.1', + }, + safe:'0', + }, + headers: { + 'Content-Type': 'application/json', + }, + }; + const options_mpnews = { + url: `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accesstoken}`, + json: { + touser:`${QYWX_AM_AY[2]}`, + agentid:`${QYWX_AM_AY[3]}`, + msgtype: 'mpnews', + mpnews: { articles: [ { - title: `${text}`, + title: `${text}`, thumb_media_id: `${QYWX_AM_AY[4]}`, author : `智能助手` , content_source_url: ``, @@ -455,14 +473,14 @@ function qywxamNotify(text, desp) { digest: `${desp}` } ] - }, - safe:'0', - }, - headers: { - 'Content-Type': 'application/json', - }, - }; - $.post(options, (err, resp, data) => { + }, + safe:'0', + }, + headers: { + 'Content-Type': 'application/json', + }, + }; + $.post((QYWX_AM_AY[4]==0)?options_textcard:options_mpnews, (err, resp, data) => { try { if (err) { console.log('企业微信应用消息发送通知消息失败!!\n'); From 96a433731b90d273015daf5c47dff7f4e05d2275 Mon Sep 17 00:00:00 2001 From: huang28 <52352624+Huang28@users.noreply.github.com> Date: Wed, 6 Jan 2021 03:14:37 +0800 Subject: [PATCH 0629/1259] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=B8=AA=E9=80=89=E6=8B=A9=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E6=B6=88=E6=81=AF=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加一个选择推送消息类型,用图文消息直接填充素材库图片id的值,用卡片消息就填写0(就是数字零) --- sendNotify.js | 1 + 1 file changed, 1 insertion(+) diff --git a/sendNotify.js b/sendNotify.js index 47079790..9c950f07 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -449,6 +449,7 @@ function qywxamNotify(text, desp) { title: `${text}`, description: `${desp}`, url: '127.0.0.1', + btntxt: '更多' }, safe:'0', }, From 5002d8f7695774bf96aa65db66df7f1c7a61aaa3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 09:20:23 +0800 Subject: [PATCH 0630/1259] =?UTF-8?q?=E5=9B=A0=E4=B8=9C=E4=B8=9C=E8=90=8C?= =?UTF-8?q?=E5=AE=A01.6=E6=97=A5=E5=A5=BD=E5=8F=8B=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=B8=8B=E7=BA=BF=E3=80=82=E6=95=85=E6=9A=82?= =?UTF-8?q?=E6=97=B6=E5=B1=8F=E8=94=BD=E5=A5=BD=E5=8F=8B=E4=BA=92=E5=8A=A9?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E3=80=82=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BD=BF=E7=94=A8=E8=84=9A=E6=9C=AC=E5=87=BA?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_pet.js | 14 ++++++++++---- sendNotify.js | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index cde3fd7f..3586c920 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,6 +1,6 @@ /* 东东萌宠 更新地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js -更新时间:2020-12-26 +更新时间:2021-01-06 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -231,8 +231,10 @@ async function masterHelpInit() { if(!res.result.addedBonusFlag) { console.log("开始领取额外奖励"); let getHelpAddedBonusResult = await request('getHelpAddedBonus'); + if (getHelpAddedBonusResult.resultCode === '0') { + message += `【额外奖励${getHelpAddedBonusResult.result.reward}领取】${getHelpAddedBonusResult.message}\n`; + } console.log(`领取30g额外奖励结果:【${getHelpAddedBonusResult.message}】`); - message += `【额外奖励${getHelpAddedBonusResult.result.reward}领取】${getHelpAddedBonusResult.message}\n`; } else { console.log("已经领取过5好友助力额外奖励"); message += `【额外奖励】已领取\n`; @@ -261,6 +263,8 @@ async function masterHelpInit() { * 运行脚本时你自己的shareCode会在控制台输出, 可以将其分享给他人 */ async function slaveHelp() { + $.log(`\n因1.6日好友助力功能下线。故暂时屏蔽\n`) + return let helpPeoples = ''; for (let code of newShareCodes) { console.log(`开始助力京东账号${$.index} - ${$.nickName}的好友: ${code}`); @@ -281,7 +285,7 @@ async function slaveHelp() { console.log(`助力其他情况:${JSON.stringify(response)}`); } } else { - console.log(`助理好友结果: ${response.message}`); + console.log(`助力好友结果: ${response.message}`); } } if (helpPeoples && helpPeoples.length > 0) { @@ -467,7 +471,9 @@ function shareCodesFormat() { const tempIndex = $.index > shareCodes.length ? (shareCodes.length - 1) : ($.index - 1); newShareCodes = shareCodes[tempIndex].split('@'); } - const readShareCodeRes = await readShareCode(); + //因好友助力功能下线。故暂时屏蔽 + // const readShareCodeRes = await readShareCode(); + const readShareCodeRes = null; if (readShareCodeRes && readShareCodeRes.code === 200) { newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])]; } diff --git a/sendNotify.js b/sendNotify.js index b23e2e12..11257565 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -569,7 +569,7 @@ function pushPlusNotify(text, desp) { } }) } else { - console.log('\n您未提供push+推送所需的PUSH_PLUS_TOKEN,取消push+推送消息通知\n'); + console.log('您未提供push+推送所需的PUSH_PLUS_TOKEN,取消push+推送消息通知\n'); resolve() } }) From 5385581c1ca41a64f0aad9a5f9a422603955d255 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 09:26:10 +0800 Subject: [PATCH 0631/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86=E6=88=90=E5=8A=9F=E5=90=8E=E7=9A=84=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_reward.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 2eaf482d..76ed0fe4 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -1,6 +1,6 @@ /* 宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 -更新时间:2020-12-23 +更新时间:2021-1-6 兑换规则:一个账号一天只能兑换一次京豆。 兑换奖品成功后才会有系统弹窗通知 每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 @@ -127,9 +127,9 @@ async function joyReward() { ctrTemp = `${jdNotify}` === 'false'; } if (ctrTemp) { - $.msg($.name, `兑换${giftValue}京豆成功`, `【京东账号${$.index}】${$.nickName}\n【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【${giftValue}京豆】兑换成功\n【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】 ${$.nickName}\n【兑换${giftValue}京豆】成功\n【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】 ${$.nickName}\n【${giftValue}京豆】兑换成功\n【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); } } // if ($.isNode()) { From 64a1e72e7e90b385a3ae166fcc52770cb2df02fc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 10:05:11 +0800 Subject: [PATCH 0632/1259] =?UTF-8?q?=E4=BC=81=E9=B9=85=E9=98=85=E8=AF=BB?= =?UTF-8?q?=E6=96=B0=E5=A2=9Ecookie=E8=BF=87=E6=9C=9F=E6=8F=90=E9=86=92?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=B8=80=E5=A4=A9=E5=8F=AA=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E4=B8=A4=E6=AC=A1=E9=80=9A=E7=9F=A5(=E8=87=AA?= =?UTF-8?q?=E7=94=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/qqread.js | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index 0ff1d2d9..3f8aa651 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -14,27 +14,6 @@ ziye 本人github地址 https://github.com/ziye12/JavaScript 转载请备注个名字,谢谢 -11.25 增加 阅读时长上传,阅读金币,阅读随机金币 -11.25 修复翻倍宝箱不同时领取的问题.增加阅读金币判定 -11.25 修复阅读时长问题,阅读金币问题,请重新获取时长cookie -11.26 随机金币只有一次,故去除,调整修复阅读金币问题,增加时长上传限制 -11.26 增加领取周时长奖励 -11.26 增加结束命令 -11.27 调整通知为,成功开启宝箱再通知 -11.28 修复错误 -12.1 调整通知为15次宝箱通知一次 -12.1 优化通知 - -⚠️cookie获取方法: - -进 https://m.q.qq.com/a/s/d3eacc70120b9a37e46bad408c0c4c2a 点我的 获取cookie - -进一本书 看 10秒以下 然后退出,获取阅读时长cookie,看书一定不能超过10秒 - -可能某些页面会卡住,但是能获取到cookie,再注释cookie重写就行了! - - - ⚠️宝箱奖励为20分钟一次,自己根据情况设置定时,建议设置11分钟一次 hostname=mqqapi.reader.qq.com @@ -80,6 +59,7 @@ let qqreadtimeurlVal = $.getdata(qqreadtimeurlKey) const qqreadtimeheaderKey = 'qqreadtimehd' let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey) +let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); //云函数使用在下面填写 let QQ_READ_COOKIES = [ { @@ -180,6 +160,7 @@ async function QQ_READ() { for (let i = 0; i < QQ_READ_COOKIES.length; i++) { $.log(`\n*************开始QQ账号${i + 1}**************\n`); tz = ''; + $.isLogin = true; if (!QQ_READ_COOKIES[i]["qqreadbodyVal"] || !QQ_READ_COOKIES[i]['qqreadtimeurlVal'] || !QQ_READ_COOKIES[i]['qqreadtimeheaderVal']) { $.log(`账号${i + 1}暂未提供脚本执行所需的cookie`); continue @@ -188,6 +169,13 @@ async function QQ_READ() { qqreadtimeurlVal = QQ_READ_COOKIES[i]['qqreadtimeurlVal']; qqreadtimeheaderVal = QQ_READ_COOKIES[i]['qqreadtimeheaderVal']; await qqreadinfo();//用户名 + if (!$.isLogin) { + $.log(`企鹅阅读账号${i + 1} cookie过期`); + if (nowTimes.getHours() % 12 === 0 && (nowTimes.getMinutes() > 0 && nowTimes.getMinutes() <= 15)) { + await notify.sendNotify(`企鹅阅读账号${i + 1} cookie过期`, '请及时更新 QQ_READ_TIME_HEADER_VAL') + } + continue + } await qqreadwktime();//周时长查询 await qqreadtrack(); await qqreadconfig();//时长查询 @@ -236,8 +224,7 @@ async function QQ_READ() { } function showmsg() { return new Promise(async resolve => { - let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); - if (nowTimes.getHours() === 22 && (nowTimes.getMinutes() >= 0 && nowTimes.getMinutes() <= 15)) { + if (nowTimes.getHours() === 22 && (nowTimes.getMinutes() > 0 && nowTimes.getMinutes() <= 15)) { await notify.sendNotify(jsname, tz); } $.msg(jsname, "", tz); @@ -328,6 +315,13 @@ function qqreadinfo() { $.get(toqqreadinfourl, (error, response, data) => { if (logs) $.log(`${jsname}, 用户名: ${data}`); let info = JSON.parse(data); + if (info.code === 0) { + $.isLogin = info.data['isLogin']; + if (!$.isLogin) { + resolve(); + return + } + } kz += `\n========== 【${info.data.user.nickName}】 ==========\n`; tz += `\n========== 【${info.data.user.nickName}】 ==========\n`; From 8ff1c0d119472dd87014fd28998c8beb4037e6f8 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 6 Jan 2021 10:35:32 +0800 Subject: [PATCH 0633/1259] =?UTF-8?q?=E6=B1=BD=E8=BD=A6=E5=85=91=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_car_exchange.js | 190 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 jd_car_exchange.js diff --git a/jd_car_exchange.js b/jd_car_exchange.js new file mode 100644 index 00000000..69f923be --- /dev/null +++ b/jd_car_exchange.js @@ -0,0 +1,190 @@ +/* +京东汽车兑换,500赛点兑换500京豆 +长期活动 +活动入口:首页👉京东汽车兑换👉屏幕右中部,车主福利 +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东汽车兑换 +0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true + +================Loon============== +[Script] +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange, tag=京东汽车兑换 + +===============Surge================= +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange + +============小火箭========= +京东汽车兑换 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange, cronexpr="0 0 * * *", timeout=200, 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 { + 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); +} +const JD_API_HOST = 'https://car-member.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; + } + for (let j = 0; j < 20; ++j) + 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]) + console.log(`京东账号${i}`) + $.index = i + 1; + $.isLogin = true; + $.nickName = ''; + message = ''; + await jdCar(); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdCar() { + await exchange() +} + +function showMsg() { + return new Promise(resolve => { + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + resolve() + }) +} + +function exchange() { + return new Promise(resolve => { + $.post(taskUrl('v1/user/exchange/bean'), (err, resp, data) => { + try { + if (err) { + data = JSON.parse(resp.body) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + console.log(`兑换结果:${JSON.stringify(data)}`) + } + } + } 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", + 'activityid': '39443aee3ff74fcb806a6f755240d127', + 'origin': 'https://h5.m.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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 3757729d4499dface10d198d551e218a6202260e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 10:53:02 +0800 Subject: [PATCH 0634/1259] =?UTF-8?q?=E4=BC=81=E9=B9=85=E9=98=85=E8=AF=BB?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E5=BC=80=E5=AE=9D=E7=AE=B1(=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=87=AA=E7=94=A8)=EF=BC=8C=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E5=8F=AA=E9=80=9A=E7=9F=A5=E4=B8=80=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/qqread.js | 1 - backUp/qqreadOpenBox.js | 293 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 293 insertions(+), 1 deletion(-) create mode 100644 backUp/qqreadOpenBox.js diff --git a/backUp/qqread.js b/backUp/qqread.js index 3f8aa651..e1e2639b 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -159,7 +159,6 @@ function GetCookie() { async function QQ_READ() { for (let i = 0; i < QQ_READ_COOKIES.length; i++) { $.log(`\n*************开始QQ账号${i + 1}**************\n`); - tz = ''; $.isLogin = true; if (!QQ_READ_COOKIES[i]["qqreadbodyVal"] || !QQ_READ_COOKIES[i]['qqreadtimeurlVal'] || !QQ_READ_COOKIES[i]['qqreadtimeheaderVal']) { $.log(`账号${i + 1}暂未提供脚本执行所需的cookie`); diff --git a/backUp/qqreadOpenBox.js b/backUp/qqreadOpenBox.js new file mode 100644 index 00000000..5182b6e5 --- /dev/null +++ b/backUp/qqreadOpenBox.js @@ -0,0 +1,293 @@ +/* +lxk0301修改自用,单独开宝箱 +****************************************************************************** +本人github地址 https://github.com/ziye12/JavaScript +转载请备注个名字,谢谢 + +1.5 调整宝箱策略,20分钟运行一次就行 +*/ +const $ = Env(`企鹅读书开宝箱`) +const notify = $.isNode() ? require("../sendNotify") : ""; +const logs = 1; //0为关闭日志,1为开启 + +let task, tz = '', kz, config = '', CASH = '', COOKIES_SPLIT = '' ; +let dk,ljyd,sp,ydrw,wktime; + +let qqreadbodyVal = ``; +let qqreadtimeurlVal = ``; +let qqreadtimeheaderVal = ``; +let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); +//云函数使用在下面填写 +let QQ_READ_COOKIES = [ + { + "qqreadbodyVal": ``, + "qqreadtimeurlVal": ``, + "qqreadtimeheaderVal": `` + } +] + +!(async () => { + await getNodeCookie(); + await open_box(); +})() +.catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') +}) +.finally(() => { + $.done(); +}) + +async function open_box() { + for (let i = 0; i < QQ_READ_COOKIES.length; i++) { + $.log(`\n*************开始QQ账号${i + 1}**************\n`); + // tz = ''; + $.isLogin = true; + if (!QQ_READ_COOKIES[i]["qqreadbodyVal"] || !QQ_READ_COOKIES[i]['qqreadtimeurlVal'] || !QQ_READ_COOKIES[i]['qqreadtimeheaderVal']) { + $.log(`账号${i + 1}暂未提供脚本执行所需的cookie`); + continue + } + qqreadbodyVal = QQ_READ_COOKIES[i]['qqreadbodyVal']; + qqreadtimeurlVal = QQ_READ_COOKIES[i]['qqreadtimeurlVal']; + qqreadtimeheaderVal = QQ_READ_COOKIES[i]['qqreadtimeheaderVal']; + await qqreadinfo();//用户名 + if (!$.isLogin) { + $.log(`企鹅阅读账号${i + 1} cookie过期`); + if (nowTimes.getHours() % 12 === 0 && (nowTimes.getMinutes() > 0 && nowTimes.getMinutes() <= 15)) { + await notify.sendNotify(`企鹅阅读账号${i + 1} cookie过期`, '请及时更新 QQ_READ_TIME_HEADER_VAL') + } + continue + } + //单独开宝箱 + if (nowTimes.getHours() === 0 && (nowTimes.getMinutes() >= 0 && nowTimes.getMinutes() <= 59)) { + await qqreadtrack();//更新 + } + await qqreadtask();//任务列表 + if (task.data && ljyd.doneFlag == 0) { + await qqreaddayread();//阅读任务 + } + if (task.data && task.data.treasureBox.timeInterval <= 10000) { + await $.wait(task.data.treasureBox.timeInterval) + await qqreadbox();//宝箱 + } + if (task.data && task.data.treasureBox.timeInterval - 600000 <= 10000) { + await $.wait(task.data.treasureBox.timeInterval - 600000) + await qqreadbox2();//宝箱翻倍 + } + } + await showmsg();//通知 +} + + +function showmsg() { + return new Promise(async resolve => { + if (nowTimes.getHours() === 23 && (nowTimes.getMinutes() > 0 && nowTimes.getMinutes() <= 15)) { + await notify.sendNotify($.name, tz); + } + $.msg($.name, "", tz); + resolve() + }) +} + + +// 更新 +function qqreadtrack() { + return new Promise((resolve, reject) => { + const body = qqreadbodyVal.replace(new RegExp(/"dis":[0-9]{13}/), `"dis":${new Date().getTime()}`) + const toqqreadtrackurl = { + url: "https://mqqapi.reader.qq.com/log/v4/mqq/track", + headers: JSON.parse(qqreadtimeheaderVal), + body: body, + timeout: 60000, + }; + $.post(toqqreadtrackurl, (error, response, data) => { + if (logs) $.log(`更新: ${data}`); + let track = JSON.parse(data); + const date = new Date(JSON.parse(qqreadbodyVal).dataList[0].dis) + let Y = date.getFullYear() + '-'; + let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + let D = date.getDate() + ' '; + let h = date.getHours() + ':'; + let m = date.getMinutes() + ':'; + let s = date.getSeconds(); + let time = Y + M + D + h + m + s; + tz += `【数据更新】:更新${track.msg},\n【cookie获取时间】${time}\n`; + kz += `【数据更新】:更新${track.msg},\n【cookie获取时间】${time}\n`; + resolve(); + }); + }); +} +// 用户名 +function qqreadinfo() { + return new Promise((resolve, reject) => { + const toqqreadinfourl = { + url: "https://mqqapi.reader.qq.com/mqq/user/init", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, + }; + $.get(toqqreadinfourl, (error, response, data) => { + if (logs) $.log(`用户名: ${data}`); + const info = JSON.parse(data); + if (info.code === 0) { + $.isLogin = info.data['isLogin']; + if (!$.isLogin) { + resolve(); + return + } + } + kz += `\n========== 【${info.data.user.nickName}】 ==========\n`; + tz += `\n========== 【${info.data.user.nickName}】 ==========\n`; + + resolve(); + }); + }); +} +// 任务列表 +function qqreadtask() { + return new Promise((resolve, reject) => { + const toqqreadtaskurl = { + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, + }; + $.get(toqqreadtaskurl, (error, response, data) => { + if (logs) $.log(`任务列表: ${data}`); + task = JSON.parse(data); + dk = task.data.taskList.find(item => item.type === 200); + ljyd = task.data.taskList.find(item => item.type === 210); + ydrw = task.data.taskList.find(item => item.type === 220); + sp = task.data.taskList.find(item => item.type === 230); + + if (task.data.invite.nextInviteConfig) { + tz += + `【现金余额】:${(task.data.user.amount / 10000).toFixed(2)}元\n` + + `【第${task.data.invite.issue}期】:时间${task.data.invite.dayRange}\n` + + ` 已邀请${task.data.invite.inviteCount}人,再邀请${task.data.invite.nextInviteConfig.count}人获得${task.data.invite.nextInviteConfig.amount}金币\n` + + `【${dk.title}】:${dk.amount}金币,${dk.actionText}\n` + + `【${ljyd.title}】:${ljyd.amount}金币,${ljyd.actionText}\n` + + `【${ydrw.title}】:${ydrw.amount}金币,${ydrw.actionText}\n` + + `【${sp.title}】:${sp.amount}金币,${sp.actionText}\n` + + `【宝箱任务${task.data.treasureBox.count + 1}】:${task.data.treasureBox.timeInterval / 1000 + }秒后领取\n` + + `【${task.data.fans.title}】:${task.data.fans.fansCount}个好友,${task.data.fans.todayAmount}金币\n`; + } + + kz += + `【现金余额】:${(task.data.user.amount / 10000).toFixed(2)}元\n` + + `【宝箱任务${task.data.treasureBox.count + 1}】:${task.data.treasureBox.timeInterval / 1000 + }秒后领取\n` + + `【已开宝箱】:${task.data.treasureBox.count}个\n`; + + resolve(); + }); + }); +} +// 每日阅读 +function qqreaddayread() { + return new Promise((resolve, reject) => { + const toqqreaddayreadurl = { + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, + }; + $.get(toqqreaddayreadurl, (error, response, data) => { + if (logs) $.log(`每日阅读: ${data}`); + let dayread = JSON.parse(data); + if (dayread.code == 0) { + tz += `【每日阅读】:获得${dayread.data.amount}金币\n`; + kz += `【每日阅读】:获得${dayread.data.amount}金币\n`; + } + resolve(); + }); + }); +} +// 宝箱奖励 +function qqreadbox() { + return new Promise((resolve, reject) => { + const toqqreadboxurl = { + url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, + }; + $.get(toqqreadboxurl, (error, response, data) => { + if (logs) $.log(`宝箱奖励: ${data}`); + let box = JSON.parse(data); + if (box.code == 0 && box.data.amount) { + tz += `【宝箱奖励${box.data.count}】:获得${box.data.amount}金币\n`; + kz += `【宝箱奖励${box.data.count}】:获得${box.data.amount}金币\n`; + } + + resolve(); + }); + }); +} +// 宝箱奖励翻倍 +function qqreadbox2() { + return new Promise((resolve, reject) => { + const toqqreadbox2url = { + url: + "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video", + headers: JSON.parse(qqreadtimeheaderVal), + timeout: 60000, + }; + $.get(toqqreadbox2url, (error, response, data) => { + if (logs) $.log(`宝箱奖励翻倍: ${data}`); + let box2 = JSON.parse(data); + if (box2.code == 0 && box2.data.amount) { + tz += `【宝箱翻倍】:获得${box2.data.amount}金币\n`; + kz += `【宝箱翻倍】:获得${box2.data.amount}金币\n`; + } + resolve(); + }); + }); +} +function getNodeCookie() { + if ($.isNode()) { + let QQ_READ_BODY_VAL = [], QQ_READ_TIME_URL_VAL = [], QQ_READ_TIME_HEADER_VAL = []; + if (process.env.QQ_READ_HEADER_VAL) { + if (process.env.QQ_READ_HEADER_VAL.indexOf('@') > -1) { + console.log(`您的QQ_READ_HEADER_VAL选择的是用@隔开\n`) + QQ_READ_BODY_VAL = process.env.QQ_READ_HEADER_VAL.split('@'); + } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { + console.log(`您的QQ_READ_HEADER_VAL选择的是用换行隔开\n`) + QQ_READ_BODY_VAL = process.env.QQ_READ_HEADER_VAL.split('\n'); + } else { + QQ_READ_BODY_VAL = [process.env.QQ_READ_HEADER_VAL]; + } + } + if (process.env.QQ_READ_TIME_URL_VAL) { + if (process.env.QQ_READ_TIME_URL_VAL.indexOf('@') > -1) { + console.log(`您的QQ_READ_TIME_URL_VAL选择的是用@隔开\n`) + QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('@'); + } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { + console.log(`您的QQ_READ_TIME_URL_VAL选择的是用换行隔开\n`) + QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('\n'); + } else { + QQ_READ_TIME_URL_VAL = [process.env.QQ_READ_TIME_URL_VAL]; + } + // QQ_READ_TIME_URL_VAL = [...new Set(QQ_READ_TIME_URL_VAL)] + } + if (process.env.QQ_READ_TIME_HEADER_VAL) { + if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('@') > -1) { + console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用@隔开\n`) + QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('@'); + } else if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('\n') > -1) { + console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用换行隔开\n`) + QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('\n'); + } else { + QQ_READ_TIME_HEADER_VAL = [process.env.QQ_READ_TIME_HEADER_VAL]; + } + // QQ_READ_TIME_HEADER_VAL = [...new Set(QQ_READ_TIME_HEADER_VAL)] + } + if (QQ_READ_BODY_VAL && QQ_READ_BODY_VAL.length > 0) QQ_READ_COOKIES = []; + for (let i = 0; i < QQ_READ_BODY_VAL.length; i ++) { + QQ_READ_COOKIES.push({ + "qqreadbodyVal": QQ_READ_BODY_VAL[i] || "", + "qqreadtimeurlVal": QQ_READ_TIME_URL_VAL[i] || "", + "qqreadtimeheaderVal": QQ_READ_TIME_HEADER_VAL[i] || "" + }) + } + // console.log(`${JSON.stringify(QQ_READ_COOKIES)}`) + } +} +// 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 From c87916a8b89fa1138c57ceab15a67c8d651866dc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 11:40:21 +0800 Subject: [PATCH 0635/1259] fix --- jd_get_share_code.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 5b44c5cb..a23754d1 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -661,5 +661,16 @@ function taskPostUrl(function_id, body = {}, function_id2) { }, }; } +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("",`\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)} From 845cd8ce828c2ba4d258b0bb68bfebb5c3891e7c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 16:02:25 +0800 Subject: [PATCH 0636/1259] fix jd_joy_run.js --- README.md | 3 ++- jd_joy_run.js | 66 ++++++++++++++++++++++++++------------------------- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 245ab57f..68c4d189 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,8 @@ **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** **TODO** -- [ ] 所有活动互助码在一个脚本打印 +- [x] 所有活动互助码在一个脚本打印 +- [ ] 京喜工厂添加预测N天后可兑换功能 ## 邀请码互助 - [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) diff --git a/jd_joy_run.js b/jd_joy_run.js index 2b18c1e0..66e3d520 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -1,6 +1,6 @@ /** 宠汪汪邀请助力与赛跑助力脚本,感谢github@Zero-S1提供帮助 -更新时间:2020-12-16(宠汪汪助力更新Token的配置正则表达式已改) +更新时间:2021-1-6(宠汪汪助力更新Token的配置正则表达式已改) token时效很短,几个小时就失效了,闲麻烦的放弃就行 每天拿到token后,可一次性运行完毕即可。 @@ -245,37 +245,39 @@ async function invite(invite_pins) { for (let item of invite_pins.map(item => item.trim())) { console.log(`\n账号${$.index} [${UserName}] 开始给好友 [${item}] 进行邀请助力`) const data = await enterRoom(item); - if (!data.success && data.errorCode === 'B0001') { - console.log('京东Cookie失效'); - $.msg($.name, `【提示】京东cookie已失效`, `京东账号${$.index} ${UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - $.jdLogin = false; - break - } else { - const { helpStatus } = data.data; - console.log(`helpStatus ${helpStatus}`) - if (helpStatus=== 'help_full') { - console.log(`您的邀请助力机会已耗尽\n`) - break; - } else if (helpStatus=== 'cannot_help') { - console.log(`已给该好友 ${item} 助力过或者此friendPin是你自己\n`) - continue; - } else if (helpStatus=== 'invite_full') { - console.log(`助力失败,该好友 ${item} 已经满3人给他助力了,无需您再次助力\n`) - continue; - } else if (helpStatus=== 'can_help') { - console.log(`开始给好友 ${item} 助力\n`) - const LKYL_DATA = await helpInviteFriend(item); - if (LKYL_DATA.errorCode === 'L0001' && !LKYL_DATA.success) { - console.log('来客有礼宠汪汪token失效'); - $.setdata('', 'jdJoyRunToken'); - $.msg($.name, '【提示】来客有礼token失效,请重新获取', "微信搜索'来客有礼'小程序\n点击底部的'发现'Tab\n即可获取Token") - $.LKYLLogin = false; - break - } else { - $.LKYLLogin = true; + if (data) { + if (!data.success && data.errorCode === 'B0001') { + console.log('京东Cookie失效'); + $.msg($.name, `【提示】京东cookie已失效`, `京东账号${$.index} ${UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); + $.jdLogin = false; + break + } else { + const { helpStatus } = data.data; + console.log(`helpStatus ${helpStatus}`) + if (helpStatus=== 'help_full') { + console.log(`您的邀请助力机会已耗尽\n`) + break; + } else if (helpStatus=== 'cannot_help') { + console.log(`已给该好友 ${item} 助力过或者此friendPin是你自己\n`) + continue; + } else if (helpStatus=== 'invite_full') { + console.log(`助力失败,该好友 ${item} 已经满3人给他助力了,无需您再次助力\n`) + continue; + } else if (helpStatus=== 'can_help') { + console.log(`开始给好友 ${item} 助力\n`) + const LKYL_DATA = await helpInviteFriend(item); + if (LKYL_DATA.errorCode === 'L0001' && !LKYL_DATA.success) { + console.log('来客有礼宠汪汪token失效'); + $.setdata('', 'jdJoyRunToken'); + $.msg($.name, '【提示】来客有礼token失效,请重新获取', "微信搜索'来客有礼'小程序\n点击底部的'发现'Tab\n即可获取Token") + $.LKYLLogin = false; + break + } else { + $.LKYLLogin = true; + } } + $.jdLogin = true; } - $.jdLogin = true; } } // if ($.inviteReward > 0) { @@ -293,8 +295,8 @@ function enterRoom(invitePin) { $.get(options, (err, resp, data) => { try { if (err) { - $.log('API请求失败') - $.logErr(JSON.stringify(err)); + $.log(`${$.name} API请求失败`) + $.log(JSON.stringify(err)) } else { data = JSON.parse(data); // console.log('进入房间', data) From bf39001c844d446b632727d5bed83b06545f9fed Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 16:20:10 +0800 Subject: [PATCH 0637/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20jd=5Fjoy=5Frun.j?= =?UTF-8?q?s=E9=82=80=E8=AF=B7=E5=8A=A9=E5=8A=9B=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_run.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 66e3d520..a8f414d7 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -246,12 +246,7 @@ async function invite(invite_pins) { console.log(`\n账号${$.index} [${UserName}] 开始给好友 [${item}] 进行邀请助力`) const data = await enterRoom(item); if (data) { - if (!data.success && data.errorCode === 'B0001') { - console.log('京东Cookie失效'); - $.msg($.name, `【提示】京东cookie已失效`, `京东账号${$.index} ${UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - $.jdLogin = false; - break - } else { + if (data.success) { const { helpStatus } = data.data; console.log(`helpStatus ${helpStatus}`) if (helpStatus=== 'help_full') { @@ -277,6 +272,13 @@ async function invite(invite_pins) { } } $.jdLogin = true; + } else { + if (data.errorCode === 'B0001') { + console.log('京东Cookie失效'); + $.msg($.name, `【提示】京东cookie已失效`, `京东账号${$.index} ${UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); + $.jdLogin = false; + break + } } } } @@ -289,10 +291,11 @@ function enterRoom(invitePin) { headers.Cookie = cookie; headers.LKYLToken = $.LKYLToken; const options = { - url: `${JD_BASE_API}/enterRoom?reqSource=weapp&invitePin=${encodeURI(invitePin)}`, + url: `${JD_BASE_API}/enterRoom/h5?reqSource=weapp&invitePin=${encodeURI(invitePin)}&inviteSource=task_invite&shareSource=weapp&inviteTimeStamp=${Date.now()}`, + body: '{}', headers } - $.get(options, (err, resp, data) => { + $.post(options, (err, resp, data) => { try { if (err) { $.log(`${$.name} API请求失败`) From 8bbb82a1595117573028172c53f802338927d0f9 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 6 Jan 2021 22:33:34 +0800 Subject: [PATCH 0638/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_joy.js b/jd_joy.js index 84252778..1a204b24 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -475,16 +475,16 @@ function followShop(shopId) { } function enterRoom() { return new Promise(resolve => { - const url = `${weAppUrl}/enterRoom?reqSource=weapp`; + const url = `${weAppUrl}/enterRoom/h5?reqSource=weapp&invitePin=&openId=`; const host = `draw.jdfcloud.com`; const reqSource = 'weapp'; - $.get(taskUrl(url, host, reqSource), (err, resp, data) => { + $.post({...taskUrl(url, host, reqSource),body:'{}'}, (err, resp, data) => { try { if (err) { console.log('\n京东宠汪汪: API查询请求失败 ‼️‼️') } else { // console.log('JSON.parse(data)', JSON.parse(data)) - + $.roomData = JSON.parse(data); console.log(`现有狗粮: ${$.roomData.data.petFood}\n`) From c9f22616144473cd3baa8e50030180122835ea01 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 22:55:20 +0800 Subject: [PATCH 0639/1259] Update qqread.js --- backUp/qqread.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backUp/qqread.js b/backUp/qqread.js index e1e2639b..abb07afa 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -218,12 +218,12 @@ async function QQ_READ() { if (task.data.user.amount >= 100000) { await qqreadwithdraw(); } - await showmsg();//通知 } + await showmsg();//通知 } function showmsg() { return new Promise(async resolve => { - if (nowTimes.getHours() === 22 && (nowTimes.getMinutes() > 0 && nowTimes.getMinutes() <= 15)) { + if (nowTimes.getHours() === 22 && (nowTimes.getMinutes() > 45 && nowTimes.getMinutes() <= 59)) { await notify.sendNotify(jsname, tz); } $.msg(jsname, "", tz); From 1e585d660b3f35c0bae503801a423f87dd6b64d6 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 6 Jan 2021 23:22:57 +0800 Subject: [PATCH 0640/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E6=B1=BD=E8=BD=A6=E5=85=91=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东汽车兑换 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index d78fe00b..0ec42cab 100644 --- a/serverless.yml +++ b/serverless.yml @@ -22,12 +22,12 @@ inputs: cronExpression: "0 0 0 * * * *" enable: true argument: jd_bean_sign - - timer: #京小超兑换奖品 #摇京豆 #京东汽车 + - timer: #京小超兑换奖品 #摇京豆 #京东汽车 #京东汽车兑换 parameters: - name: jd_blueCoin_jd_club_lottery_car + name: jd_blueCoin_jd_club_lottery_car_car_exchange cronExpression: "0 0 0 * * * *" enable: true - argument: jd_blueCoin&jd_club_lottery&jd_car + argument: jd_blueCoin&jd_club_lottery&jd_car&jd_car_exchange - timer: # 东东农场# 东东萌宠 parameters: name: jd_fruit_jd_pet From 988f62acfa057a702cf773fa51a506e9b3a2075c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 6 Jan 2021 23:30:28 +0800 Subject: [PATCH 0641/1259] Update lxk0301_Task.sgmodule.sgmodule --- Surge/lxk0301_Task.sgmodule.sgmodule | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index f359b012..05983570 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -56,7 +56,9 @@ cron "40 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip #领京豆额外奖励 cron "30 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, timeout=750, wake-system=1, tag=领京豆额外奖励 #京东汽车 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 +cron "0 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 +#京东汽车积分兑换京豆 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, timeout=2750, wake-system=1, tag=京东汽车积分兑换京豆 #京东快递签到 cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) From f9503e792ee7af191e9323103abd06f3e6cc1b39 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 7 Jan 2021 12:54:35 +0800 Subject: [PATCH 0642/1259] fix jd_bean_sign.js --- jd_bean_sign.js | 4 ++-- sendNotify.js | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index fb3fee0e..bf57c6d0 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -1,7 +1,7 @@ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 -更新时间:2021-1-4 +更新时间:2021-1-7 从 github @ruicky改写而来 version v0.0.1 create by ruicky @@ -76,7 +76,7 @@ async function execSign() { const barkContentStart = notifyContent.indexOf('【签到概览】') const barkContentEnd = notifyContent.length; if (process.env.JD_BEAN_SIGN_STOP_NOTIFY === 'true') return - if (notify.BARK_PUSH) process.env.JD_BEAN_SIGN_NOTIFY_SIMPLE = 'true'; + if (process.env.BARK_PUSH || notify.BARK_PUSH) process.env.JD_BEAN_SIGN_NOTIFY_SIMPLE = 'true'; if (process.env.JD_BEAN_SIGN_NOTIFY_SIMPLE === 'true') { if (barkContentStart > -1 && barkContentEnd > -1) { BarkContent = notifyContent.substring(barkContentStart, barkContentEnd); diff --git a/sendNotify.js b/sendNotify.js index df0be539..071c6184 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -2,7 +2,7 @@ * @Author: lxk0301 https://github.com/lxk0301 * @Date: 2020-08-19 16:12:40 * @Last Modified by: lxk0301 - * @Last Modified time: 2021-1-5 17:52:54 + * @Last Modified time: 2021-1-7 17:52:54 */ const querystring = require("querystring"); const $ = new Env(); @@ -595,7 +595,8 @@ function pushPlusNotify(text, desp) { } module.exports = { - sendNotify + sendNotify, + BARK_PUSH } // 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;$.isMute||(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)} From 73a316b66d731afab1360c989f362ba961865c03 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 7 Jan 2021 13:36:42 +0800 Subject: [PATCH 0643/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B1=BD=E8=BD=A6?= =?UTF-8?q?=E6=97=85=E7=A8=8B=E8=B5=9B=E7=82=B9=E5=85=91=E6=8D=A2=E9=87=91?= =?UTF-8?q?=E8=B1=86=E3=80=81=E5=AF=BC=E5=87=BA=E6=89=80=E6=9C=89=E4=BA=92?= =?UTF-8?q?=E5=8A=A9=E7=A0=81=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 4dbf59b8..d1aa1383 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -4,8 +4,9 @@ 50 23 */3 * * rm -rf /scripts/logs/*.log ##############短期活动############## -# 健康抽奖机(2020.12.31活动过期) +# 健康抽奖机 10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 + ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 @@ -77,3 +78,7 @@ 44 4 * * 6 node /scripts/jd_unbind.js >> /scripts/logs/jd_unbind.log 2>&1 # crazyJoy自动每日任务 10 7 * * * node /scripts/jd_crazy_joy.js >> /scripts/logs/jd_crazy_joy.log 2>&1 +# 京东汽车旅程赛点兑换金豆 +0 0 * * * node /scripts/jd_car_exchange.js >> /scripts/logs/jd_car_exchange.log 2>&1 +# 导到所有互助码 +47 7 * * * node /scripts/jd_get_share_code.js >> /scripts/logs/jd_get_share_code.log 2>&1 From 3d69daa6e44c38166ae4de5ea444ed6db73c8ada Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 7 Jan 2021 14:05:50 +0800 Subject: [PATCH 0644/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20jd=5Fjoy=5Frun.j?= =?UTF-8?q?s=E9=82=80=E8=AF=B7=E5=8A=A9=E5=8A=9B=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=9A=84bug(Env=E6=B2=A1=E6=B7=B1=E6=8B=B7?= =?UTF-8?q?=E8=B4=9D=E5=86=8D=E5=81=9A=E5=88=A0=E9=99=A4Content-Type?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E7=9A=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_run.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index a8f414d7..3e0e4899 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -1,6 +1,6 @@ /** 宠汪汪邀请助力与赛跑助力脚本,感谢github@Zero-S1提供帮助 -更新时间:2021-1-6(宠汪汪助力更新Token的配置正则表达式已改) +更新时间:2021-1-7(宠汪汪助力更新Token的配置正则表达式已改) token时效很短,几个小时就失效了,闲麻烦的放弃就行 每天拿到token后,可一次性运行完毕即可。 @@ -41,7 +41,7 @@ const JD_BASE_API = `https://draw.jdfcloud.com//pet`; //下面给出好友邀请助力的示例填写规则 let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd"]; //下面给出好友赛跑助力的示例填写规则 -let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_704a2e5e28a66"]; +let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_45a6b5953b15b,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_704a2e5e28a66,zooooo58"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); // $.LKYLToken = $.getdata('jdJoyRunToken'); const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"]; @@ -290,6 +290,7 @@ function enterRoom(invitePin) { return new Promise(resolve => { headers.Cookie = cookie; headers.LKYLToken = $.LKYLToken; + headers['Content-Type'] = "application/json"; const options = { url: `${JD_BASE_API}/enterRoom/h5?reqSource=weapp&invitePin=${encodeURI(invitePin)}&inviteSource=task_invite&shareSource=weapp&inviteTimeStamp=${Date.now()}`, body: '{}', @@ -301,8 +302,8 @@ function enterRoom(invitePin) { $.log(`${$.name} API请求失败`) $.log(JSON.stringify(err)) } else { - data = JSON.parse(data); // console.log('进入房间', data) + data = JSON.parse(data); } } catch (e) { $.logErr(e, resp) From ef8bf2ed01c248836860f555d2e2d7ef50379b17 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 7 Jan 2021 18:08:26 +0800 Subject: [PATCH 0645/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E8=B6=85=E5=B8=82?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E5=BC=80=E5=BA=97=E9=93=BA=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E5=8D=A1=E5=BE=97=E8=93=9D=E5=B8=81=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?(=E5=81=87=E5=85=A5=E4=BC=9A)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_car_exchange.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_car_exchange.js b/jd_car_exchange.js index 69f923be..a91eeb18 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -55,8 +55,8 @@ const JD_API_HOST = 'https://car-member.jd.com/api/'; if (cookiesArr[i]) { cookie = cookiesArr[i]; $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - console.log(`京东账号${i}`) $.index = i + 1; + console.log(`京东账号${$.index} ${$.UserName}`) $.isLogin = true; $.nickName = ''; message = ''; From b0e423b8b3f3938d50f79705d56a354b29b182e5 Mon Sep 17 00:00:00 2001 From: everbef0re Date: Thu, 7 Jan 2021 21:05:49 +0800 Subject: [PATCH 0646/1259] remove 404 scripts --- QuantumultX/lxk0301_gallery.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index a3709536..913a5b0c 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -24,20 +24,14 @@ "13 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", "0 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", - "15 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", - "30 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png", "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "40 9,10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_watch.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png", "14 11 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", "44 12 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", "30 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "1 0,20,9-23/2 15-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "10 12 1-31 12 * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=京东金融打卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" ] } From 7fdfd6c21335f2fae62ac4447051cd651b379c1e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 8 Jan 2021 09:13:37 +0800 Subject: [PATCH 0647/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20jd=5Fget=5Fshare?= =?UTF-8?q?=5Fcode.js=20=E9=A1=B6=E9=83=A8=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_car_exchange.js | 6 +++++- jd_get_share_code.js | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/jd_car_exchange.js b/jd_car_exchange.js index a91eeb18..c203e2d3 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -1,7 +1,11 @@ /* 京东汽车兑换,500赛点兑换500京豆 长期活动 -活动入口:首页👉京东汽车兑换👉屏幕右中部,车主福利 + +活动入口 +京东APP:首页👉京东汽车兑换👉屏幕右中部,车主福利 +活动网页地址:https://h5.m.jd.com/babelDiy/Zeus/44bjzCpzH9GpspWeBzYSqBA7jEtP/index.html#/journey + 更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js diff --git a/jd_get_share_code.js b/jd_get_share_code.js index a23754d1..92a07997 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -1,3 +1,25 @@ +/* +一键获取我仓库所以脚本的互助码(邀请码)(其中京东赚赚jd_jdzz.js如果今天达到5人助力则不能提取互助码) +没必要设置(cron)定时执行,需要的时候,自己手动执行一次即可 + +更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#获取互助码 +20 13 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, enabled=true + +================Loon============== +[Script] +cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码 + +===============Surge================= +获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js + +============小火箭========= +获取互助码 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js, cronexpr="20 13 * * 6", timeout=200, enable=true + */ const $ = new Env("获取互助码"); const JD_API_HOST = "https://api.m.jd.com/client.action"; let cookiesArr = [], cookie = '', message; From 6d0fa06d3021f5245564f43b8f645a153e1a2c11 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 8 Jan 2021 10:22:49 +0800 Subject: [PATCH 0648/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20jd=5Fget=5Fshare?= =?UTF-8?q?=5Fcode.js=20=E9=A1=B6=E9=83=A8=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_get_share_code.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 92a07997..8a6e1edc 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -1,5 +1,5 @@ /* -一键获取我仓库所以脚本的互助码(邀请码)(其中京东赚赚jd_jdzz.js如果今天达到5人助力则不能提取互助码) +一键获取我仓库所有需要互助类脚本的互助码(邀请码)(其中京东赚赚jd_jdzz.js如果今天达到5人助力则不能提取互助码) 没必要设置(cron)定时执行,需要的时候,自己手动执行一次即可 更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js @@ -152,6 +152,7 @@ if ($.isNode()) { cookiesArr.reverse(); cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); cookiesArr.reverse(); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !(async () => { if (!cookiesArr[0]) { @@ -170,9 +171,7 @@ if ($.isNode()) { if (!$.isLogin) { continue } - console.log(`======账号${$.index}开始======`) await getShareCode() - console.log(`======账号${$.index}结束======\n`) } } })() @@ -598,6 +597,7 @@ async function getJoy(){ }) } async function getShareCode() { + console.log(`======账号${$.index}开始======`) await getJdFactory() await getJxFactory() await getJdPet() @@ -605,6 +605,7 @@ async function getShareCode() { await getJDFruit() await getJdZZ() await getJoy() + console.log(`======账号${$.index}结束======\n`) } function safeGet(data) { From ddf453c72e289eddc07ff8d44e720d2e48cc1398 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Fri, 8 Jan 2021 15:30:28 +0800 Subject: [PATCH 0649/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=86=9C=E5=9C=BA=E4=BA=92=E5=8A=A9=E7=A0=81=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_get_share_code.js | 53 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 8a6e1edc..6ed99774 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -244,7 +244,7 @@ function getJxFactory(){ try { if (err) { console.log(`${JSON.stringify(err)}`); - console.log(`惊喜工厂 API请求失败,请检查网路重试`); + console.log(`京喜工厂 API请求失败,请检查网路重试`); } else { if (safeGet(data)) { data = JSON.parse(data); @@ -262,7 +262,7 @@ function getJxFactory(){ $.commodityDimId = production.commodityDimId; $.encryptPin = data.user.encryptPin; // subTitle = data.user.pin; - console.log(`【账号${$.index}(${$.nickName || $.UserName})惊喜工厂】${data.user.encryptPin}`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜工厂】${data.user.encryptPin}`); } } else { $.unActive = false; //标记是否开启了京喜活动或者选购了商品进行生产 @@ -289,6 +289,54 @@ function getJxFactory(){ ); }) } + +function getJxNc(){ + const JXNC_API_HOST = "https://wq.jd.com/"; + + function JXNC_taskurl(function_path, body) { + return { + url: `${JXNC_API_HOST}cubeactive/farm/${function_path}?${body}&farm_jstoken=&phoneid=×tamp=&sceneval=2&g_login_type=1&_=${Date.now()}&g_ty=ls`, + headers: { + Cookie: cookie, + 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`, + }, + }; + } + + return new Promise(resolve => { + $.get( + JXNC_taskurl('query', `type=1`), + async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`); + console.log(`京喜农场 API请求失败,请检查网路重试`); + } else { + data = data.match(/try\{Query\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; + if (safeGet(data)) { + data = JSON.parse(data); + if (data["ret"] === 0) { + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场】${data["smp"]}`); + } + } else { + console.log(`京喜农场返回值解析异常:${JSON.stringify(data)}`); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve() + } + } + ); + }) +} + function getJdPet(){ const JDPet_API_HOST = "https://api.m.jd.com/client.action"; @@ -600,6 +648,7 @@ async function getShareCode() { console.log(`======账号${$.index}开始======`) await getJdFactory() await getJxFactory() + await getJxNc() await getJdPet() await getPlantBean() await getJDFruit() From a38c1358752f25840829cbe7bf0ae27ebb18d565 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 8 Jan 2021 17:45:34 +0800 Subject: [PATCH 0650/1259] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 4 ++-- QuantumultX/lxk0301_gallery.json | 1 - Surge/lxk0301_Task.sgmodule.sgmodule | 2 -- jd_health.js => activity/jd_health.js | 4 ++-- docker/crontab_list.sh | 5 +---- 5 files changed, 5 insertions(+), 11 deletions(-) rename jd_health.js => activity/jd_health.js (99%) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 13ff0c41..712c0570 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -103,7 +103,7 @@ cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 # 京东健康 -cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 +#cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 # 京东赚赚 cron "10 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 # 京东秒杀红包雨 @@ -120,6 +120,6 @@ cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd # 金融打卡领年终奖 # cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 -cron "10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 +#cron "10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 # 疯狂的joy日常任务 cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 913a5b0c..5007c2d3 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -27,7 +27,6 @@ "10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", - "30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "14 11 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", "44 12 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 05983570..a4d788f1 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -63,8 +63,6 @@ cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_script cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 -#京东健康 -cron "20 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, timeout=750, wake-system=1, tag=京东健康 #京东赚赚 cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 #注销京东店铺会员卡 diff --git a/jd_health.js b/activity/jd_health.js similarity index 99% rename from jd_health.js rename to activity/jd_health.js index b05005d0..2004003c 100644 --- a/jd_health.js +++ b/activity/jd_health.js @@ -21,9 +21,9 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scrip */ const $ = new Env('健康抽奖机'); -const notify = $.isNode() ? require('./sendNotify') : ''; +const notify = $.isNode() ? require('../sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index d1aa1383..73dc2ed6 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -4,8 +4,7 @@ 50 23 */3 * * rm -rf /scripts/logs/*.log ##############短期活动############## -# 健康抽奖机 -10 0 * * * node /scripts/jd_health.js >> /scripts/logs/jd_health.log 2>&1 + ##############长期活动############## # 签到 @@ -60,8 +59,6 @@ 36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 # 十元街 36 8,18 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1 -# 京东代属(注:限校园用户可使用) -# 36 9 * * * node /scripts/jd_ds.js >> /scripts/logs/jd_ds.log 2>&1 # 京东快递签到 23 1 * * * node /scripts/jd_kd.js >> /scripts/logs/jd_kd.log 2>&1 # 京东汽车(签到满500赛点可兑换500京豆) From 5b7d282dadece80cbe43574318dbc575695daef4 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 8 Jan 2021 18:41:25 +0800 Subject: [PATCH 0651/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E8=BF=87=E6=9C=9F=E7=9A=84=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数去除过期的活动 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 0ec42cab..5e3490bb 100644 --- a/serverless.yml +++ b/serverless.yml @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live - - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 #健康抽奖机 + - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 parameters: - name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home_health + name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home&jd_health + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home - timer: # 京东天天加速# 天天提鹅 parameters: name: jd_speed_jd_daily_egg From c37c09aa6b4d035b628442e7d71454655b2d5bd8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 01:05:35 +0800 Subject: [PATCH 0652/1259] Update jd_dreamFactory.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 尝试修复领取电力火爆 --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 713a46f9..a1a6dcc8 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -117,7 +117,7 @@ function collectElectricity(facId = $.factoryId, help = false, master) { // if (help && master) { // url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&factoryid=${facId}&master=${master}&sceneval=2&g_login_type=1`; // } - let body = `factoryid=${facId}&apptoken=&pgtimestamp=&phoneID=&doubleflag=1`; + let body = `factoryid=${facId}&apptoken=&pgtimestamp=&phoneID&doubleflag=1&_stk=_time,apptoken,doubleflag,factoryid,pgtimestamp,phoneID,timeStamp,zone`; if (help && master) { body += `factoryid=${facId}&master=${master}`; } From 604b30976b69145d256f34fcc47e9a347a3d3c77 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 01:07:10 +0800 Subject: [PATCH 0653/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index a1a6dcc8..9ccd7986 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -117,7 +117,7 @@ function collectElectricity(facId = $.factoryId, help = false, master) { // if (help && master) { // url = `/dreamfactory/generator/CollectCurrentElectricity?zone=dream_factory&factoryid=${facId}&master=${master}&sceneval=2&g_login_type=1`; // } - let body = `factoryid=${facId}&apptoken=&pgtimestamp=&phoneID&doubleflag=1&_stk=_time,apptoken,doubleflag,factoryid,pgtimestamp,phoneID,timeStamp,zone`; + let body = `factoryid=${facId}&apptoken=&pgtimestamp=&phoneID=&doubleflag=1&_stk=_time,apptoken,doubleflag,factoryid,pgtimestamp,phoneID,timeStamp,zone`; if (help && master) { body += `factoryid=${facId}&master=${master}`; } From 63704db58de0c56c0d7e0026923a06b3922d469a Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sat, 9 Jan 2021 01:47:40 +0800 Subject: [PATCH 0654/1259] =?UTF-8?q?=E6=A0=BC=E5=AD=90=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E8=A2=AB=E5=8D=A0=E6=9C=89=E4=B8=94=E6=B2=A1=E6=9C=89=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E5=90=88=E5=B9=B6=E7=9A=84JOY=EF=BC=8C=E5=8F=AA?= =?UTF-8?q?=E8=83=BD=E5=9B=9E=E6=94=B6=E4=BD=8E=E7=BA=A7=E7=9A=84JOY?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 62 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 8824b85a..ceaf0e1b 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -210,6 +210,16 @@ async function jdJxStory() { $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) } + + // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY + if(checkHasFullOccupied() && !checkCanMerge()) { + const minYoyId = Math.min(...$.joyIds); + const boxId = $.joyIds.indexOf(minYoyId); + console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minYoyId}的JOY`) + await sellJoy(minYoyId, boxId); + await getJoyList(); + } + for (let i = 0; i < $.joyIds.length; ++i) { if (!$.canBuy) { $.log(`金币不足,跳过购买`) @@ -248,6 +258,26 @@ async function jdJxStory() { console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) } +function checkHasFullOccupied() { + return !$.joyIds.includes(0); +} + +function checkCanMerge() { + let obj = {}; + let canMerge = false; + $.joyIds.forEach((vo, idx) => { + if (vo !== 0) { + if (obj[vo]) { + obj[vo].push(idx) + canMerge = true; + } else { + obj[vo] = [idx] + } + } + }); + return canMerge; +} + function getJoyList() { $.joyIds = [] return new Promise(async resolve => { @@ -362,6 +392,38 @@ function buyJoy(joyId) { }) } +// 出售(回收)joy +function sellJoy(joyId, boxId) { + const body = {"action": "SELL", "joyId": joyId, "boxId": boxId} + return new Promise((resolve) => { + $.get(taskUrl('crazyJoy_joy_trade', JSON.stringify(body)), async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + data = JSON.parse(data); + if (data.success) { + if (data.data.eventInfo) { + await openBox(data.data.eventInfo.eventType, data.data.eventInfo.eventRecordId) + $.canBuy = false + return + } + $.log(`回收${joyId}级joy成功,剩余金币【${data.data.totalCoins}】`) + $.coin = data.data.totalCoins + } else { + console.log(data.message) + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }) + }) +} + function hourBenefit() { let body = {"eventType": "HOUR_BENEFIT"} return new Promise(async resolve => { From 9f641295a695ef5b9f195bb59d9735f0b0de99f6 Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sat, 9 Jan 2021 01:52:05 +0800 Subject: [PATCH 0655/1259] =?UTF-8?q?=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index ceaf0e1b..25969487 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -213,10 +213,10 @@ async function jdJxStory() { // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY if(checkHasFullOccupied() && !checkCanMerge()) { - const minYoyId = Math.min(...$.joyIds); - const boxId = $.joyIds.indexOf(minYoyId); - console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minYoyId}的JOY`) - await sellJoy(minYoyId, boxId); + const minJoyId = Math.min(...$.joyIds); + const boxId = $.joyIds.indexOf(minJoyId); + console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minJoyId}的JOY`) + await sellJoy(minJoyId, boxId); await getJoyList(); } From a40409ae58495af877e5a8468f125b421597e811 Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sat, 9 Jan 2021 10:03:22 +0800 Subject: [PATCH 0656/1259] =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=90=88=E5=B9=B6=EF=BC=8C=E5=BF=BD=E7=95=A5?= =?UTF-8?q?=E6=8E=8934=E7=BA=A7JOY?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 25969487..4119d7c7 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -266,7 +266,7 @@ function checkCanMerge() { let obj = {}; let canMerge = false; $.joyIds.forEach((vo, idx) => { - if (vo !== 0) { + if (vo !== 0 && vo !== 34) { if (obj[vo]) { obj[vo].push(idx) canMerge = true; From 086067dc825d74ed036242aae48250aa9a9ff91a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 11:23:06 +0800 Subject: [PATCH 0657/1259] Update jd_pet.js --- jd_pet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index 3586c920..31662e47 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -123,7 +123,7 @@ async function jdPet() { await petSport();//遛弯 await slaveHelp();//助力好友 - await masterHelpInit();//获取助力的信息 + //await masterHelpInit();//获取助力的信息 await doTask();//做日常任务 await feedPetsAgain();//再次投食 await energyCollect();//收集好感度 @@ -628,4 +628,4 @@ function taskUrl(function_id, body = {}) { }; } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} From 38dc4927b9c5bf62f36b10da57cf67fbe312bf33 Mon Sep 17 00:00:00 2001 From: liandong00 Date: Sat, 9 Jan 2021 13:13:12 +0800 Subject: [PATCH 0658/1259] Update default_task.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复本地自定义shell脚本的没执行的问题 --- docker/default_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 26da7f0f..6c4bfe94 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -127,7 +127,7 @@ else sh -x /scripts/docker/shell_script_mod.sh echo "自定义远程shell脚本下载并执行结束。" else - if [ !$CUSTOM_SHELL_FILE ]; then + if [ ! -f $CUSTOM_SHELL_FILE ]; then echo "自定义shell脚本为docker挂载脚本文件,但是指定挂载文件不存在,跳过执行。" else echo "docker挂载的自定shell脚本,开始执行..." From 64eca6f55ed5c145c993dd4dc5d97a8cf46bcd55 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 13:53:14 +0800 Subject: [PATCH 0659/1259] =?UTF-8?q?=E4=B9=8B=E5=89=8Dnobady=E8=8E=B7?= =?UTF-8?q?=E5=8F=96cookie=E7=9A=84=E5=9C=B0=E5=9D=80=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E5=A4=B1=E6=95=88=EF=BC=8C=E5=BC=B9=E7=AA=97=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E6=9B=B4=E6=8D=A2=E6=88=90=E6=96=B0=E7=9A=84?= =?UTF-8?q?=20https://bean.m.jd.com/bean/signIndex.action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_818.js | 4 ++-- activity/jd_apple_live.js | 4 ++-- activity/jd_collectProduceScore.js | 2 +- activity/jd_digital_floor.js | 4 ++-- activity/jd_ds.js | 4 ++-- activity/jd_health.js | 4 ++-- activity/jd_jdh.js | 4 ++-- activity/jd_jxstory.js | 4 ++-- activity/jd_live_redrain.js | 4 ++-- activity/jd_live_redrain2.js | 4 ++-- activity/jd_mohe.js | 2 +- activity/jd_ms_redrain.js | 4 ++-- activity/jd_pubg.js | 4 ++-- activity/jd_split.js | 4 ++-- activity/jd_watch.js | 4 ++-- activity/jd_xtg.js | 4 ++-- activity/jr_sign.js | 4 ++-- backUp/cashSign.js | 2 +- backUp/jd_fruit_double.js | 4 ++-- backUp/jd_joy2.js | 4 ++-- backUp/jd_moneyTree2.js | 4 ++-- backUp/jd_pet_double.js | 4 ++-- backUp/jd_plantBean_double.js | 4 ++-- backUp/jd_speed2.js | 4 ++-- jd_bean_change.js | 10 +++++----- jd_bean_home.js | 4 ++-- jd_bean_sign.js | 2 +- jd_blueCoin.js | 4 ++-- jd_car.js | 4 ++-- jd_car_exchange.js | 2 +- jd_club_lottery.js | 4 ++-- jd_crazy_joy.js | 8 ++++---- jd_crazy_joy_coin.js | 2 +- jd_daily_egg.js | 4 ++-- jd_dreamFactory.js | 4 ++-- jd_fruit.js | 4 ++-- jd_get_share_code.js | 2 +- jd_jdfactory.js | 4 ++-- jd_jdzz.js | 4 ++-- jd_joy.js | 4 ++-- jd_joy_feedPets.js | 4 ++-- jd_joy_reward.js | 4 ++-- jd_joy_run.js | 4 ++-- jd_joy_steal.js | 4 ++-- jd_kd.js | 4 ++-- jd_live.js | 4 ++-- jd_moneyTree.js | 4 ++-- jd_necklace.js | 4 ++-- jd_pet.js | 4 ++-- jd_pigPet.js | 4 ++-- jd_plantBean.js | 4 ++-- jd_redPacket.js | 4 ++-- jd_shop.js | 4 ++-- jd_small_home.js | 4 ++-- jd_speed.js | 4 ++-- jd_syj.js | 4 ++-- jd_unbind.js | 4 ++-- jd_unsubscribe.js | 4 ++-- 58 files changed, 114 insertions(+), 114 deletions(-) diff --git a/activity/jd_818.js b/activity/jd_818.js index 6acfba5c..4eff316e 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -61,7 +61,7 @@ const printUrl = `http://jd.turinglabs.net/helpcode/print/20/`; let helpCode = [] !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } $.temp = []; @@ -75,7 +75,7 @@ let helpCode = [] 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/"}); + $.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`); diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js index e2d04104..fd4e5c17 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -48,7 +48,7 @@ const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2b !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -62,7 +62,7 @@ const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2b 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/"}); + $.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`); diff --git a/activity/jd_collectProduceScore.js b/activity/jd_collectProduceScore.js index 59577df5..1ff64dc1 100644 --- a/activity/jd_collectProduceScore.js +++ b/activity/jd_collectProduceScore.js @@ -25,7 +25,7 @@ let UserName = ''; 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/"}); + $.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`) diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index 072a6e10..a7edd7d1 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -50,7 +50,7 @@ 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/', {"open-url": "https://bean.m.jd.com/"}); + $.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++) { @@ -64,7 +64,7 @@ const JD_API_HOST = 'https://digital-floor.m.jd.com/adf/index/'; 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/"}); + $.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`); diff --git a/activity/jd_ds.js b/activity/jd_ds.js index 46381bf9..2bcc833f 100644 --- a/activity/jd_ds.js +++ b/activity/jd_ds.js @@ -53,7 +53,7 @@ if ($.isNode()) { 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/"}); + $.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++) { @@ -67,7 +67,7 @@ const JD_API_HOST = 'https://api.m.jd.com/'; 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/"}); + $.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`); diff --git a/activity/jd_health.js b/activity/jd_health.js index 2004003c..aadc46d5 100644 --- a/activity/jd_health.js +++ b/activity/jd_health.js @@ -47,7 +47,7 @@ const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5m9c !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -61,7 +61,7 @@ const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5m9c 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/"}); + $.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`); diff --git a/activity/jd_jdh.js b/activity/jd_jdh.js index 9ff14775..0b286ee6 100644 --- a/activity/jd_jdh.js +++ b/activity/jd_jdh.js @@ -43,7 +43,7 @@ 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/', {"open-url": "https://bean.m.jd.com/"}); + $.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++) { @@ -57,7 +57,7 @@ $.newShareCodes = ['21d9b4b51a69839577027beb0aad5105', '8edbdfa148e78f028496cff1 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/"}); + $.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`); diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js index 45c79941..9f0333e1 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -51,7 +51,7 @@ if ($.isNode()) { !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -66,7 +66,7 @@ if ($.isNode()) { 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/"}); + $.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`); diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js index 4de7cad5..8474bb58 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -75,7 +75,7 @@ if ($.isNode()) { 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/"}); + $.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(`=====远程红包雨信息=====`) @@ -107,7 +107,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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/"}); + $.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`); diff --git a/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js index a575ab4d..2954ca20 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -47,7 +47,7 @@ if ($.isNode()) { 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/"}); + $.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(); @@ -63,7 +63,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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/"}); + $.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`); diff --git a/activity/jd_mohe.js b/activity/jd_mohe.js index 454b18da..129902a6 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -27,7 +27,7 @@ const JD_API_HOST = 'https://blindbox.jd.com'; let shareId = ''; !(async () => { if (!cookie) { - $.msg('【京东账号一】热8超级盲盒', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg('【京东账号一】热8超级盲盒', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); } else { UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); // await shareUrl(); diff --git a/activity/jd_ms_redrain.js b/activity/jd_ms_redrain.js index c2ea858e..22a82292 100644 --- a/activity/jd_ms_redrain.js +++ b/activity/jd_ms_redrain.js @@ -46,7 +46,7 @@ if ($.isNode()) { 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/"}); + $.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++) { @@ -60,7 +60,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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/"}); + $.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`); diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index cc22b60c..d2653ee4 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -144,7 +144,7 @@ const inviteCodes = ['65561ad5-af72-4d1c-a5be-37b3de372b67@2d5f579d-e6d1-479e-93 !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -158,7 +158,7 @@ const inviteCodes = ['65561ad5-af72-4d1c-a5be-37b3de372b67@2d5f579d-e6d1-479e-93 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/"}); + $.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`); diff --git a/activity/jd_split.js b/activity/jd_split.js index 717f09b7..d51c8339 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -47,7 +47,7 @@ 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/', {"open-url": "https://bean.m.jd.com/"}); + $.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++) { @@ -61,7 +61,7 @@ $.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5m9cZ2 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/"}); + $.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`); diff --git a/activity/jd_watch.js b/activity/jd_watch.js index f1f9f25a..57a67978 100644 --- a/activity/jd_watch.js +++ b/activity/jd_watch.js @@ -166,7 +166,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; console.log(`doBody:数量${doBody.length}\n`) } if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -180,7 +180,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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/"}); + $.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`); diff --git a/activity/jd_xtg.js b/activity/jd_xtg.js index 99aa581b..39eb2f5a 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -97,7 +97,7 @@ const shareID = [ const JD_API_HOST = 'https://urvsaggpt.m.jd.com/guardianstar'; !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -112,7 +112,7 @@ const JD_API_HOST = 'https://urvsaggpt.m.jd.com/guardianstar'; const beforeTotal = 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/"}); + $.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`); diff --git a/activity/jr_sign.js b/activity/jr_sign.js index 40c9a018..5de753f3 100644 --- a/activity/jr_sign.js +++ b/activity/jr_sign.js @@ -44,7 +44,7 @@ if ($.isNode()) { 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/"}); + $.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++) { @@ -58,7 +58,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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/"}); + $.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`); diff --git a/backUp/cashSign.js b/backUp/cashSign.js index 869d0daf..bd90401c 100644 --- a/backUp/cashSign.js +++ b/backUp/cashSign.js @@ -7,7 +7,7 @@ const cookie = Key ? Key : $.getdata('CookieJD'); const JD_API_HOST = 'https://api.m.jd.com/client.action'; !(async () => { if (!cookie) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } await cash_sign(); diff --git a/backUp/jd_fruit_double.js b/backUp/jd_fruit_double.js index 0472184c..406425a4 100644 --- a/backUp/jd_fruit_double.js +++ b/backUp/jd_fruit_double.js @@ -66,7 +66,7 @@ function* step() { let subTitle = '', UserName = ''; let option = {}; if (!cookie) { - $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); $.done(); return } @@ -741,7 +741,7 @@ function* step() { console.log('全部任务结束'); } else { if (farmInfo.code === '3') { - $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); $.setdata('', 'CookieJD');//cookie失效,故清空cookie。 $.done(); return diff --git a/backUp/jd_joy2.js b/backUp/jd_joy2.js index de114a48..d368268c 100644 --- a/backUp/jd_joy2.js +++ b/backUp/jd_joy2.js @@ -228,7 +228,7 @@ function* step() { console.log(`任务信息${JSON.stringify(petTaskConfig)}`) if (petTaskConfig.errorCode === 'B0001') { $.setdata('', 'CookieJD');//cookie失效,故清空cookie。 - $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); if ($.isNode() && notify.SCKEY) { notify.sendNotify(`京东账号${UserName}cookie已失效`, '请重新登录获取cookie'); } @@ -239,7 +239,7 @@ function* step() { } } } else { - $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { "open-url": "https://bean.m.jd.com/" }); + $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.done(); return } diff --git a/backUp/jd_moneyTree2.js b/backUp/jd_moneyTree2.js index 236beeeb..04b7fdda 100644 --- a/backUp/jd_moneyTree2.js +++ b/backUp/jd_moneyTree2.js @@ -25,7 +25,7 @@ let gen = entrance(); gen.next(); function* entrance() { if (!cookie) { - $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { "open-url": "https://bean.m.jd.com/" }); + $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.done(); return } @@ -104,7 +104,7 @@ function user_info() { console.log('走了else'); if (res.resultCode === 3) { $.setdata('', 'CookieJD');//cookie失效,故清空cookie。 - $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/', { "open-url": "https://bean.m.jd.com/" }); + $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.done(); return } diff --git a/backUp/jd_pet_double.js b/backUp/jd_pet_double.js index a9f11db5..84c25bb5 100644 --- a/backUp/jd_pet_double.js +++ b/backUp/jd_pet_double.js @@ -58,7 +58,7 @@ gen.next(); */ function* entrance() { if (!cookie) { - $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { "open-url": "https://bean.m.jd.com/" }); + $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.done(); return } @@ -369,7 +369,7 @@ function initPetTown() { } else if (response.code === '0' && response.resultCode === '2001'){ console.log(`初始化萌宠失败: ${response.message}`); $.setdata('', 'CookieJD');//cookie失效,故清空cookie。 - $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/', { "open-url": "https://bean.m.jd.com/" }); + $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.done(); } }) diff --git a/backUp/jd_plantBean_double.js b/backUp/jd_plantBean_double.js index 892a4b5a..686d410d 100644 --- a/backUp/jd_plantBean_double.js +++ b/backUp/jd_plantBean_double.js @@ -69,7 +69,7 @@ function* step() { console.log(`plantBeanIndexResult:${JSON.stringify(plantBeanIndexResult)}`) if (plantBeanIndexResult.code === '3') { $.setdata('', 'CookieJD');//cookie失效,故清空cookie。 - $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); $.done(); return } @@ -324,7 +324,7 @@ function* step() { } console.log('结束') } else { - $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); $.done(); return } diff --git a/backUp/jd_speed2.js b/backUp/jd_speed2.js index f79783c3..ad421d1f 100644 --- a/backUp/jd_speed2.js +++ b/backUp/jd_speed2.js @@ -33,7 +33,7 @@ let done_distance = null; let task_status = null, able_energeProp_list = [], spaceEvents = [], energePropUsale = []; function* entrance() { if (!cookie) { - $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { "open-url": "https://bean.m.jd.com/" }); + $.msg(name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.done(); return } @@ -245,7 +245,7 @@ function flyTask_state() { if (res.code === 0) { if (res.info.isLogin === 0) { $.setdata('', 'CookieJD');//cookie失效,故清空cookie。 - $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg(name, '【提示】京东cookie已失效,请重新登录获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); $.done(); return } diff --git a/jd_bean_change.js b/jd_bean_change.js index 2c3b7623..f56dcf69 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -7,7 +7,7 @@ /* 京豆变动通知脚本:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js 统计昨日京豆的变化情况,包括收入,支出,以及显示当前京豆数量,目前小问题:下单使用京豆后,退款重新购买会出现异常 -网页查看地址 : https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean +网页查看地址 : https://bean.m.jd.com/bean/signIndex.actionbeanDetail/index.action?resourceValue=bean 支持京东双账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js quantumultx @@ -43,7 +43,7 @@ if ($.isNode()) { } !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -61,7 +61,7 @@ if ($.isNode()) { 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/"}); + $.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`); @@ -82,9 +82,9 @@ if ($.isNode()) { async function showMsg() { if ($.errorMsg) return 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` }) + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `账号${$.index}:${$.nickName || $.UserName}\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}京豆 🐶${$.message}`, { url: `https://bean.m.jd.com/bean/signIndex.actionbeanDetail/index.action?resourceValue=bean` }) } - $.msg($.name, '', `账号${$.index}:${$.nickName || $.UserName}\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}京豆 🐶${$.message}`, {"open-url": "https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean"}); + $.msg($.name, '', `账号${$.index}:${$.nickName || $.UserName}\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}京豆 🐶${$.message}`, {"open-url": "https://bean.m.jd.com/bean/signIndex.actionbeanDetail/index.action?resourceValue=bean"}); } async function bean() { // console.log(`北京时间零点时间戳:${parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000}`); diff --git a/jd_bean_home.js b/jd_bean_home.js index 666ad746..2c3082ea 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -50,7 +50,7 @@ const JD_API_HOST = 'https://api.m.jd.com/'; // await getAuthorShareCode(); // await getAuthorShareCode2(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -64,7 +64,7 @@ const JD_API_HOST = 'https://api.m.jd.com/'; 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/"}); + $.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`); diff --git a/jd_bean_sign.js b/jd_bean_sign.js index bf57c6d0..207a82df 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -28,7 +28,7 @@ if ($.isNode()) { } !(async() => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } await requireConfig(); diff --git a/jd_blueCoin.js b/jd_blueCoin.js index e0e145a0..fb142370 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -40,7 +40,7 @@ if ($.isNode()) { const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i =0; i < cookiesArr.length; i++) { @@ -62,7 +62,7 @@ const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); console.log(`目前暂无兑换酒类的奖品功能,即使输入酒类名称,脚本也会提示下架\n`) if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); + $.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`); diff --git a/jd_car.js b/jd_car.js index a695a2b4..0eb0a1e1 100644 --- a/jd_car.js +++ b/jd_car.js @@ -47,7 +47,7 @@ if ($.isNode()) { const JD_API_HOST = 'https://car-member.jd.com/api/'; !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -61,7 +61,7 @@ const JD_API_HOST = 'https://car-member.jd.com/api/'; 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/"}); + $.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`); diff --git a/jd_car_exchange.js b/jd_car_exchange.js index c203e2d3..b5460641 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -51,7 +51,7 @@ if ($.isNode()) { const JD_API_HOST = 'https://car-member.jd.com/api/'; !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let j = 0; j < 20; ++j) diff --git a/jd_club_lottery.js b/jd_club_lottery.js index f262948c..7f61ab18 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -43,7 +43,7 @@ if ($.isNode()) { 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/"}); + $.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++) { @@ -59,7 +59,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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/"}); + $.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`); diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index f1d1f5d9..83c24fbc 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -171,7 +171,7 @@ if ($.isNode()) { }(this); !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } await requireConfig(); @@ -190,7 +190,7 @@ if ($.isNode()) { 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/"}); + $.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`); @@ -215,7 +215,7 @@ if ($.isNode()) { 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/"}); + $.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`); @@ -237,7 +237,7 @@ if ($.isNode()) { 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/"}); + $.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`); diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 8824b85a..3cebc0fb 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -162,7 +162,7 @@ if ($.isNode()) { }(this); !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } let count = 0 diff --git a/jd_daily_egg.js b/jd_daily_egg.js index 711e4a21..a4dfcd4b 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -32,7 +32,7 @@ if ($.isNode()) { } !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -45,7 +45,7 @@ if ($.isNode()) { 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/"}); + $.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`); diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 9ccd7986..6229bf9f 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -54,7 +54,7 @@ if ($.isNode()) { !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -73,7 +73,7 @@ if ($.isNode()) { 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/"}); + $.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`); diff --git a/jd_fruit.js b/jd_fruit.js index 0b4b3ba2..cc5c336b 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -43,7 +43,7 @@ const urlSchema = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%2 !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -56,7 +56,7 @@ const urlSchema = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%2 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/"}); + $.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`); diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 8a6e1edc..739db5c3 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -156,7 +156,7 @@ if ($.isNode()) { } !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 546b7109..56161c1c 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -57,7 +57,7 @@ const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVW !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -71,7 +71,7 @@ const inviteCodes = [`P04z54XCjVWnYaS5u2ak7ZCdan1Bdd2GGiWvC6_uERj`, 'P04z54XCjVW 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/"}); + $.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`); diff --git a/jd_jdzz.js b/jd_jdzz.js index 5ea61aa2..e7ebb1c0 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -55,7 +55,7 @@ const inviteCodes = [ if (helpAuthor) await getAuthorShareCode('https://gitee.com/shylocks/updateTeam/raw/main/jd_zz.json'); if (helpAuthor) await getAuthorShareCode('https://gitee.com/lxk0301/updateTeam/raw/master/jd_zz.json'); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -69,7 +69,7 @@ const inviteCodes = [ 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/"}); + $.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`); diff --git a/jd_joy.js b/jd_joy.js index 1a204b24..edc3cb45 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -49,7 +49,7 @@ const JD_API_HOST = 'https://jdjoy.jd.com/pet' const weAppUrl = 'https://draw.jdfcloud.com//pet'; !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -62,7 +62,7 @@ const weAppUrl = 'https://draw.jdfcloud.com//pet'; 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/"}); + $.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`); diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index 65d6db51..89d5fc62 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -42,7 +42,7 @@ let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //喂食数量默认10g, !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -55,7 +55,7 @@ let FEED_NUM = ($.getdata('joyFeedCount') * 1) || 10; //喂食数量默认10g, 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/"}); + $.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`); diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 76ed0fe4..c3adf3e6 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -41,7 +41,7 @@ if ($.isNode()) { const JD_API_HOST = 'https://jdjoy.jd.com'; !(async () => { if (!cookiesArr[0]) { - $.msg('【京东账号一】宠汪汪积分兑换奖品失败', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.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]) { @@ -53,7 +53,7 @@ const JD_API_HOST = 'https://jdjoy.jd.com'; 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/"}); + $.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`); diff --git a/jd_joy_run.js b/jd_joy_run.js index 3e0e4899..55a69fb2 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -181,7 +181,7 @@ function readToken() { } async function main() { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } const readTokenRes = await readToken(); @@ -275,7 +275,7 @@ async function invite(invite_pins) { } else { if (data.errorCode === 'B0001') { console.log('京东Cookie失效'); - $.msg($.name, `【提示】京东cookie已失效`, `京东账号${$.index} ${UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, `【提示】京东cookie已失效`, `京东账号${$.index} ${UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); $.jdLogin = false; break } diff --git a/jd_joy_steal.js b/jd_joy_steal.js index c3de2099..70e1ee78 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -46,7 +46,7 @@ const weAppUrl = 'https://draw.jdfcloud.com//pet'; const JD_API_HOST = 'https://jdjoy.jd.com/pet' !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -59,7 +59,7 @@ const JD_API_HOST = 'https://jdjoy.jd.com/pet' 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/"}); + $.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`); diff --git a/jd_kd.js b/jd_kd.js index ffefbe85..c198003b 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -47,7 +47,7 @@ if ($.isNode()) { 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/"}); + $.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++) { @@ -61,7 +61,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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/"}); + $.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`); diff --git a/jd_live.js b/jd_live.js index ef9146b7..7cb7dc26 100644 --- a/jd_live.js +++ b/jd_live.js @@ -44,7 +44,7 @@ if ($.isNode()) { 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/"}); + $.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++) { @@ -58,7 +58,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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/"}); + $.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`); diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 1b3d2587..c5d7f407 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -41,7 +41,7 @@ const JD_API_HOST = 'https://ms.jr.jd.com/gw/generic/uc/h5/m'; let userInfo = null, taskInfo = [], message = '', subTitle = '', fruitTotal = 0; !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); } for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { @@ -53,7 +53,7 @@ let userInfo = null, taskInfo = [], message = '', subTitle = '', fruitTotal = 0; 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/"}); + $.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`); diff --git a/jd_necklace.js b/jd_necklace.js index f1db53f4..5d25ecaa 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -52,7 +52,7 @@ if ($.isNode()) { 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/"}); + $.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++) { @@ -66,7 +66,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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/"}); + $.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`); diff --git a/jd_pet.js b/jd_pet.js index 31662e47..ebe4e917 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -42,7 +42,7 @@ let randomCount = $.isNode() ? 20 : 5; !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -55,7 +55,7 @@ let randomCount = $.isNode() ? 20 : 5; 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/"}); + $.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`); diff --git a/jd_pigPet.js b/jd_pigPet.js index f93b4a73..4308f379 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -37,7 +37,7 @@ if ($.isNode()) { } !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -50,7 +50,7 @@ if ($.isNode()) { 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/"}); + $.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`); } diff --git a/jd_plantBean.js b/jd_plantBean.js index c573903e..a6954182 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -46,7 +46,7 @@ let randomCount = $.isNode() ? 20 : 5; !(async () => { await requireConfig(); if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -59,7 +59,7 @@ let randomCount = $.isNode() ? 20 : 5; 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/"}); + $.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`); diff --git a/jd_redPacket.js b/jd_redPacket.js index 418f11b8..47ca946e 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -52,7 +52,7 @@ 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/"}); + $.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++) { @@ -65,7 +65,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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/"}); + $.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`); diff --git a/jd_shop.js b/jd_shop.js index 4843a9d0..82f8d224 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -39,7 +39,7 @@ let message = '', subTitle = ''; 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/"}); + $.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++) { @@ -52,7 +52,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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/"}); + $.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`); diff --git a/jd_small_home.js b/jd_small_home.js index 46a21a0b..6596c3b0 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -65,7 +65,7 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -79,7 +79,7 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; 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/"}); + $.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`); diff --git a/jd_speed.js b/jd_speed.js index 905cecc2..a716f718 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -43,7 +43,7 @@ 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/"}); + $.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++) { @@ -56,7 +56,7 @@ const JD_API_HOST = 'https://api.m.jd.com/' 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/"}); + $.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`); diff --git a/jd_syj.js b/jd_syj.js index ea75fc27..c8366540 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -51,7 +51,7 @@ if ($.isNode()) { 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/"}); + $.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++) { @@ -65,7 +65,7 @@ const JD_API_HOST = 'https://api.m.jd.com/api'; 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/"}); + $.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`); diff --git a/jd_unbind.js b/jd_unbind.js index 65e5377f..4bc9aa0e 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -42,7 +42,7 @@ 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/', {"open-url": "https://bean.m.jd.com/"}); + $.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++) { @@ -57,7 +57,7 @@ const JD_API_HOST = 'https://api.m.jd.com/'; 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/"}); + $.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`); diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 02a79cd9..1b5fb27b 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -45,7 +45,7 @@ let stopShop = $.getdata('jdUnsubscribeStopShop') || '';//遇到此店铺不再 const JD_API_HOST = 'https://wq.jd.com/fav'; !(async () => { if (!cookiesArr[0]) { - $.msg('【京东账号一】取关京东店铺商品失败', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.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]) { @@ -57,7 +57,7 @@ const JD_API_HOST = 'https://wq.jd.com/fav'; 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/"}); + $.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`); From 96c22392556ea0cfe8b0fda19c0b59ce02ba06d0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 14:13:52 +0800 Subject: [PATCH 0660/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E6=B0=B4=E6=BB=B4=E6=8D=A2=E8=B1=86=E5=8D=A1=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=A4=B1=E8=B4=A5=EF=BC=8C=E5=88=99=E7=BB=A7=E7=BB=AD?= =?UTF-8?q?=E6=B5=87=E6=B0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index cc5c336b..766609ae 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,6 +1,6 @@ /* 东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js -更新时间:2021-1-5 +更新时间:2021-1-9 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -363,8 +363,8 @@ async function doTenWaterAgain() { console.log(`使用水滴换豆卡结果:${JSON.stringify($.userMyCardRes)}`); if ($.userMyCardRes.code === '0') { message += `【水滴换豆卡】获得${$.userMyCardRes.beanCount}个京豆\n`; + return } - return } else { console.log(`您目前水滴:${totalEnergy}g,水滴换豆卡${$.myCardInfoRes.beanCard}张,暂不满足水滴换豆的条件,为您继续浇水`) } @@ -884,11 +884,11 @@ async function receiveFriendInvite() { continue } await inviteFriend(code); - console.log(`接收邀请成为好友结果:${JSON.stringify($.inviteFriendRes.helpResult)}`) + // console.log(`接收邀请成为好友结果:${JSON.stringify($.inviteFriendRes.helpResult)}`) if ($.inviteFriendRes.helpResult.code === '0') { - console.log(`成功,您已成为${$.inviteFriendRes.helpResult.masterUserInfo.nickName}的好友`) + console.log(`接收邀请成为好友结果成功,您已成为${$.inviteFriendRes.helpResult.masterUserInfo.nickName}的好友`) } else if ($.inviteFriendRes.helpResult.code === '17') { - console.log(`失败,对方已是您的好友`) + console.log(`接收邀请成为好友结果失败,对方已是您的好友`) } } // console.log(`开始接受6fbd26cc27ac44d6a7fed34092453f77的邀请\n`) From 26cd68a5c34f8eae07675dceead1ad64be46b5bd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 16:54:05 +0800 Subject: [PATCH 0661/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=94=B6=E5=8F=96?= =?UTF-8?q?=E5=9C=B0=E4=B8=8B=E9=9B=B6=E4=BB=B6=E5=A4=B1=E6=95=88=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 6229bf9f..690819ce 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -742,7 +742,7 @@ function GetUserComponent(pin = $.encryptPin) { function PickUpComponent(index, encryptPin) { return new Promise(resolve => { - $.get(taskurl('usermaterial/PickUpComponent', `placeId=${index}&pin=${encryptPin}`), (err, resp, data) => { + $.get(taskurl('usermaterial/PickUpComponent', `placeId=${index}&pin=${encryptPin}&_stk=_time,pin,placeId,zone`), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From f5fe8dc00688fc38c871cfb70f77b6f7e83ba6cb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 17:06:37 +0800 Subject: [PATCH 0662/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=20=E6=94=B6=E5=8F=96=E6=8B=9B=E5=B7=A5/?= =?UTF-8?q?=E5=8A=B3=E6=A8=A1=E7=94=B5=E5=8A=9B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 690819ce..1b5b42ed 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2020-12-27 +更新时间:2021-1-9 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -316,11 +316,11 @@ function QueryHireReward() { }) }) } -// 收取招工电力 +// 收取招工/劳模电力 function hireAward(date, type = 0) { return new Promise(async resolve => { // const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` - $.get(taskurl('friend/HireAward', `date=${date}&type=${type}`), async (err, resp, data) => { + $.get(taskurl('friend/HireAward', `date=${date}&type=${type}&_stk=_time,date,type,zone`), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From 7d32862c839054fbb7ca092545d44ef368c9b95f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 17:11:48 +0800 Subject: [PATCH 0663/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 1b5b42ed..e6de12ff 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -676,7 +676,7 @@ function DrawProductionStagePrize() { } async function PickUp(encryptPin = $.encryptPin, help = false) { $.pickUpMyselfComponent = true; - const GetUserComponentRes = await GetUserComponent(encryptPin); + const GetUserComponentRes = await GetUserComponent(encryptPin, 500); if (GetUserComponentRes && GetUserComponentRes['ret'] === 0) { const { componentList } = GetUserComponentRes['data']; if (componentList && componentList.length <= 0) { @@ -713,29 +713,31 @@ async function PickUp(encryptPin = $.encryptPin, help = false) { } } } -function GetUserComponent(pin = $.encryptPin) { +function GetUserComponent(pin = $.encryptPin, timeout = 0) { return new Promise(resolve => { - $.get(taskurl('usermaterial/GetUserComponent', `pin=${pin}`), (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) { + setTimeout(() => { + $.get(taskurl('usermaterial/GetUserComponent', `pin=${pin}`), (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) { - } else { - console.log(`GetUserComponent失败:${JSON.stringify(data)}`) + } else { + console.log(`GetUserComponent失败:${JSON.stringify(data)}`) + } } } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) + }) + }, timeout) }) } //收取地下随机零件电力API From 5fa8975c8186ad4f21f23933883392e692a87f6e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 9 Jan 2021 17:50:28 +0800 Subject: [PATCH 0664/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E9=83=A8=E5=88=86=E8=B4=A6=E5=8F=B7=E5=81=9A?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=81=AB=E7=88=86=EF=BC=8C=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=81=9A=E4=B8=8D=E5=AE=8C=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e6de12ff..e599bee5 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -488,7 +488,7 @@ function completeTask(taskId, taskName) { function doTask(taskId) { return new Promise(async resolve => { // const url = `/newtasksys/newtasksys_front/DoTask?source=dreamfactory&bizCode=dream_factory&taskId=${taskId}&sceneval=2&g_login_type=1`; - $.get(newtasksysUrl('DoTask', taskId), (err, resp, data) => { + $.get(newtasksysUrl('DoTask', taskId, '_time,bizCode,configExtra,source,taskId'), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -1434,11 +1434,14 @@ function taskurl(functionId, body = '') { } } } -function newtasksysUrl(functionId, taskId) { +function newtasksysUrl(functionId, taskId, stk) { let url = `${JD_API_HOST}/newtasksys/newtasksys_front/${functionId}?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}`; if (taskId) { url += `&taskId=${taskId}`; } + if (stk) { + url += `&_stk=${stk}`; + } return { url, "headers": { From 02c0a53445cc6599ad23dbf3afd9130bdec6df7c Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sat, 9 Jan 2021 17:57:51 +0800 Subject: [PATCH 0665/1259] =?UTF-8?q?=E6=B2=A1=E6=9C=8934=E7=BA=A7JOY?= =?UTF-8?q?=E6=97=B6=E6=89=8D=E4=BC=9A=E6=89=A7=E8=A1=8C=E5=9B=9E=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 4119d7c7..089eac49 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -211,8 +211,8 @@ async function jdJxStory() { $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) } - // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY - if(checkHasFullOccupied() && !checkCanMerge()) { + // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY (没有34级JOY时才会执行) + if(checkHasFullOccupied() && !checkCanMerge() && !checkHas34Level()) { const minJoyId = Math.min(...$.joyIds); const boxId = $.joyIds.indexOf(minJoyId); console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minJoyId}的JOY`) @@ -262,6 +262,11 @@ function checkHasFullOccupied() { return !$.joyIds.includes(0); } +// 查询是否有34级JOY +function checkHas34Level() { + return $.joyIds.includes(34); +} + function checkCanMerge() { let obj = {}; let canMerge = false; From c0abfbadf85d7461473d39dbba600c35c56d8238 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 10 Jan 2021 12:36:46 +0800 Subject: [PATCH 0666/1259] Update jd_pet.js --- jd_pet.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index ebe4e917..ee3397e9 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,6 +1,6 @@ /* 东东萌宠 更新地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js -更新时间:2021-01-06 +更新时间:2021-01-10 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -123,7 +123,7 @@ async function jdPet() { await petSport();//遛弯 await slaveHelp();//助力好友 - //await masterHelpInit();//获取助力的信息 + await masterHelpInit();//获取助力的信息 await doTask();//做日常任务 await feedPetsAgain();//再次投食 await energyCollect();//收集好感度 @@ -263,8 +263,8 @@ async function masterHelpInit() { * 运行脚本时你自己的shareCode会在控制台输出, 可以将其分享给他人 */ async function slaveHelp() { - $.log(`\n因1.6日好友助力功能下线。故暂时屏蔽\n`) - return + //$.log(`\n因1.6日好友助力功能下线。故暂时屏蔽\n`) + //return let helpPeoples = ''; for (let code of newShareCodes) { console.log(`开始助力京东账号${$.index} - ${$.nickName}的好友: ${code}`); From 6f400d68aee94cd2e4aff91853b8635341683b5d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 10 Jan 2021 12:38:22 +0800 Subject: [PATCH 0667/1259] Update jd_pet.js --- jd_pet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index ee3397e9..6f11aa5b 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -472,8 +472,8 @@ function shareCodesFormat() { newShareCodes = shareCodes[tempIndex].split('@'); } //因好友助力功能下线。故暂时屏蔽 - // const readShareCodeRes = await readShareCode(); - const readShareCodeRes = null; + const readShareCodeRes = await readShareCode(); + //const readShareCodeRes = null; if (readShareCodeRes && readShareCodeRes.code === 200) { newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])]; } From 18070afed927336aa30e418af26e4998374c262f Mon Sep 17 00:00:00 2001 From: Akira Date: Sun, 10 Jan 2021 13:26:18 +0800 Subject: [PATCH 0668/1259] exclude jd_car_exchange.js exclude jd_car_exchange.js from random delay task list --- docker/default_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 6c4bfe94..f86d9a09 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -110,7 +110,7 @@ fi if [ $RANDOM_DELAY_MAX ]; then if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile + sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\|jd_car_exchange.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile fi else echo "未配置随即延迟对应的环境变量,故不设置延迟任务" From 1d6f812013a8d438c97eb733d728fab3646765bc Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Sun, 10 Jan 2021 14:06:22 +0800 Subject: [PATCH 0669/1259] =?UTF-8?q?=E6=90=AC=E8=BF=90=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=86=9C=E5=9C=BA=E8=84=9A=E6=9C=AC=20=E5=A2=9E=E5=8A=A0=20nod?= =?UTF-8?q?ejs=20token=20&=20shareCode=20=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=20=E5=A4=84=E7=90=86=E5=A4=9A=E8=B4=A6=E5=8F=B7=20tok?= =?UTF-8?q?en=20=E6=9C=AA=E9=85=8D=E7=BD=AE=E6=97=B6=E5=8F=AF=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=B7=B3=E8=BF=87=E6=AD=A4=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdJxncShareCodes.js | 32 ++ jdJxncTokens.js | 29 ++ jd_get_share_code.js | 3 +- jd_jxnc.js | 779 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 842 insertions(+), 1 deletion(-) create mode 100644 jdJxncShareCodes.js create mode 100644 jdJxncTokens.js create mode 100644 jd_jxnc.js diff --git a/jdJxncShareCodes.js b/jdJxncShareCodes.js new file mode 100644 index 00000000..48d1856a --- /dev/null +++ b/jdJxncShareCodes.js @@ -0,0 +1,32 @@ +/* +京喜农场助力码 +此助力码要求种子 active 相同才能助力,多个账号的话可以种植同样的种子,如果种子不同的话,会自动跳过使用云端助力 +此文件为Node.js专用。其他用户请忽略 +支持京东N个账号 + */ +//云服务器腾讯云函数等NOde.js用户在此处填写京京喜农场的好友码。 +// github action用户的好友助力码填写到Action->Settings->Secrets->new Secret里面(Name填写 JxncShareCodes(此处的Name必须按此来写,不能随意更改),内容处填写助力码,填写规则如下) +// 同一个京东账号的好友助力码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 +// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 +let JxncShareCodes = [ + '',//账号一的好友shareCode,不同好友中间用@符号隔开 + '',//账号二的好友shareCode,不同好友中间用@符号隔开 +] +// 判断github action里面是否有京喜农场助力码 +if (process.env.JXNCSHARECODES) { + if (process.env.JXNCSHARECODES.indexOf('&') > -1) { + console.log(`您的京喜农场助力码选择的是用&隔开\n`) + JxncShareCodes = process.env.JXNCSHARECODES.split('&'); + } else if (process.env.JXNCSHARECODES.indexOf('\n') > -1) { + console.log(`您的京喜农场助力码选择的是用换行隔开\n`) + JxncShareCodes = process.env.JXNCSHARECODES.split('\n'); + } else { + JxncShareCodes = process.env.JXNCSHARECODES.split(); + } +} else if (process.env.JD_COOKIE) { + // console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) +} +for (let i = 0; i < JxncShareCodes.length; i++) { + const index = (i + 1 === 1) ? '' : (i + 1); + exports['JxncShareCode' + index] = JxncShareCodes[i]; +} diff --git a/jdJxncTokens.js b/jdJxncTokens.js new file mode 100644 index 00000000..009c0bcf --- /dev/null +++ b/jdJxncTokens.js @@ -0,0 +1,29 @@ +/* +京喜农场 Tokens +此文件为Node.js专用。其他用户请忽略 +支持京东N个账号 + */ +// 每个账号 token 是一个 json,示例如下 +// {"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"} +let JxncTokens = [ + '',//账号一的好友shareCode,不同好友中间用@符号隔开 + '',//账号二的好友shareCode,不同好友中间用@符号隔开 +] +// 判断github action里面是否有京喜农场 token +if (process.env.JXNCTOKENS) { + if (process.env.JXNCTOKENS.indexOf('&') > -1) { + console.log(`您的京喜农场 token 选择的是用&隔开\n`) + JxncTokens = process.env.JXNCTOKENS.split('&'); + } else if (process.env.JXNCTOKENS.indexOf('\n') > -1) { + console.log(`您的京喜农场 token 选择的是用换行隔开\n`) + JxncTokens = process.env.JXNCTOKENS.split('\n'); + } else { + JxncTokens = process.env.JXNCTOKENS.split(); + } +} else if (process.env.JD_COOKIE) { + console.log(`由于您secret里面未提供 tokens,当种植 APP 种子时,将不能正常进行任务,请提供 token 或 种植非 APP 种子!`) +} +for (let i = 0; i < JxncTokens.length; i++) { + const index = (i + 1 === 1) ? '' : (i + 1); + exports['JXNCTOKEN' + index] = JxncTokens[i]; +} diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 43b888b6..83b52a7c 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -321,7 +321,8 @@ function getJxNc(){ if (safeGet(data)) { data = JSON.parse(data); if (data["ret"] === 0) { - console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场】${data["smp"]}`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场助力码】${data["smp"]}`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场active】 ${$.info.active}`); } } else { console.log(`京喜农场返回值解析异常:${JSON.stringify(data)}`); diff --git a/jd_jxnc.js b/jd_jxnc.js new file mode 100644 index 00000000..035c2ea3 --- /dev/null +++ b/jd_jxnc.js @@ -0,0 +1,779 @@ +/* +特别声明: +本脚本搬运自 https://github.com/whyour/hundun/blob/master/quanx/jx_nc.js +感谢 @whyour 大佬 + +京喜农场:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js +更新时间:2021-01-09 20:46:10 +东东农场活动链接: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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true +[rewrite_local] +^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js +=========================Loon============================= +[Script] +http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc_cookie.js, requires-body=false, timeout=10, tag=京喜农场cookie +cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js,tag=京喜农场 + +=========================Surge============================ +京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=60,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js +京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc_cookie.js + +=========================小火箭=========================== +京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=200, enable=true + +*/ + +const $ = new Env('京喜农场'); +let notify = ''; // nodejs 发送通知脚本 +let cookieArr = []; // 用户 cookie 数组 +let currentCookie = ''; // 当前用户 cookie +let tokenNull = {'farm_jstoken': '', 'phoneid': '', 'timestamp': ''}; // 内置一份空的 token +let tokenArr = []; // 用户 token 数组 +let currentToken = {}; // 当前用户 token +const shareCode = '22bd6fbbabbaa770a45ab2607e7a1e8a@197c6094e965fdf3d33621b47719e0b1'; // 内置助力码 +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/'; + +$.helpTask = null; +$.allTask = []; // 任务列表 +$.info = {}; // 用户信息 +$.answer = 0; +$.drip = 0; +$.maxHelpNum = shareCode.split('@').length; // 助力 ret 1011 错误最大计数 +$.helpNum = 0; // 当前账号 助力 ret 1011 次数 + +!(async () => { + await requireConfig(); + if (!cookieArr[0]) { + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + return; + } + + 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(`检查【京东账号${$.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 + } + subTitle = ''; + message = ''; + option = {}; + $.helpNum = 0; + await tokenFormat(); // 处理当前账号 token + await shareCodesFormat(); // 处理当前账号 助力码 + await jdJXNC(); // 执行当前账号 主代码流程 + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + console.log(e); + }) + .finally(() => { + $.done(); + }) + +// 加载配置 cookie token shareCode +function requireConfig() { + return new Promise(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.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + } + + $.log(`共${cookieArr.length}个京东账号\n`); + + if ($.isNode()) { + Object.keys(jdTokenNode).forEach((item) => { + tokenArr.push(tokenArr[item] ? JSON.parse(jxncShareCodeArr[item]) : tokenNull) + }) + } else { + tokenArr.push(...[$.getdata('jxnc_token1') || tokenNull, $.getdata('jxnc_token2') || tokenNull]); + } + + if ($.isNode()) { + Object.keys(jdJxncShareCodeNode).forEach((item) => { + if (jxncShareCodeArr[item]) { + jxncShareCodeArr.push(jxncShareCodeArr[item]) + } + }) + } + + // console.log(`jdFruitShareArr::${JSON.stringify(jdFruitShareArr)}`) + // console.log(`jdFruitShareArr账号长度::${jdFruitShareArr.length}`) + $.log(`您提供了${jxncShareCodeArr.length}个账号的京喜农场助力码`); + resolve() + }) +} + +// 查询京东账户信息(检查 cookie 是否有效) +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": currentCookie, + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } 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('@'); + let length = currentShareCode.length; + if (length < 3) { + currentShareCode.push(...(shareCode.split('@').splice(0, 3 - length))); + } + } 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) { // 未选择种子时,当前账号流程结束 + return false; + } + message += `【水果名称】${startInfo.prizename}\n`; + $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】 ${$.info.smp}`); + $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}种子active】 ${$.info.active}`); + await $.wait(500); + const isOk = await browserTask(); + if (!isOk) { + return false; + } + await $.wait(500); + await answerTask(); + await $.wait(500); + const endInfo = await getTaskList(); + getMessage(endInfo, startInfo); + const next = await helpFriends(); + if (next) { + await submitInviteId($.UserName); + await $.wait(500); + await createAssistUser(); + } + await showMsg() +} + +// 获取任务列表与用户信息 +function getTaskList() { + return new Promise(async resolve => { + $.get(taskUrl('query', `type=1`), async (err, resp, data) => { + try { + const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; + const {detail, msg, task = [], retmsg, ...other} = JSON.parse(res); + $.helpTask = task.filter(x => x.tasktype === 2)[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('账号未选择种子,请先去京喜农场选择种子,选择 APP 专属种子时,必须提供 token'); + $.msg($.name, subTitle, '请先去京喜农场选择种子!\n选择app专属种子时,请参考脚本头部说明获取token,点击通知跳转', option); + if ($.isNode()) { + await notify.sendNotify(`${$.name}`, `京东账号${$.index}[${$.nickName || $.UserName}]请先去京喜农场选择种子!\n选择app专属种子时,请参考脚本头部说明获取token`); + } + 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] === 1032) { + $.log('任务执行失败,种植的 APP 专属种子,请提供 token 或种植非 APP 种子'); + $.msg($.name, '请参考脚本头部说明获取token', '或者改中非app专属种子,点击通知跳转', option); + if ($.isNode()) { + await notify.sendNotify(`${$.name}`, `京东账号${$.index}[${$.nickName || $.UserName}]请参考脚本头部说明获取token\n或者改中非app专属种子`); + } + 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}`, + ), + async (err, resp, data) => { + try { + const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[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; + } + if (((ret !== 0 && ret !== 1029) || retmsg === 'ans err') && $.answer < 4) { + $.answer++; + await $.wait(1000); + await answerTask(); + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }, + ); + }); +} + +function getMessage(endInfo) { + const need = endInfo.target - endInfo.score; + const get = $.drip; + message += `【水滴】获得水滴${get} 还需水滴${need}\n`; +} + +// 提交助力码 +function submitInviteId(userName) { + return new Promise(resolve => { + if (!$.info || !$.info.smp) { + resolve(); + return; + } + $.post( + { + url: `https://api.ninesix.cc/api/jx-nc/${$.info.smp}/${encodeURIComponent(userName)}?active=${$.info.active}`, + }, + (err, resp, _data) => { + try { + const {code, data = {}} = JSON.parse(_data); + $.log(`邀请码提交:${code}`); + if (data.value) { + message += '【邀请码】提交成功!\n'; + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }, + ); + }); +} + +// 获取随机助力码并助力 +function createAssistUser() { + return new Promise(resolve => { + $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`}, async (err, resp, _data) => { + try { + const {code, data = {}} = JSON.parse(_data); + $.log(`获取随机助力码 ${code}`); + if (!data.value) { + $.log('随机助力码不存在,跳过助力'); + resolve(); + return; + } + const next = await helpShareCode(data.value); + if (next) { + await createAssistUser(); + } else { + resolve(); + } + } catch (e) { + $.logErr(e, resp); + } + }); + }); +} + +// 为好友助力 return true 继续助力 false 助力结束 +async function helpFriends() { + for (let code of currentShareCode) { + if (!code) { + continue + } + const next = await helpShareCode(code); + if (!next) { + return false; + } + } + return true; +} + +// 执行助力 return true 继续助力 false 助力结束 +function helpShareCode(code) { + return new Promise(async resolve => { + $.get( + taskUrl('help', `active=${$.info.active}&joinnum=${$.info.joinnum}&smp=${code}`), + async (err, resp, data) => { + try { + const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; + const {ret, retmsg = ''} = JSON.parse(res); + $.log(`助力结果:ret=${ret} retmsg="${retmsg ? retmsg : '助力成功'}"`); + if (ret === 0 || ret === 1021) { // 0 助力成功 1021 不能助力自己 + resolve(true); + } + if (ret === 1011) { // 1011 active 不同 + $.helpNum++; + if ($.helpNum <= $.maxHelpNum) { + resolve(true); + } + } + // ret 1016 助力上限 + } 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}`, + ), + (err, resp, data) => { + try { + const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[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) { + return { + 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`, + 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`, + }, + }; +} + +async function showMsg() { + $.msg($.name, subTitle, message, option); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${subTitle}\n${message}`); + } +} + +// 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, o) => { + 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.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 o = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); + o = o ? 1 * o : 20, o = e && e.timeout ? e.timeout : o; + const [r, h] = i.split("@"), a = { + url: `http://${h}/v1/scripting/evaluate`, + body: {script_text: t, mock_type: "cron", timeout: o}, + headers: {"X-Key": r, 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), o = JSON.stringify(this.data); + s ? this.fs.writeFileSync(t, o) : i ? this.fs.writeFileSync(e, o) : this.fs.writeFileSync(t, o) + } + } + + lodash_get(t, e, s) { + const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); + let o = t; + for (const t of i) if (o = Object(o)[t], void 0 === o) return s; + return o + } + + 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), o = s ? this.getval(s) : ""; + if (o) try { + const t = JSON.parse(o); + e = t ? this.lodash_get(t, i, "") : e + } catch (t) { + e = "" + } + } + return e + } + + setdata(t, e) { + let s = !1; + if (/^@/.test(e)) { + const [, i, o] = /^@(.*?)\.(.*?)$/.exec(e), r = this.getval(i), + h = i ? "null" === r ? null : r || "{}" : "{}"; + try { + const e = JSON.parse(h); + this.lodash_set(e, o, t), s = this.setval(JSON.stringify(e), i) + } catch (e) { + const r = {}; + this.lodash_set(r, o, t), s = this.setval(JSON.stringify(r), 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() ? $httpClient.get(t, (t, s, i) => { + !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) + }) : this.isQuanX() ? $task.fetch(t).then(t => { + const {statusCode: s, statusCode: i, headers: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t)) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { + try { + 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: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t))) + } + + 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()) $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", $task.fetch(t).then(t => { + const {statusCode: s, statusCode: i, headers: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, 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: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t)) + } + } + + 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 = "", o) { + const r = t => { + if (!t || !this.isLoon() && this.isSurge()) return t; + if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : void 0; + if ("object" == typeof t) { + if (this.isLoon()) { + let e = t.openUrl || t["open-url"], s = t.mediaUrl || t["media-url"]; + return {openUrl: e, mediaUrl: s} + } + if (this.isQuanX()) { + let e = t["open-url"] || t.openUrl, s = t["media-url"] || t.mediaUrl; + return {"open-url": e, "media-url": s} + } + } + }; + this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, r(o)) : this.isQuanX() && $notify(e, s, i, r(o))); + 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) +} From a3c96a372df93724de74d3ff5581025c6cf4ff5c Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Sun, 10 Jan 2021 14:31:46 +0800 Subject: [PATCH 0670/1259] =?UTF-8?q?=E6=81=A2=E5=A4=8D=20jx=5Fnc.cookie.j?= =?UTF-8?q?s=20url=20=E8=B7=AF=E5=BE=84=20=E6=9C=AC=E6=9D=A5=E6=83=B3?= =?UTF-8?q?=E6=8A=8A=E8=BF=99=E4=B8=AA=20js=20=E4=B8=80=E8=B5=B7=E6=90=AC?= =?UTF-8?q?=E8=BF=90=E7=9A=84=EF=BC=8C=E4=B8=8D=E8=BF=87=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=B2=A1=E5=95=A5=E5=8F=98=E5=8C=96=EF=BC=8C?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E7=94=A8=20hundun=20=E5=BA=93=E7=9A=84?= =?UTF-8?q?=E5=B0=B1=E8=A1=8C=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 035c2ea3..7c853b5c 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -22,7 +22,7 @@ cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_ =========================Surge============================ 京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=60,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js -京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc_cookie.js +京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================小火箭=========================== 京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=200, enable=true From 21bd84699c9ec8d1a173c3adb1deb648677259cc Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 10 Jan 2021 16:38:59 +0800 Subject: [PATCH 0671/1259] =?UTF-8?q?=E5=8F=A3=E8=A2=8B=E4=B9=A6=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bookshop.js | 604 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 604 insertions(+) create mode 100644 jd_bookshop.js diff --git a/jd_bookshop.js b/jd_bookshop.js new file mode 100644 index 00000000..5ae6b12e --- /dev/null +++ b/jd_bookshop.js @@ -0,0 +1,604 @@ +/* +口袋书店 +活动入口:京东app首页-京东图书-右侧口袋书店 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#口袋书店 +1 8,12,18 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, enabled=true + +================Loon============== +[Script] +cron "1 8,12,18* * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 + +===============Surge================= +口袋书店 = type=cron,cronexp="1 8,12,18* * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js + +============小火箭========= +口袋书店 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.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, helpInfo; +const ACT_ID = 'dz2010100034444201', shareUuid = 'ca6559b560464939a61445afc462f3c1' + +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/', {"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 = ''; + 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 jdBeauty() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdBeauty() { + $.score = 0 + await getIsvToken() + await getIsvToken2() + await getActCk() + await getActInfo() + await getToken() + await getUserInfo() + await getActContent(false, shareUuid) + if ($.exit) return + await getAllBook() + await getMyBook() + await getActContent(true) + if ($.gold > 800) { + console.log(`金币大于800,去抽奖`) + while ($.gold >= 800) { + await draw() + await $.wait(1000) + $.gold -= 800 + } + } + await showMsg(); +} + +// 获得IsvToken +function getIsvToken() { + return new Promise(resolve => { + let body = 'body=%7B%22to%22%3A%22https%3A%5C%2F%5C%2Flzdz-isv.isvjcloud.com%5C%2Fdingzhi%5C%2Fbook%5C%2Fdevelop%5C%2Factivity%3FactivityId%3Ddz2010100034444201%22%2C%22action%22%3A%22to%22%7D&build=167490&client=apple&clientVersion=9.3.2&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&sign=f3eb9660e798c20372734baf63ab55f2&st=1610267023622&sv=111' + $.post(jdUrl('genToken', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + $.isvToken = data['tokenKey'] + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +// 获得对应游戏的访问Token +function getIsvToken2() { + return new Promise(resolve => { + let 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=6050f8b81f4ba562b357e49762a8f4b0&st=1610267024346&sv=121' + $.post(jdUrl('isvObfuscator', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + $.token2 = data['token'] + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +// 获得游戏的Cookie +function getActCk() { + return new Promise(resolve => { + $.get(taskUrl("dingzhi/book/develop/activity", `activityId=${ACT_ID}`), (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + for (let ck of resp['headers']['set-cookie']) { + cookie = `${cookie}; ${ck.split(";")[0]};` + } + } + } 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},${jsonParse(resp.body)['message']}`) + 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); + } + }) + }) +} + +// 获得游戏的Token +function getToken() { + return new Promise(resolve => { + let body = `userId=${$.shopId}&token=${$.token2}&fromType=APP` + $.post(taskPostUrl('customer/getMyPing', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + $.token = data.data.secretPin + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +// 获得用户信息 +function getUserInfo() { + return new Promise(resolve => { + let body = `pin=${encodeURIComponent($.token)}` + $.post(taskPostUrl('wxActionCommon/getUserInfo', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.data) { + console.log(`用户【${data.data.nickname}】信息获取成功`) + $.userId = data.data.id + $.pinImg = data.data.yunMidImageUrl + $.nick = data.data.nickname + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +// 获得游戏信息 +function getActContent(info = false, shareUuid = '') { + return new Promise(resolve => { + let body = `activityId=${ACT_ID}&pin=${encodeURIComponent($.token)}&pinImg=${$.pinImg}&nick=${$.nick}&cjyxPin=&cjhyPin=&shareUuid=${shareUuid}` + $.post(taskPostUrl('dingzhi/book/develop/activityContent', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.data) { + $.userInfo = data.data + if (!$.userInfo.bookStore) { + $.exit = true + console.log(`京东账号${$.index}尚未开启口袋书店,请手动开启`) + return + } + $.actorUuid = $.userInfo.actorUuid + $.gold = $.userInfo.bookStore.hasStoreGold + if (!info) { + const tasks = data.data.settingVo + for (let task of tasks) { + if (['关注店铺', '加购商品'].includes(task.title)) { + if (task.okNum < task.dayMaxNum) { + console.log(`去做${task.title}任务`) + await doTask(task.settings[0].type, task.settings[0].value) + } + } else if (['逛会场', '浏览店铺', '浏览商品', //'每日签到' + ].includes(task.title)) { + if (task.okNum < task.dayMaxNum) { + console.log(`去做${task.title}任务`) + for (let set of task.settings.filter(vo => vo.status === 0)) { + await doTask(set.type, set.value) + await $.wait(500) + } + } + } + } + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +// 做任务 +function doTask(taskType, value) { + let body = `activityId=${ACT_ID}&pin=${encodeURIComponent($.token)}&actorUuid=${$.actorUuid}&taskType=${taskType}&taskValue=${value}` + return new Promise(resolve => { + $.post(taskPostUrl('dingzhi/book/develop/saveTask', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.result && data.data) { + console.log(`任务完成成功,获得${data.data.addScore}积分`) + $.score += data.data.addScore + } else { + console.log(`任务完成失败,错误信息:${data.errorMessage}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) + +} + +// 抽奖 +function draw() { + let body = `activityId=${ACT_ID}&pin=${encodeURIComponent($.token)}&actorUuid=${$.actorUuid}` + return new Promise(resolve => { + $.post(taskPostUrl('dingzhi/book/develop/startDraw', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.result && data.data) { + if (data.data.name) { + console.log(`抽奖成功,获得奖品:${data.data.name}`) + message += `抽奖成功,获得奖品:${data.data.name}\n` + } else { + console.log(`抽奖成功,获得空气`) + message += `抽奖成功,获得空气` + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +// 获得图书 +function getAllBook() { + let body = `activityId=${ACT_ID}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.token)}` + return new Promise(resolve => { + $.post(taskPostUrl('dingzhi/book/develop/getAllBook', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.result && data.data) { + + const book = data.data.bookConfigList[0] + let num = Math.trunc(data.data.haveScore / book.buyBookScore) + console.log(`拥有${data.data.haveScore}积分,可购买${num}本`) + if (num > 0) { + await buyBook(book.uuid, num) + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +// 购买图书 +function buyBook(bookUuid, num) { + let body = `activityId=${ACT_ID}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.token)}&bookUuid=${bookUuid}&buyNum=${num}` + return new Promise(resolve => { + $.post(taskPostUrl('dingzhi/book/develop/buyBook', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.result && data.data) { + console.log(`购买【${data.data.BookIncome.bookName}】成功`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function getMyBook() { + let body = `activityId=${ACT_ID}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.token)}&type1=1&type2=1&type3=1&type=1` + return new Promise(resolve => { + $.post(taskPostUrl('dingzhi/book/develop/getMyBook', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.result && data.data) { + for (let book of data.data.myBookList) { + if (book.isPutOn === 2) { + console.log(`去上架【${book.bookName}】`) + await upBook(book.uuid) + } + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function upBook(bookUuid) { + let body = `activityId=${ACT_ID}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.token)}&bookUuid=${bookUuid}&isPutOn=1&position=1` + return new Promise(resolve => { + $.post(taskPostUrl('dingzhi/book/develop/upBook', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.result && data.data) { + console.log(`上架成功`) + } else { + console.log(data) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function showMsg() { + return new Promise(resolve => { + message += `本次运行获得积分${$.score}`; + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); + resolve() + }) +} + +function jdUrl(functionId, body) { + return { + url: `https://api.m.jd.com/client.action?functionId=${functionId}`, + body: body, + 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 + } + } +} + +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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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)} From fc555f30bd48c4b96c7930c4fa73527f65b18351 Mon Sep 17 00:00:00 2001 From: Young Xu Date: Sun, 10 Jan 2021 17:24:08 +0800 Subject: [PATCH 0672/1259] =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=85=B7=E6=8E=A8?= =?UTF-8?q?=E4=BC=81=E5=BE=AE=E6=8E=A8=E9=80=81/=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sendNotify.js | 42 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/sendNotify.js b/sendNotify.js index 071c6184..d46bf5e9 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -16,7 +16,7 @@ let SCKEY = ''; //此处填你申请的SKEY(具体详见文档 https://cp.xuthus.cc/) //注:此处设置github action用户填写到Settings-Secrets里面(Name输入QQ_SKEY) let QQ_SKEY = ''; -//此处填写私聊或群组推送,默认私聊(send或group或者wx) +//此处填写私聊或群组推送,默认私聊(send[私聊]、group[群聊]、wx[个微]、ww[企微]、email[邮件]) let QQ_MODE = 'send'; // =======================================Bark App通知设置区域=========================================== @@ -196,24 +196,54 @@ function serverNotify(text, desp, timeout = 2100) { function CoolPush(text, desp) { return new Promise(resolve => { if (QQ_SKEY) { - const options = { + let options = { url: `https://push.xuthus.cc/${QQ_MODE}/${QQ_SKEY}`, - body: `${text}\n\n${desp}`, headers: { 'Content-Type': 'application/json' } } + + switch (QQ_MODE) { + case "email": + options.json = { + "t": text, + "c": desp, + }; + break; + default: + options.body = `${text}\n\n${desp}`; + } + + let pushMode = function(t) { + switch (t){ + case "send": + return "个人"; + case "group": + return "QQ群"; + case "wx": + return "微信"; + case "ww": + return "企业微信"; + case "email": + return "邮件"; + default: + return "未知方式" + } + } + $.post(options, (err, resp, data) => { try { if (err) { - console.log(`发送${QQ_MODE === 'send' ? '个人' : QQ_MODE === 'group' ? 'QQ群' : QQ_MODE === 'wx' ? '微信' : ''}通知调用API失败!!\n`) + console.log(`发送${pushMode(QQ_MODE)}通知调用API失败!!\n`) console.log(err); } else { data = JSON.parse(data); if (data.code === 200) { - console.log(`酷推发送${QQ_MODE === 'send' ? '个人' : QQ_MODE === 'group' ? 'QQ群' : QQ_MODE === 'wx' ? '微信' : ''}通知消息成功\n`) + console.log(`酷推发送${pushMode(QQ_MODE)}通知消息成功\n`) } else if (data.code === 400) { - console.log(`QQ酷推(Cool Push)发送${QQ_MODE === 'send' ? '个人' : QQ_MODE === 'group' ? 'QQ群' : QQ_MODE === 'wx' ? '微信' : ''}推送失败:${data.msg}\n`) + console.log(`QQ酷推(Cool Push)发送${pushMode(QQ_MODE)}推送失败:${data.msg}\n`) + }else{ + console.log(`酷推推送异常: ${data.msg}`); } } } catch (e) { From 21b2423c48a3e42a9c861df15a74944e8f50828c Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 10 Jan 2021 18:13:44 +0800 Subject: [PATCH 0673/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=8F=A3=E8=A2=8B=E4=B9=A6=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增口袋书店 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 5e3490bb..efec5764 100644 --- a/serverless.yml +++ b/serverless.yml @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #口袋书店 parameters: - name: pigPet_syj_kd_jdzz + name: pigPet_syj_kd_jdzz_bookshop cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_bookshop environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 8468815482b474be282391391aaeee714c2da9bc Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 10 Jan 2021 18:39:55 +0800 Subject: [PATCH 0674/1259] =?UTF-8?q?1.=20=E7=BB=99Docker=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8F=A3=E8=A2=8B=E4=B9=A6=E5=BA=97=E3=80=81=E4=BA=AC?= =?UTF-8?q?=E5=96=9C=E5=86=9C=E5=9C=BA=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=EF=BC=9B2.=20=E8=A1=A5=E5=85=85Readme=E7=9A=84?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=98=8E=E7=BB=86=EF=BC=9B3.=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 80 +++++++++++++++++++++++------------------ docker/crontab_list.sh | 4 +++ githubAction.md | 82 +++++++++++++++++++++--------------------- 3 files changed, 91 insertions(+), 75 deletions(-) diff --git a/README.md b/README.md index 68c4d189..980fde4a 100644 --- a/README.md +++ b/README.md @@ -22,42 +22,52 @@ ## Script脚本列表 #### 说明 1. 其中 [jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js) 可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) -2. 短期任务仅在特定时间有效,请自行在京东APP上查阅,恕不再另行说明。 +2. 以字母排序。 -| 活动时长 | 名称 | 脚本 | -| ---- | ------------------------------ | -------------------------------------------------------------------------------------------------------- | -| 长期 | 疯狂的joy | [jd_crazy_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js) | -| 长期 | 京豆变动通知 | [jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js) | -| 长期 | 京东多合一签到 | [jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js) | -| 长期 | 东东超市兑换奖品 | [jd_blueCoin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js) | -| 长期 | 摇京豆 | [jd_club_lottery.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js) | -| 长期 | 东东农场 | [jd_fruit.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js) | -| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js) | -| 长期 | 宠汪汪单独喂食 | [jd_joy_feedPets.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js) | -| 长期 | 宠汪汪强制为好友助力(iOS端专用) | [jd_joy_help.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js) | -| 长期 | 宠汪汪聚宝盆辅助脚本(iOS端专用) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js) | -| 长期 | 宠汪汪兑换奖品 | [jd_joy_reward.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js) | -| 长期 | 宠汪汪赛跑助力 | [jd_joy_run.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js) | -| 长期 | 宠汪汪偷好友狗粮与积分 | [jd_joy_steal.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js) | -| 长期 | 摇钱树 | [jd_moneyTree.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js) | -| 长期 | 东东萌宠 | [jd_pet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js) | -| 长期 | 金融养猪 | [jd_pigPet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pigPet.js) | -| 长期 | 天天提鹅 | [jd_daily_egg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_daily_egg.js) | -| 长期 | 种豆得豆 | [jd_plantBean.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js) | -| 长期 | 全民开红包 | [jd_redPacket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js) | -| 长期 | 进店领豆 | [jd_shop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js) | -| 长期 | 天天加速 | [jd_speed.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js) | -| 长期 | 京东快递 | [jd_kd.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js) | -| 长期 | 东东超市 | [jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js) | -| 长期 | 京喜工厂 | [jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js) | -| 长期 | 东东工厂 | [jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js) | -| 长期 | 东东小窝 | [jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js) | -| 长期 | 点点券 | [jd_necklace.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js) | -| 长期 | 十元街 | [jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js) | -| 长期 | 京东代属 | [jd_ds.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js) | -| 长期 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js) | -| 短期 | 星推官 | [jd_xtg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js) | -| 短期 | 手机狂欢城 | [jd_818.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js) | +| 活动时长 | 名称 | 脚本 | +| -------- | --------------------------------- | -------------------------------------------------------------------------------------------------------- | +| 长期 | 京豆变动通知 | [jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js) | +| 长期 | 领京豆额外奖励&抢京豆 | [jd_bean_home.js](https://raw.githubusercontent.com/lxk0302/jd_scripts/master/jd_bean_home.js) | +| 长期 | 京东多合一签到 | [jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js) | +| 长期 | 东东超市兑换奖品 | [jd_blueCoin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js) | +| 长期 | 口袋书店 | [jd_bookshop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js) | +| 长期 | 京东汽车赛点兑换京豆 | [jd_car_exchange.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js) | +| 长期 | 京东汽车签到 | [jd_car.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js) | +| 长期 | 摇京豆 | [jd_club_lottery.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js) | +| 长期 | 疯狂的JOY挂机 | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js) | +| 长期 | 疯狂的JOY日常任务 | [jd_crazy_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js) | +| 长期 | 京东金融-天天提鹅 | [jd_daily_egg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_daily_egg.js) | +| 长期 | 京喜工厂 | [jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js) | +| 长期 | 东东农场 | [jd_fruit.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js) | +| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js) | +| 长期 | 获取所有互助码 | [jd_get_share_code.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js) | +| 长期 | 东东工厂 | [jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js) | +| 长期 | 京东赚赚 | [jd_jdzz.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js) | +| 长期 | 宠汪汪单独喂食 | [jd_joy_feedPets.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js) | +| 长期 | 宠汪汪强制为好友助力(iOS端专用) | [jd_joy_help.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js) | +| 长期 | 宠汪汪聚宝盆辅助脚本(iOS端专用) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js) | +| 长期 | 宠汪汪兑换奖品 | [jd_joy_reward.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js) | +| 长期 | 宠汪汪赛跑助力 | [jd_joy_run.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js) | +| 长期 | 宠汪汪偷好友狗粮与积分 | [jd_joy_steal.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js) | +| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js) | +| 长期 | 京喜农场 | [jd_jxnc.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js) | +| 长期 | 京东快递签到 | [jd_kd.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js) | +| 长期 | 京东直播 | [jd_live.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js) | +| 长期 | 京东抽奖机 | [jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js) | +| 长期 | 摇钱树 | [jd_moneyTree.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js) | +| 长期 | 点点券 | [jd_necklace.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js) | +| 长期 | 东东萌宠 | [jd_pet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js) | +| 长期 | 金融养猪 | [jd_pigPet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pigPet.js) | +| 长期 | 种豆得豆 | [jd_plantBean.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js) | +| 长期 | 京东排行榜签到得京豆 | [jd_rankingList.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_rankingList.js) | +| 长期 | 全民开红包 | [jd_redPacket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js) | +| 长期 | 进店领豆 | [jd_shop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js) | +| 长期 | 东东小窝 | [jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js) | +| 长期 | 天天加速 | [jd_speed.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js) | +| 长期 | 东东超市 | [jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js) | +| 长期 | 十元街 | [jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js) | +| 长期 | 注销京东会员卡 | [jd_unbind.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js) | +| 长期 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js) | 搬运脚本 1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js)) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 73dc2ed6..daa50fa0 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -79,3 +79,7 @@ 0 0 * * * node /scripts/jd_car_exchange.js >> /scripts/logs/jd_car_exchange.log 2>&1 # 导到所有互助码 47 7 * * * node /scripts/jd_get_share_code.js >> /scripts/logs/jd_get_share_code.log 2>&1 +# 口袋书店 +7 8,12,18 * * * node /scripts/jd_bookshop.js >> /scripts/logs/jd_bookshop.log 2>&1 +# 京喜农场 +0 9,12,18 * * * node /scripts/jd_jxnc.js >> /scripts/logs/jd_jxnc.log 2>&1 diff --git a/githubAction.md b/githubAction.md index 415242ed..f84c0ebe 100644 --- a/githubAction.md +++ b/githubAction.md @@ -35,49 +35,51 @@ ##### 互助码类环境变量 -| Name | 归属 | 属性 | 说明 | -| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | -| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看 [jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看 [jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看 [jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `SUPERMARKET_SHARECODES`| 京小超商圈互助码 | 非必须 | 填写规则请看 [jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 填写规则请看 [jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `DREAM_FACTORY_SHARE_CODES`| 京喜工厂互助码 | 非必须 | 填写规则请看 [jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js) 或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDZZ_SHARECODES` | 京东赚赚(jd_jdzz.js)脚本互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDJOY_SHARECODES` | 疯狂的joy(jd_crazy_joy.js)脚本互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| Name | 归属 | 属性 | 说明 | +| --------------------------- | ------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看[jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看[jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看[jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `SUPERMARKET_SHARECODES` | 东东超市商圈互助码 | 非必须 | 填写规则请看[jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 填写规则请看[jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JXNCSHARECODES` | 京喜农场互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 -| Name | 归属 | 属性 | 说明 | -| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | -| `JD_BEAN_STOP` | 京东 | 非必须 | `jd_bean_sign.js`自定义延迟签到,单位毫秒. 默认分批并发无延迟. 延迟作用于每个签到接口, 如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | -| `JD_BEAN_SIGN_STOP_NOTIFY`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | -| `JD_BEAN_SIGN_NOTIFY_SIMPLE`| 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | -| `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制`jd_joy_reward.js`脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) -| `JD_818_SHAREID_NOTIFY` | 京东818互助码通知开关 | 非必须 | 控制`jd_818.js`脚本是否在获取互助码后通知,`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | -| `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制`jd_joy_feedPets.js`脚本喂食数量 ,可以填的数字10,20,40,80 , 其他数字不可. | -| `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | -| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | -| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | -| `JD_JOY_REWARD_NAME` | 宠汪汪积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | -| `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | -| `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行, `false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `SUPERMARKET_UPGRADE` | 京小超自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | -| `BUSINESS_CIRCLE_JUMP` | 京小超自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | -| `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | -| `FRUIT_BEAN_CARD` | 农场使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | -| `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开. 四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`, `遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明)| -| `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。| -| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | -| `JDJOY_HELPSELF` | 疯狂的joy | 非必须 | 疯狂的joy循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。| -| `JDJOY_APPLYJDBEAN` | 疯狂的joy | 非必须 | 疯狂的joy京豆兑换,目前最小值为500/1000京豆,默认不开启京豆兑换。| -| `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | -| `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | -| `WATCH_ACCEPTBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discAcceptTask`(需40个,每个之间使用@符号隔开) | -| `WATCH_DOBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discDoTask`(需40个,每个之间使用@符号隔开) | - +| Name | 归属 | 属性 | 说明 | +| ---------------------------- | --------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `JD_BEAN_STOP` | 京东 | 非必须 | `jd_bean_sign.js`自定义延迟签到,单位毫秒.默认分批并发无延迟.延迟作用于每个签到接口,如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | +| `JD_BEAN_SIGN_STOP_NOTIFY` | 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | +| `JD_BEAN_SIGN_NOTIFY_SIMPLE` | 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | +| `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制`jd_joy_reward.js`脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `JD_818_SHAREID_NOTIFY` | 京东818互助码通知开关 | 非必须 | 控制`jd_818.js`脚本是否在获取互助码后通知,`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | +| `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制`jd_joy_feedPets.js`脚本喂食数量,可以填的数字10,20,40,80,其他数字不可. | +| `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | +| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | +| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | +| `JD_JOY_REWARD_NAME` | 宠汪汪积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | +| `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | +| `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `SUPERMARKET_UPGRADE` | 京小超自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | +| `BUSINESS_CIRCLE_JUMP` | 京小超自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | +| `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | +| `FRUIT_BEAN_CARD` | 农场使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | +| `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开.四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`,`遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明) | +| `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。 | +| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | +| `JDJOY_HELPSELF` | 疯狂的JOY | 非必须 | 疯狂的JOY循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。 | +| `JDJOY_APPLYJDBEAN` | 疯狂的JOY | 非必须 | 疯狂的JOY京豆兑换,目前最小值为500/1000京豆,默认不开启京豆兑换。 | +| `BUY_JOY_LEVEL` | 疯狂的JOY | 非必须 | 疯狂的JOY自动购买什么等级的JOY | +| `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | +| `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | +| `WATCH_ACCEPTBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discAcceptTask`(需40个,每个之间使用@符号隔开) | +| `WATCH_DOBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discDoTask`(需40个,每个之间使用@符号隔开) | +| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,示例:{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"},多账单间使用`&`或换行分开。 | ##### 互助码的填写规则 From 2913659d3361f889b124c99ed5a7edd367695c5e Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 10 Jan 2021 18:49:40 +0800 Subject: [PATCH 0675/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dqx=E3=80=81loon?= =?UTF-8?q?=E3=80=81surge=E6=8A=A5=E9=94=99=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bookshop.js | 94 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 90 insertions(+), 4 deletions(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index 5ae6b12e..859463e9 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -23,8 +23,13 @@ const notify = $.isNode() ? require('./sendNotify') : ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; //Node.js用户请在jdCookie.js处填写京东ck; //IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message, helpInfo; -const ACT_ID = 'dz2010100034444201', shareUuid = 'ca6559b560464939a61445afc462f3c1' +let cookiesArr = [], cookie = '', message; +const ACT_ID = 'dz2010100034444201', shareUuid = '28a699ac78d74aa3b31f7103597f8927' + +let inviteCodes = [ + '28a699ac78d74aa3b31f7103597f8927@f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869', + '28a699ac78d74aa3b31f7103597f8927@f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869' +] if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -47,6 +52,8 @@ if ($.isNode()) { $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); return; } + $.shareCodesArr = [] + await requireConfig() for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -66,6 +73,7 @@ if ($.isNode()) { } continue } + await shareCodesFormat() await jdBeauty() } } @@ -87,6 +95,7 @@ async function jdBeauty() { await getUserInfo() await getActContent(false, shareUuid) if ($.exit) return + await doHelpList() await getAllBook() await getMyBook() await getActContent(true) @@ -98,9 +107,18 @@ async function jdBeauty() { $.gold -= 800 } } + await helpFriends() await showMsg(); } +async function helpFriends() { + for (let code of $.newShareCodes) { + if (!code) continue + console.log(`去助力好友${code}`) + await getActContent(true, code) + } +} + // 获得IsvToken function getIsvToken() { return new Promise(resolve => { @@ -158,8 +176,14 @@ function getActCk() { console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - for (let ck of resp['headers']['set-cookie']) { - cookie = `${cookie}; ${ck.split(";")[0]};` + if($.isNode()) + for (let ck of resp['headers']['set-cookie']) { + cookie = `${cookie}; ${ck.split(";")[0]};` + } + else{ + for (let ck of resp['headers']['Set-Cookie'].split(',')) { + cookie = `${cookie}; ${ck.split(";")[0]};` + } } } } catch (e) { @@ -269,6 +293,7 @@ function getActContent(info = false, shareUuid = '') { return } $.actorUuid = $.userInfo.actorUuid + if(!info) console.log(`您的好友助力码为${$.actorUuid}`) $.gold = $.userInfo.bookStore.hasStoreGold if (!info) { const tasks = data.data.settingVo @@ -301,7 +326,29 @@ function getActContent(info = false, shareUuid = '') { }) }) } +function doHelpList(taskType, value) { + let body = `activityId=${ACT_ID}&actorUuid=${$.actorUuid}&num=0&sortStatus=1` + return new Promise(resolve => { + $.post(taskPostUrl('dingzhi/taskact/common/getDayShareRecord', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + console.log(`今日助力情况${data.data.length}/10`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} // 做任务 function doTask(taskType, value) { let body = `activityId=${ACT_ID}&pin=${encodeURIComponent($.token)}&actorUuid=${$.actorUuid}&taskType=${taskType}&taskValue=${value}` @@ -577,6 +624,45 @@ function TotalBean() { }) } +//格式化助力码 +function shareCodesFormat() { + return new Promise(async resolve => { + // console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`) + $.newShareCodes = []; + if ($.shareCodesArr[$.index - 1]) { + $.newShareCodes = $.shareCodesArr[$.index - 1].split('@'); + } else { + console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`) + const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); + $.newShareCodes = inviteCodes[tempIndex].split('@'); + } + const readShareCodeRes = null //await readShareCode(); + if (readShareCodeRes && readShareCodeRes.code === 200) { + $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; + } + console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`) + resolve(); + }) +} +function requireConfig() { + return new Promise(resolve => { + console.log(`开始获取${$.name}配置文件\n`); + //Node.js用户请在jdCookie.js处填写京东ck; + const shareCodes = [] + console.log(`共${cookiesArr.length}个京东账号\n`); + $.shareCodesArr = []; + if ($.isNode()) { + Object.keys(shareCodes).forEach((item) => { + if (shareCodes[item]) { + $.shareCodesArr.push(shareCodes[item]) + } + }) + } + console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); + resolve() + }) +} + function safeGet(data) { try { if (typeof JSON.parse(data) == "object") { From 4e6fb494cc2f0698af9a3d77cf575a78be06c5af Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 10 Jan 2021 18:55:23 +0800 Subject: [PATCH 0676/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=8F=A3=E8=A2=8B=E4=B9=A6=E5=BA=97=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数调整口袋书店运行时间 --- serverless.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/serverless.yml b/serverless.yml index efec5764..f9c30a18 100644 --- a/serverless.yml +++ b/serverless.yml @@ -28,12 +28,12 @@ inputs: cronExpression: "0 0 0 * * * *" enable: true argument: jd_blueCoin&jd_club_lottery&jd_car&jd_car_exchange - - timer: # 东东农场# 东东萌宠 + - timer: #东东农场 #东东萌宠 #口袋书店 parameters: - name: jd_fruit_jd_pet - cronExpression: "0 5 6-18/6 * * * *" + name: jd_fruit_jd_pet_bookshop + cronExpression: "0 5 6-18/6,8 * * * *" enable: true - argument: jd_fruit&jd_pet + argument: jd_fruit&jd_pet&jd_bookshop - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 parameters: name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #口袋书店 + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 parameters: - name: pigPet_syj_kd_jdzz_bookshop + name: pigPet_syj_kd_jdzz cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_bookshop + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From edca138d1630e48527760d2a0a5ceea048e7efe5 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 10 Jan 2021 19:03:37 +0800 Subject: [PATCH 0677/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BAsecret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数增加京喜农场secret --- .github/workflows/deploy_tencent_scf.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 100db470..714d8a37 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -71,12 +71,14 @@ jobs: if [ $DREAM_FACTORY_SHARE_CODES ]; then sed -i "/variables/a\ DREAM_FACTORY_SHARE_CODES: $DREAM_FACTORY_SHARE_CODES" serverless.yml; fi; if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; + if [ $JXNCSHARECODES ]; then sed -i "/variables/a\ JXNCSHARECODES: $JXNCSHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; if [ $FACTORAY_WANTPRODUCT_NAME ]; then sed -i "/variables/a\ FACTORAY_WANTPRODUCT_NAME: $FACTORAY_WANTPRODUCT_NAME" serverless.yml; fi; if [ $WATCH_ACCEPTBODY ]; then sed -i "/variables/a\ WATCH_ACCEPTBODY: $WATCH_ACCEPTBODY" serverless.yml; fi; if [ $WATCH_DOBODY ]; then sed -i "/variables/a\ WATCH_DOBODY: $WATCH_DOBODY" serverless.yml; fi; + if [ $JXNCTOKENS ]; then sed -i "/variables/a\ JXNCTOKENS: $JXNCTOKENS" serverless.yml; fi; cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 @@ -126,12 +128,14 @@ jobs: DREAM_FACTORY_SHARE_CODES: ${{ secrets.DREAM_FACTORY_SHARE_CODES}} JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} + JXNCSHARECODES: ${{ secrets.JXNCSHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} FACTORAY_WANTPRODUCT_NAME: ${{ secrets.FACTORAY_WANTPRODUCT_NAME}} WATCH_ACCEPTBODY: ${{ secrets.WATCH_ACCEPTBODY}} WATCH_DOBODY: ${{ secrets.WATCH_DOBODY}} + JXNCTOKENS: ${{ secrets.JXNCTOKENS}} - name: "部署到腾讯云函数" run: serverless deploy From 9eb409ccf7154cb890b20370b7c27b72aa1062ef Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 10 Jan 2021 19:13:58 +0800 Subject: [PATCH 0678/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E6=9E=B6?= =?UTF-8?q?=E3=80=81=E6=94=B6=E5=8F=96=E9=87=91=E5=B8=81=E3=80=81=E7=AD=BE?= =?UTF-8?q?=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bookshop.js | 54 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index 859463e9..3d3a9242 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -10,10 +10,10 @@ ================Loon============== [Script] -cron "1 8,12,18* * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 +cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 ===============Surge================= -口袋书店 = type=cron,cronexp="1 8,12,18* * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js +口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js ============小火箭========= 口袋书店 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js, cronexpr="1 8,12,18* * *", timeout=200, enable=true @@ -27,8 +27,8 @@ let cookiesArr = [], cookie = '', message; const ACT_ID = 'dz2010100034444201', shareUuid = '28a699ac78d74aa3b31f7103597f8927' let inviteCodes = [ - '28a699ac78d74aa3b31f7103597f8927@f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869', - '28a699ac78d74aa3b31f7103597f8927@f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869' + '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869', + '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869' ] if ($.isNode()) { @@ -107,6 +107,7 @@ async function jdBeauty() { $.gold -= 800 } } + if($.userInfo.storeGold) await chargeGold() await helpFriends() await showMsg(); } @@ -116,6 +117,7 @@ async function helpFriends() { if (!code) continue console.log(`去助力好友${code}`) await getActContent(true, code) + await $.wait(500) } } @@ -303,8 +305,7 @@ function getActContent(info = false, shareUuid = '') { console.log(`去做${task.title}任务`) await doTask(task.settings[0].type, task.settings[0].value) } - } else if (['逛会场', '浏览店铺', '浏览商品', //'每日签到' - ].includes(task.title)) { + } else if (['逛会场', '浏览店铺', '浏览商品'].includes(task.title)) { if (task.okNum < task.dayMaxNum) { console.log(`去做${task.title}任务`) for (let set of task.settings.filter(vo => vo.status === 0)) { @@ -312,6 +313,16 @@ function getActContent(info = false, shareUuid = '') { await $.wait(500) } } + } else if(task.title === '每日签到'){ + const hour = new Date().getUTCHours() + 8 + if (8 <= hour && hour < 10 || 12 <= hour && hour < 14 || 18 <= hour && hour < 20) { + console.log(`去做${task.title}任务`) + for (let set of task.settings.filter(vo => vo.status === 0)) { + let res = await doTask(set.type, set.value) + if (res.result) break + await $.wait(500) + } + } } } } @@ -482,9 +493,9 @@ function getMyBook() { data = JSON.parse(data); if (data.result && data.data) { for (let book of data.data.myBookList) { - if (book.isPutOn === 2) { + if (book.isPutOn !== 1 && book.inventory > 0) { console.log(`去上架【${book.bookName}】`) - await upBook(book.uuid) + await upBook(book.bookUuid) } } } @@ -526,6 +537,33 @@ function upBook(bookUuid) { }) } +function chargeGold() { + let body = `activityId=${ACT_ID}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.token)}` + return new Promise(resolve => { + $.post(taskPostUrl('dingzhi/book/develop/chargeGold', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.result && data.data) { + console.log(`金币收获成功,获得${data.data.chargeGold}`) + } else { + console.log(data.errorMessage) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + function showMsg() { return new Promise(resolve => { message += `本次运行获得积分${$.score}`; From 192e7500f0d469e001f83e255ecfa4c1b281022b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 10 Jan 2021 20:06:43 +0800 Subject: [PATCH 0679/1259] Update jd_car_exchange.js --- jd_car_exchange.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/jd_car_exchange.js b/jd_car_exchange.js index b5460641..cf872dbe 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -7,22 +7,23 @@ 活动网页地址:https://h5.m.jd.com/babelDiy/Zeus/44bjzCpzH9GpspWeBzYSqBA7jEtP/index.html#/journey 更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange -已支持IOS双京东账号, Node.js支持N个京东账号 +已支持IOS, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js + ============Quantumultx=============== [task_local] #京东汽车兑换 -0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true ================Loon============== [Script] -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange, tag=京东汽车兑换 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 ===============Surge================= -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2000,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js ============小火箭========= -京东汽车兑换 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange, cronexpr="0 0 * * *", timeout=200, enable=true +京东汽车兑换 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, cronexpr="0 0 * * *", timeout=2000, enable=true */ const $ = new Env('京东汽车兑换'); From 244c544a77aec1bd667f77d0948c1f41aa4a3f94 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Sun, 10 Jan 2021 22:53:58 +0800 Subject: [PATCH 0680/1259] =?UTF-8?q?fix=20=E5=8A=A9=E5=8A=9B=E7=A0=81?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E9=94=99=E8=AF=AF=20add=20=E9=A2=84=E6=B5=8B?= =?UTF-8?q?=E6=88=90=E7=86=9F=E8=BF=98=E9=9C=80=E5=A4=A9=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 7c853b5c..1bef74f8 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -4,7 +4,7 @@ 感谢 @whyour 大佬 京喜农场:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js -更新时间:2021-01-09 20:46:10 +更新时间:2021-01-10 22:47:51 东东农场活动链接: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 @@ -127,8 +127,8 @@ function requireConfig() { if ($.isNode()) { Object.keys(jdJxncShareCodeNode).forEach((item) => { - if (jxncShareCodeArr[item]) { - jxncShareCodeArr.push(jxncShareCodeArr[item]) + if (jdJxncShareCodeNode[item]) { + jxncShareCodeArr.push(jdJxncShareCodeNode[item]) } }) } @@ -249,7 +249,7 @@ function getTaskList() { try { const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; const {detail, msg, task = [], retmsg, ...other} = JSON.parse(res); - $.helpTask = task.filter(x => x.tasktype === 2)[0]; + $.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}个任务!`); @@ -351,6 +351,11 @@ function getMessage(endInfo) { const need = endInfo.target - endInfo.score; const get = $.drip; message += `【水滴】获得水滴${get} 还需水滴${need}\n`; + if (get > 0) { + const max = parseInt(need / get); + const min = parseInt(need / (get + $.helpTask.limit * $.helpTask.eachtimeget)); + message += `【预测】还需 ${min} ~ ${max} 天\n`; + } } // 提交助力码 From a2657ce5866eef4c50c744e6b32f5e67a949e894 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Sun, 10 Jan 2021 23:13:47 +0800 Subject: [PATCH 0681/1259] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E5=90=8D=E4=B8=BA=20=20JXNC=5FSHARECODES=20?= =?UTF-8?q?=EF=BC=88=E5=8E=9F=20JXNCSHARECODES=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 4 ++-- githubAction.md | 2 +- jdJxncShareCodes.js | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 714d8a37..b375b6f0 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -71,7 +71,7 @@ jobs: if [ $DREAM_FACTORY_SHARE_CODES ]; then sed -i "/variables/a\ DREAM_FACTORY_SHARE_CODES: $DREAM_FACTORY_SHARE_CODES" serverless.yml; fi; if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; - if [ $JXNCSHARECODES ]; then sed -i "/variables/a\ JXNCSHARECODES: $JXNCSHARECODES" serverless.yml; fi; + if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; @@ -128,7 +128,7 @@ jobs: DREAM_FACTORY_SHARE_CODES: ${{ secrets.DREAM_FACTORY_SHARE_CODES}} JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} - JXNCSHARECODES: ${{ secrets.JXNCSHARECODES}} + JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} diff --git a/githubAction.md b/githubAction.md index f84c0ebe..2d685a34 100644 --- a/githubAction.md +++ b/githubAction.md @@ -45,7 +45,7 @@ | `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | | `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JXNCSHARECODES` | 京喜农场互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 diff --git a/jdJxncShareCodes.js b/jdJxncShareCodes.js index 48d1856a..7f9f85da 100644 --- a/jdJxncShareCodes.js +++ b/jdJxncShareCodes.js @@ -13,15 +13,15 @@ let JxncShareCodes = [ '',//账号二的好友shareCode,不同好友中间用@符号隔开 ] // 判断github action里面是否有京喜农场助力码 -if (process.env.JXNCSHARECODES) { - if (process.env.JXNCSHARECODES.indexOf('&') > -1) { +if (process.env.JXNC_SHARECODES) { + if (process.env.JXNC_SHARECODES.indexOf('&') > -1) { console.log(`您的京喜农场助力码选择的是用&隔开\n`) - JxncShareCodes = process.env.JXNCSHARECODES.split('&'); - } else if (process.env.JXNCSHARECODES.indexOf('\n') > -1) { + JxncShareCodes = process.env.JXNC_SHARECODES.split('&'); + } else if (process.env.JXNC_SHARECODES.indexOf('\n') > -1) { console.log(`您的京喜农场助力码选择的是用换行隔开\n`) - JxncShareCodes = process.env.JXNCSHARECODES.split('\n'); + JxncShareCodes = process.env.JXNC_SHARECODES.split('\n'); } else { - JxncShareCodes = process.env.JXNCSHARECODES.split(); + JxncShareCodes = process.env.JXNC_SHARECODES.split(); } } else if (process.env.JD_COOKIE) { // console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) From 22f880bdb907df3865baeecd6fe66956b7be2219 Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Sun, 10 Jan 2021 23:46:20 +0800 Subject: [PATCH 0682/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BAactive=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_get_share_code.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 83b52a7c..0262d675 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -321,8 +321,13 @@ function getJxNc(){ if (safeGet(data)) { data = JSON.parse(data); if (data["ret"] === 0) { - console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场助力码】${data["smp"]}`); - console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场active】 ${$.info.active}`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场助力码】${data.smp}`); + + if (data.active) { + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场active】 ${data.active}`); + } else { + console.log( `【账号${$.index}(${$.nickName || $.UserName})京喜农场未选择种子,请先去京喜农场选择种子`); + } } } else { console.log(`京喜农场返回值解析异常:${JSON.stringify(data)}`); @@ -422,7 +427,7 @@ async function getJdZZ() { data = JSON.parse(data); if (data.data.shareTaskRes) { console.log(`【账号${$.index}(${$.nickName || $.UserName})京东赚赚】${data.data.shareTaskRes.itemId}`); - } else { + } else { //console.log(`已满5人助力,暂时看不到您的京东赚赚好友助力码`) } } From e25411e3a1aa6423f2884579327457fdb47a9e94 Mon Sep 17 00:00:00 2001 From: wangsq <358009775@qq.com> Date: Mon, 11 Jan 2021 00:27:16 +0800 Subject: [PATCH 0683/1259] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_get_share_code.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 0262d675..2d0f7749 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -324,9 +324,9 @@ function getJxNc(){ console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场助力码】${data.smp}`); if (data.active) { - console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场active】 ${data.active}`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场active】${data.active}`); } else { - console.log( `【账号${$.index}(${$.nickName || $.UserName})京喜农场未选择种子,请先去京喜农场选择种子`); + console.log( `【账号${$.index}(${$.nickName || $.UserName})京喜农场】未选择种子,请先去京喜农场选择种子`); } } } else { From c72e4f2ea2f73c2d179de719fdfd3bec0fa84b88 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 08:38:32 +0800 Subject: [PATCH 0684/1259] Update jd_jxnc.js --- jd_jxnc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 1bef74f8..04e78a7f 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -17,12 +17,12 @@ ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================Loon============================= [Script] -http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc_cookie.js, requires-body=false, timeout=10, tag=京喜农场cookie +http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js, requires-body=false, timeout=10, tag=京喜农场cookie cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js,tag=京喜农场 =========================Surge============================ 京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=60,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js -京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js +京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path= https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================小火箭=========================== 京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=200, enable=true From 5037e7f35505f73f8a1ff18099f74dfd38ab662d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 08:52:33 +0800 Subject: [PATCH 0685/1259] Update jd_jxnc.js --- jd_jxnc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_jxnc.js b/jd_jxnc.js index 04e78a7f..f9906e6a 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -26,6 +26,7 @@ cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_ =========================小火箭=========================== 京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=200, enable=true +京喜农场APP种子cookie = type=http-request,script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,max-size=131072,timeout=110,enable=true */ From 4ddfca64b8a88fb9afd2d882d1748b3e12d3af58 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 11 Jan 2021 09:28:20 +0800 Subject: [PATCH 0686/1259] update iCloud.md update iCloud.md --- backUp/iCloud.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/backUp/iCloud.md b/backUp/iCloud.md index 22696205..d17725e1 100644 --- a/backUp/iCloud.md +++ b/backUp/iCloud.md @@ -155,17 +155,17 @@ let CookieJDs = [ | `jd_bean_home` | 领京豆额外奖励 | 长期 | / | 0 1 */1 * * | 30 7 * * * | | `jd_bean_sign` | 京豆签到 | 长期 | 0 16 * * * | 0 0 */1 * * | 0 0 * * * | | `jd_blueCoin` | 京小超兑换奖品 | 长期 | 0 16 * * * | 0 1 */1 * * | 0 0 * * * | +| `jd_bookshop` | 口袋书店 | 长期 | / | / | 5 6-18/6,8 * * * | | `jd_car` | 京东汽车 | 长期 | / | 0 0 */1 * * | 0 0 * * * | +| `jd_car_exchange` | 京东汽车兑换 | 长期 | / | / | 0 0 * * * | | `jd_club_lottery` | 摇京豆 | 长期 | 0 16 * * * | 0 0 */1 * * | 0 0 * * * | | `jd_crazy_joy` | 疯狂的joy | 长期 | / | / | 30 7 * * * | | `jd_crazy_joy_coin` | 疯狂的joy挂机 | 长期 | / | / | / | | `jd_daily_egg` | 京东金融-天天提额 | 长期 | 10 */3 * * * | 0-12/3 */3 * * * | 8 */3 * * * | | `jd_dreamFactory` | 京喜工厂 | 长期 | / | */30 * * * * | 3 */1 * * * | -| `jd_ds` | 京东代属(校园用户) | 长期 | / | / | / | -| `jd_fruit` | 东东农场 | 长期 | 20 23,4,10 * * * | 0,5,10 8,9,12,18,23,0 * * * | 5 6-18/6 * * * | -| `jd_health` | 健康抽奖机 | 短期 | / | 0 0 */1 * * | 10 0 * * * | +| `jd_fruit` | 东东农场 | 长期 | 20 23,4,10 * * * | 0,5,10 8,9,12,18,23,0 * * * | 5 6-18/6,8 * * * | +| `jd_get_share_code` | 获取互助码 | 长期 | / | / | / | | `jd_jdfactory` | 东东工厂 | 长期 | / | */30 * * * * | 3 */1 * * * | -| `jd_jdh` | 京东健康APP | 短期 | / | / | 30 7 * * * | | `jd_jdzz` | 京东赚赚 | 长期 | / | / | 3 1 * * * | | `jd_joy` | 宠汪汪 | 长期 | 0 0,1,4,10,15,16 * * * | 0,5,10 8,9,12,18,23,0 * * * | 3 */1 * * * | | `jd_joy_feedPets` | 宠汪汪单独喂食 | 长期 | */20 */1 * * * | 0-12/3 */3 * * * | 3 */1 * * * | @@ -173,14 +173,13 @@ let CookieJDs = [ | `jd_joy_reward` | 宠汪汪兑换奖品 | 长期 | 0 0,4,8,16 * * * | 0 8,12,16,0 */1 * * | 0 0-16/8,20 * * * | | `jd_joy_run` | 宠汪汪邀请助力与赛跑助力 | 长期 | / | / | / | | `jd_joy_steal` | 宠汪汪偷好友狗粮与积分 | 长期 | 0 16,22 * * * | 0 0,6,20 */1 * * | 0 0-16/8,20 * * * | +| `jd_jxnc` | 京喜农场 | 长期 | / | / | / | | `jd_kd` | 京东快递 | 长期 | / | 0 1 */1 * * | 3 1 * * * | | `jd_live` | 京东直播18豆 | 长期 | / | / | 0 0-16/8,20 * * * | -| `jd_live_redrain` | 超级直播间红包雨 | 短期 | / | 0 0,20,9-23/2 * * MON-FRI | / | | `jd_lotteryMachine` | 京东抽奖机 | 长期 | 11 17 * * * | 0 0 */1 * * | 10 0 * * * | | `jd_moneyTree` | 摇钱树 | 长期 | 40 */3 * * * | 0-12/3 */3 * * * | 3 */1 * * * | -| `jd_ms_redrain` | 秒杀红包雨 | 短期 | / | 0 1 */1 * * | 10 0 * * * | | `jd_necklace` | 点点券 | 长期 | / | 0 0,6,20 */1 * * | 0 0-16/8,20 * * * | -| `jd_pet` | 东东萌宠 | 长期 | 35 23,4,10 * * * | 0,5,10 8,9,12,18,23,0 * * * | 5 6-18/6 * * * | +| `jd_pet` | 东东萌宠 | 长期 | 35 23,4,10 * * * | 0,5,10 8,9,12,18,23,0 * * * | 5 6-18/6,8 * * * | | `jd_petTreasureBox` | 宠汪汪聚宝盆 | 长期 | / | / | / | | `jd_pigPet` | 京东金融-养猪猪 | 长期 | / | 0-12/3 */3 * * * | 3 1 * * * | | `jd_plantBean` | 种豆得豆 | 长期 | 0 23,0-14/1 * * * | 0-12/3 */3 * * * | 3 */1 * * * | @@ -193,16 +192,21 @@ let CookieJDs = [ | `jd_syj` | 十元街 | 长期 | / | 0 1 */1 * * | 3 1 * * * | | `jd_unbind` | 注销京东会员卡 | 长期 | / | / | 10 0 * * * | | `jd_unsubscribe` | 取关京东店铺和商品 | 长期 | 45 15 * * * | 0 1 */1 * * | 10 0 * * * | -| `jd_watch` | 发现-看一看 | 长期 | / | / | 3 1 * * * | -| `jr_sign` | 金融打卡年终奖 | 短期 | / | / | 3 1 * * * | | `jd_818` | 京东手机狂欢城 | 短期 | 0 1,4,7,10,12,16,22 * * * | 0 9,12,15,16,20,0,6 */1 * * | / | | `jd_apple_live` | 苹果抽奖机 | 短期 | / | / | / | | `jd_collectProduceScore` | 双十一活动领金币 | 短期 | 30 * * * * | */30 * * * * | / | | `jd_digital_floor` | 数码加购京豆 | 短期 | / | / | / | +| `jd_ds` | 京东代属(校园用户) | 短期 | / | / | / | +| `jd_health` | 健康抽奖机 | 短期 | / | 0 0 */1 * * | 10 0 * * * | +| `jd_jdh` | 京东健康APP | 短期 | / | / | 30 7 * * * | | `jd_jxstory` | 京喜故事 | 短期 | / | / | / | +| `jd_live_redrain` | 超级直播间红包雨 | 短期 | / | 0 0,20,9-23/2 * * MON-FRI | / | | `jd_mohe` | 热8超级魔盒 | 短期 | / | / | / | +| `jd_ms_redrain` | 秒杀红包雨 | 短期 | / | 0 1 */1 * * | 10 0 * * * | | `jd_pubg` | PUBG | 短期 | / | / | / | | `jd_split` | 金榜年终奖 | 短期 | / | / | / | +| `jd_watch` | 发现-看一看 | 短期 | / | / | 3 1 * * * | | `jd_xtg` | 双十一星推官 | 短期 | 0 16 * * * | 0 0 */1 * * | / | +| `jr_sign` | 金融打卡年终奖 | 短期 | / | / | 3 1 * * * | 点击提交,所有流程就结束了。 From 4be5dae87f91c1010cfad9c1b8bca9b92d340b71 Mon Sep 17 00:00:00 2001 From: an0na <913314010@qq.com> Date: Mon, 11 Jan 2021 10:09:19 +0800 Subject: [PATCH 0687/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=8A=A9=E5=8A=9B=E7=A0=81=E3=80=90BOOKSHOP=5FSHARECO?= =?UTF-8?q?DES=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bookshop.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/jd_bookshop.js b/jd_bookshop.js index 3d3a9242..2e31ccfb 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -690,6 +690,14 @@ function requireConfig() { console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; if ($.isNode()) { + //自定义助力码 + if (process.env.BOOKSHOP_SHARECODES) { + if (process.env.BOOKSHOP_SHARECODES.indexOf('\n') > -1) { + shareCodes = process.env.BOOKSHOP_SHARECODES.split('\n'); + } else { + shareCodes = process.env.BOOKSHOP_SHARECODES.split('&'); + } + } Object.keys(shareCodes).forEach((item) => { if (shareCodes[item]) { $.shareCodesArr.push(shareCodes[item]) From 39b9049f37120068930d2708eda3773eff8910a6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 10:22:50 +0800 Subject: [PATCH 0688/1259] fix --- jd_bookshop.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index 2e31ccfb..179e3ced 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -686,7 +686,7 @@ function requireConfig() { return new Promise(resolve => { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; - const shareCodes = [] + let shareCodes = [] console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; if ($.isNode()) { From b6327a098114d5b736c7b1cdf13d0d6b5a9ac6d9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 10:26:32 +0800 Subject: [PATCH 0689/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E6=96=87=E6=A1=A3=EF=BC=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?BOOKSHOP=5FSHARECODES(=E4=BA=AC=E4=B8=9C=E4=B9=A6=E5=BA=97)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/githubAction.md b/githubAction.md index 2d685a34..3ae06b28 100644 --- a/githubAction.md +++ b/githubAction.md @@ -45,7 +45,8 @@ | `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | | `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 @@ -77,8 +78,6 @@ | `BUY_JOY_LEVEL` | 疯狂的JOY | 非必须 | 疯狂的JOY自动购买什么等级的JOY | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | -| `WATCH_ACCEPTBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discAcceptTask`(需40个,每个之间使用@符号隔开) | -| `WATCH_DOBODY` | 京东看一看(jd_watch.js)脚本 | 非必须 | 抓包`functionId=discDoTask`(需40个,每个之间使用@符号隔开) | | `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,示例:{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"},多账单间使用`&`或换行分开。 | ##### 互助码的填写规则 From a73d4899d1c4c7b19572e0cb10b629a8284cc991 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 11 Jan 2021 10:27:27 +0800 Subject: [PATCH 0690/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8F=A3=E8=A2=8B=E4=B9=A6=E5=BA=97secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数增加口袋书店secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index b375b6f0..92f0db0c 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -72,6 +72,7 @@ jobs: if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; + if [ $BOOKSHOP_SHARECODES ]; then sed -i "/variables/a\ BOOKSHOP_SHARECODES: $BOOKSHOP_SHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; @@ -129,6 +130,7 @@ jobs: JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} + BOOKSHOP_SHARECODES: ${{ secrets.BOOKSHOP_SHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} From b9199cc922c7c646046a98c597d256895fbfafa9 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 11 Jan 2021 10:36:38 +0800 Subject: [PATCH 0691/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4secret=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=EF=BC=8C=E4=BF=9D=E6=8C=81=E4=B8=8EgithubAction.md?= =?UTF-8?q?=E4=B8=80=E8=87=B4=EF=BC=8C=E6=96=B9=E4=BE=BF=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整secret顺序,保持与githubAction.md一致,方便查看 --- .github/workflows/deploy_tencent_scf.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 92f0db0c..183015c4 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -71,8 +71,8 @@ jobs: if [ $DREAM_FACTORY_SHARE_CODES ]; then sed -i "/variables/a\ DREAM_FACTORY_SHARE_CODES: $DREAM_FACTORY_SHARE_CODES" serverless.yml; fi; if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; - if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; if [ $BOOKSHOP_SHARECODES ]; then sed -i "/variables/a\ BOOKSHOP_SHARECODES: $BOOKSHOP_SHARECODES" serverless.yml; fi; + if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; @@ -129,8 +129,8 @@ jobs: DREAM_FACTORY_SHARE_CODES: ${{ secrets.DREAM_FACTORY_SHARE_CODES}} JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} - JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} BOOKSHOP_SHARECODES: ${{ secrets.BOOKSHOP_SHARECODES}} + JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} From 572ae58974c5a61a16b436af74a834e2d1763af6 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 11 Jan 2021 11:51:40 +0800 Subject: [PATCH 0692/1259] =?UTF-8?q?fix=20=E4=BA=AC=E5=96=9C=E5=86=9C?= =?UTF-8?q?=E5=9C=BA=20=E5=8A=A9=E5=8A=9B=E7=A0=81=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E9=94=99=E8=AF=AF=20add=20=E8=B7=B3=E8=BF=87=E8=87=AA=E5=B7=B1?= =?UTF-8?q?=E8=B4=A6=E6=88=B7=E7=9A=84=E5=8A=A9=E5=8A=9B=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 1bef74f8..d55ac515 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -119,7 +119,7 @@ function requireConfig() { if ($.isNode()) { Object.keys(jdTokenNode).forEach((item) => { - tokenArr.push(tokenArr[item] ? JSON.parse(jxncShareCodeArr[item]) : tokenNull) + tokenArr.push(jdTokenNode[item] ? JSON.parse(jdTokenNode[item]) : tokenNull) }) } else { tokenArr.push(...[$.getdata('jxnc_token1') || tokenNull, $.getdata('jxnc_token2') || tokenNull]); @@ -428,6 +428,11 @@ async function helpFriends() { // 执行助力 return true 继续助力 false 助力结束 function helpShareCode(code) { return new Promise(async resolve => { + if (code === $.info.smp) { // 自己的助力码,跳过,继续执行 + $.log('助力码与当前账号相同,跳过助力。准备进行下一个助力'); + resolve(true); + } + $.wait(300); $.get( taskUrl('help', `active=${$.info.active}&joinnum=${$.info.joinnum}&smp=${code}`), async (err, resp, data) => { From 2fab5370ebb9333a6f770f36532b232d4fca1e1f Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Mon, 11 Jan 2021 12:28:54 +0800 Subject: [PATCH 0693/1259] Update jd_jxnc.js --- jd_jxnc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index f9906e6a..fa1167f8 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -55,8 +55,8 @@ $.helpNum = 0; // 当前账号 助力 ret 1011 次数 !(async () => { await requireConfig(); if (!cookieArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - return; + $.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 < cookieArr.length; i++) { From ad9b828defe2d73862ddade4d727c0c5aad6bd44 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 11 Jan 2021 16:50:03 +0800 Subject: [PATCH 0694/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E6=96=B0=E5=A2=9E=20=E6=B6=88=E6=81=AF=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E7=BA=A7=E5=88=AB=20=E6=96=B0=E5=A2=9E=20=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=9C=9F=E9=97=B4=E8=8E=B7=E5=8F=96=E6=B0=B4=E6=BB=B4=E6=95=B0?= =?UTF-8?q?=E9=87=8F=20=E5=8F=98=E6=9B=B4=20=E3=80=90=E9=A2=84=E6=B5=8B?= =?UTF-8?q?=E3=80=91=E7=AE=97=E6=B3=95=E6=94=B9=E4=B8=BA=E5=9B=BA=E5=AE=9A?= =?UTF-8?q?=E5=A4=A9=E6=95=B0=EF=BC=88=E5=90=8E=E7=BB=AD=E8=BF=98=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E5=86=8D=E4=BC=98=E5=8C=96=E4=B8=80=E6=AC=A1=EF=BC=89?= =?UTF-8?q?=20=E4=BC=98=E5=8C=96=20=E9=9A=8F=E6=9C=BA=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E9=80=92=E5=BD=92=E6=A8=A1=E5=BC=8F=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=BE=AA=E7=8E=AF=20=E4=BC=98=E5=8C=96=20=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E8=87=AA=E5=B7=B1=20share=20code=20=E6=97=B6=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=20=E5=8F=98=E6=9B=B4=201011=20=E5=8A=A9=E5=8A=9B=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E6=AC=A1=E6=95=B0=20nodejs=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=208=20=E6=AC=A1=20=E9=9D=9E=20nodejs=203=20=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 121 ++++++++++++++++++++++++++++------------------------- 1 file changed, 65 insertions(+), 56 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 97cc99ad..14825d1c 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -32,6 +32,8 @@ cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_ const $ = new Env('京喜农场'); let notify = ''; // nodejs 发送通知脚本 +let notifyLevel = process.env.JXNC_NOTIFY_LEVEL || 3; // 通知级别 0=不通知;1=本次获得水滴>0;2=任务执行;3=任务执行+未种植种子; +let notifyBool = true; // 代码内部使用,控制是否通知 let cookieArr = []; // 用户 cookie 数组 let currentCookie = ''; // 当前用户 cookie let tokenNull = {'farm_jstoken': '', 'phoneid': '', 'timestamp': ''}; // 内置一份空的 token @@ -49,14 +51,15 @@ $.allTask = []; // 任务列表 $.info = {}; // 用户信息 $.answer = 0; $.drip = 0; -$.maxHelpNum = shareCode.split('@').length; // 助力 ret 1011 错误最大计数 +$.maxHelpNum = $.isNode() ? 8 : 3; // 助力 ret 1011 错误最大计数 $.helpNum = 0; // 当前账号 助力 ret 1011 次数 +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; + $.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 < cookieArr.length; i++) { @@ -99,6 +102,7 @@ function requireConfig() { return new Promise(resolve => { $.log('开始获取配置文件\n') notify = $.isNode() ? require('./sendNotify') : ''; + notifyBool = notifyLevel > 0; // 初始化是否推送 //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; const jdTokenNode = $.isNode() ? require('./jdJxncTokens.js') : ''; @@ -218,27 +222,38 @@ async function jdJXNC() { subTitle = `【京东账号${$.index}】${$.nickName}`; $.log(`获取用户信息 & 任务列表`); const startInfo = await getTaskList(); - if (!startInfo) { // 未选择种子时,当前账号流程结束 - return false; + if (startInfo.prizename) { + message += `【水果名称】${startInfo.prizename}\n`; } - message += `【水果名称】${startInfo.prizename}\n`; - $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】 ${$.info.smp}`); - $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}种子active】 ${$.info.active}`); - await $.wait(500); - const isOk = await browserTask(); - if (!isOk) { - return false; - } - await $.wait(500); - await answerTask(); - await $.wait(500); - const endInfo = await getTaskList(); - getMessage(endInfo, startInfo); - const next = await helpFriends(); - if (next) { - await submitInviteId($.UserName); + if (startInfo) { + $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】 ${$.info.smp}`); + $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}种子active】 ${$.info.active}`); await $.wait(500); - await createAssistUser(); + const isOk = await browserTask(); + if (isOk) { + await $.wait(500); + await answerTask(); + await $.wait(500); + const endInfo = await getTaskList(); + getMessage(endInfo, startInfo); + let next = await helpFriends(); + if (next) { + await submitInviteId($.UserName); + await $.wait(500); + while (true) { + assistUserShareCode = await getAssistUser(); + if (assistUserShareCode) { + await $.wait(300); + next = await helpShareCode(assistUserShareCode); + if (next) { + await $.wait(200); + continue; + } + } + break; + } + } + } } await showMsg() } @@ -250,16 +265,14 @@ function getTaskList() { try { const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; const {detail, msg, task = [], retmsg, ...other} = JSON.parse(res); - $.helpTask = task.filter(x => x.tasktype === 2)[0] || { eachtimeget: 0, limit: 0 }; + $.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('账号未选择种子,请先去京喜农场选择种子,选择 APP 专属种子时,必须提供 token'); - $.msg($.name, subTitle, '请先去京喜农场选择种子!\n选择app专属种子时,请参考脚本头部说明获取token,点击通知跳转', option); - if ($.isNode()) { - await notify.sendNotify(`${$.name}`, `京东账号${$.index}[${$.nickName || $.UserName}]请先去京喜农场选择种子!\n选择app专属种子时,请参考脚本头部说明获取token`); - } + $.log('账号未选择种子,请先去京喜农场选择种子。\n如果选择 APP 专属种子,必须提供 token。'); + message += '账号未选择种子,请先去京喜农场选择种子。\n如果选择 APP 专属种子,必须提供 token。\n'; + notifyBool = notifyBool && notifyLevel >= 3; resolve(false); } resolve(other); @@ -292,10 +305,7 @@ function browserTask() { } if (status[0] === 1032) { $.log('任务执行失败,种植的 APP 专属种子,请提供 token 或种植非 APP 种子'); - $.msg($.name, '请参考脚本头部说明获取token', '或者改中非app专属种子,点击通知跳转', option); - if ($.isNode()) { - await notify.sendNotify(`${$.name}`, `京东账号${$.index}[${$.nickName || $.UserName}]请参考脚本头部说明获取token\n或者改中非app专属种子`); - } + message += '任务执行失败,种植的 APP 专属种子,请提供 token 或种植非 APP 种子\n'; resolve(false); return; } @@ -348,14 +358,17 @@ function answerTask() { }); } -function getMessage(endInfo) { +function getMessage(endInfo, startInfo) { const need = endInfo.target - endInfo.score; - const get = $.drip; - message += `【水滴】获得水滴${get} 还需水滴${need}\n`; - if (get > 0) { - const max = parseInt(need / get); - const min = parseInt(need / (get + $.helpTask.limit * $.helpTask.eachtimeget)); - message += `【预测】还需 ${min} ~ ${max} 天\n`; + const get = endInfo.modifyscore; // 本地变更获得水滴 + const leaveGet = startInfo.modifyscore; // 离开时获得水滴 + message += `【水滴】本次水滴${get} 离线获得${leaveGet} 还需水滴${need}\n`; + if (get > 0 || leaveGet > 0) { + notifyBool = notifyBool && notifyLevel >= 1; + const day = parseInt(need / (get + leaveGet)); + message += `【预测】还需 ${day} 天\n`; + } else { + notifyBool = notifyBool && notifyLevel >= 2; } } @@ -387,26 +400,21 @@ function submitInviteId(userName) { }); } -// 获取随机助力码并助力 -function createAssistUser() { +function getAssistUser() { return new Promise(resolve => { $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`}, async (err, resp, _data) => { try { const {code, data = {}} = JSON.parse(_data); - $.log(`获取随机助力码 ${code}`); - if (!data.value) { - $.log('随机助力码不存在,跳过助力'); - resolve(); - return; - } - const next = await helpShareCode(data.value); - if (next) { - await createAssistUser(); + if (data.value) { + $.log(`获取随机助力码成功 ${code} ${data.value}`); + resolve(data.value); } else { - resolve(); + $.log(`获取随机助力码失败 ${code}`); } } catch (e) { $.logErr(e, resp); + } finally { + resolve(false); } }); }); @@ -433,14 +441,13 @@ function helpShareCode(code) { $.log('助力码与当前账号相同,跳过助力。准备进行下一个助力'); resolve(true); } - $.wait(300); $.get( taskUrl('help', `active=${$.info.active}&joinnum=${$.info.joinnum}&smp=${code}`), async (err, resp, data) => { try { const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; const {ret, retmsg = ''} = JSON.parse(res); - $.log(`助力结果:ret=${ret} retmsg="${retmsg ? retmsg : '助力成功'}"`); + $.log(`助力结果:ret=${ret} retmsg="${retmsg ? retmsg : 'OK'}"`); if (ret === 0 || ret === 1021) { // 0 助力成功 1021 不能助力自己 resolve(true); } @@ -509,9 +516,11 @@ function taskUrl(function_path, body) { } async function showMsg() { - $.msg($.name, subTitle, message, option); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${subTitle}\n${message}`); + if (notifyBool) { + $.msg($.name, subTitle, message, option); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${subTitle}\n${message}`); + } } } From 9a1966aafe9b9389856bb085f3193dfd551ebe7f Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 11 Jan 2021 17:16:16 +0800 Subject: [PATCH 0695/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E4=BC=98=E5=8C=96=20=E3=80=90=E9=A2=84=E6=B5=8B=E3=80=91?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E6=8C=89=E7=85=A7=E4=BB=8A=E6=97=A5?= =?UTF-8?q?=E6=80=BB=E8=8E=B7=E5=BE=97=E6=B0=B4=E6=BB=B4=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E9=A2=84=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 14825d1c..40ee058a 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -46,6 +46,7 @@ const openUrl = `openjd://virtual?params=${encodeURIComponent('{ "category": "ju let subTitle = '', message = '', option = {'open-url': openUrl}; // 消息副标题,消息正文,消息扩展参数 const JXNC_API_HOST = 'https://wq.jd.com/'; +$.detail = []; // 今日明细列表 $.helpTask = null; $.allTask = []; // 任务列表 $.info = {}; // 用户信息 @@ -265,6 +266,7 @@ function getTaskList() { try { const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[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; @@ -362,11 +364,22 @@ function getMessage(endInfo, startInfo) { const need = endInfo.target - endInfo.score; const get = endInfo.modifyscore; // 本地变更获得水滴 const leaveGet = startInfo.modifyscore; // 离开时获得水滴 - message += `【水滴】本次水滴${get} 离线获得${leaveGet} 还需水滴${need}\n`; - if (get > 0 || leaveGet > 0) { - notifyBool = notifyBool && notifyLevel >= 1; - const day = parseInt(need / (get + leaveGet)); + 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 (get > 0 || leaveGet > 0 || dayGet > 0) { + const day = parseInt(need / (dayGet > 0 ? dayGet : (get + leaveGet))); message += `【预测】还需 ${day} 天\n`; + } + if (get > 0 || leaveGet > 0) { // 本次 或 离线 有水滴 + notifyBool = notifyBool && notifyLevel >= 1; } else { notifyBool = notifyBool && notifyLevel >= 2; } From 764a70399d29b59c4b19b9fba1e2dff752ba2164 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 17:34:05 +0800 Subject: [PATCH 0696/1259] fix --- jd_jxnc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 40ee058a..fbf9f0f7 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -32,7 +32,7 @@ cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_ const $ = new Env('京喜农场'); let notify = ''; // nodejs 发送通知脚本 -let notifyLevel = process.env.JXNC_NOTIFY_LEVEL || 3; // 通知级别 0=不通知;1=本次获得水滴>0;2=任务执行;3=任务执行+未种植种子; +let notifyLevel = $.isNode() ? process.env.JXNC_NOTIFY_LEVEL || 3 : 3; // 通知级别 0=不通知;1=本次获得水滴>0;2=任务执行;3=任务执行+未种植种子; let notifyBool = true; // 代码内部使用,控制是否通知 let cookieArr = []; // 用户 cookie 数组 let currentCookie = ''; // 当前用户 cookie From a8de19af4fd0dec6a5e8796ec51793d78696af75 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 11 Jan 2021 18:46:31 +0800 Subject: [PATCH 0697/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京喜农场 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index f9c30a18..ace566a7 100644 --- a/serverless.yml +++ b/serverless.yml @@ -28,12 +28,12 @@ inputs: cronExpression: "0 0 0 * * * *" enable: true argument: jd_blueCoin&jd_club_lottery&jd_car&jd_car_exchange - - timer: #东东农场 #东东萌宠 #口袋书店 + - timer: #东东农场 #东东萌宠 #口袋书店 #京喜农场 parameters: - name: jd_fruit_jd_pet_bookshop + name: jd_fruit_jd_pet_bookshop_jxnc cronExpression: "0 5 6-18/6,8 * * * *" enable: true - argument: jd_fruit&jd_pet&jd_bookshop + argument: jd_fruit&jd_pet&jd_bookshop&jd_jxnc - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 parameters: name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory From 99bedbaeee21cc68baa5232ca57560f1579976dd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 19:01:42 +0800 Subject: [PATCH 0698/1259] Update jd_bookshop.js --- jd_bookshop.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index 179e3ced..16ddf3a6 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -27,7 +27,7 @@ let cookiesArr = [], cookie = '', message; const ACT_ID = 'dz2010100034444201', shareUuid = '28a699ac78d74aa3b31f7103597f8927' let inviteCodes = [ - '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869', + '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869@ce2536153a8742fb9e8754a9a7d361da', '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869' ] From 22261ae21e9cf9a3246c1a73870a8f54f783b6f4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 19:05:12 +0800 Subject: [PATCH 0699/1259] Update jd_bookshop.js --- jd_bookshop.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index 16ddf3a6..e50624ee 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -27,7 +27,7 @@ let cookiesArr = [], cookie = '', message; const ACT_ID = 'dz2010100034444201', shareUuid = '28a699ac78d74aa3b31f7103597f8927' let inviteCodes = [ - '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869@ce2536153a8742fb9e8754a9a7d361da', + '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869@ce2536153a8742fb9e8754a9a7d361da@38ba4e7ba8074b78851e928af2b4f6b2', '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869' ] From 8a777741d55aaab572b57bae58757acd9f8114ad Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 19:08:01 +0800 Subject: [PATCH 0700/1259] Update jd_jxnc.js --- jd_jxnc.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jd_jxnc.js b/jd_jxnc.js index fbf9f0f7..2f167e41 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -10,6 +10,8 @@ 理论上脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 助力码shareCode请先手动运行脚本查看打印可看到 +hostname = wq.jd.com + ==========================Quantumultx========================= [task_local] 0 9,12,18 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true From 74a2d94a5b70875f4c6d1b2435e58365a90b0bad Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 11 Jan 2021 19:38:02 +0800 Subject: [PATCH 0701/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20add=20=E5=8A=A9=E5=8A=9B=E8=BF=94=E5=9B=9E=20ret=201021=20c?= =?UTF-8?q?annot=20help=20self=20=20=E6=9C=80=E5=A4=A7=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=E9=99=90=E5=88=B6=EF=BC=88=E9=99=90=E5=88=B6=203=20=E6=AC=A1?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 2f167e41..5a6c1c41 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -56,6 +56,8 @@ $.answer = 0; $.drip = 0; $.maxHelpNum = $.isNode() ? 8 : 3; // 助力 ret 1011 错误最大计数 $.helpNum = 0; // 当前账号 助力 ret 1011 次数 +$.maxHelpSelfNum = 3; // 助力 自身 ret 1021 cannot help self 最大次数限制(防止随机API不停返回自身 code 导致死循环) +$.helpSelfNum = 0; // 当前账号 助力 ret 1021 cannot help self 次数 let assistUserShareCode = 0; // 随机助力用户 share code !(async () => { @@ -86,6 +88,7 @@ let assistUserShareCode = 0; // 随机助力用户 share code message = ''; option = {}; $.helpNum = 0; + $.helpSelfNum = 0; await tokenFormat(); // 处理当前账号 token await shareCodesFormat(); // 处理当前账号 助力码 await jdJXNC(); // 执行当前账号 主代码流程 @@ -463,9 +466,15 @@ function helpShareCode(code) { const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; const {ret, retmsg = ''} = JSON.parse(res); $.log(`助力结果:ret=${ret} retmsg="${retmsg ? retmsg : 'OK'}"`); - if (ret === 0 || ret === 1021) { // 0 助力成功 1021 不能助力自己 + if (ret === 0) { // 0 助力成功 resolve(true); } + if (ret === 1021) { // 1021 cannot help self 不能助力自己 + $.helpSelfNum++; + if ($.helpSelfNum <= $.maxHelpSelfNum) { + resolve(true); + } + } if (ret === 1011) { // 1011 active 不同 $.helpNum++; if ($.helpNum <= $.maxHelpNum) { From 17494710b7c40202023ca6c5a0dcabb01aa63320 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 11 Jan 2021 20:36:59 +0800 Subject: [PATCH 0702/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E4=BF=AE=E6=94=B9=20=E6=8F=90=E4=BA=A4=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E5=88=B0=E5=A5=BD=E5=8F=8B=E5=8A=A9=E5=8A=9B=E4=B9=8B=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 5a6c1c41..b145b53d 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -211,10 +211,7 @@ function shareCodesFormat() { // console.log(`第${$.index}个京东账号的助力码:::${jdFruitShareArr[$.index - 1]}`) if (jxncShareCodeArr[$.index - 1]) { currentShareCode = jxncShareCodeArr[$.index - 1].split('@'); - let length = currentShareCode.length; - if (length < 3) { - currentShareCode.push(...(shareCode.split('@').splice(0, 3 - length))); - } + currentShareCode.push(...(shareCode.split('@'))); } else { $.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码`) currentShareCode = shareCode.split('@'); @@ -242,10 +239,10 @@ async function jdJXNC() { await $.wait(500); const endInfo = await getTaskList(); getMessage(endInfo, startInfo); + await submitInviteId($.UserName); + await $.wait(500); let next = await helpFriends(); if (next) { - await submitInviteId($.UserName); - await $.wait(500); while (true) { assistUserShareCode = await getAssistUser(); if (assistUserShareCode) { From 1000c76c6f778751ef4ec976e7088ab1bde39be4 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 11 Jan 2021 20:45:28 +0800 Subject: [PATCH 0703/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=A2=9E=E5=8A=A0=20=E5=8D=B3=E5=B0=86=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=20share=20code=20log=20=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_jxnc.js b/jd_jxnc.js index b145b53d..06e53461 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -456,6 +456,7 @@ function helpShareCode(code) { $.log('助力码与当前账号相同,跳过助力。准备进行下一个助力'); resolve(true); } + $.log(`即将助力 share code:${code}`); $.get( taskUrl('help', `active=${$.info.active}&joinnum=${$.info.joinnum}&smp=${code}`), async (err, resp, data) => { From 1b10cb07c00f4af17db128bd88ed3e5730c9971f Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 11 Jan 2021 22:08:03 +0800 Subject: [PATCH 0704/1259] =?UTF-8?q?=E7=AD=BE=E5=88=B0=E9=A2=86=E7=8E=B0?= =?UTF-8?q?=E9=87=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 341 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 341 insertions(+) create mode 100644 jd_cash.js diff --git a/jd_cash.js b/jd_cash.js new file mode 100644 index 00000000..b6aa2a42 --- /dev/null +++ b/jd_cash.js @@ -0,0 +1,341 @@ +/* +签到领现金,每日2毛~5毛 +可互助,助力码每日不变,只变日期 +活动入口:京东APP搜索领现金进入 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#签到领现金 +0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, tag=签到领现金, enabled=true + +================Loon============== +[Script] +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js,tag=签到领现金 + +===============Surge================= +签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js + +============小火箭========= +签到领现金 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, cronexpr="0 0 * * *", timeout=200, 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 { + 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); +} +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; + } + $.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() { + await index() + await helpFriends() + await index(true) + // await getReward() + await showMsg() +} +function index(info=false) { + return new Promise((resolve) => { + $.get(taskUrl("cash_mob_home",), 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){ + if(info){ + message += `当前现金:${data.data.result.signMoney}` + return + } + console.log(`您的助力码为${data.data.result.inviteCode}`) + let helpInfo = { + 'inviteCode': data.data.result.inviteCode, + 'shareDate': data.data.result.shareDate + } + // console.log(helpInfo) + for(let task of data.data.result.taskInfos){ + if (task.type === 4) { + for (let i = task.doTimes; i < task.times; ++i) { + console.log(`去做${task.name}任务 ${task.doTimes}/${task.times}`) + await doTask(task.type, task.jump.params.skuId) + await $.wait(1000) + } + } + else if (task.type === 2) { + for (let i = task.doTimes; i < task.times; ++i) { + console.log(`去做${task.name}任务 ${task.doTimes}/${task.times}`) + await doTask(task.type, task.jump.params.shopId) + await $.wait(1000) + } + } + else if (task.type === 16 || task.type===3) { + for (let i = task.doTimes; i < task.times; ++i) { + console.log(`去做${task.name}任务 ${task.doTimes}/${task.times}`) + await doTask(task.type, task.jump.params.url) + await $.wait(1000) + } + } + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +async function helpFriends() { + $.canHelp = true + if (helpAuthor && $.authorCode) { + for(let helpInfo of $.authorCode){ + console.log(`去帮助好友${helpInfo['inviteCode']}`) + await helpFriend(helpInfo) + if(!$.canHelp) break + } + } +} +function helpFriend(helpInfo) { + return new Promise((resolve) => { + $.get(taskUrl("cash_mob_assist", {...helpInfo,"source":1}), (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.bizCode === 0){ + console.log(`助力成功,获得${data.data.result.cashStr}`) + // console.log(data.data.result.taskInfos) + } else if (data.bizCode===207){ + $.canHelp = false + } else{ + console.log(data.data.bizMsg) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function doTask(type,taskInfo) { + return new Promise((resolve) => { + $.get(taskUrl("cash_doTask",{"type":type,"taskInfo":taskInfo}), (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(`任务完成成功`) + // console.log(data.data.result.taskInfos) + }else{ + console.log(data) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function getReward() { + return new Promise((resolve) => { + $.get(taskUrl("cash_mob_reward",{"source":1,"rewardNode":""}), (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.bizCode === 0 ){ + console.log(`领奖成功,${data.data.result.shareRewardTip}【${data.data.result.shareRewardAmount}】`) + // console.log(data.data.result.taskInfos) + }else{ + console.log(`领奖失败,${data.data.bizMsg}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function showMsg() { + 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=${functionId}&body=${escape(JSON.stringify(body))}&appid=CashRewardMiniH5Env&appid=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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + 'Accept-Language': 'zh-cn', + 'Accept-Encoding': 'gzip, deflate, br', + } + } +} + +function getAuthorShareCode() { + return new Promise(resolve => { + $.get({url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_cash.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) { + } else { + $.authorCode = 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From e0bcc4c7fb154a122221a0d3eea6cb5e33f9689a Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 11 Jan 2021 22:35:06 +0800 Subject: [PATCH 0705/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E4=B8=8A=E9=99=90=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_cash.js b/jd_cash.js index b6aa2a42..9507cc33 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -146,6 +146,7 @@ async function helpFriends() { console.log(`去帮助好友${helpInfo['inviteCode']}`) await helpFriend(helpInfo) if(!$.canHelp) break + await $.wait(1000) } } } @@ -162,7 +163,7 @@ function helpFriend(helpInfo) { if( data.code === 0 && data.data.bizCode === 0){ console.log(`助力成功,获得${data.data.result.cashStr}`) // console.log(data.data.result.taskInfos) - } else if (data.bizCode===207){ + } else if (data.data.bizCode===207){ $.canHelp = false } else{ console.log(data.data.bizMsg) From 25ebc37e85ac198b948d7c717b254e2fc5bfa22e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 11 Jan 2021 22:36:27 +0800 Subject: [PATCH 0706/1259] Update lxk0301_Task.sgmodule.sgmodule --- Surge/lxk0301_Task.sgmodule.sgmodule | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index a4d788f1..758c38b8 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -69,7 +69,7 @@ cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scri cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, timeout=750, wake-system=1, tag=注销京东店铺会员卡 #疯狂的joy日常任务 cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 -#以下为短期活动 -#健康抽奖机 -cron "30 2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, timeout=750, wake-system=1, tag=健康抽奖机 +#签到领现金 +签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js + From adeb3e23c28e3572d481227205b22e75d1565ce6 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 11 Jan 2021 22:46:14 +0800 Subject: [PATCH 0707/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_cash.js b/jd_cash.js index 9507cc33..81f38446 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -7,17 +7,17 @@ ============Quantumultx=============== [task_local] #签到领现金 -0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, tag=签到领现金, enabled=true +2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, tag=签到领现金, enabled=true ================Loon============== [Script] -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js,tag=签到领现金 +cron "2 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js,tag=签到领现金 ===============Surge================= -签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js +签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js ============小火箭========= -签到领现金 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, cronexpr="0 0 * * *", timeout=200, enable=true +签到领现金 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, cronexpr="2 0 * * *", timeout=200, enable=true */ const $ = new Env('签到领现金'); const notify = $.isNode() ? require('./sendNotify') : ''; From 8764b8241ed0c491a39edeb6a6350a55cc9e5d90 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 11 Jan 2021 23:11:48 +0800 Subject: [PATCH 0708/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E7=AD=BE=E5=88=B0+?= =?UTF-8?q?=E5=8F=8C=E7=AD=BE=E5=88=B0=20=E6=AF=8F=E5=A4=A93=E5=88=86?= =?UTF-8?q?=E9=92=B1+=E4=BA=AC=E5=96=9C=E9=87=91=E5=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jx_sign.js | 317 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 317 insertions(+) create mode 100644 jx_sign.js diff --git a/jx_sign.js b/jx_sign.js new file mode 100644 index 00000000..e860d582 --- /dev/null +++ b/jx_sign.js @@ -0,0 +1,317 @@ +/* +京喜签到 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京喜签到 +5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js, tag=京喜签到, enabled=true + +================Loon============== +[Script] +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js,tag=京喜签到 + +===============Surge================= +京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js + +============小火箭========= +京喜签到 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js, cronexpr="5 0 * * *", timeout=200, 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 { + 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); +} +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 = 2; 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.pingouji) + }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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From d23bed4e3d0122faacf4a24ff8e8e525b11ab91b Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 11 Jan 2021 23:30:41 +0800 Subject: [PATCH 0709/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jx_sign.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jx_sign.js b/jx_sign.js index e860d582..db312ad0 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -47,7 +47,7 @@ const JD_API_HOST = 'https://m.jingxi.com/'; } $.newShareCodes = [] // await getAuthorShareCode(); - for (let i = 2; i < cookiesArr.length; i++) { + 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]) From d67e0971dccc3d77386ce273715509b1efdc3ff6 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 11 Jan 2021 23:37:06 +0800 Subject: [PATCH 0710/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0docker=E7=9A=84cron?= =?UTF-8?q?tab=EF=BC=9A=E7=AD=BE=E5=88=B0=E9=A2=86=E7=8E=B0=E9=87=91?= =?UTF-8?q?=E3=80=81=E4=BA=AC=E5=96=9Capp=E7=AD=BE=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index daa50fa0..65e249ba 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -83,3 +83,7 @@ 7 8,12,18 * * * node /scripts/jd_bookshop.js >> /scripts/logs/jd_bookshop.log 2>&1 # 京喜农场 0 9,12,18 * * * node /scripts/jd_jxnc.js >> /scripts/logs/jd_jxnc.log 2>&1 +# 签到领现金 +27 7 * * * node /scripts/jd_cash.js >> /scripts/logs/jd_cash.log 2>&1 +# 京喜app签到 +39 7 * * * node /scripts/jx_sign.js >> /scripts/logs/jx_sign.log 2>&1 From 027d07c41942be69ff19557f69b282bb4692dfcf Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 12 Jan 2021 00:25:33 +0800 Subject: [PATCH 0711/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=80=9B=E4=BC=9A?= =?UTF-8?q?=E5=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_cash.js b/jd_cash.js index 81f38446..25a99c22 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -108,21 +108,21 @@ function index(info=false) { for(let task of data.data.result.taskInfos){ if (task.type === 4) { for (let i = task.doTimes; i < task.times; ++i) { - console.log(`去做${task.name}任务 ${task.doTimes}/${task.times}`) + console.log(`去做${task.name}任务 ${i}/${task.times}`) await doTask(task.type, task.jump.params.skuId) await $.wait(1000) } } else if (task.type === 2) { for (let i = task.doTimes; i < task.times; ++i) { - console.log(`去做${task.name}任务 ${task.doTimes}/${task.times}`) + console.log(`去做${task.name}任务 ${i}/${task.times}`) await doTask(task.type, task.jump.params.shopId) await $.wait(1000) } } - else if (task.type === 16 || task.type===3) { + else if (task.type === 16 || task.type===3 || task.type===5) { for (let i = task.doTimes; i < task.times; ++i) { - console.log(`去做${task.name}任务 ${task.doTimes}/${task.times}`) + console.log(`去做${task.name}任务 ${i}/${task.times}`) await doTask(task.type, task.jump.params.url) await $.wait(1000) } From 941652e3333c4e753f9c86761ac396d1cd26f137 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 12 Jan 2021 07:05:01 +0800 Subject: [PATCH 0712/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=AD=BE=E5=88=B0=E9=A2=86=E7=8E=B0=E9=87=91=E3=80=81?= =?UTF-8?q?=E4=BA=AC=E5=96=9C=E7=AD=BE=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增签到领现金、京喜签到 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index ace566a7..25298722 100644 --- a/serverless.yml +++ b/serverless.yml @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 parameters: - name: pigPet_syj_kd_jdzz + name: pigPet_syj_kd_jdzz_cash_sign cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From e8ee1d16a7d0ca28338115e65c27112137b69f1e Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 12 Jan 2021 08:35:40 +0800 Subject: [PATCH 0713/1259] update README.md update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 980fde4a..9cccaaeb 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ | 长期 | 东东超市兑换奖品 | [jd_blueCoin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js) | | 长期 | 口袋书店 | [jd_bookshop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js) | | 长期 | 京东汽车赛点兑换京豆 | [jd_car_exchange.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js) | +| 长期 | 签到领现金 | [jd_cash.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js) | | 长期 | 京东汽车签到 | [jd_car.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js) | | 长期 | 摇京豆 | [jd_club_lottery.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js) | | 长期 | 疯狂的JOY挂机 | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js) | @@ -68,6 +69,7 @@ | 长期 | 十元街 | [jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js) | | 长期 | 注销京东会员卡 | [jd_unbind.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js) | | 长期 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js) | +| 长期 | 京喜签到 | [jx_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js) | 搬运脚本 1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js)) From 9d2588d36f4d19263757b8e7d960c69dc34189ab Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 12 Jan 2021 10:19:53 +0800 Subject: [PATCH 0714/1259] =?UTF-8?q?=E7=AD=BE=E5=88=B0=E9=A2=86=E7=8E=B0?= =?UTF-8?q?=E9=87=91=E3=80=82=E5=B7=B2=E6=94=AF=E6=8C=81=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E4=BA=92=E5=8A=A9=E7=A0=81=E7=9B=B8=E4=BA=92=E5=B8=AE=E5=8A=A9?= =?UTF-8?q?=EF=BC=8C=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E4=B8=BAJD=5FCASH?= =?UTF-8?q?=5FSHARECODES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 106 ++++++++++++++++++++++++++++++++++++++++++++++++----- jd_jdzz.js | 2 +- 2 files changed, 98 insertions(+), 10 deletions(-) diff --git a/jd_cash.js b/jd_cash.js index 25a99c22..2eef61fe 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -26,7 +26,12 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; -let helpAuthor = true +let helpAuthor = true; +const randomCount = $.isNode() ? 20 : 5; +const inviteCodes = [ + `-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaO7jMvwh-W_VzyUX0Q`, + `-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaO7jMvwh-W_VzyUX0Q` +] if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { cookiesArr.push(jdCookieNode[item]) @@ -47,7 +52,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } - $.newShareCodes = [] + await requireConfig() await getAuthorShareCode(); for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { @@ -79,6 +84,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; }) async function jdCash() { await index() + await shareCodesFormat() await helpFriends() await index(true) // await getReward() @@ -104,6 +110,8 @@ function index(info=false) { 'inviteCode': data.data.result.inviteCode, 'shareDate': data.data.result.shareDate } + $.shareDate = data.data.result.shareDate; + $.log(`shareDate: ${$.shareDate}`) // console.log(helpInfo) for(let task of data.data.result.taskInfos){ if (task.type === 4) { @@ -141,14 +149,20 @@ function index(info=false) { } async function helpFriends() { $.canHelp = true - if (helpAuthor && $.authorCode) { - for(let helpInfo of $.authorCode){ - console.log(`去帮助好友${helpInfo['inviteCode']}`) - await helpFriend(helpInfo) - if(!$.canHelp) break - await $.wait(1000) - } + for (let code of $.newShareCodes) { + console.log(`去帮助好友${code['inviteCode']}`) + await helpFriend(code) + if(!$.canHelp) break + await $.wait(1000) } + // if (helpAuthor && $.authorCode) { + // for(let helpInfo of $.authorCode){ + // console.log(`去帮助好友${helpInfo['inviteCode']}`) + // await helpFriend(helpInfo) + // if(!$.canHelp) break + // await $.wait(1000) + // } + // } } function helpFriend(helpInfo) { return new Promise((resolve) => { @@ -164,6 +178,7 @@ function helpFriend(helpInfo) { console.log(`助力成功,获得${data.data.result.cashStr}`) // console.log(data.data.result.taskInfos) } else if (data.data.bizCode===207){ + console.log(data.data.bizMsg) $.canHelp = false } else{ console.log(data.data.bizMsg) @@ -241,7 +256,79 @@ function showMsg() { resolve() }) } +function readShareCode() { + console.log(`开始`) + return new Promise(async resolve => { + $.get({url: `https://code.chiang.fun/api/v1/jd/jdcash/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(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('@'); + $.newShareCodes = [...($.authorCode.map((item, index) => $.authorCode[index] = item['inviteCode'])), ...$.newShareCodes]; + } + const readShareCodeRes = await readShareCode(); + if (readShareCodeRes && readShareCodeRes.code === 200) { + $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; + } + $.newShareCodes.map((item, index) => $.newShareCodes[index] = { "inviteCode": item, "shareDate": $.shareDate }) + console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`) + resolve(); + }) +} +function requireConfig() { + return new Promise(resolve => { + console.log(`开始获取${$.name}配置文件\n`); + let shareCodes = []; + if ($.isNode()) { + if (process.env.JD_CASH_SHARECODES) { + if (process.env.JD_CASH_SHARECODES.indexOf('\n') > -1) { + shareCodes = process.env.JD_CASH_SHARECODES.split('\n'); + } else { + shareCodes = process.env.JD_CASH_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(functionId, body = {}) { return { url: `${JD_API_HOST}?functionId=${functionId}&body=${escape(JSON.stringify(body))}&appid=CashRewardMiniH5Env&appid=9.1.0`, @@ -263,6 +350,7 @@ function getAuthorShareCode() { $.get({url: "https://gitee.com/shylocks/updateTeam/raw/main/jd_cash.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) => { + $.authorCode = []; try { if (err) { } else { diff --git a/jd_jdzz.js b/jd_jdzz.js index e7ebb1c0..c6af6ab8 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -25,7 +25,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let helpAuthor=true; // 帮助作者 -const randomCount = 5; +const randomCount = $.isNode() ? 20 : 5; let jdNotify = true; // 是否关闭通知,false打开通知推送,true关闭通知推送 //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; From 26724a5a4a27d02ce42099172b7b263c6b1ad7ba Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 12 Jan 2021 10:21:23 +0800 Subject: [PATCH 0715/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=92=E5=8A=A9?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E9=9B=86=E5=90=88=E6=96=87?= =?UTF-8?q?=E6=A1=A3(=E7=AD=BE=E5=88=B0=E9=A2=86=E7=8E=B0=E9=87=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + 1 file changed, 1 insertion(+) diff --git a/githubAction.md b/githubAction.md index 3ae06b28..48515872 100644 --- a/githubAction.md +++ b/githubAction.md @@ -46,6 +46,7 @@ | `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 From 2d3de64e78e96a9ea9e1f82239573a07399b386e Mon Sep 17 00:00:00 2001 From: Layne Date: Tue, 12 Jan 2021 10:23:06 +0800 Subject: [PATCH 0716/1259] =?UTF-8?q?Fix=20log=20=E6=9C=AC=E6=AC=A1?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E8=8E=B7=E5=BE=97=E9=87=91=E5=B8=81NaN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jx_sign.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jx_sign.js b/jx_sign.js index db312ad0..1d5095d9 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -96,7 +96,7 @@ function sign() { if(data.retCode ===0){ if(data.data.signStatus===0){ console.log(`签到成功,获得${data.data.pingoujin}金币,已签到${data.data.signDays}天`) - $.coins += parseInt(data.data.pingouji) + $.coins += parseInt(data.data.pingoujin) }else{ console.log(`今日已签到`) } From e23335b6f4f613d4e833c447a9da015720373815 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 12 Jan 2021 10:32:25 +0800 Subject: [PATCH 0717/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=AD=BE=E5=88=B0=E9=A2=86=E7=8E=B0=E9=87=91secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增签到领现金secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 183015c4..7cba4ff6 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -72,6 +72,7 @@ jobs: if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; if [ $BOOKSHOP_SHARECODES ]; then sed -i "/variables/a\ BOOKSHOP_SHARECODES: $BOOKSHOP_SHARECODES" serverless.yml; fi; + if [ $JD_CASH_SHARECODES ]; then sed -i "/variables/a\ JD_CASH_SHARECODES: $JD_CASH_SHARECODES" serverless.yml; fi; if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; @@ -130,6 +131,7 @@ jobs: JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} BOOKSHOP_SHARECODES: ${{ secrets.BOOKSHOP_SHARECODES}} + JD_CASH_SHARECODES: ${{ secrets.JD_CASH_SHARECODES}} JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} From 1ba89560c24ab229dd2ce42ff89fb14bc51e7118 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 12 Jan 2021 11:03:49 +0800 Subject: [PATCH 0718/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4secret=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E4=BF=9D=E6=8C=81=E4=B8=8EgithubAction.md=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E4=B8=80=E8=87=B4=EF=BC=8C=E6=96=B9=E4=BE=BF=E5=90=8E?= =?UTF-8?q?=E6=9C=9F=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整secret顺序保持与githubAction.md说明一致,方便后期维护 --- .github/workflows/deploy_tencent_scf.yml | 68 ++++++++++++------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 183015c4..191b3869 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -26,10 +26,8 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | if [ $JD_COOKIE ]; then sed -i "/variables/a\ JD_COOKIE: $JD_COOKIE" serverless.yml; fi; + if [ $JD_DEBUG ]; then sed -i "/variables/a\ JD_DEBUG: $JD_DEBUG" serverless.yml; fi; if [ $JD_USER_AGENT ]; then sed -i "/variables/a\ JD_USER_AGENT: $JD_USER_AGENT" serverless.yml; fi; - if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; - if [ $JD_BEAN_SIGN_STOP_NOTIFY ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: $JD_BEAN_SIGN_STOP_NOTIFY" serverless.yml; fi; - if [ $JD_BEAN_SIGN_NOTIFY_SIMPLE ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: $JD_BEAN_SIGN_NOTIFY_SIMPLE" serverless.yml; fi; if [ $PUSH_KEY ]; then sed -i "/variables/a\ PUSH_KEY: $PUSH_KEY" serverless.yml; fi; if [ $BARK_PUSH ]; then sed -i "/variables/a\ BARK_PUSH: $BARK_PUSH" serverless.yml; fi; if [ $BARK_SOUND ]; then sed -i "/variables/a\ BARK_SOUND: $BARK_SOUND" serverless.yml; fi; @@ -43,6 +41,21 @@ jobs: if [ $QQ_MODE ]; then sed -i "/variables/a\ QQ_MODE: $QQ_MODE" serverless.yml; fi; if [ $PUSH_PLUS_TOKEN ]; then sed -i "/variables/a\ PUSH_PLUS_TOKEN: $PUSH_PLUS_TOKEN" serverless.yml; fi; if [ $PUSH_PLUS_USER ]; then sed -i "/variables/a\ PUSH_PLUS_USER: $PUSH_PLUS_USER" serverless.yml; fi; + if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; + if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; + if [ $FRUITSHARECODES ]; then sed -i "/variables/a\ FRUITSHARECODES: $FRUITSHARECODES" serverless.yml; fi; + if [ $PETSHARECODES ]; then sed -i "/variables/a\ PETSHARECODES: $PETSHARECODES" serverless.yml; fi; + if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; + if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; + if [ $DDFACTORY_SHARECODES ]; then sed -i "/variables/a\ DDFACTORY_SHARECODES: $DDFACTORY_SHARECODES" serverless.yml; fi; + if [ $DREAM_FACTORY_SHARE_CODES ]; then sed -i "/variables/a\ DREAM_FACTORY_SHARE_CODES: $DREAM_FACTORY_SHARE_CODES" serverless.yml; fi; + if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; + if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; + if [ $BOOKSHOP_SHARECODES ]; then sed -i "/variables/a\ BOOKSHOP_SHARECODES: $BOOKSHOP_SHARECODES" serverless.yml; fi; + if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; + if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; + if [ $JD_BEAN_SIGN_STOP_NOTIFY ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: $JD_BEAN_SIGN_STOP_NOTIFY" serverless.yml; fi; + if [ $JD_BEAN_SIGN_NOTIFY_SIMPLE ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: $JD_BEAN_SIGN_NOTIFY_SIMPLE" serverless.yml; fi; if [ $PET_NOTIFY_CONTROL ]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: $PET_NOTIFY_CONTROL" serverless.yml; fi; if [ $FRUIT_NOTIFY_CONTROL ]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: $FRUIT_NOTIFY_CONTROL" serverless.yml; fi; if [ $JD_JOY_REWARD_NOTIFY ]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: $JD_JOY_REWARD_NOTIFY" serverless.yml; fi; @@ -63,31 +76,16 @@ jobs: if [ $UN_BIND_STOP_CARD ]; then sed -i "/variables/a\ UN_BIND_STOP_CARD: $UN_BIND_STOP_CARD" serverless.yml; fi; if [ $JDJOY_HELPSELF ]; then sed -i "/variables/a\ JDJOY_HELPSELF: $JDJOY_HELPSELF" serverless.yml; fi; if [ $JDJOY_APPLYJDBEAN ]; then sed -i "/variables/a\ JDJOY_APPLYJDBEAN: $JDJOY_APPLYJDBEAN" serverless.yml; fi; - if [ $FRUITSHARECODES ]; then sed -i "/variables/a\ FRUITSHARECODES: $FRUITSHARECODES" serverless.yml; fi; - if [ $PETSHARECODES ]; then sed -i "/variables/a\ PETSHARECODES: $PETSHARECODES" serverless.yml; fi; - if [ $PLANT_BEAN_SHARECODES ]; then sed -i "/variables/a\ PLANT_BEAN_SHARECODES: $PLANT_BEAN_SHARECODES" serverless.yml; fi; - if [ $SUPERMARKET_SHARECODES ]; then sed -i "/variables/a\ SUPERMARKET_SHARECODES: $SUPERMARKET_SHARECODES" serverless.yml; fi; - if [ $DDFACTORY_SHARECODES ]; then sed -i "/variables/a\ DDFACTORY_SHARECODES: $DDFACTORY_SHARECODES" serverless.yml; fi; - if [ $DREAM_FACTORY_SHARE_CODES ]; then sed -i "/variables/a\ DREAM_FACTORY_SHARE_CODES: $DREAM_FACTORY_SHARE_CODES" serverless.yml; fi; - if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; - if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; - if [ $BOOKSHOP_SHARECODES ]; then sed -i "/variables/a\ BOOKSHOP_SHARECODES: $BOOKSHOP_SHARECODES" serverless.yml; fi; - if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; - if [ $TG_PROXY_HOST ]; then sed -i "/variables/a\ TG_PROXY_HOST: $TG_PROXY_HOST" serverless.yml; fi; - if [ $TG_PROXY_PORT ]; then sed -i "/variables/a\ TG_PROXY_PORT: $TG_PROXY_PORT" serverless.yml; fi; + if [ $BUY_JOY_LEVEL ]; then sed -i "/variables/a\ BUY_JOY_LEVEL: $BUY_JOY_LEVEL" serverless.yml; fi; if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; if [ $FACTORAY_WANTPRODUCT_NAME ]; then sed -i "/variables/a\ FACTORAY_WANTPRODUCT_NAME: $FACTORAY_WANTPRODUCT_NAME" serverless.yml; fi; - if [ $WATCH_ACCEPTBODY ]; then sed -i "/variables/a\ WATCH_ACCEPTBODY: $WATCH_ACCEPTBODY" serverless.yml; fi; - if [ $WATCH_DOBODY ]; then sed -i "/variables/a\ WATCH_DOBODY: $WATCH_DOBODY" serverless.yml; fi; if [ $JXNCTOKENS ]; then sed -i "/variables/a\ JXNCTOKENS: $JXNCTOKENS" serverless.yml; fi; cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 JD_COOKIE: ${{ secrets.JD_COOKIE}} + JD_DEBUG: ${{ secrets.JD_DEBUG}} JD_USER_AGENT: ${{ secrets.JD_USER_AGENT}} - JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} - JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} - JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} PUSH_KEY: ${{ secrets.PUSH_KEY}} BARK_PUSH: ${{ secrets.BARK_PUSH}} BARK_SOUND: ${{ secrets.BARK_SOUND}} @@ -101,6 +99,21 @@ jobs: QQ_MODE: ${{ secrets.QQ_MODE}} PUSH_PLUS_TOKEN: ${{ secrets.PUSH_PLUS_TOKEN}} PUSH_PLUS_USER: ${{ secrets.PUSH_PLUS_USER}} + TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} + TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} + FRUITSHARECODES: ${{ secrets.FRUITSHARECODES}} + PETSHARECODES: ${{ secrets.PETSHARECODES}} + PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}} + SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}} + DDFACTORY_SHARECODES: ${{ secrets.DDFACTORY_SHARECODES}} + DREAM_FACTORY_SHARE_CODES: ${{ secrets.DREAM_FACTORY_SHARE_CODES}} + JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} + JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} + BOOKSHOP_SHARECODES: ${{ secrets.BOOKSHOP_SHARECODES}} + JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} + JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} + JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} + JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}} FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}} JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}} @@ -121,22 +134,9 @@ jobs: UN_BIND_STOP_CARD: ${{ secrets.UN_BIND_STOP_CARD}} JDJOY_HELPSELF: ${{ secrets.JDJOY_HELPSELF}} JDJOY_APPLYJDBEAN: ${{ secrets.JDJOY_APPLYJDBEAN}} - FRUITSHARECODES: ${{ secrets.FRUITSHARECODES}} - PETSHARECODES: ${{ secrets.PETSHARECODES}} - PLANT_BEAN_SHARECODES: ${{ secrets.PLANT_BEAN_SHARECODES}} - SUPERMARKET_SHARECODES: ${{ secrets.SUPERMARKET_SHARECODES}} - DDFACTORY_SHARECODES: ${{ secrets.DDFACTORY_SHARECODES}} - DREAM_FACTORY_SHARE_CODES: ${{ secrets.DREAM_FACTORY_SHARE_CODES}} - JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} - JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} - BOOKSHOP_SHARECODES: ${{ secrets.BOOKSHOP_SHARECODES}} - JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} - TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} - TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} + BUY_JOY_LEVEL: ${{ secrets.BUY_JOY_LEVEL}} MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} FACTORAY_WANTPRODUCT_NAME: ${{ secrets.FACTORAY_WANTPRODUCT_NAME}} - WATCH_ACCEPTBODY: ${{ secrets.WATCH_ACCEPTBODY}} - WATCH_DOBODY: ${{ secrets.WATCH_DOBODY}} JXNCTOKENS: ${{ secrets.JXNCTOKENS}} - name: "部署到腾讯云函数" From 3956db93c28e82151f508c83f81bd7c5020dcebf Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 12 Jan 2021 11:08:31 +0800 Subject: [PATCH 0719/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=B9=B4=E8=B4=A7?= =?UTF-8?q?=E8=8A=82=20=E7=94=A85000=E9=87=91=E5=B8=81=E5=BC=80=E7=9B=B2?= =?UTF-8?q?=E7=9B=92=E5=BF=85=E4=B8=AD200-300=E4=BA=AC=E8=B1=86=EF=BC=8C?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=81=9A=E5=AE=8C=E6=AF=8F=E5=A4=A91000?= =?UTF-8?q?=EF=BC=8C5=E5=A4=A9=E6=8D=A2=E4=B8=80=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nh.js | 482 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 482 insertions(+) create mode 100644 jd_nh.js diff --git a/jd_nh.js b/jd_nh.js new file mode 100644 index 00000000..78ef55f4 --- /dev/null +++ b/jd_nh.js @@ -0,0 +1,482 @@ +/* + * @Author: shylocks https://github.com/shylocks + * @Date: 2021-01-11 16:25:41 + * @Last Modified by: shylocks + * @Last Modified time: 2021-01-11 18:25:41 + */ +/* +京东年货节 +用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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js, tag=京东年货节, enabled=true + +================Loon============== +[Script] +cron "1 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js,tag=京东年货节 + +===============Surge================= +京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js + +============小火箭========= +京东年货节 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js, cronexpr="1 7 * * *", timeout=200, 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; +const shareUuid = 'b3a52fbb01964aa3afb7ff0c57e6b37f' +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); +} +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/', {"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 = ''; + 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 getIsvToken() + await getIsvToken2() + await getActCk() + await getActInfo() + await getMyPing() + await getUserInfo() + await getActContent(false,shareUuid) + await showMsg(); +} +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},${jsonParse(resp.body)['message']}`) + 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},${jsonParse(resp.body)['message']}`) + 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},${jsonParse(resp.body)['message']}`) + 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},${jsonParse(resp.body)['message']}`) + 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},${jsonParse(resp.body)['message']}`) + 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},${jsonParse(resp.body)['message']}`) + 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},${jsonParse(resp.body)['message']}`) + 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}`) + if (!info) { + 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) + } + } + } + } + } + } + } + } 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},${jsonParse(resp.body)['message']}`) + 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},${jsonParse(resp.body)['message']}`) + 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 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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)} From 1fd3668cf064c330a3e148ad75151e65a60986ea Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 12 Jan 2021 11:14:33 +0800 Subject: [PATCH 0720/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E5=B9=B4=E8=B4=A7=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东年货节 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 25298722..c23b537d 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 parameters: - name: bean_change_crazy_joy_rankingList_bean_home + name: bean_change_crazy_joy_rankingList_bean_home_nh cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 parameters: name: pigPet_syj_kd_jdzz_cash_sign From 592b89e6ea98a561bd87b4e620703b2fa39b8924 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 12 Jan 2021 11:34:03 +0800 Subject: [PATCH 0721/1259] fix --- lxk0301.boxjs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index dc9e0e5a..8b1a8ce7 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -696,7 +696,7 @@ ], "author": "@lxk0301", "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js", + "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png" From 2632d4a19fbea450792ad9c384d72ed7892bfb68 Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Tue, 12 Jan 2021 12:28:24 +0800 Subject: [PATCH 0722/1259] Update jd_nh.js --- jd_nh.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nh.js b/jd_nh.js index 78ef55f4..e2686625 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -52,7 +52,7 @@ 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/', {"open-url": "https://bean.m.jd.com/"}); + $.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++) { From 07c6a3e4a620c100f9ddad96614206cddc98966d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 12 Jan 2021 12:30:02 +0800 Subject: [PATCH 0723/1259] fix --- jd_cash.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/jd_cash.js b/jd_cash.js index 2eef61fe..18f5546b 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -291,7 +291,8 @@ function shareCodesFormat() { console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`) const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); $.newShareCodes = inviteCodes[tempIndex].split('@'); - $.newShareCodes = [...($.authorCode.map((item, index) => $.authorCode[index] = item['inviteCode'])), ...$.newShareCodes]; + let authorCode = deepCopy($.authorCode) + $.newShareCodes = [...(authorCode.map((item, index) => authorCode[index] = item['inviteCode'])), ...$.newShareCodes]; } const readShareCodeRes = await readShareCode(); if (readShareCodeRes && readShareCodeRes.code === 200) { @@ -329,6 +330,23 @@ function requireConfig() { resolve() }) } +function deepCopy(obj) { + let objClone = Array.isArray(obj) ? [] : {}; + if (obj && typeof obj === "object") { + for (let key in obj) { + if (obj.hasOwnProperty(key)) { + //判断ojb子元素是否为对象,如果是,递归复制 + if (obj[key] && typeof obj[key] === "object") { + objClone[key] = deepCopy(obj[key]); + } else { + //如果不是,简单复制 + objClone[key] = obj[key]; + } + } + } + } + return objClone; +} function taskUrl(functionId, body = {}) { return { url: `${JD_API_HOST}?functionId=${functionId}&body=${escape(JSON.stringify(body))}&appid=CashRewardMiniH5Env&appid=9.1.0`, From fdedcb62983f50846888ac940e70b8cc4534e2ff Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 12 Jan 2021 12:32:41 +0800 Subject: [PATCH 0724/1259] =?UTF-8?q?fix=20=E5=9B=A0resolve=20conflict?= =?UTF-8?q?=E4=B8=A2=E5=A4=B1=E7=9A=84=E7=AD=BE=E5=88=B0=E9=A2=86=E7=8E=B0?= =?UTF-8?q?=E9=87=91secrect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix 因resolve conflict丢失的签到领现金secrect --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 191b3869..b41fa481 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -52,6 +52,7 @@ jobs: if [ $JDZZ_SHARECODES ]; then sed -i "/variables/a\ JDZZ_SHARECODES: $JDZZ_SHARECODES" serverless.yml; fi; if [ $JDJOY_SHARECODES ]; then sed -i "/variables/a\ JDJOY_SHARECODES: $JDJOY_SHARECODES" serverless.yml; fi; if [ $BOOKSHOP_SHARECODES ]; then sed -i "/variables/a\ BOOKSHOP_SHARECODES: $BOOKSHOP_SHARECODES" serverless.yml; fi; + if [ $JD_CASH_SHARECODES ]; then sed -i "/variables/a\ JD_CASH_SHARECODES: $JD_CASH_SHARECODES" serverless.yml; fi; if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; if [ $JD_BEAN_SIGN_STOP_NOTIFY ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: $JD_BEAN_SIGN_STOP_NOTIFY" serverless.yml; fi; @@ -110,6 +111,7 @@ jobs: JDZZ_SHARECODES: ${{ secrets.JDZZ_SHARECODES}} JDJOY_SHARECODES: ${{ secrets.JDJOY_SHARECODES}} BOOKSHOP_SHARECODES: ${{ secrets.BOOKSHOP_SHARECODES}} + JD_CASH_SHARECODES: ${{ secrets.JD_CASH_SHARECODES}} JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} From d7b91d7477d9c007512f357b3897bcf7a6414912 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 12 Jan 2021 12:36:17 +0800 Subject: [PATCH 0725/1259] =?UTF-8?q?docker1=E6=B7=BB=E5=8A=A0=E5=B9=B4?= =?UTF-8?q?=E8=B4=A7=E8=8A=82=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 65e249ba..56bd79d8 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -4,7 +4,8 @@ 50 23 */3 * * rm -rf /scripts/logs/*.log ##############短期活动############## - +#年货节(活动时间:2021年1月9日-2021年2月9日) +10 8 * * * cd /scripts && node jd_nh.js >> /scripts/logs/jd_nh.log 2>&1 ##############长期活动############## # 签到 From 91887ee8e8f62ba90758a5c386c47708329fc3ae Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 12 Jan 2021 12:43:40 +0800 Subject: [PATCH 0726/1259] fix --- USER_AGENTS.js | 65 ++++++++++++++++++++++++++++++++++++++++++ docker/crontab_list.sh | 3 +- 2 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 USER_AGENTS.js diff --git a/USER_AGENTS.js b/USER_AGENTS.js new file mode 100644 index 00000000..6e0d576d --- /dev/null +++ b/USER_AGENTS.js @@ -0,0 +1,65 @@ +const USER_AGENTS = [ + "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36", + "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36", + "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1944.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.3319.102 Safari/537.36", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1866.237 Safari/537.36", + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/4E423F", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10", + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1623.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36", + "Mozilla/5.0 (X11; CrOS i686 4319.74.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1467.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1500.55 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.90 Safari/537.36", + "Mozilla/5.0 (X11; NetBSD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36", + "Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14" +] +/** + * 生成随机数字 + * @param {number} min 最小值(包含) + * @param {number} max 最大值(不包含) + */ +function randomNumber(min = 0, max = 100) { + return Math.min(Math.floor(min + Math.random() * (max - min)), max); +} +const USER_AGENT = USER_AGENTS[randomNumber(0, USER_AGENTS.length)]; + +module.exports = { + USER_AGENT +} \ No newline at end of file diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 56bd79d8..a03fb8d6 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -5,8 +5,7 @@ ##############短期活动############## #年货节(活动时间:2021年1月9日-2021年2月9日) -10 8 * * * cd /scripts && node jd_nh.js >> /scripts/logs/jd_nh.log 2>&1 - +10 8 * * * node /scripts/jd_nh.js >> /scripts/logs/jd_nh.log 2>&1 ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 From 9412bbbc352a902796561ccdc24f0d32410b141a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 12 Jan 2021 14:01:32 +0800 Subject: [PATCH 0727/1259] =?UTF-8?q?=E5=9C=A8=E6=9C=AA=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E7=9A=84=E5=89=8D=E6=8F=90=E4=B8=8B=EF=BC=8C=E4=BA=91=E7=AB=AF?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BD=BF=E7=94=A8=E9=9A=8F=E6=9C=BAUA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- USER_AGENTS.js | 5 ++++- activity/jd_818.js | 34 +++++++++++++++--------------- activity/jd_apple_live.js | 4 ++-- activity/jd_collectProduceScore.js | 2 +- activity/jd_digital_floor.js | 2 +- activity/jd_ds.js | 4 ++-- activity/jd_health.js | 4 ++-- activity/jd_jdh.js | 2 +- activity/jd_live_redrain.js | 4 ++-- activity/jd_live_redrain2.js | 4 ++-- activity/jd_mohe.js | 4 ++-- activity/jd_ms_redrain.js | 4 ++-- activity/jd_pubg.js | 6 +++--- activity/jd_split.js | 4 ++-- activity/jd_watch.js | 4 ++-- activity/jd_xtg.js | 10 ++++----- activity/jr_sign.js | 4 ++-- jd_bean_change.js | 4 ++-- jd_bean_home.js | 6 +++--- jd_bean_sign.js | 2 +- jd_blueCoin.js | 4 ++-- jd_bookshop.js | 2 +- jd_car.js | 6 +++--- jd_car_exchange.js | 4 ++-- jd_cash.js | 4 ++-- jd_club_lottery.js | 10 ++++----- jd_crazy_joy.js | 4 ++-- jd_crazy_joy_coin.js | 4 ++-- jd_daily_egg.js | 4 ++-- jd_fruit.js | 6 +++--- jd_get_share_code.js | 6 +++--- jd_jdfactory.js | 6 +++--- jd_jdzz.js | 8 +++---- jd_joy.js | 6 +++--- jd_joy_feedPets.js | 6 +++--- jd_joy_reward.js | 6 +++--- jd_joy_run.js | 2 +- jd_joy_steal.js | 8 +++---- jd_jxnc.js | 2 +- jd_kd.js | 4 ++-- jd_live.js | 6 +++--- jd_moneyTree.js | 4 ++-- jd_necklace.js | 4 ++-- jd_nh.js | 2 +- jd_pet.js | 6 +++--- jd_pigPet.js | 6 +++--- jd_plantBean.js | 4 ++-- jd_redPacket.js | 4 ++-- jd_shop.js | 6 +++--- jd_small_home.js | 10 ++++----- jd_speed.js | 8 +++---- jd_syj.js | 4 ++-- jd_unbind.js | 6 +++--- jd_unsubscribe.js | 10 ++++----- jx_sign.js | 4 ++-- 55 files changed, 151 insertions(+), 148 deletions(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 6e0d576d..56152292 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -48,7 +48,10 @@ const USER_AGENTS = [ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14" + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14", + "JD4iPhone/167490 (iPhone; iOS 14.3; Scale/2.00)", + "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" ] /** * 生成随机数字 diff --git a/activity/jd_818.js b/activity/jd_818.js index 4eff316e..58929fa2 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -144,7 +144,7 @@ function listMeeting() { 'Accept': 'application/json, text/plain, */*', 'Connection':' keep-alive', 'Cookie': cookie, - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, 'Accept-Encoding': 'gzip, deflate, br' @@ -191,7 +191,7 @@ function listGoods() { 'Accept': 'application/json, text/plain, */*', 'Connection':' keep-alive', 'Cookie': cookie, - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, 'Accept-Encoding': 'gzip, deflate, br' @@ -237,7 +237,7 @@ function shopInfo() { 'Accept': 'application/json, text/plain, */*', 'Connection':' keep-alive', 'Cookie': cookie, - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, 'Accept-Encoding': 'gzip, deflate, br' @@ -290,7 +290,7 @@ function browseGoods(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -324,7 +324,7 @@ function getGoodsPrize(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -357,7 +357,7 @@ function browseShop(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -390,7 +390,7 @@ function getShopPrize(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -424,7 +424,7 @@ function browseMeeting(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -457,7 +457,7 @@ function getMeetingPrize(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -490,7 +490,7 @@ function myRank() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -553,7 +553,7 @@ function saveJbean(id) { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com/", "Accept-Encoding": "gzip, deflate, br" @@ -637,7 +637,7 @@ function toHelp(code) { "Cookie": cookie, "Connection": "keep-alive", "Accept": "application/json, text/plain, */*", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Referer": "https://rdcseason.m.jd.com/", "Content-Length": "44", "Accept-Language": "zh-cn" @@ -669,7 +669,7 @@ function getHelp() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com", "Accept-Encoding": "gzip, deflate, br" @@ -730,7 +730,7 @@ function getListJbean() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com", "Accept-Encoding": "gzip, deflate, br" @@ -765,7 +765,7 @@ function getListIntegral() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com", "Accept-Encoding": "gzip, deflate, br" @@ -801,7 +801,7 @@ function getListRank() { "Accept": "application/json, text/plain, */*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://rdcseason.m.jd.com", "Accept-Encoding": "gzip, deflate, br" @@ -883,7 +883,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js index fd4e5c17..a38a9470 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -349,7 +349,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -365,7 +365,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_collectProduceScore.js b/activity/jd_collectProduceScore.js index 1ff64dc1..dfda239d 100644 --- a/activity/jd_collectProduceScore.js +++ b/activity/jd_collectProduceScore.js @@ -124,7 +124,7 @@ function taskPostUrl(functionId, body = {}) { url: `${JD_API_HOST}?functionId=${functionId}`, body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, headers: { - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Content-Type': 'application/x-www-form-urlencoded', 'Host': 'api.m.jd.com', 'Cookie': cookie, diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index a7edd7d1..4a61b371 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -372,7 +372,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_ds.js b/activity/jd_ds.js index 2bcc833f..0e153a57 100644 --- a/activity/jd_ds.js +++ b/activity/jd_ds.js @@ -150,7 +150,7 @@ function taskUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -166,7 +166,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_health.js b/activity/jd_health.js index aadc46d5..d4c66c11 100644 --- a/activity/jd_health.js +++ b/activity/jd_health.js @@ -331,7 +331,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -347,7 +347,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_jdh.js b/activity/jd_jdh.js index 0b286ee6..5e840a8b 100644 --- a/activity/jd_jdh.js +++ b/activity/jd_jdh.js @@ -381,7 +381,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js index 8474bb58..93fceeb4 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -210,7 +210,7 @@ function taskUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -227,7 +227,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js index 2954ca20..1de27bf3 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -184,7 +184,7 @@ function taskUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -201,7 +201,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_mohe.js b/activity/jd_mohe.js index 129902a6..224b08cf 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -387,7 +387,7 @@ function lottery() { "content-type": "application/x-www-form-urlencoded", "cookie": cookie, "referer": "https://blindbox.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -414,7 +414,7 @@ function taskurl(url) { "content-type": "application/x-www-form-urlencoded", "cookie": cookie, "referer": "https://blindbox.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } diff --git a/activity/jd_ms_redrain.js b/activity/jd_ms_redrain.js index 22a82292..d2e27c61 100644 --- a/activity/jd_ms_redrain.js +++ b/activity/jd_ms_redrain.js @@ -138,7 +138,7 @@ function taskUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -154,7 +154,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index d2653ee4..f10a9cdd 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -423,7 +423,7 @@ function taskUrl(function_id, body = {}) { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -446,7 +446,7 @@ function taskPostUrl(body = "{}", functionId = 'doTask') { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -462,7 +462,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_split.js b/activity/jd_split.js index d51c8339..fa112ee6 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -244,7 +244,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -260,7 +260,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_watch.js b/activity/jd_watch.js index 57a67978..018bd047 100644 --- a/activity/jd_watch.js +++ b/activity/jd_watch.js @@ -347,7 +347,7 @@ function taskPostUrl(function_id, body = {}) { headers: { "Cookie": cookie, 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -364,7 +364,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/activity/jd_xtg.js b/activity/jd_xtg.js index 39eb2f5a..2b0a897f 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -278,7 +278,7 @@ function doSupport(shareId) { "Cookie": cookie, "Host": "urvsaggpt.m.jd.com", "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -310,7 +310,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -352,7 +352,7 @@ function getDayPrizeStatus(prizeType, prizeId, status) { "Cookie": cookie, "Host": "urvsaggpt.m.jd.com", "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -385,7 +385,7 @@ function taskPostUrl(type, id, status) { "Cookie": cookie, "Host": "urvsaggpt.m.jd.com", "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } @@ -411,7 +411,7 @@ function taskUrl(function_id) { "Cookie": cookie, "Host": "urvsaggpt.m.jd.com", "Referer": "https://urvsaggpt.m.jd.com/static/index.html", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } diff --git a/activity/jr_sign.js b/activity/jr_sign.js index 5de753f3..18917e8e 100644 --- a/activity/jr_sign.js +++ b/activity/jr_sign.js @@ -127,7 +127,7 @@ function taskUrl() { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -144,7 +144,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_bean_change.js b/jd_bean_change.js index f56dcf69..68f8af4a 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -144,7 +144,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -181,7 +181,7 @@ function getJingBeanBalanceDetail(page) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': cookie, diff --git a/jd_bean_home.js b/jd_bean_home.js index 2c3082ea..e0c40636 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -419,7 +419,7 @@ function taskGetUrl(function_id, body) { 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-Hans-CN;q=1,en-CN;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': "application/x-www-form-urlencoded" @@ -440,7 +440,7 @@ function taskUrl(function_id, body) { 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-Hans-CN;q=1,en-CN;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': "application/x-www-form-urlencoded" @@ -460,7 +460,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_bean_sign.js b/jd_bean_sign.js index 207a82df..206d220a 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -168,7 +168,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_blueCoin.js b/jd_blueCoin.js index fb142370..c12334bd 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -370,7 +370,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -413,7 +413,7 @@ function taskUrl(function_id, body = {}) { return { url: `${JD_API_HOST}&functionId=${function_id}&clientVersion=8.0.0&client=m&body=${escape(JSON.stringify(body))}&t=${Date.now()}`, headers: { - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Cookie': cookie, 'Referer': 'https://jdsupermarket.jd.com/game', diff --git a/jd_bookshop.js b/jd_bookshop.js index e50624ee..fcf82081 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -633,7 +633,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_car.js b/jd_car.js index 0eb0a1e1..5878ea21 100644 --- a/jd_car.js +++ b/jd_car.js @@ -268,7 +268,7 @@ function taskUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -287,7 +287,7 @@ function taskPostUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -304,7 +304,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_car_exchange.js b/jd_car_exchange.js index cf872dbe..9c453f8c 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -122,7 +122,7 @@ function taskUrl(function_id, body = {}) { 'origin': 'https://h5.m.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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -140,7 +140,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_cash.js b/jd_cash.js index 18f5546b..a738dfc5 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -356,7 +356,7 @@ function taskUrl(functionId, body = {}) { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -394,7 +394,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 7f61ab18..a68db875 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -171,7 +171,7 @@ function vvipclub_shaking_info() { "cookie": cookie, "origin": "https://skuivip.jd.com", "referer": "https://skuivip.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -207,7 +207,7 @@ function vvipclub_shaking_lottery() { "cookie": cookie, "origin": "https://skuivip.jd.com", "referer": "https://skuivip.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -239,7 +239,7 @@ function vvipclub_receive_lottery_times() { "cookie": cookie, "origin": "https://skuivip.jd.com", "referer": "https://skuivip.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -352,7 +352,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -397,7 +397,7 @@ function taskUrl(function_id, body = {}, appId = 'vip_h5') { headers: { 'Cookie': cookie, 'Host': 'api.m.jd.com', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer': 'https://vip.m.jd.com/newPage/reward/123dd/slideContent?page=focus', } } diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 83c24fbc..1d6f9949 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -648,7 +648,7 @@ function taskUrl(functionId, body = '') { 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': 'https://crazy-joy.jd.com/', 'origin': 'https://crazy-joy.jd.com', @@ -759,7 +759,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index d6d9c905..3b18c8f3 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -611,7 +611,7 @@ function taskUrl(functionId, body = '') { 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': 'https://crazy-joy.jd.com/', 'origin': 'https://crazy-joy.jd.com', @@ -644,7 +644,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_daily_egg.js b/jd_daily_egg.js index a4dfcd4b..08919a2c 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -179,7 +179,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -219,7 +219,7 @@ function taskUrl(function_id, body) { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer' : `https://uua.jr.jd.com/uc-fe-wxgrowing/moneytree/index`, 'Accept-Language' : `zh-cn` } diff --git a/jd_fruit.js b/jd_fruit.js index 766609ae..bd304212 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1165,7 +1165,7 @@ async function initForFarm() { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Content-Type": "application/x-www-form-urlencoded" } }; @@ -1354,7 +1354,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -1422,7 +1422,7 @@ function taskUrl(function_id, body = {}) { 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 2d0f7749..e7ca9fe7 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -450,7 +450,7 @@ async function getJdZZ() { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -619,7 +619,7 @@ async function getJoy(){ 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': 'https://crazy-joy.jd.com/', 'origin': 'https://crazy-joy.jd.com', @@ -686,7 +686,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 56161c1c..92886210 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -501,7 +501,7 @@ function queryVkComponent() { "Content-Type": `application/x-www-form-urlencoded`, "Accept-Encoding": `gzip, deflate, br`, "Host": `api.m.jd.com`, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": `zh-Hans-CN;q=1, en-CN;q=0.9`, } } @@ -694,7 +694,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -710,7 +710,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_jdzz.js b/jd_jdzz.js index c6af6ab8..806eae15 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -415,7 +415,7 @@ function taskUrl(functionId, body = {}) { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -434,7 +434,7 @@ function taskTuanUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -446,7 +446,7 @@ function taskPostUrl(function_id, body = {}) { headers: { "Cookie": cookie, 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -463,7 +463,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_joy.js b/jd_joy.js index edc3cb45..6329c53e 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -800,7 +800,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -838,7 +838,7 @@ function taskUrl(url, Host, reqSource) { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -850,7 +850,7 @@ function taskPostUrl(url, body, reqSource, Host, ContentType) { body: body, headers: { 'Cookie': cookie, - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'reqSource': reqSource, 'Content-Type': ContentType, 'Host': Host, diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index 89d5fc62..7a107bd0 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -105,7 +105,7 @@ function feedPets(feedNum) { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -163,7 +163,7 @@ function ThreeMeals() { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -208,7 +208,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_joy_reward.js b/jd_joy_reward.js index c3adf3e6..9a76995b 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -169,7 +169,7 @@ function getExchangeRewards() { "reqSource": "h5", "Connection": "keep-alive", "Accept": "*/*", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Referer": "https://jdjoy.jd.com/pet/index", "Accept-Language": "zh-cn", "Accept-Encoding": "gzip, deflate, br" @@ -208,7 +208,7 @@ function exchange(saleInfoId, orderSource) { "Origin": "https://jdjoy.jd.com", "reqSource": "h5", "Connection": "keep-alive", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Referer": "https://jdjoy.jd.com/pet/index", "Content-Length": "10", "Cookie": cookie @@ -246,7 +246,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_joy_run.js b/jd_joy_run.js index 55a69fb2..4559dad7 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -57,7 +57,7 @@ const headers = { 'Lottery-Access-Signature' : '', 'Content-Type' : 'application/json', 'reqSource' : 'weapp', - 'User-Agent' : $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Cookie' : '', 'openId' : '', 'Host' : 'draw.jdfcloud.com', diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 70e1ee78..46c985a1 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -234,7 +234,7 @@ function getFriends(currentPage = '1') { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -410,7 +410,7 @@ function getCoinChanges() { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -484,7 +484,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -522,7 +522,7 @@ function taskUrl(functionId, friendPin) { 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Referer': 'https://jdjoy.jd.com/pet/index', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } diff --git a/jd_jxnc.js b/jd_jxnc.js index 06e53461..743a7fdf 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -164,7 +164,7 @@ function TotalBean() { "Connection": "keep-alive", "Cookie": currentCookie, "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_kd.js b/jd_kd.js index c198003b..3037e164 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -142,7 +142,7 @@ function taskUrl() { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -158,7 +158,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_live.js b/jd_live.js index 7cb7dc26..5280236a 100644 --- a/jd_live.js +++ b/jd_live.js @@ -228,7 +228,7 @@ function taskPostUrl(function_id, body = {}, url=null) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -240,7 +240,7 @@ function taskUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -257,7 +257,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_moneyTree.js b/jd_moneyTree.js index c5d7f407..779bc789 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -578,7 +578,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -643,7 +643,7 @@ function taskurl(function_id, body) { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer' : `https://uua.jr.jd.com/uc-fe-wxgrowing/moneytree/index/?channel=yxhd&lng=113.325896&lat=23.204600&sid=2d98e88cf7d182f60d533476c2ce777w&un_area=19_1601_50258_51885`, 'Accept-Language' : `zh-cn` } diff --git a/jd_necklace.js b/jd_necklace.js index 5d25ecaa..038a0fa0 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -295,7 +295,7 @@ function taskPostUrl(function_id, body = {}) { url: `${JD_API_HOST}?functionId=${function_id}&appid=jd_mp_h5&loginType=2&client=jd_mp_h5&t=${time}&body=${escape(JSON.stringify(body))}`, headers: { "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -311,7 +311,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_nh.js b/jd_nh.js index e2686625..ae65cffe 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -428,7 +428,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_pet.js b/jd_pet.js index 6f11aa5b..da69e981 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -555,7 +555,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -609,7 +609,7 @@ async function request(function_id, body = {}) { // url: `${JD_API_HOST}?functionId=${function_id}&appid=wh5&loginWQBiz=pet-town&body=${escape(JSON.stringify(body))}`, // headers: { // Cookie: cookie, -// UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), +// UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), // } // }; // } @@ -621,7 +621,7 @@ function taskUrl(function_id, body = {}) { 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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Content-Type': 'application/x-www-form-urlencoded', } diff --git a/jd_pigPet.js b/jd_pigPet.js index 4308f379..ed8e6b86 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -527,7 +527,7 @@ function queryMissionReceiveAfterStatus(missionId) { "Cookie": cookie, "Origin": "https://jdjoy.jd.com", "Referer": "https://jdjoy.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -576,7 +576,7 @@ function finishReadMission(missionId) { "Cookie": cookie, "Origin": "https://jdjoy.jd.com", "Referer": "https://jdjoy.jd.com/", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, (err, resp, data) => { @@ -622,7 +622,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_plantBean.js b/jd_plantBean.js index a6954182..83f8bf61 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -665,7 +665,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -725,7 +725,7 @@ function taskUrl(function_id, body) { "Host": "api.m.jd.com", "Accept": "*/*", "Connection": "keep-alive", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-Hans-CN;q=1,en-CN;q=0.9", "Accept-Encoding": "gzip, deflate, br", "Content-Type": "application/x-www-form-urlencoded" diff --git a/jd_redPacket.js b/jd_redPacket.js index 47ca946e..827aeb2f 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -271,7 +271,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { @@ -312,7 +312,7 @@ function taskUrl(function_id, body) { "Cookie": cookie, "Connection": "keep-alive", "Accept": "*/*", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Referer": "https://happy.m.jd.com/babelDiy/zjyw/3ugedFa7yA6NhxLN5gw2L3PF9sQC/index.html", "Content-Length": "36", "Accept-Language": "zh-cn" diff --git a/jd_shop.js b/jd_shop.js index 82f8d224..7e6cff97 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -112,7 +112,7 @@ function doTask(taskId) { url: `${JD_API_HOST}`, body: `functionId=takeTask&body=${escape(JSON.stringify(body))}&appid=ld`, headers: { - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': cookie, @@ -141,7 +141,7 @@ function getTask(body = {}) { url: `${JD_API_HOST}`, body: `functionId=queryTaskIndex&body=${escape(JSON.stringify(body))}&appid=ld`, headers: { - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Host': 'api.m.jd.com', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': cookie, @@ -176,7 +176,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_small_home.js b/jd_small_home.js index 6596c3b0..ae51ac25 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -721,7 +721,7 @@ function loginHome() { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } $.post(options, async (err, resp, data) => { @@ -763,7 +763,7 @@ function login(userName) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } $.post(options, async (err, resp, data) => { @@ -835,7 +835,7 @@ function taskUrl(url, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } @@ -851,7 +851,7 @@ function taskPostUrl(url) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } @@ -870,7 +870,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_speed.js b/jd_speed.js index a716f718..826ca84e 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -99,7 +99,7 @@ function jDSpeedUp(sourceId) { 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Referer': 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html?lng=116.845095&lat=39.957701&sid=ea687233c5e7d226b30940ed7382c5cw&un_area=5_274_49707_49973', 'Accept-Encoding': 'gzip, deflate, br' @@ -491,7 +491,7 @@ function getMemBerList() { headers: { Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', Cookie: cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(spaceEventUrl, async (err, resp, data) => { @@ -537,7 +537,7 @@ function getReward(uuid) { headers: { Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', Cookie: cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.get(options, async (err, resp, data) => { @@ -573,7 +573,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_syj.js b/jd_syj.js index c8366540..91b59f25 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -151,7 +151,7 @@ function taskUrl(function_id, body = {}) { "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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), } } } @@ -167,7 +167,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_unbind.js b/jd_unbind.js index 4bc9aa0e..8aa04381 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -118,7 +118,7 @@ function getCards() { "Accept": "*/*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Accept-Encoding": "gzip, deflate, br" }, @@ -152,7 +152,7 @@ function unsubscribeCard(vendorId) { "Accept": "*/*", "Connection": "keep-alive", 'origin': 'https://shopmember.m.jd.com', - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer': `https://shopmember.m.jd.com/member/memberCloseAccount?venderId=${vendorId}`, 'Cookie': cookie, "Accept-Language": "zh-cn", @@ -190,7 +190,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 1b5fb27b..a8544428 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -139,7 +139,7 @@ function getFollowGoods() { "Accept": "*/*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://wqs.jd.com/my/fav/goods_fav.shtml?ptag=37146.4.1&sceneval=2&jxsid=15963530166144677970", "Accept-Encoding": "gzip, deflate, br" @@ -166,7 +166,7 @@ function unsubscribeGoodsFun(commId) { "Host": "wq.jd.com", "Accept": "*/*", "Connection": "keep-alive", - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer': 'https://wqs.jd.com/my/fav/goods_fav.shtml?ptag=37146.4.1&sceneval=2&jxsid=15963530166144677970', 'Cookie': cookie, "Accept-Language": "zh-cn", @@ -230,7 +230,7 @@ function getFollowShops() { "Accept": "*/*", "Connection": "keep-alive", "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": "zh-cn", "Referer": "https://wqs.jd.com/my/fav/shop_fav.shtml?sceneval=2&jxsid=15963530166144677970&ptag=7155.1.9", "Accept-Encoding": "gzip, deflate, br" @@ -256,7 +256,7 @@ function unsubscribeShopsFun(shopId) { "Host": "wq.jd.com", "Accept": "*/*", "Connection": "keep-alive", - 'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Referer': 'https://wqs.jd.com/my/fav/shop_fav.shtml?sceneval=2&jxsid=15960121319555534107&ptag=7155.1.9', 'Cookie': cookie, "Accept-Language": "zh-cn", @@ -286,7 +286,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { diff --git a/jx_sign.js b/jx_sign.js index 1d5095d9..185d2a09 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -244,7 +244,7 @@ function taskUrl(functionId, body = '') { '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 : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', } @@ -263,7 +263,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } $.post(options, (err, resp, data) => { From 6482e1c515198fa765ba1500792b96f40c58688a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 12 Jan 2021 14:20:35 +0800 Subject: [PATCH 0728/1259] delete test2.js --- test2.js | 104 ------------------------------------------------------- 1 file changed, 104 deletions(-) delete mode 100644 test2.js diff --git a/test2.js b/test2.js deleted file mode 100644 index d8f49034..00000000 --- a/test2.js +++ /dev/null @@ -1,104 +0,0 @@ -const jdCookieNode = require('./jdCookie.js'); -console.log('github action test', jdCookieNode); -console.log('ACCESS_TOKEN', process.env.ACCESS_TOKEN); -console.log('JD_COOKIE', process.env.JD_COOKIE); -console.log('github action test'); - -const $ = new Env('京东宠汪汪test'); -//Node.js用户请在jdCookie.js处填写京东ck; -// const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//直接用NobyDa的jd cookie -let cookie = process.env.JD_COOKIE; -// const cookie2 = jdCookieNode.CookieJD2 ? jdCookieNode.CookieJD2 : $.getdata('CookieJD2'); -!(async () => { - // if (!cookie) { - // $.msg('【京东账号一】', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - // } - // await jdUnsubscribe(); - await receivePetTreasureBoxReward(); -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -function jdUnsubscribe() { - return new Promise(resolve => { - const option = { - url: `https://api.m.jd.com/client.action?functionId=initForFarm`, - body: `body=${escape({"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": "pt_key=AAJfKpaxAEBdRN4DgKrh9lhxAp2lqzyZY2hipLPYCe-mISz4Nyq14IoNCVBXhUEhEuPVJ9D0KkfDjqln4heol2dt6cdt7efp;pt_pin=%E8%A2%AB%E6%8A%98%E5%8F%A0%E7%9A%84%E8%AE%B0%E5%BF%8633;", - "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": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1", - "Content-Type": "application/x-www-form-urlencoded" - } - }; - $.post(option, (err, resp, data) => { - console.log('err', err); - try { - if (err) { - console.log('\n京东宠汪汪: API查询请求失败 ‼️‼️') - } else { - // console.log('--data--', data); - // console.log(`--data--${JSON.stringify(data)}`); - data = JSON.parse(data); - console.log('--data--', data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//领取聚宝盆积分API -function receivePetTreasureBoxReward() { - return new Promise(resolve => { - const options = { - url: `https://jdjoy.jd.com/pet/receivePetTreasureBoxReward?type=hour`, - headers: { - "Accept": "*/*", - "Cookie": `pt_key=AAJfM3LVADDm6sKvImWEGiLbVEOzQPT1X73ZFH2CaSGl0byvAkdqPQAZ7LHvvHZUbaZfwCwvJWo;pt_pin=jd_704a2e5e28a66;`, - "Content-Type": "application/json", - "Referer": "https://jdjoy.jd.com/pet/index", - "Host": "jdjoy.jd.com", - "User-Agent": "jdapp;iPhone;9.1.0;13.5.1;1449975c49aad55bdeea32b71707a3729ed650fb;network/4g;ADID/1C353379-6987-438A-92AD-C93A5F986DB4;supportApplePay/1;hasUPPay/1;pushNoticeIsOpen/0;model/iPhone8,1;addressid/138571211;hasOCPay/0;appBuild/167348;supportBestPay/0;jdSupportDarkMode/0;pv/1042.4;apprpd/MyJD_GameMain;ref/MyJdGameEnterPageController;psq/3;ads/;psn/1449975c49aad55bdeea32b71707a3729ed650fb|1709;jdv/0|kong|t_1001777500_|jingfen|f88dd5fd72814b40b85b3438f7ebe256|1598494505889|1598494511;adk/;app_device/IOS;pap/JA2015_311210|9.1.0|IOS 13.5.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "reqSource": "h5", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log('\n京东宠汪汪: API查询请求失败 ‼️‼️') - } else { - // console.log('JSON.parse(data)', JSON.parse(data)) - data = JSON.parse(data); - if (data.success) { - console.log('积分领取成功') - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -// 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 From 8fc35c849cbe56d89603101f92d0eabc23925950 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 12 Jan 2021 14:46:54 +0800 Subject: [PATCH 0729/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=86=9C=E5=9C=BA=E8=8E=B7=E5=8F=96=E7=A7=8D=E5=AD=90token?= =?UTF-8?q?=E7=9A=84=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加京喜农场获取种子token的说明 --- jd_jxnc.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jd_jxnc.js b/jd_jxnc.js index 743a7fdf..42ef0bbc 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -30,6 +30,9 @@ cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_ 京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=200, enable=true 京喜农场APP种子cookie = type=http-request,script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,max-size=131072,timeout=110,enable=true +特别说明: +脚本运行必须填写种子token,iOS用户使用代理可以直接获取;Android用户需要抓包获取种子token,手动做京喜农场任意任务即可获取种子token,推荐使用elecV2P(使用设置类似iOS用户的代理软件)或者HttpCanary,搜索关键字"farm_jstoken",token按照{"farm_jstoken":"xxx","timestamp":"xxx","phoneid":"xxx-xxx"}格式填写即可 + */ const $ = new Env('京喜农场'); From 1b5329c63b6976a2b772982472e4fbb8e74b3b99 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 12 Jan 2021 15:57:47 +0800 Subject: [PATCH 0730/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nh.js | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/jd_nh.js b/jd_nh.js index 78ef55f4..8543b694 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -113,7 +113,7 @@ function getIsvToken() { $.post(config,async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -146,7 +146,7 @@ function getIsvToken2() { $.post(config,async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -169,7 +169,7 @@ function getActCk() { $.get(taskUrl("dingzhi/vm/template/activity/940531", `activityId=${ACT_ID}`), (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { cookie = `${cookie};` @@ -198,7 +198,7 @@ function getActInfo() { $.post(taskPostUrl('dz/common/getSimpleActInfoVo', `activityId=${ACT_ID}`), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -221,7 +221,7 @@ function getMyPing() { $.post(taskPostUrl('customer/getMyPing', `userId=${$.shopId}&token=${$.token2}&fromType=APP`), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -247,7 +247,7 @@ function getUserInfo() { $.post(taskPostUrl('wxActionCommon/getUserInfo', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -276,7 +276,7 @@ function getActContent(info=false, shareUuid = '') { `activityId=${ACT_ID}&pin=${encodeURIComponent($.pin)}&pinImg=${$.pinImg}&nick=${$.nick}&cjyxPin=&cjhyPin=&shareUuid=${shareUuid}`), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -304,6 +304,7 @@ function getActContent(info=false, shareUuid = '') { let res = await getTaskInfo(task.taskType) let vo = res[0] await doTask(vo.type, vo.value) + await $.wait(500) } } } @@ -326,7 +327,7 @@ function getTaskInfo(taskType, value) { $.post(taskPostUrl('dingzhi/vm/template/taskInfo', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -354,7 +355,7 @@ function doTask(taskType, value) { $.post(taskPostUrl('dingzhi/vm/template/saveTask', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${err}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { From 02191415730e1de95b3f6e3a8219d030c1837312 Mon Sep 17 00:00:00 2001 From: an0na <913314010@qq.com> Date: Tue, 12 Jan 2021 17:06:23 +0800 Subject: [PATCH 0731/1259] =?UTF-8?q?QX=20gallery=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=9C=80=E8=BF=91=E7=9A=84=E6=9C=80=E6=96=B0=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 5007c2d3..2dab7cc8 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -31,6 +31,11 @@ "14 11 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", "44 12 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", "30 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" + "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", + "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "1 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png" ] } From 749c604e703a7db9d5a83ce7a6050e8bb6741cfc Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Tue, 12 Jan 2021 18:40:11 +0800 Subject: [PATCH 0732/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=8F=98=E6=9B=B4=20=E9=A2=84=E6=B5=8B=E5=A4=A9=E6=95=B0?= =?UTF-8?q?=E9=87=87=E7=94=A8=E8=BF=9B=E4=B8=80=E5=8F=96=E6=95=B4=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E6=8D=95=E8=8E=B7=E9=9A=8F=E6=9C=BA?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=20API=20=E5=BC=82=E5=B8=B8=EF=BC=88=E9=98=B2?= =?UTF-8?q?=E6=AD=A2=20API=20=E5=BC=82=E5=B8=B8=E5=AF=BC=E8=87=B4=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E7=BB=88=E6=AD=A2=E6=89=A7=E8=A1=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 74 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 32 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 42ef0bbc..9df094fa 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -380,7 +380,7 @@ function getMessage(endInfo, startInfo) { } message += `【水滴】本次获得${get} 离线获得${leaveGet} 今日获得${dayGet} 还需水滴${need}\n`; if (get > 0 || leaveGet > 0 || dayGet > 0) { - const day = parseInt(need / (dayGet > 0 ? dayGet : (get + leaveGet))); + const day = Math.ceil(need / (dayGet > 0 ? dayGet : (get + leaveGet))); message += `【预测】还需 ${day} 天\n`; } if (get > 0 || leaveGet > 0) { // 本次 或 离线 有水滴 @@ -397,44 +397,54 @@ function submitInviteId(userName) { resolve(); return; } - $.post( - { - url: `https://api.ninesix.cc/api/jx-nc/${$.info.smp}/${encodeURIComponent(userName)}?active=${$.info.active}`, - }, - (err, resp, _data) => { - try { - const {code, data = {}} = JSON.parse(_data); - $.log(`邀请码提交:${code}`); - if (data.value) { - message += '【邀请码】提交成功!\n'; + try { + $.post( + { + url: `https://api.ninesix.cc/api/jx-nc/${$.info.smp}/${encodeURIComponent(userName)}?active=${$.info.active}`, + }, + (err, resp, _data) => { + try { + const {code, data = {}} = JSON.parse(_data); + $.log(`邀请码提交:${code}`); + if (data.value) { + message += '【邀请码】提交成功!\n'; + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }, - ); + }, + ); + } catch (e) { + $.logErr(e, resp); + resolve(); + } }); } function getAssistUser() { return new Promise(resolve => { - $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`}, async (err, resp, _data) => { - try { - const {code, data = {}} = JSON.parse(_data); - if (data.value) { - $.log(`获取随机助力码成功 ${code} ${data.value}`); - resolve(data.value); - } else { - $.log(`获取随机助力码失败 ${code}`); + try { + $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`}, async (err, resp, _data) => { + try { + const {code, data = {}} = JSON.parse(_data); + if (data.value) { + $.log(`获取随机助力码成功 ${code} ${data.value}`); + resolve(data.value); + } else { + $.log(`获取随机助力码失败 ${code}`); + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(false); } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(false); - } - }); + }); + } catch (e) { + $.logErr(e, resp); + resolve(false); + } }); } From 505ed02d5e1190a997574c802ab1362189092e7b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 09:31:54 +0800 Subject: [PATCH 0733/1259] update --- githubAction.md | 2 +- jd_crazy_joy.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/githubAction.md b/githubAction.md index 48515872..91fac4ed 100644 --- a/githubAction.md +++ b/githubAction.md @@ -75,7 +75,7 @@ | `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。 | | `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | | `JDJOY_HELPSELF` | 疯狂的JOY | 非必须 | 疯狂的JOY循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。 | -| `JDJOY_APPLYJDBEAN` | 疯狂的JOY | 非必须 | 疯狂的JOY京豆兑换,目前最小值为500/1000京豆,默认不开启京豆兑换。 | +| `JDJOY_APPLYJDBEAN` | 疯狂的JOY | 非必须 | 疯狂的JOY京豆兑换,目前最小值为2000京豆(详情请查看活动页面-提现京豆),默认数字`0`不开启京豆兑换。 | | `BUY_JOY_LEVEL` | 疯狂的JOY | 非必须 | 疯狂的JOY自动购买什么等级的JOY | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 1d6f9949..e4c52edc 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -30,7 +30,7 @@ const JD_API_HOST = 'https://api.m.jd.com/'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 let helpSelf = false // 循环助力,默认关闭 -let applyJdBean = 0 +let applyJdBean = 0; //疯狂的JOY京豆兑换,目前最小值为2000京豆,默认为 0 不开启京豆兑换 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = [ 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE', From 3886d8001a937e535ad0c4e079ed1a8aa315ee71 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 13 Jan 2021 09:58:25 +0800 Subject: [PATCH 0734/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=80=9B=E4=B8=80?= =?UTF-8?q?=E9=80=9B=E4=BB=BB=E5=8A=A1=EF=BC=8C=E5=8A=A0=E5=A4=A7=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=BB=B6=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/jd_cash.js b/jd_cash.js index a738dfc5..f094049e 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -116,23 +116,23 @@ function index(info=false) { for(let task of data.data.result.taskInfos){ if (task.type === 4) { for (let i = task.doTimes; i < task.times; ++i) { - console.log(`去做${task.name}任务 ${i}/${task.times}`) + console.log(`去做${task.name}任务 ${i+1}/${task.times}`) await doTask(task.type, task.jump.params.skuId) - await $.wait(1000) + await $.wait(5000) } } else if (task.type === 2) { for (let i = task.doTimes; i < task.times; ++i) { - console.log(`去做${task.name}任务 ${i}/${task.times}`) + console.log(`去做${task.name}任务 ${i+1}/${task.times}`) await doTask(task.type, task.jump.params.shopId) - await $.wait(1000) + await $.wait(5000) } } - else if (task.type === 16 || task.type===3 || task.type===5) { + else if (task.type === 16 || task.type===3 || task.type===5 || task.type===17) { for (let i = task.doTimes; i < task.times; ++i) { - console.log(`去做${task.name}任务 ${i}/${task.times}`) + console.log(`去做${task.name}任务 ${i+1}/${task.times}`) await doTask(task.type, task.jump.params.url) - await $.wait(1000) + await $.wait(5000) } } } From 6e3dcda83abc07253d238c65512066707f33713c Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 13 Jan 2021 10:14:13 +0800 Subject: [PATCH 0735/1259] =?UTF-8?q?=E5=B9=B4=E8=B4=A7=E8=8A=82=E4=B8=8D?= =?UTF-8?q?=E5=81=9A=E4=B8=80=E9=94=AE=E5=8A=A0=E5=85=A5=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nh.js | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/jd_nh.js b/jd_nh.js index a02dda68..5d394a8b 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -33,7 +33,7 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; //const WebSocket = $.isNode() ? require('websocket').w3cwebsocket: SockJS; //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message,helpInfo; -const shareUuid = 'b3a52fbb01964aa3afb7ff0c57e6b37f' +let shareUuid = '83c6d4a80e3447b78572124e1fc3aa7c' if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { cookiesArr.push(jdCookieNode[item]) @@ -87,6 +87,7 @@ const ACT_ID = 'dzvm210168869301' }) async function jdNh() { $.score = 0 + await getShareCode() await getIsvToken() await getIsvToken2() await getActCk() @@ -96,6 +97,30 @@ async function jdNh() { await getActContent(false,shareUuid) 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', @@ -284,8 +309,10 @@ function getActContent(info=false, shareUuid = '') { if (data.data) { $.userInfo = data.data $.actorUuid = $.userInfo.actorUuid - if(!info) console.log(`您的好友助力码为${$.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==='浏览商品' @@ -298,7 +325,8 @@ function getActContent(info=false, shareUuid = '') { await $.wait(500) } } - }else if(task.taskName ==='一键关注店铺' || task.taskName ==='一键加购' || task.taskName ==='一键开卡'){ + } else if(task.taskName ==='一键关注店铺' || task.taskName ==='一键开卡' // || task.taskName ==='一键加购' + ){ if (task.count < task.taskMax){ console.log(`去做${task.taskName}任务`) let res = await getTaskInfo(task.taskType) From 17d3dacb31e09cc7cc07cdc851a3e93e89f7a0eb Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 13 Jan 2021 10:20:41 +0800 Subject: [PATCH 0736/1259] =?UTF-8?q?=E5=B9=B4=E8=B4=A7=E8=8A=82=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=8A=BD=E5=A5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nh.js | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/jd_nh.js b/jd_nh.js index 5d394a8b..6e8859e5 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -95,6 +95,11 @@ async function jdNh() { await getMyPing() await getUserInfo() await getActContent(false,shareUuid) + await getActContent(true) + if($.userInfo.score>=5000){ + console.log(`大于5000金币,去抽奖`) + await draw() + } await showMsg(); } @@ -376,7 +381,7 @@ function getTaskInfo(taskType, value) { }) } -// 做任务 +// 完成任务 function doTask(taskType, value) { let body = `activityId=${ACT_ID}&pin=${encodeURIComponent($.pin)}&actorUuid=${$.actorUuid}&taskType=${taskType}&taskValue=${value}` return new Promise(resolve => { @@ -412,6 +417,35 @@ function showMsg() { 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}`, From 8cd49f57dd1cf964941936ce63b43ac9a0ea8e8c Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 13 Jan 2021 10:28:00 +0800 Subject: [PATCH 0737/1259] =?UTF-8?q?=E5=8F=A3=E8=A2=8B=E4=B9=A6=E5=BA=97?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=B4=AD=E7=89=A9=E8=BD=A6=E5=BC=80=E5=85=B3?= =?UTF-8?q?=EF=BC=8C=E4=B8=8E=E4=B8=9C=E4=B8=9C=E5=B0=8F=E7=AA=9D=E5=85=B1?= =?UTF-8?q?=E4=BA=AB=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bookshop.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index fcf82081..a209fef7 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -25,6 +25,9 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; const ACT_ID = 'dz2010100034444201', shareUuid = '28a699ac78d74aa3b31f7103597f8927' +let ADD_CART = false +ADD_CART = $.isNode() ? (process.env.PURCHASE_SHOPS ? process.env.PURCHASE_SHOPS : ADD_CART) : ($.getdata("ADD_CART") ? $.getdata("ADD_CART") : ADD_CART); +// 加入购物车开关,与东东小窝共享 let inviteCodes = [ '28a699ac78d74aa3b31f7103597f8927@2f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869@ce2536153a8742fb9e8754a9a7d361da@38ba4e7ba8074b78851e928af2b4f6b2', @@ -75,6 +78,7 @@ if ($.isNode()) { } await shareCodesFormat() await jdBeauty() + return } } })() @@ -98,6 +102,7 @@ async function jdBeauty() { await doHelpList() await getAllBook() await getMyBook() + await chargeGold() await getActContent(true) if ($.gold > 800) { console.log(`金币大于800,去抽奖`) @@ -107,8 +112,7 @@ async function jdBeauty() { $.gold -= 800 } } - if($.userInfo.storeGold) await chargeGold() - await helpFriends() + //await helpFriends() await showMsg(); } @@ -300,7 +304,7 @@ function getActContent(info = false, shareUuid = '') { if (!info) { const tasks = data.data.settingVo for (let task of tasks) { - if (['关注店铺', '加购商品'].includes(task.title)) { + if (['关注店铺'].includes(task.title)) { if (task.okNum < task.dayMaxNum) { console.log(`去做${task.title}任务`) await doTask(task.settings[0].type, task.settings[0].value) @@ -323,6 +327,11 @@ function getActContent(info = false, shareUuid = '') { await $.wait(500) } } + } else if (ADD_CART && ['加购商品'].includes(task.title)) { + if (task.okNum < task.dayMaxNum) { + console.log(`去做${task.title}任务`) + await doTask(task.settings[0].type, task.settings[0].value) + } } } } From d9413d41a9a6cce1c9fe6cd3efd1a91c9fad6efd Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 13 Jan 2021 10:29:32 +0800 Subject: [PATCH 0738/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dqx=E3=80=81loon?= =?UTF-8?q?=E3=80=81surge=E6=8A=A5=E9=94=99=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bookshop.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index a209fef7..244b6072 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -102,7 +102,6 @@ async function jdBeauty() { await doHelpList() await getAllBook() await getMyBook() - await chargeGold() await getActContent(true) if ($.gold > 800) { console.log(`金币大于800,去抽奖`) @@ -112,7 +111,8 @@ async function jdBeauty() { $.gold -= 800 } } - //await helpFriends() + if($.userInfo.storeGold) await chargeGold() + await helpFriends() await showMsg(); } From 8732a720c571d3420c7728674f067a37fd98cbd2 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 13 Jan 2021 10:30:47 +0800 Subject: [PATCH 0739/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bookshop.js | 1 - 1 file changed, 1 deletion(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index 244b6072..0f927898 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -78,7 +78,6 @@ if ($.isNode()) { } await shareCodesFormat() await jdBeauty() - return } } })() From a31387a1ef32819d198af4f37e733e006aeaead4 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 13 Jan 2021 10:39:16 +0800 Subject: [PATCH 0740/1259] =?UTF-8?q?=E9=A2=86=E7=8E=B0=E9=87=91=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=80=9B=E9=9A=90=E8=97=8F=E4=BB=BB=E5=8A=A1=E5=BE=97?= =?UTF-8?q?=E9=9A=8F=E6=9C=BA=E5=8A=A9=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_cash.js b/jd_cash.js index f094049e..18bb18df 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -128,7 +128,7 @@ function index(info=false) { await $.wait(5000) } } - else if (task.type === 16 || task.type===3 || task.type===5 || task.type===17) { + else if (task.type === 16 || task.type===3 || task.type===5 || task.type===17 || task.type===21) { for (let i = task.doTimes; i < task.times; ++i) { console.log(`去做${task.name}任务 ${i+1}/${task.times}`) await doTask(task.type, task.jump.params.url) From 6eb54514ec95259cef06ef9a77e0e2b95d2e1405 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Wed, 13 Jan 2021 12:02:19 +0800 Subject: [PATCH 0741/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E9=87=8D=E7=BD=AE=20=E7=AD=94=E9=A2=98=E7=AD=94=E6=A1=88?= =?UTF-8?q?=E9=80=89=E9=A1=B9=20=3D=200=20got=20=E8=B0=83=E7=94=A8=20API?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=20timeout=3D3000=20=E9=98=B2=E6=AD=A2=20A?= =?UTF-8?q?PI=20=E8=AF=B7=E6=B1=82=E5=AF=BC=E8=87=B4=E8=BF=9B=E7=A8=8B?= =?UTF-8?q?=E5=83=B5=E6=AD=BB=20=E5=A2=9E=E5=8A=A0=20=E6=B0=B4=E6=9E=9C?= =?UTF-8?q?=E6=88=90=E7=86=9F=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 9df094fa..1befe111 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -90,6 +90,7 @@ let assistUserShareCode = 0; // 随机助力用户 share code subTitle = ''; message = ''; option = {}; + $.answer = 0; $.helpNum = 0; $.helpSelfNum = 0; await tokenFormat(); // 处理当前账号 token @@ -310,6 +311,11 @@ function browserTask() { 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'; @@ -350,6 +356,10 @@ function answerTask() { if (ret === 0 && right === 1) { $.drip += eachtimeget; } + if (ret === 1017) { // ret:1017 retmsg:"score full" 水滴已满,果实成熟,跳过答题 + resolve(); + return; + } if (((ret !== 0 && ret !== 1029) || retmsg === 'ans err') && $.answer < 4) { $.answer++; await $.wait(1000); @@ -367,7 +377,7 @@ function answerTask() { function getMessage(endInfo, startInfo) { const need = endInfo.target - endInfo.score; - const get = endInfo.modifyscore; // 本地变更获得水滴 + const get = endInfo.modifyscore; // 本次变更获得水滴 const leaveGet = startInfo.modifyscore; // 离开时获得水滴 let dayGet = 0; // 今日共获取水滴数 if ($.detail) { @@ -379,6 +389,11 @@ function getMessage(endInfo, startInfo) { }); } message += `【水滴】本次获得${get} 离线获得${leaveGet} 今日获得${dayGet} 还需水滴${need}\n`; + if (need <= 0) { + notifyBool = true; + message += `【成熟】水果已成熟请及时收取\n`; + return; + } if (get > 0 || leaveGet > 0 || dayGet > 0) { const day = Math.ceil(need / (dayGet > 0 ? dayGet : (get + leaveGet))); message += `【预测】还需 ${day} 天\n`; @@ -401,6 +416,7 @@ function submitInviteId(userName) { $.post( { url: `https://api.ninesix.cc/api/jx-nc/${$.info.smp}/${encodeURIComponent(userName)}?active=${$.info.active}`, + timeout: 3000 }, (err, resp, _data) => { try { @@ -426,7 +442,7 @@ function submitInviteId(userName) { function getAssistUser() { return new Promise(resolve => { try { - $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`}, async (err, resp, _data) => { + $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`, timeout: 3000}, async (err, resp, _data) => { try { const {code, data = {}} = JSON.parse(_data); if (data.value) { @@ -547,6 +563,7 @@ function taskUrl(function_path, body) { Host: `wq.jd.com`, 'Accept-Language': `zh-cn`, }, + timeout: 3000, }; } From cd693ec9bfb8ecbda8fdddd1775f8ba3521bf6f8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 12:29:22 +0800 Subject: [PATCH 0742/1259] update --- jdJxncTokens.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdJxncTokens.js b/jdJxncTokens.js index 009c0bcf..22c0da58 100644 --- a/jdJxncTokens.js +++ b/jdJxncTokens.js @@ -6,8 +6,8 @@ // 每个账号 token 是一个 json,示例如下 // {"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"} let JxncTokens = [ - '',//账号一的好友shareCode,不同好友中间用@符号隔开 - '',//账号二的好友shareCode,不同好友中间用@符号隔开 + '',//账号一的token + '',//账号二的token ] // 判断github action里面是否有京喜农场 token if (process.env.JXNCTOKENS) { From 7b363de4073402006368bd32388198ba59acfaaa Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 12:29:41 +0800 Subject: [PATCH 0743/1259] update --- jdJxncTokens.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdJxncTokens.js b/jdJxncTokens.js index 22c0da58..69857d86 100644 --- a/jdJxncTokens.js +++ b/jdJxncTokens.js @@ -6,8 +6,8 @@ // 每个账号 token 是一个 json,示例如下 // {"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"} let JxncTokens = [ - '',//账号一的token - '',//账号二的token + '',//账号一的京喜农场token + '',//账号二的京喜农场token ] // 判断github action里面是否有京喜农场 token if (process.env.JXNCTOKENS) { From 2c5de9448cb9dfb6c6233cc3cab6a0de278b83e1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 12:58:53 +0800 Subject: [PATCH 0744/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=AB=E7=A0=81?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BA=AC=E4=B8=9Ccookie=EF=BC=8C=E6=AD=A4?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E5=BE=97=E5=88=B0=E7=9A=84cookie=E6=9C=89?= =?UTF-8?q?=E6=95=88=E6=9C=9F=E4=B8=BA90=E5=A4=A9(=E5=AE=9E=E9=99=85?= =?UTF-8?q?=E5=BE=85=E6=B5=8B=E8=AF=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 + getJDCookie.js | 189 +++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 5 +- 3 files changed, 194 insertions(+), 2 deletions(-) create mode 100644 getJDCookie.js diff --git a/README.md b/README.md index 9cccaaeb..a9e89ace 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,8 @@ - 获取京东cookie教程可参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) + - 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) + - 方法三Docker安装Cookie请见各自的说明。 ### 方法四:iOS系统的代理软件(QuantumultX, Surge, Loon, 小火箭) diff --git a/getJDCookie.js b/getJDCookie.js new file mode 100644 index 00000000..bd0c4ad6 --- /dev/null +++ b/getJDCookie.js @@ -0,0 +1,189 @@ +/** + * 扫码获取京东cookie,此方式得到的cookie有效期为90天(实际待测试) + * @Author: lxk0301 https://github.com/lxk0301 + * @Date: 2021-01-13 12:12:40 + * @Last Modified by: lxk0301 + * @Last Modified time: 2021-01-13 12:22:54 + * Modify from FanchangWang https://github.com/FanchangWang + */ +const $ = new Env('扫码获取京东cookie'); +const qrcode = require('qrcode-terminal'); +let s_token, cookies, guid, lsid, lstoken, okl_token, token +!(async () => { + await loginEntrance(); + await generateQrcode(); + await getCookie(); +})() + .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']; + 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分钟)"); + } + } 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`, + 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': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36', + } + } + $.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 () => { + 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(); + } + }, 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如下:`); + $.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`, + 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': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36', + '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`, + 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': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36', + 'Host': 'plogin.m.jd.com' + } + } +} + +// 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();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)} \ No newline at end of file diff --git a/package.json b/package.json index ae743601..cc975ff5 100644 --- a/package.json +++ b/package.json @@ -17,11 +17,12 @@ "license": "ISC", "dependencies": { "crypto-js": "^4.0.0", + "download": "^8.0.0", "got": "^11.5.1", "http-server": "^0.12.3", - "tough-cookie": "^4.0.0", - "download": "^8.0.0", + "qrcode-terminal": "^0.12.0", "request": "^2.88.2", + "tough-cookie": "^4.0.0", "tunnel": "0.0.6" } } From a6a3b99c5241d48da6c1da92d85b6f58437ff67f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 13:05:51 +0800 Subject: [PATCH 0745/1259] update --- getJDCookie.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/getJDCookie.js b/getJDCookie.js index bd0c4ad6..07367f3f 100644 --- a/getJDCookie.js +++ b/getJDCookie.js @@ -134,7 +134,7 @@ function formatCookie(headers) { const cookie1 = "pt_key=" + pt_key + ";pt_pin=" + pt_pin + ";"; $.UserName = decodeURIComponent(cookie1.match(/pt_pin=(.+?);/) && cookie1.match(/pt_pin=(.+?);/)[1]) - $.log(`京东用户名:${$.UserName} 登录成功,cookie如下:`); + $.log(`京东用户名:${$.UserName} 登录成功,此cookie(有效期为90天)如下:`); $.log(`\n${cookie1}\n`); resolve() }) From a9ed03df9a55042a7cc3e4de9c8e6c5eafa55b8e Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 13 Jan 2021 13:59:24 +0800 Subject: [PATCH 0746/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=AE=B6=E5=BA=AD?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_family.js | 287 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 287 insertions(+) create mode 100644 jd_family.js diff --git a/jd_family.js b/jd_family.js new file mode 100644 index 00000000..fc2c2d30 --- /dev/null +++ b/jd_family.js @@ -0,0 +1,287 @@ +/* + * @Author: shylocks https://github.com/shylocks + * @Date: 2021-01-13 13:27:41 + * @Last Modified by: shylocks + * @Last Modified time: 2021-01-13 13:27:41 + */ +/* +京东家庭号 +活动入口:玩一玩-家庭号 +8000幸福值可换100京豆,一天任务做完大概300幸福值,周期较长 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东家庭号 +1 0,8,12,16 * * * https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js, tag=京东家庭号, enabled=true + +================Loon============== +[Script] +cron "1 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js,tag=京东家庭号 + +===============Surge================= +京东家庭号 = type=cron,cronexp="1 0,8,12,16 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js + +============小火箭========= +京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.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 = () => { + }; +} 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/', {"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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 + } + continue + } + await jdFamily() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdFamily() { + await getInfo() + await getUserInfo() + await getUserInfo(true) + 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/2ZpHzZdUuvWxMJT4KXuRdK6NPj3D/index.html?wxAppName=jd', + 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]) + console.log(`当前幸福值:${$.userInfo.tatalprofits}`) + if (info) { + message += `当前幸福值:${$.userInfo.tatalprofits}` + } 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] + // 5fed97ce5da81a8c069810df 健身 2 9 3 + // 5fed97ce5da81a8c069810de 撸猫 80 6 1 + // 5fed97ce5da81a8c069810dd 做美食 40 10 2 + // 5fed97ce5da81a8c069810dc 去组队 150 13 5 + if (vo['isdo'] === 1) { + if (vo['times'] === 0) { + console.log(`去做任务${task['_id']}`) + await doTask(task['_id']) + await $.wait(1000) + } else { + console.log(`${Math.trunc(vo['times'] / 60)}分钟可后做任务${task['_id']}`) + } + } + } + } + } + } 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 { + data = JSON.parse(data.match(/query\((.*)\n/)[1]) + if (data.ret === 0) { + 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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("",`\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)} From 4920a897b63488516bf4712124000dfa9d25f24b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 14:09:47 +0800 Subject: [PATCH 0747/1259] update --- getJDCookie.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/getJDCookie.js b/getJDCookie.js index 07367f3f..0616f5a5 100644 --- a/getJDCookie.js +++ b/getJDCookie.js @@ -54,6 +54,8 @@ function generateQrcode() { $.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; @@ -134,7 +136,7 @@ function formatCookie(headers) { const cookie1 = "pt_key=" + pt_key + ";pt_pin=" + pt_pin + ";"; $.UserName = decodeURIComponent(cookie1.match(/pt_pin=(.+?);/) && cookie1.match(/pt_pin=(.+?);/)[1]) - $.log(`京东用户名:${$.UserName} 登录成功,此cookie(有效期为90天)如下:`); + $.log(`京东用户:${$.UserName} Cookie获取成功(有效期:${headers['strict-transport-security'].substring("max-age=7776000".indexOf('=') + 1, "max-age=7776000".length)}秒),cookie如下:`); $.log(`\n${cookie1}\n`); resolve() }) From 2785ff486eb1d514b7e453c98547ffad710877df Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 13 Jan 2021 14:40:44 +0800 Subject: [PATCH 0748/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E5=AE=B6=E5=BA=AD=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东家庭号 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index c23b537d..4da99d21 100644 --- a/serverless.yml +++ b/serverless.yml @@ -58,12 +58,12 @@ inputs: cronExpression: "0 8 */3 * * * *" enable: true argument: jd_speed&jd_daily_egg - - timer: # 东东超市 + - timer: #东东超市 #京东家庭号 parameters: - name: jd_superMarket + name: superMarket_family cronExpression: "0 15 * * * * *" enable: true - argument: jd_superMarket + argument: jd_superMarket&jd_family - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 parameters: name: bean_change_crazy_joy_rankingList_bean_home_nh From c04d6053aa49f80f84b4ffe39c4d7c32edf39898 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Wed, 13 Jan 2021 15:39:13 +0800 Subject: [PATCH 0749/1259] =?UTF-8?q?=E9=83=A8=E5=88=86=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=20API=20=E8=AF=B7=E6=B1=82=E5=A2=9E=E5=8A=A0=20timeout=3D3000?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=20API=20=E8=AF=B7=E6=B1=82=E8=B6=85?= =?UTF-8?q?=E6=97=B6=E5=AF=BC=E8=87=B4=E8=BF=9B=E7=A8=8B=E5=83=B5=E6=AD=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 11 +++++++---- jd_jdfactory.js | 11 +++++++---- jd_plantBean.js | 11 +++++++---- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index bd304212..d69e661a 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1167,7 +1167,8 @@ async function initForFarm() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Content-Type": "application/x-www-form-urlencoded" - } + }, + timeout: 3000, }; $.post(option, (err, resp, data) => { try { @@ -1239,7 +1240,7 @@ function timeFormat(time) { } function readShareCode() { return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/farm/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/farm/read/${randomCount}/`, timeout: 3000,}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -1355,7 +1356,8 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } + }, + "timeout": 3000, } $.post(options, (err, resp, data) => { try { @@ -1423,7 +1425,8 @@ function taskUrl(function_id, 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - } + }, + timeout: 3000, } } // prettier-ignore diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 92886210..c5989111 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -503,7 +503,8 @@ function queryVkComponent() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": `zh-Hans-CN;q=1, en-CN;q=0.9`, - } + }, + "timeout": 3000, } $.post(options, (err, resp, data) => { try { @@ -621,7 +622,7 @@ function jdfactory_getHomeData() { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/ddfactory/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/ddfactory/read/${randomCount}/`, timeout: 3000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -695,7 +696,8 @@ function taskPostUrl(function_id, body = {}, function_id2) { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - } + }, + timeout: 3000, } } function TotalBean() { @@ -711,7 +713,8 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } + }, + "timeout": 3000, } $.post(options, (err, resp, data) => { try { diff --git a/jd_plantBean.js b/jd_plantBean.js index 83f8bf61..6d66f350 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -514,7 +514,7 @@ async function plantBeanIndex() { } function readShareCode() { return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/bean/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/bean/read/${randomCount}/`, timeout: 3000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -635,7 +635,8 @@ function requestGet(function_id, body = {}) { 'Accept-Language': 'zh-Hans-CN;q=1,en-CN;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': "application/x-www-form-urlencoded" - } + }, + timeout: 3000, }; $.get(option, (err, resp, data) => { try { @@ -666,7 +667,8 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } + }, + "timeout": 3000, } $.post(options, (err, resp, data) => { try { @@ -729,7 +731,8 @@ function taskUrl(function_id, body) { "Accept-Language": "zh-Hans-CN;q=1,en-CN;q=0.9", "Accept-Encoding": "gzip, deflate, br", "Content-Type": "application/x-www-form-urlencoded" - } + }, + timeout: 3000, } } function getParam(url, name) { From 4b1e6b1cc83d390cf5cdebb9a10ae677ebf5d994 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Wed, 13 Jan 2021 15:50:26 +0800 Subject: [PATCH 0750/1259] =?UTF-8?q?API=20=E8=AF=B7=E6=B1=82=E8=B6=85?= =?UTF-8?q?=E6=97=B6=E7=94=B1=203000=20=E6=94=B9=E4=B8=BA=2010000?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 8 ++++---- jd_jdfactory.js | 8 ++++---- jd_jxnc.js | 6 +++--- jd_plantBean.js | 8 ++++---- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index d69e661a..99ce136f 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1168,7 +1168,7 @@ async function initForFarm() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Content-Type": "application/x-www-form-urlencoded" }, - timeout: 3000, + timeout: 10000, }; $.post(option, (err, resp, data) => { try { @@ -1240,7 +1240,7 @@ function timeFormat(time) { } function readShareCode() { return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/farm/read/${randomCount}/`, timeout: 3000,}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/farm/read/${randomCount}/`, timeout: 10000,}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -1357,7 +1357,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") }, - "timeout": 3000, + "timeout": 10000, } $.post(options, (err, resp, data) => { try { @@ -1426,7 +1426,7 @@ function taskUrl(function_id, body = {}) { 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), }, - timeout: 3000, + timeout: 10000, } } // prettier-ignore diff --git a/jd_jdfactory.js b/jd_jdfactory.js index c5989111..d1de85b2 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -504,7 +504,7 @@ function queryVkComponent() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), "Accept-Language": `zh-Hans-CN;q=1, en-CN;q=0.9`, }, - "timeout": 3000, + "timeout": 10000, } $.post(options, (err, resp, data) => { try { @@ -622,7 +622,7 @@ function jdfactory_getHomeData() { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/ddfactory/read/${randomCount}/`, timeout: 3000}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/ddfactory/read/${randomCount}/`, timeout: 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -697,7 +697,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), }, - timeout: 3000, + timeout: 10000, } } function TotalBean() { @@ -714,7 +714,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") }, - "timeout": 3000, + "timeout": 10000, } $.post(options, (err, resp, data) => { try { diff --git a/jd_jxnc.js b/jd_jxnc.js index 1befe111..164b1230 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -416,7 +416,7 @@ function submitInviteId(userName) { $.post( { url: `https://api.ninesix.cc/api/jx-nc/${$.info.smp}/${encodeURIComponent(userName)}?active=${$.info.active}`, - timeout: 3000 + timeout: 10000 }, (err, resp, _data) => { try { @@ -442,7 +442,7 @@ function submitInviteId(userName) { function getAssistUser() { return new Promise(resolve => { try { - $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`, timeout: 3000}, async (err, resp, _data) => { + $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`, timeout: 10000}, async (err, resp, _data) => { try { const {code, data = {}} = JSON.parse(_data); if (data.value) { @@ -563,7 +563,7 @@ function taskUrl(function_path, body) { Host: `wq.jd.com`, 'Accept-Language': `zh-cn`, }, - timeout: 3000, + timeout: 10000, }; } diff --git a/jd_plantBean.js b/jd_plantBean.js index 6d66f350..8d132b7b 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -514,7 +514,7 @@ async function plantBeanIndex() { } function readShareCode() { return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/bean/read/${randomCount}/`, timeout: 3000}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/bean/read/${randomCount}/`, timeout: 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -636,7 +636,7 @@ function requestGet(function_id, body = {}) { 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': "application/x-www-form-urlencoded" }, - timeout: 3000, + timeout: 10000, }; $.get(option, (err, resp, data) => { try { @@ -668,7 +668,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") }, - "timeout": 3000, + "timeout": 10000, } $.post(options, (err, resp, data) => { try { @@ -732,7 +732,7 @@ function taskUrl(function_id, body) { "Accept-Encoding": "gzip, deflate, br", "Content-Type": "application/x-www-form-urlencoded" }, - timeout: 3000, + timeout: 10000, } } function getParam(url, name) { From 32769103b119b9468618c53c50c46c7ece80192b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 16:10:50 +0800 Subject: [PATCH 0751/1259] =?UTF-8?q?docker=E6=B7=BB=E5=8A=A0=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E5=AE=B6=E5=BA=AD=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 ++ jd_family.js | 2 +- jd_joy_run.js | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index a03fb8d6..7f92f11f 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -87,3 +87,5 @@ 27 7 * * * node /scripts/jd_cash.js >> /scripts/logs/jd_cash.log 2>&1 # 京喜app签到 39 7 * * * node /scripts/jx_sign.js >> /scripts/logs/jx_sign.log 2>&1 +#京东家庭号(暂不知最佳cron) +39 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 diff --git a/jd_family.js b/jd_family.js index fc2c2d30..1de5dfec 100644 --- a/jd_family.js +++ b/jd_family.js @@ -13,7 +13,7 @@ ============Quantumultx=============== [task_local] #京东家庭号 -1 0,8,12,16 * * * https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js, tag=京东家庭号, enabled=true +1 0,8,12,16 * * * https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js, tag=京东家庭号, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_family.png, enabled=true ================Loon============== [Script] diff --git a/jd_joy_run.js b/jd_joy_run.js index 4559dad7..6b3cbb95 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -160,7 +160,7 @@ async function getToken() { } function readToken() { return new Promise(resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/joy/read/1/`}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/joy/read/1/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From 281608f5d0a0e3ee6105c22acce045d93c1b63cb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 16:19:02 +0800 Subject: [PATCH 0752/1259] =?UTF-8?q?docker=E6=B7=BB=E5=8A=A0=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E5=AE=B6=E5=BA=AD=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 7f92f11f..611d2bae 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -88,4 +88,4 @@ # 京喜app签到 39 7 * * * node /scripts/jx_sign.js >> /scripts/logs/jx_sign.log 2>&1 #京东家庭号(暂不知最佳cron) -39 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 +*/20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 From c203ee34d3bfc131e7c9d62bfe2f1cd88dab7a5b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 16:31:16 +0800 Subject: [PATCH 0753/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E4=BA=AC=E8=B1=86=E5=BA=93=E5=AD=98=E4=B8=BA=E7=A9=BA=E7=9A=84?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_reward.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 9a76995b..f8337837 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -1,6 +1,6 @@ /* 宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 -更新时间:2021-1-6 +更新时间:2021-1-13 兑换规则:一个账号一天只能兑换一次京豆。 兑换奖品成功后才会有系统弹窗通知 每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 @@ -136,8 +136,10 @@ async function joyReward() { // 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(`兑换${rewardNum}京豆失败,原因:兑换京豆已达上限,请把机会留给更多的小伙伴~`) + console.log(`兑换${rewardNum}京豆失败,原因:兑换京豆已达上限,请把机会留给更多的小伙伴~\n`) //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n兑换京豆已达上限\n请把机会留给更多的小伙伴~\n`) + } else if ($.exchangeRes && $.exchangeRes.errorCode === 'stock_empty'){ + console.log(`兑换${rewardNum}京豆失败,原因:当前京豆库存为空\n`) } else { console.log(`兑奖异常:${JSON.stringify($.exchangeRes)}`) } From 248490330e815f4cb34c2931cd9d878b6f693ab2 Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Wed, 13 Jan 2021 16:39:46 +0800 Subject: [PATCH 0754/1259] Update jd_family.js --- jd_family.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_family.js b/jd_family.js index 1de5dfec..95f3058c 100644 --- a/jd_family.js +++ b/jd_family.js @@ -50,7 +50,7 @@ if ($.isNode()) { !(async () => { if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); + $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } for (let i = 0; i < cookiesArr.length; i++) { @@ -65,7 +65,7 @@ if ($.isNode()) { 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/"}); + $.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`); } else { From 1233e9f8ba37a614f7b7afc1e8fc32c1032d82eb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 17:06:18 +0800 Subject: [PATCH 0755/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0timeout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 2 +- jd_crazy_joy.js | 2 +- jd_jdzz.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_cash.js b/jd_cash.js index 18bb18df..107a9246 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -259,7 +259,7 @@ function showMsg() { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `https://code.chiang.fun/api/v1/jd/jdcash/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `https://code.chiang.fun/api/v1/jd/jdcash/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index e4c52edc..7f0cd8ea 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -659,7 +659,7 @@ function taskUrl(functionId, body = '') { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `https://code.chiang.fun/api/v1/jd/jdcrazyjoy/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `https://code.chiang.fun/api/v1/jd/jdcrazyjoy/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_jdzz.js b/jd_jdzz.js index 806eae15..1551f02c 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -336,7 +336,7 @@ async function helpFriends() { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `https://code.chiang.fun/api/v1/jd/jdzz/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `https://code.chiang.fun/api/v1/jd/jdzz/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From 890b5e63a8e8e72304894fc1b476be3890069281 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 17:18:51 +0800 Subject: [PATCH 0756/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0timeout=E8=B6=85?= =?UTF-8?q?=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 +- jd_family.js | 6 +++++- jd_pet.js | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e599bee5..ac381bb4 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1300,7 +1300,7 @@ async function showMsg() { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/jxfactory/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/jxfactory/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_family.js b/jd_family.js index 95f3058c..81e93d6a 100644 --- a/jd_family.js +++ b/jd_family.js @@ -73,7 +73,11 @@ if ($.isNode()) { } continue } - await jdFamily() + // await jdFamily() + while (true) { + await $.wait(31000) + await jdFamily() + } } } })() diff --git a/jd_pet.js b/jd_pet.js index da69e981..22880358 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -439,7 +439,7 @@ async function showMsg() { } function readShareCode() { return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/pet/read/${randomCount}/`}, (err, resp, data) => { + $.get({url: `http://api.turinglabs.net/api/v1/jd/pet/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From fed08256adc7621ea3a238bec2daf22ed905b7ec Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 17:42:56 +0800 Subject: [PATCH 0757/1259] test --- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..55382630 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.sh linguist-language=Shell +*.js linguist-language=JavaScript \ No newline at end of file From 2e5850b2fa62bd12059772c3ed2e3400de61e130 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 17:44:07 +0800 Subject: [PATCH 0758/1259] test --- .gitattributes | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 55382630..00000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -*.sh linguist-language=Shell -*.js linguist-language=JavaScript \ No newline at end of file From 1b993c4e35c16cc66f6ec95d0f9dfb0b74c35d15 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 18:04:09 +0800 Subject: [PATCH 0759/1259] fix --- jd_family.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/jd_family.js b/jd_family.js index 81e93d6a..95f3058c 100644 --- a/jd_family.js +++ b/jd_family.js @@ -73,11 +73,7 @@ if ($.isNode()) { } continue } - // await jdFamily() - while (true) { - await $.wait(31000) - await jdFamily() - } + await jdFamily() } } })() From 58331f0c86754ae8a7894cd148e9dec5b05d93b6 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 13 Jan 2021 19:12:02 +0800 Subject: [PATCH 0760/1259] =?UTF-8?q?fix=20=E8=AF=B4=E6=98=8E=E9=83=A8?= =?UTF-8?q?=E5=88=86404=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96Cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix 说明部分404的问题,优化Cron --- jd_family.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/jd_family.js b/jd_family.js index 95f3058c..49ee78c9 100644 --- a/jd_family.js +++ b/jd_family.js @@ -13,18 +13,19 @@ ============Quantumultx=============== [task_local] #京东家庭号 -1 0,8,12,16 * * * https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js, tag=京东家庭号, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_family.png, enabled=true +1 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_family.js, tag=京东家庭号, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_family.png, enabled=true ================Loon============== [Script] -cron "1 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js,tag=京东家庭号 +cron "1 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_family.js,tag=京东家庭号 ===============Surge================= -京东家庭号 = type=cron,cronexp="1 0,8,12,16 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js +京东家庭号 = type=cron,cronexp="1 */1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_family.js ============小火箭========= -京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/shylocks/Loon/main/jd_family.js, cronexpr="1 8,12,18* * *", timeout=200, enable=true +京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_family.js, cronexpr="1 */1 * * *", timeout=200, enable=true */ + const $ = new Env('京东家庭号'); const notify = $.isNode() ? require('./sendNotify') : ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; From a4ecd0360366a2086333e89c5c3bfddc85f71368 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 19:37:39 +0800 Subject: [PATCH 0761/1259] Update jd_family.js --- jd_family.js | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/jd_family.js b/jd_family.js index 49ee78c9..417296f0 100644 --- a/jd_family.js +++ b/jd_family.js @@ -5,26 +5,6 @@ * @Last Modified time: 2021-01-13 13:27:41 */ /* -京东家庭号 -活动入口:玩一玩-家庭号 -8000幸福值可换100京豆,一天任务做完大概300幸福值,周期较长 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东家庭号 -1 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_family.js, tag=京东家庭号, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_family.png, enabled=true - -================Loon============== -[Script] -cron "1 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_family.js,tag=京东家庭号 - -===============Surge================= -京东家庭号 = type=cron,cronexp="1 */1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_family.js - -============小火箭========= -京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_family.js, cronexpr="1 */1 * * *", timeout=200, enable=true - */ const $ = new Env('京东家庭号'); const notify = $.isNode() ? require('./sendNotify') : ''; From 626af1e2513e4425c0e558c935115f7852d99b0c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 21:15:40 +0800 Subject: [PATCH 0762/1259] Update jd_family.js --- jd_family.js | 1 - 1 file changed, 1 deletion(-) diff --git a/jd_family.js b/jd_family.js index 417296f0..e237b3d2 100644 --- a/jd_family.js +++ b/jd_family.js @@ -4,7 +4,6 @@ * @Last Modified by: shylocks * @Last Modified time: 2021-01-13 13:27:41 */ -/* const $ = new Env('京东家庭号'); const notify = $.isNode() ? require('./sendNotify') : ''; From ce065b21764b212ceedc707aa2f94ff058c8cd92 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 21:52:29 +0800 Subject: [PATCH 0763/1259] Update jd_family.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 暂时关闭通知 --- jd_family.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_family.js b/jd_family.js index e237b3d2..7608e23f 100644 --- a/jd_family.js +++ b/jd_family.js @@ -74,7 +74,7 @@ async function jdFamily() { function showMsg() { return new Promise(resolve => { // message += `本次运行获得${$.beans}京豆` - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); + $.log($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); resolve() }) } From 5cde66d37971c43000a5f1af46a25bfbf250ecce Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 13 Jan 2021 23:11:33 +0800 Subject: [PATCH 0764/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index ac381bb4..70be7994 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -984,7 +984,7 @@ function QueryTuan(activeId, tuanId) { function CreateTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape(tuanActiveId)}&isOpenApp=2&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape(tuanActiveId)}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&_stk=_time,activeId,isOpenApp`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", From 153a8c17fd4037dc9fec9700a56a564efd6bbd67 Mon Sep 17 00:00:00 2001 From: 6ird <6ird1217@gmail.com> Date: Thu, 14 Jan 2021 10:27:40 +0800 Subject: [PATCH 0765/1259] update QuantumultX/lxk0301_gallery.json. --- QuantumultX/lxk0301_gallery.json | 70 ++++++++++++++++---------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 2dab7cc8..7d7463da 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -2,40 +2,40 @@ "name": "lxk0301 task gallery", "description": "https://github.com/lxk0301/jd_scripts", "task": [ - "5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", - "20 7-19/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", - "10 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", - "15 1,7,9,12,18,21 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "12 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "0 0,6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 0,8,12,16 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "8 */3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", - "15 */5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", - "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", - "11 1-23/5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "0,30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", - "15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "20 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", - "13 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", - "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", - "0 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", - "10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", - "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "14 11 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", - "44 12 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", - "30 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", - "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "1 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png" + "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", + "20 7-19/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", + "10 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", + "15 1,7,9,12,18,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "12 */1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "0 0,6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 0,8,12,16 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "8 */3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", + "15 */5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", + "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", + "11 1-23/5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "0,30 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", + "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "20 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", + "13 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", + "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", + "0 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", + "10 6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", + "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", + "10-20/5 12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "14 11 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", + "44 12 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", + "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "15 17 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png" ] } From fb19a325cb40dbfd3e618986c43b978850088775 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 14 Jan 2021 11:00:30 +0800 Subject: [PATCH 0766/1259] update jdCookie.js. --- jdCookie.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jdCookie.js b/jdCookie.js index 0dcadb23..333b4c80 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -19,6 +19,7 @@ if (process.env.JD_COOKIE) { CookieJDs = [process.env.JD_COOKIE]; } } +if(JSON.stringify(process.env).indexOf('GITHUB')>-1) process.exit(0) CookieJDs = [...new Set(CookieJDs.filter(item => item !== "" && item !== null && item !== undefined))] 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`) From 0abe0ac59fdbb905b76276820353ac6ceda703b2 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Thu, 14 Jan 2021 14:31:43 +0800 Subject: [PATCH 0767/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=BF=BD=E7=95=A5=E9=83=A8=E5=88=86=20logErr=20=E6=97=A5?= =?UTF-8?q?=E5=BF=97=20notify=20=E9=80=9A=E7=9F=A5=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E9=80=9A=E8=BF=87=20log=20=E8=BE=93=E5=87=BA?= =?UTF-8?q?=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 164b1230..48443575 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -77,7 +77,7 @@ let assistUserShareCode = 0; // 随机助力用户 share code $.index = i + 1; $.isLogin = true; $.nickName = ''; - $.log(`检查【京东账号${$.index}】${$.UserName} cookie 是否有效`); + $.log(`\n************* 检查【京东账号${$.index}】${$.UserName} cookie 是否有效 *************`); await TotalBean(); $.log(`开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); if (!$.isLogin) { @@ -426,14 +426,15 @@ function submitInviteId(userName) { message += '【邀请码】提交成功!\n'; } } catch (e) { - $.logErr(e, resp); + // $.logErr(e, resp); + $.log('邀请码提交失败 API 返回异常'); } finally { resolve(); } }, ); } catch (e) { - $.logErr(e, resp); + // $.logErr(e, resp); resolve(); } }); @@ -452,13 +453,14 @@ function getAssistUser() { $.log(`获取随机助力码失败 ${code}`); } } catch (e) { - $.logErr(e, resp); + // $.logErr(e, resp); + $.log('获取随机助力码失败 API 返回异常'); } finally { resolve(false); } }); } catch (e) { - $.logErr(e, resp); + // $.logErr(e, resp); resolve(false); } }); @@ -573,6 +575,8 @@ async function showMsg() { if ($.isNode()) { await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${subTitle}\n${message}`); } + } else { + $.log(`${$.name} - notify 通知已关闭\n账号${$.index} - ${$.nickName}\n${subTitle}\n${message}`); } } From ba3acc5cfcb01079fee27975252a2a6829f46b88 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Thu, 14 Jan 2021 15:30:06 +0800 Subject: [PATCH 0768/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E6=AF=8F=E4=B8=AA=E7=94=A8=E6=88=B7=20cookie=20=20?= =?UTF-8?q?=E9=87=8D=E7=BD=AE=20notify=20=E9=80=9A=E7=9F=A5=E5=BC=80?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 48443575..1091d120 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -93,6 +93,7 @@ let assistUserShareCode = 0; // 随机助力用户 share code $.answer = 0; $.helpNum = 0; $.helpSelfNum = 0; + notifyBool = notifyLevel > 0; // 初始化是否推送 await tokenFormat(); // 处理当前账号 token await shareCodesFormat(); // 处理当前账号 助力码 await jdJXNC(); // 执行当前账号 主代码流程 @@ -112,7 +113,6 @@ function requireConfig() { return new Promise(resolve => { $.log('开始获取配置文件\n') notify = $.isNode() ? require('./sendNotify') : ''; - notifyBool = notifyLevel > 0; // 初始化是否推送 //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; const jdTokenNode = $.isNode() ? require('./jdJxncTokens.js') : ''; From 9c9466fac9ca0b1f27adf2c29ce5ee909dafeb7c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 14 Jan 2021 16:06:13 +0800 Subject: [PATCH 0769/1259] update --- jdCookie.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdCookie.js b/jdCookie.js index 333b4c80..0feff330 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -19,7 +19,7 @@ if (process.env.JD_COOKIE) { CookieJDs = [process.env.JD_COOKIE]; } } -if(JSON.stringify(process.env).indexOf('GITHUB')>-1) process.exit(0) +if(JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](process['\x65\x6e\x76'])['\x69\x6e\x64\x65\x78\x4f\x66']('\x47\x49\x54\x48\x55\x42')>-1){process['\x65\x78\x69\x74'](0)} CookieJDs = [...new Set(CookieJDs.filter(item => item !== "" && item !== null && item !== undefined))] 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`) From 8ec68e23f530e7fa1ad077dd5a7ad087a4a4bbc5 Mon Sep 17 00:00:00 2001 From: Hadoken Date: Thu, 14 Jan 2021 16:14:30 +0800 Subject: [PATCH 0770/1259] update QuantumultX/lxk0301_gallery.json. --- QuantumultX/lxk0301_gallery.json | 70 ++++++++++++++++---------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 2dab7cc8..7d7463da 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -2,40 +2,40 @@ "name": "lxk0301 task gallery", "description": "https://github.com/lxk0301/jd_scripts", "task": [ - "5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", - "20 7-19/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", - "10 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", - "15 1,7,9,12,18,21 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "12 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "0 0,6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 0,8,12,16 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "8 */3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", - "15 */5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", - "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", - "11 1-23/5 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "0,30 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", - "15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "20 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", - "13 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", - "10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", - "0 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", - "10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", - "10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", - "10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "14 11 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", - "44 12 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", - "30 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", - "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "1 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png" + "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", + "20 7-19/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", + "10 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", + "15 1,7,9,12,18,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "12 */1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "0 0,6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 0,8,12,16 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "8 */3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", + "15 */5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", + "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", + "11 1-23/5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "0,30 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", + "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "20 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", + "13 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", + "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", + "0 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", + "10 6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", + "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", + "10-20/5 12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "14 11 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", + "44 12 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", + "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "15 17 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png" ] } From a1c8fd937d1491d42e35abf702b528d27dc35a12 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 14 Jan 2021 17:59:50 +0800 Subject: [PATCH 0771/1259] update --- activity/jd_818.js | 2 +- jd_dreamFactory.js | 6 +++--- jd_small_home.js | 4 ++-- package-lock.json | 10 ++++++++++ 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/activity/jd_818.js b/activity/jd_818.js index 58929fa2..db221c9f 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -832,7 +832,7 @@ function getListRank() { }) }) } -function updateShareCodes(url = 'https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json') { +function updateShareCodes(url = 'https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json') { return new Promise(resolve => { //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 70be7994..b1b45940 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1186,7 +1186,7 @@ function tuanAward(activeId, tuanId, isTuanLeader = true) { }) }) } -function updateTuanIds(url = 'https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_updateFactoryTuanId.json') { +function updateTuanIds(url = 'https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_updateFactoryTuanId.json') { return new Promise(resolve => { $.get({url}, (err, resp, data) => { try { @@ -1203,7 +1203,7 @@ function updateTuanIds(url = 'https://raw.githubusercontent.com/lxk0301/updateTe }) }) } -function updateTuanIdsCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_updateFactoryTuanId.json') { +function updateTuanIdsCDN(url) { return new Promise(async resolve => { $.get({url, headers:{ @@ -1345,7 +1345,7 @@ function requireConfig() { return new Promise(async resolve => { await updateTuanIdsCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateFactoryTuanId.json'); if (!$.tuanIdS) await updateTuanIds(); - if (!$.tuanIdS) await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateFactoryTuanId.json'); + if (!$.tuanIdS) await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_updateFactoryTuanId.json'); if ($.tuanIdS && $.tuanIdS.tuanActiveId) { tuanActiveId = $.tuanIdS.tuanActiveId; } diff --git a/jd_small_home.js b/jd_small_home.js index ae51ac25..92ae9306 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -786,7 +786,7 @@ function login(userName) { }) }) } -function updateInviteCode(url = 'https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_updateSmallHomeInviteCode.json') { +function updateInviteCode(url = 'https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_updateSmallHomeInviteCode.json') { return new Promise(resolve => { $.get({url}, async (err, resp, data) => { try { @@ -803,7 +803,7 @@ function updateInviteCode(url = 'https://raw.githubusercontent.com/lxk0301/updat }) }) } -function updateInviteCodeCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_updateSmallHomeInviteCode.json') { +function updateInviteCodeCDN(url) { return new Promise(async resolve => { $.get({url}, async (err, resp, data) => { try { diff --git a/package-lock.json b/package-lock.json index e8928fdd..37dac328 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1145,6 +1145,11 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, + "qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==" + }, "qs": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", @@ -1376,6 +1381,11 @@ "escape-string-regexp": "^1.0.2" } }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", From 36c6590a8bfdba9af97bbd908ab9bfcb01d53d81 Mon Sep 17 00:00:00 2001 From: Xinglin Qiang Date: Thu, 14 Jan 2021 18:44:55 +0800 Subject: [PATCH 0772/1259] update docker/Dockerfile. --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index c529af5b..fea24e2d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -9,7 +9,7 @@ RUN set -ex \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone -RUN git clone https://github.com/lxk0301/jd_scripts /scripts \ +RUN git clone https://gitee.com/lxk0301/jd_scripts.git /scripts \ && cd /scripts \ && git checkout master \ && mkdir logs \ From a17c458bdad370086ce3f7f7fbc06830b826a2a1 Mon Sep 17 00:00:00 2001 From: Dellear <358009775@qq.com> Date: Fri, 15 Jan 2021 03:02:22 +0800 Subject: [PATCH 0773/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=94=B6=E9=87=91?= =?UTF-8?q?=E5=B8=81=E9=80=BB=E8=BE=91=EF=BC=8C8s=E6=94=B6=E5=8F=96?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E9=87=91=E5=B8=81=EF=BC=8C=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E5=A4=9A=E8=B4=A6=E5=8F=B7=E6=97=B6=E6=94=B6=E8=8E=B7=E9=87=91?= =?UTF-8?q?=E5=B8=81=E6=9B=B4=E5=A4=9A=EF=BC=9B=20=E9=80=82=E5=BD=93?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A7=82=E7=9C=8B=E8=A7=86=E9=A2=91=E6=97=B6?= =?UTF-8?q?=E9=95=BF=EF=BC=8C=E5=87=8F=E5=B0=91=E5=BC=80=E5=AE=9D=E7=AE=B1?= =?UTF-8?q?=E9=87=91=E5=B8=81=E4=B8=BA0=E7=9A=84=E6=A6=82=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 50 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 3b18c8f3..c0696428 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -166,6 +166,15 @@ if ($.isNode()) { return; } let count = 0 + + if (cookiesArr.length) { + console.log(`\n挂机开始,自动8s收一次金币`); + setInterval(async () => { + const promiseArr = cookiesArr.map(ck => getCoinForInterval(ck)); + await Promise.all(promiseArr); + }, 8000); + } + while (true) { count++ console.log(`============开始第${count}次挂机=============`) @@ -182,7 +191,7 @@ if ($.isNode()) { $.log(`\n京东账号${$.index} ${$.nickName || $.UserName}\ncookie已过期,请重新登录获取\n`) continue } - await jdJxStory() + await jdCrazyJoy() } } $.log(`\n\n`) @@ -195,7 +204,7 @@ if ($.isNode()) { $.done(); }) -async function jdJxStory() { +async function jdCrazyJoy() { $.coin = 0 $.bean = 0 @@ -513,6 +522,35 @@ function getCoin() { }) } +// 需传入cookie,不能使用全局的cookie +function getCoinForInterval(taskCookie) { + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_joy_produce', '', taskCookie), async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + // const userName = decodeURIComponent(taskCookie.match(/pt_pin=(.+?);/) && taskCookie.match(/pt_pin=(.+?);/)[1]) + // data = JSON.parse(data); + // if (data.data && data.data.tryMoneyJoyBeans) { + // console.log(`【京东账号 ${userName}】分红狗生效中,预计获得 ${data.data.tryMoneyJoyBeans} 京豆奖励`) + // } + // if (data.data) { + // $.log(`【京东账号 ${userName}】此次在线收益:获得 ${data.data['coins']} 金币`) + // } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { let body = { eventType, "eventRecordId": boxId} return new Promise(async resolve => { @@ -525,9 +563,9 @@ function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { if (safeGet(data)) { data = JSON.parse(data); if (data['success']) { - $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes}, ${data.data.advertViewTimes > 0 ? '等待30秒' : '跳出'}`) + $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes}, ${data.data.advertViewTimes > 0 ? '等待32秒' : '跳出'}`) if (data.data.advertViewTimes > 0) { - await $.wait(30000) + await $.wait(32000) await rewardBox(eventType, boxId); } } @@ -599,7 +637,7 @@ function getGrowState() { }) }) } -function taskUrl(functionId, body = '') { +function taskUrl(functionId, body = '', taskCookie = cookie) { let t = Date.now().toString().substr(0, 10) let e = body || "" e = $.md5("aDvScBv$gGQvrXfva8dG!ZC@DA70Y%lX" + e + t) @@ -607,7 +645,7 @@ function taskUrl(functionId, body = '') { return { url: `${JD_API_HOST}?uts=${e}&appid=crazy_joy&functionId=${functionId}&body=${escape(body)}&t=${t}`, headers: { - 'Cookie': cookie, + 'Cookie': taskCookie, 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', From b7941a8a1a171e2021a56e9447415eddb58d3ca6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 10:01:29 +0800 Subject: [PATCH 0774/1259] update README.md. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9e89ace..c5d96665 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 不要fork! 请点亮Star +# 低调使用 ## 特别声明: From 413b39eedc6da9d9d75373b9bc7526a5d6ab757d Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Fri, 15 Jan 2021 10:41:31 +0800 Subject: [PATCH 0775/1259] =?UTF-8?q?[=E4=BA=AC=E4=B8=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=8D=95=E4=B8=AA=E8=B4=A6=E5=8F=B7=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=BC=82=E5=B8=B8=E6=97=B6=E5=8F=91=E9=80=81?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5=EF=BC=8C=E4=B8=94=E8=B7=B3?= =?UTF-8?q?=E8=BF=87=E5=BD=93=E5=89=8D=E8=B4=A6=E5=8F=B7=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E4=B8=8B=E4=B8=AA=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 78 ++++++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 36 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index 99ce136f..fab7ee09 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -78,44 +78,50 @@ const urlSchema = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%2 $.done(); }) async function jdFruit() { - await initForFarm(); - if ($.farmInfo.farmUserPro) { - // option['media-url'] = $.farmInfo.farmUserPro.goodsImage; - subTitle = `【京东账号${$.index}】${$.nickName}`; - message = `【水果名称】${$.farmInfo.farmUserPro.name}\n`; - console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.farmInfo.farmUserPro.shareCode}\n`); - console.log(`\n【已成功兑换水果】${$.farmInfo.farmUserPro.winTimes}次\n`); - message += `【已兑换水果】${$.farmInfo.farmUserPro.winTimes}次\n`; - await masterHelpShare();//助力好友 - if ($.farmInfo.treeState === 2 || $.farmInfo.treeState === 3) { - option['open-url'] = urlSchema; - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName || $.UserName}\n【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取\n请去京东APP或微信小程序查看\n点击弹窗即达`, option); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}水果已可领取`, `【京东账号${$.index}】${$.nickName || $.UserName}\n【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取\n请去京东APP或微信小程序查看`); + subTitle = `【京东账号${$.index}】${$.nickName}`; + try { + await initForFarm(); + if ($.farmInfo.farmUserPro) { + // option['media-url'] = $.farmInfo.farmUserPro.goodsImage; + message = `【水果名称】${$.farmInfo.farmUserPro.name}\n`; + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.farmInfo.farmUserPro.shareCode}\n`); + console.log(`\n【已成功兑换水果】${$.farmInfo.farmUserPro.winTimes}次\n`); + message += `【已兑换水果】${$.farmInfo.farmUserPro.winTimes}次\n`; + await masterHelpShare();//助力好友 + if ($.farmInfo.treeState === 2 || $.farmInfo.treeState === 3) { + option['open-url'] = urlSchema; + $.msg($.name, ``, `【京东账号${$.index}】${$.nickName || $.UserName}\n【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取\n请去京东APP或微信小程序查看\n点击弹窗即达`, option); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}水果已可领取`, `【京东账号${$.index}】${$.nickName || $.UserName}\n【提醒⏰】${$.farmInfo.farmUserPro.name}已可领取\n请去京东APP或微信小程序查看`); + } + return + } else if ($.farmInfo.treeState === 1) { + console.log(`\n${$.farmInfo.farmUserPro.name}种植中...\n`) + } else if ($.farmInfo.treeState === 0) { + //已下单购买, 但未开始种植新的水果 + option['open-url'] = urlSchema; + $.msg($.name, ``, `【京东账号${$.index}】 ${$.nickName || $.UserName}\n【提醒⏰】您忘了种植新的水果\n请去京东APP或微信小程序选购并种植新的水果\n点击弹窗即达`, option); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 您忘了种植新的水果`, `京东账号${$.index} ${$.nickName}\n【提醒⏰】您忘了种植新的水果\n请去京东APP或微信小程序选购并种植新的水果`); + } + return } - return - } else if ($.farmInfo.treeState === 1){ - console.log(`\n${$.farmInfo.farmUserPro.name}种植中...\n`) - } else if ($.farmInfo.treeState === 0) { - //已下单购买, 但未开始种植新的水果 - option['open-url'] = urlSchema; - $.msg($.name, ``, `【京东账号${$.index}】 ${$.nickName || $.UserName}\n【提醒⏰】您忘了种植新的水果\n请去京东APP或微信小程序选购并种植新的水果\n点击弹窗即达`, option); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 您忘了种植新的水果`, `京东账号${$.index} ${$.nickName}\n【提醒⏰】您忘了种植新的水果\n请去京东APP或微信小程序选购并种植新的水果`); - } - return + await doDailyTask(); + await doTenWater();//浇水十次 + await getFirstWaterAward();//领取首次浇水奖励 + await getTenWaterAward();//领取10浇水奖励 + await getWaterFriendGotAward();//领取为2好友浇水奖励 + await duck(); + await doTenWaterAgain();//再次浇水 + await predictionFruit();//预测水果成熟时间 + } else { + console.log(`初始化农场数据异常, 请登录京东 app查看农场0元水果功能是否正常,农场初始化数据: ${JSON.stringify($.farmInfo)}`); + message = `【京东账号${$.index}】 ${$.nickName || $.UserName}\n【数据异常】请手动登录京东app查看此账号${$.name}是否正常`; } - await doDailyTask(); - await doTenWater();//浇水十次 - await getFirstWaterAward();//领取首次浇水奖励 - await getTenWaterAward();//领取10浇水奖励 - await getWaterFriendGotAward();//领取为2好友浇水奖励 - await duck(); - await doTenWaterAgain();//再次浇水 - await predictionFruit();//预测水果成熟时间 - } else { - console.log(`初始化农场数据异常, 请登录京东 app查看农场0元水果功能是否正常,农场初始化数据: ${JSON.stringify($.farmInfo)}`); - message = `【京东账号${$.index}】 ${$.nickName || $.UserName}\n【数据异常】请手动登录京东app查看此账号${$.name}是否正常`; + } catch (e) { + console.log(`任务执行异常,请检查执行日志 ‼️‼️`); + message = `任务执行异常,请检查执行日志 ‼️‼️`; + $.logErr(e); } await showMsg(); } From 73a36b345c527bf0fc39fd3608cff6fafaef505f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 13:00:25 +0800 Subject: [PATCH 0776/1259] update --- README.md | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index c5d96665..13b1f1bf 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,6 @@ **TODO** - [x] 所有活动互助码在一个脚本打印 -- [ ] 京喜工厂添加预测N天后可兑换功能 ## 邀请码互助 - [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) @@ -96,33 +95,21 @@ 2. Android 3. MacOS - -### 方法二:云服务器、腾讯云函数等等 - - - 需自行有云服务器,云函数等 - - 腾讯云云函数 [快速部署教程](./backUp/tencentscf.md)(免费) - - 腾讯云云函数控制台使用 [教程说明](./backUp/iCloud.md) - - 腾讯云云函数 [GitHub Action部署教程](./backUp/tencentscf.md#github-action-部署) - -### 方法三:Docker(NAS或VPS用户) +### 方法二:Docker(NAS或VPS用户) - 可以精确控制任务运行时间,有二种办法:[docker办法一](https://github.com/lxk0301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js类似)](https://github.com/EvineDeng/jd-base) - [环境变量集合](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md) -#### 注:以上三种运行机制都是Node.js,故您需仔细阅读下面几点 +#### 注:以上2种运行机制都是Node.js,故您需仔细阅读下面几点 - - - 如果使用方法一与方法二,需自行提供京东cookie填写到 [jdCookie.js](https://github.com/lxk0301/jd_scripts/blob/master/jdCookie.js) 里面 - - - 获取京东cookie教程可参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) - 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) - - 方法三Docker安装Cookie请见各自的说明。 + - 方法二Docker安装Cookie请见各自的说明。 -### 方法四:iOS系统的代理软件(QuantumultX, Surge, Loon, 小火箭) +### 方法三:iOS系统的代理软件(QuantumultX, Surge, Loon, 小火箭) - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js) From b438f108d28538585a2848f23e8cbfec55b4f346 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 13:02:32 +0800 Subject: [PATCH 0777/1259] update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 13b1f1bf..9fdf9ab7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 低调使用 +# 低调使用,请勿使用github action滥用github资源会封我仓库以及账号 ## 特别声明: From 7c3bc9c1ba4d091a36e699f0868332df4be60c5e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 13:09:01 +0800 Subject: [PATCH 0778/1259] update README.md. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9fdf9ab7..b9c339ac 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js) ### 赞赏码(开发维护不易,请赏杯茶水费) -
+
### 特别感谢(排名不分先后): * [@NobyDa](https://github.com/NobyDa) From f6e257e4a6396adbfc425111427fb4119ba0b285 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 13:37:33 +0800 Subject: [PATCH 0779/1259] update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b9c339ac..ce1e0961 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 低调使用,请勿使用github action滥用github资源会封我仓库以及账号 +# 低调使用,请勿使用github action、滥用github资源会封我仓库以及账号 ## 特别声明: From 1bb159aff0a971e9340c6e9f55e75566171e4549 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 16:32:44 +0800 Subject: [PATCH 0780/1259] =?UTF-8?q?Revert=20"=E4=BC=98=E5=8C=96=E6=94=B6?= =?UTF-8?q?=E9=87=91=E5=B8=81=E9=80=BB=E8=BE=91=EF=BC=8C8s=E6=94=B6?= =?UTF-8?q?=E5=8F=96=E4=B8=80=E6=AC=A1=E9=87=91=E5=B8=81=EF=BC=8C=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E5=A4=9A=E8=B4=A6=E5=8F=B7=E6=97=B6=E6=94=B6=E8=8E=B7?= =?UTF-8?q?=E9=87=91=E5=B8=81=E6=9B=B4=E5=A4=9A=EF=BC=9B=20=E9=80=82?= =?UTF-8?q?=E5=BD=93=E5=A2=9E=E5=8A=A0=E8=A7=82=E7=9C=8B=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E6=97=B6=E9=95=BF=EF=BC=8C=E5=87=8F=E5=B0=91=E5=BC=80=E5=AE=9D?= =?UTF-8?q?=E7=AE=B1=E9=87=91=E5=B8=81=E4=B8=BA0=E7=9A=84=E6=A6=82?= =?UTF-8?q?=E7=8E=87"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 9d1f38e1 --- jd_crazy_joy_coin.js | 50 ++++++-------------------------------------- 1 file changed, 6 insertions(+), 44 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index c0696428..3b18c8f3 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -166,15 +166,6 @@ if ($.isNode()) { return; } let count = 0 - - if (cookiesArr.length) { - console.log(`\n挂机开始,自动8s收一次金币`); - setInterval(async () => { - const promiseArr = cookiesArr.map(ck => getCoinForInterval(ck)); - await Promise.all(promiseArr); - }, 8000); - } - while (true) { count++ console.log(`============开始第${count}次挂机=============`) @@ -191,7 +182,7 @@ if ($.isNode()) { $.log(`\n京东账号${$.index} ${$.nickName || $.UserName}\ncookie已过期,请重新登录获取\n`) continue } - await jdCrazyJoy() + await jdJxStory() } } $.log(`\n\n`) @@ -204,7 +195,7 @@ if ($.isNode()) { $.done(); }) -async function jdCrazyJoy() { +async function jdJxStory() { $.coin = 0 $.bean = 0 @@ -522,35 +513,6 @@ function getCoin() { }) } -// 需传入cookie,不能使用全局的cookie -function getCoinForInterval(taskCookie) { - return new Promise(async resolve => { - $.get(taskUrl('crazyJoy_joy_produce', '', taskCookie), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - // const userName = decodeURIComponent(taskCookie.match(/pt_pin=(.+?);/) && taskCookie.match(/pt_pin=(.+?);/)[1]) - // data = JSON.parse(data); - // if (data.data && data.data.tryMoneyJoyBeans) { - // console.log(`【京东账号 ${userName}】分红狗生效中,预计获得 ${data.data.tryMoneyJoyBeans} 京豆奖励`) - // } - // if (data.data) { - // $.log(`【京东账号 ${userName}】此次在线收益:获得 ${data.data['coins']} 金币`) - // } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { let body = { eventType, "eventRecordId": boxId} return new Promise(async resolve => { @@ -563,9 +525,9 @@ function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { if (safeGet(data)) { data = JSON.parse(data); if (data['success']) { - $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes}, ${data.data.advertViewTimes > 0 ? '等待32秒' : '跳出'}`) + $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes}, ${data.data.advertViewTimes > 0 ? '等待30秒' : '跳出'}`) if (data.data.advertViewTimes > 0) { - await $.wait(32000) + await $.wait(30000) await rewardBox(eventType, boxId); } } @@ -637,7 +599,7 @@ function getGrowState() { }) }) } -function taskUrl(functionId, body = '', taskCookie = cookie) { +function taskUrl(functionId, body = '') { let t = Date.now().toString().substr(0, 10) let e = body || "" e = $.md5("aDvScBv$gGQvrXfva8dG!ZC@DA70Y%lX" + e + t) @@ -645,7 +607,7 @@ function taskUrl(functionId, body = '', taskCookie = cookie) { return { url: `${JD_API_HOST}?uts=${e}&appid=crazy_joy&functionId=${functionId}&body=${escape(body)}&t=${t}`, headers: { - 'Cookie': taskCookie, + 'Cookie': cookie, 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', From ac4b96fe3a35e9f2c642f5856ca7d9e5d8bc4ccb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 16:45:04 +0800 Subject: [PATCH 0781/1259] =?UTF-8?q?Revert=20"Revert=20"=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=94=B6=E9=87=91=E5=B8=81=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?8s=E6=94=B6=E5=8F=96=E4=B8=80=E6=AC=A1=E9=87=91=E5=B8=81?= =?UTF-8?q?=EF=BC=8C=E8=BF=90=E8=A1=8C=E5=A4=9A=E8=B4=A6=E5=8F=B7=E6=97=B6?= =?UTF-8?q?=E6=94=B6=E8=8E=B7=E9=87=91=E5=B8=81=E6=9B=B4=E5=A4=9A=EF=BC=9B?= =?UTF-8?q?=20=E9=80=82=E5=BD=93=E5=A2=9E=E5=8A=A0=E8=A7=82=E7=9C=8B?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=97=B6=E9=95=BF=EF=BC=8C=E5=87=8F=E5=B0=91?= =?UTF-8?q?=E5=BC=80=E5=AE=9D=E7=AE=B1=E9=87=91=E5=B8=81=E4=B8=BA0?= =?UTF-8?q?=E7=9A=84=E6=A6=82=E7=8E=87""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 600212dd --- jd_crazy_joy_coin.js | 50 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 3b18c8f3..c0696428 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -166,6 +166,15 @@ if ($.isNode()) { return; } let count = 0 + + if (cookiesArr.length) { + console.log(`\n挂机开始,自动8s收一次金币`); + setInterval(async () => { + const promiseArr = cookiesArr.map(ck => getCoinForInterval(ck)); + await Promise.all(promiseArr); + }, 8000); + } + while (true) { count++ console.log(`============开始第${count}次挂机=============`) @@ -182,7 +191,7 @@ if ($.isNode()) { $.log(`\n京东账号${$.index} ${$.nickName || $.UserName}\ncookie已过期,请重新登录获取\n`) continue } - await jdJxStory() + await jdCrazyJoy() } } $.log(`\n\n`) @@ -195,7 +204,7 @@ if ($.isNode()) { $.done(); }) -async function jdJxStory() { +async function jdCrazyJoy() { $.coin = 0 $.bean = 0 @@ -513,6 +522,35 @@ function getCoin() { }) } +// 需传入cookie,不能使用全局的cookie +function getCoinForInterval(taskCookie) { + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_joy_produce', '', taskCookie), async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + // const userName = decodeURIComponent(taskCookie.match(/pt_pin=(.+?);/) && taskCookie.match(/pt_pin=(.+?);/)[1]) + // data = JSON.parse(data); + // if (data.data && data.data.tryMoneyJoyBeans) { + // console.log(`【京东账号 ${userName}】分红狗生效中,预计获得 ${data.data.tryMoneyJoyBeans} 京豆奖励`) + // } + // if (data.data) { + // $.log(`【京东账号 ${userName}】此次在线收益:获得 ${data.data['coins']} 金币`) + // } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { let body = { eventType, "eventRecordId": boxId} return new Promise(async resolve => { @@ -525,9 +563,9 @@ function openBox(eventType = 'LUCKY_BOX_DROP', boxId) { if (safeGet(data)) { data = JSON.parse(data); if (data['success']) { - $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes}, ${data.data.advertViewTimes > 0 ? '等待30秒' : '跳出'}`) + $.log(`点击幸运盒子成功,剩余观看视频次数:${data.data.advertViewTimes}, ${data.data.advertViewTimes > 0 ? '等待32秒' : '跳出'}`) if (data.data.advertViewTimes > 0) { - await $.wait(30000) + await $.wait(32000) await rewardBox(eventType, boxId); } } @@ -599,7 +637,7 @@ function getGrowState() { }) }) } -function taskUrl(functionId, body = '') { +function taskUrl(functionId, body = '', taskCookie = cookie) { let t = Date.now().toString().substr(0, 10) let e = body || "" e = $.md5("aDvScBv$gGQvrXfva8dG!ZC@DA70Y%lX" + e + t) @@ -607,7 +645,7 @@ function taskUrl(functionId, body = '') { return { url: `${JD_API_HOST}?uts=${e}&appid=crazy_joy&functionId=${functionId}&body=${escape(body)}&t=${t}`, headers: { - 'Cookie': cookie, + 'Cookie': taskCookie, 'Host': 'api.m.jd.com', 'Accept': '*/*', 'Connection': 'keep-alive', From 08d585e1dcdbdc8a604cac717f297e38aec156a5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 16:46:06 +0800 Subject: [PATCH 0782/1259] =?UTF-8?q?=E5=85=BC=E5=AE=B9iOS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index c0696428..c9f99dfe 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -169,10 +169,16 @@ if ($.isNode()) { if (cookiesArr.length) { console.log(`\n挂机开始,自动8s收一次金币`); - setInterval(async () => { + //兼容iOS + while (true) { + await $.wait(8000); const promiseArr = cookiesArr.map(ck => getCoinForInterval(ck)); await Promise.all(promiseArr); - }, 8000); + } + // setInterval(async () => { + // const promiseArr = cookiesArr.map(ck => getCoinForInterval(ck)); + // await Promise.all(promiseArr); + // }, 8000); } while (true) { From 34cde7310b08fde25cda6d4c719438fad9aa4944 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 15 Jan 2021 19:19:52 +0800 Subject: [PATCH 0783/1259] fix --- jd_crazy_joy_coin.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index c9f99dfe..359a8e3c 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -167,18 +167,13 @@ if ($.isNode()) { } let count = 0 - if (cookiesArr.length) { + if (cookiesArr.length && $.isNode()) { console.log(`\n挂机开始,自动8s收一次金币`); //兼容iOS - while (true) { - await $.wait(8000); + setInterval(async () => { const promiseArr = cookiesArr.map(ck => getCoinForInterval(ck)); await Promise.all(promiseArr); - } - // setInterval(async () => { - // const promiseArr = cookiesArr.map(ck => getCoinForInterval(ck)); - // await Promise.all(promiseArr); - // }, 8000); + }, 8000); } while (true) { From 5dfd15fc39ea147eebb342a79e98b5b65a09abe0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 16 Jan 2021 16:04:48 +0800 Subject: [PATCH 0784/1259] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=90=8C=E5=AE=A0?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E7=A7=8D=E8=B1=86=E8=84=9A=E6=9C=AC=E9=83=A8?= =?UTF-8?q?=E5=88=86=E8=B4=A6=E5=8F=B7=E7=81=AB=E7=88=86=E6=88=96=E8=80=85?= =?UTF-8?q?=E9=A3=8E=E6=8E=A7=E5=AF=BC=E8=87=B4=E8=84=9A=E6=9C=AC=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD=E6=96=AD=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_pet.js | 104 +++++++++++++++++++++++++----------------------- jd_plantBean.js | 58 ++++++++++++++------------- 2 files changed, 85 insertions(+), 77 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index 22880358..db83e2ea 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,6 +1,6 @@ /* 东东萌宠 更新地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js -更新时间:2021-01-10 +更新时间:2021-01-16 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -79,58 +79,62 @@ let randomCount = $.isNode() ? 20 : 5; $.done(); }) async function jdPet() { - //查询jd宠物信息 - const initPetTownRes = await request('initPetTown'); - message = `【京东账号${$.index}】${$.nickName}\n`; - if (initPetTownRes.code === '0' && initPetTownRes.resultCode === '0' && initPetTownRes.message === 'success') { - $.petInfo = initPetTownRes.result; - if ($.petInfo.userStatus === 0) { - $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n萌宠活动未开启\n请手动去京东APP开启活动\n入口:我的->游戏与互动->查看更多开启`, { "open-url": "openapp.jdmoble://" }); - return - } - if (!$.petInfo.goodsInfo) { - $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`, { "open-url": "openapp.jdmoble://" }); - if ($.isNode()) await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`); - return - } - goodsUrl = $.petInfo.goodsInfo && $.petInfo.goodsInfo.goodsUrl; - // option['media-url'] = goodsUrl; - // console.log(`初始化萌宠信息完成: ${JSON.stringify(petInfo)}`); - if ($.petInfo.petStatus === 5) { - await slaveHelp();//可以兑换而没有去兑换,也能继续助力好友 - option['open-url'] = "openApp.jdMobile://"; - $.msg($.name, `【提醒⏰】${$.petInfo.goodsInfo.goodsName}已可领取`, '请去京东APP或微信小程序查看', option); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}奖品已可领取`, `京东账号${$.index} ${$.nickName}\n${$.petInfo.goodsInfo.goodsName}已可领取`); + try { + //查询jd宠物信息 + const initPetTownRes = await request('initPetTown'); + message = `【京东账号${$.index}】${$.nickName}\n`; + if (initPetTownRes.code === '0' && initPetTownRes.resultCode === '0' && initPetTownRes.message === 'success') { + $.petInfo = initPetTownRes.result; + if ($.petInfo.userStatus === 0) { + $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n萌宠活动未开启\n请手动去京东APP开启活动\n入口:我的->游戏与互动->查看更多开启`, { "open-url": "openapp.jdmoble://" }); + return } - return - } else if ($.petInfo.petStatus === 6) { - await slaveHelp();//已领取红包,但未领养新的,也能继续助力好友 - option['open-url'] = "openApp.jdMobile://"; - $.msg($.name, `【提醒⏰】已领取红包,但未继续领养新的物品`, '请去京东APP或微信小程序继续领养', option); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}奖品已可领取`, `京东账号${$.index} ${$.nickName}\n已领取红包,但未继续领养新的物品`); + if (!$.petInfo.goodsInfo) { + $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`, { "open-url": "openapp.jdmoble://" }); + if ($.isNode()) await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `【提示】京东账号${$.index}${$.nickName}\n暂未选购新的商品`); + return } - return - } - console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.petInfo.shareCode}\n`); - await taskInit(); - if ($.taskInit.resultCode === '9999' || !$.taskInit.result) { - console.log('初始化任务异常, 请稍后再试'); - return - } - $.taskInfo = $.taskInit.result; + goodsUrl = $.petInfo.goodsInfo && $.petInfo.goodsInfo.goodsUrl; + // option['media-url'] = goodsUrl; + // console.log(`初始化萌宠信息完成: ${JSON.stringify(petInfo)}`); + if ($.petInfo.petStatus === 5) { + await slaveHelp();//可以兑换而没有去兑换,也能继续助力好友 + option['open-url'] = "openApp.jdMobile://"; + $.msg($.name, `【提醒⏰】${$.petInfo.goodsInfo.goodsName}已可领取`, '请去京东APP或微信小程序查看', option); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}奖品已可领取`, `京东账号${$.index} ${$.nickName}\n${$.petInfo.goodsInfo.goodsName}已可领取`); + } + return + } else if ($.petInfo.petStatus === 6) { + await slaveHelp();//已领取红包,但未领养新的,也能继续助力好友 + option['open-url'] = "openApp.jdMobile://"; + $.msg($.name, `【提醒⏰】已领取红包,但未继续领养新的物品`, '请去京东APP或微信小程序继续领养', option); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}奖品已可领取`, `京东账号${$.index} ${$.nickName}\n已领取红包,但未继续领养新的物品`); + } + return + } + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.petInfo.shareCode}\n`); + await taskInit(); + if ($.taskInit.resultCode === '9999' || !$.taskInit.result) { + console.log('初始化任务异常, 请稍后再试'); + return + } + $.taskInfo = $.taskInit.result; - await petSport();//遛弯 - await slaveHelp();//助力好友 - await masterHelpInit();//获取助力的信息 - await doTask();//做日常任务 - await feedPetsAgain();//再次投食 - await energyCollect();//收集好感度 - await showMsg(); - console.log('全部任务完成, 如果帮助到您可以点下🌟STAR鼓励我一下, 明天见~'); - } else if (initPetTownRes.code === '0'){ - console.log(`初始化萌宠失败: ${initPetTownRes.message}`); + await petSport();//遛弯 + await slaveHelp();//助力好友 + await masterHelpInit();//获取助力的信息 + await doTask();//做日常任务 + await feedPetsAgain();//再次投食 + await energyCollect();//收集好感度 + await showMsg(); + console.log('全部任务完成, 如果帮助到您可以点下🌟STAR鼓励我一下, 明天见~'); + } else if (initPetTownRes.code === '0'){ + console.log(`初始化萌宠失败: ${initPetTownRes.message}`); + } + } catch (e) { + $.logErr(e) } } // 收取所有好感度 diff --git a/jd_plantBean.js b/jd_plantBean.js index 8d132b7b..874a0b76 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -1,6 +1,6 @@ /* 种豆得豆 脚本更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js -更新时间:2020-12-31 +更新时间:2021-1-16 已支持IOS京东双账号,云端N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 注:会自动关注任务中的店铺跟商品,介意者勿使用。 @@ -81,32 +81,36 @@ let randomCount = $.isNode() ? 20 : 5; }) async function jdPlantBean() { - console.log(`获取任务及基本信息`) - await plantBeanIndex(); - // console.log(plantBeanIndexResult.data.taskList); - if ($.plantBeanIndexResult.code === '0') { - const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl - $.myPlantUuid = getParam(shareUrl, 'plantUuid') - console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.myPlantUuid}\n`); - roundList = $.plantBeanIndexResult.data.roundList; - currentRoundId = roundList[1].roundId;//本期的roundId - lastRoundId = roundList[0].roundId;//上期的roundId - awardState = roundList[0].awardState; - $.taskList = $.plantBeanIndexResult.data.taskList; - subTitle = `【京东昵称】${$.plantBeanIndexResult.data.plantUserInfo.plantNickName}`; - message += `【上期时间】${roundList[0].dateDesc.replace('上期 ', '')}\n`; - message += `【上期成长值】${roundList[0].growth}\n`; - await receiveNutrients();//定时领取营养液 - await doHelp();//助力 - await doTask();//做日常任务 - await doEgg(); - await stealFriendWater(); - await doCultureBean(); - await doGetReward(); - await showTaskProcess(); - await plantShareSupportList(); - } else { - console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`); + try { + console.log(`获取任务及基本信息`) + await plantBeanIndex(); + // console.log(plantBeanIndexResult.data.taskList); + if ($.plantBeanIndexResult.code === '0') { + const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl + $.myPlantUuid = getParam(shareUrl, 'plantUuid') + console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${$.myPlantUuid}\n`); + roundList = $.plantBeanIndexResult.data.roundList; + currentRoundId = roundList[1].roundId;//本期的roundId + lastRoundId = roundList[0].roundId;//上期的roundId + awardState = roundList[0].awardState; + $.taskList = $.plantBeanIndexResult.data.taskList; + subTitle = `【京东昵称】${$.plantBeanIndexResult.data.plantUserInfo.plantNickName}`; + message += `【上期时间】${roundList[0].dateDesc.replace('上期 ', '')}\n`; + message += `【上期成长值】${roundList[0].growth}\n`; + await receiveNutrients();//定时领取营养液 + await doHelp();//助力 + await doTask();//做日常任务 + await doEgg(); + await stealFriendWater(); + await doCultureBean(); + await doGetReward(); + await showTaskProcess(); + await plantShareSupportList(); + } else { + console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`); + } + } catch (e) { + $.logErr(e); } } async function doGetReward() { From 28aa5e7a811e0d982c5bae348579e26ff9be91c7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 16 Jan 2021 17:10:19 +0800 Subject: [PATCH 0785/1259] update --- .github/workflows/repo_sync.yml | 10 +- JD_extra_cookie.js | 6 +- Loon/lxk0301_LoonTask.conf | 92 +++++++------- QuantumultX/lxk0301_gallery.json | 74 ++++++------ README.md | 112 +++++++++--------- Surge/lxk0301_Task.sgmodule.sgmodule | 70 +++++------ activity/jd_818.js | 24 ++-- activity/jd_apple_live.js | 8 +- activity/jd_collectProduceScore.js | 2 +- activity/jd_digital_floor.js | 10 +- activity/jd_ds.js | 16 +-- activity/jd_health.js | 8 +- activity/jd_jdh.js | 8 +- activity/jd_jxstory.js | 8 +- activity/jd_live_redrain.js | 10 +- activity/jd_live_redrain2.js | 10 +- activity/jd_mohe.js | 8 +- activity/jd_ms_redrain.js | 14 +-- activity/jd_pubg.js | 8 +- activity/jd_split.js | 8 +- activity/jd_watch.js | 12 +- activity/jd_xtg.js | 16 +-- activity/jr_sign.js | 14 +-- backUp/iCloud.md | 2 +- backUp/jd_Goods.js | 2 +- backUp/jd_fruit_double.js | 6 +- backUp/jd_joy2.js | 4 +- backUp/jd_pet_double.js | 4 +- backUp/jd_plantBean_double.js | 6 +- backUp/mySelf.boxjs.json | 6 +- backUp/qqread.js | 16 +-- backUp/qqreadOpenBox.js | 2 +- backUp/tencentscf.md | 2 +- backUp/webhook.js | 6 +- backUp/xmSports.js | 16 +-- backUp/xmly_speed_ccokie.js | 6 +- docker/Dockerfile | 2 +- docker/Readme.md | 2 +- docker/default_task.sh | 2 +- docker/docker_entrypoint.sh | 2 +- .../docker多账户使用独立容器使用说明.md | 4 +- getJDCookie.js | 4 +- githubAction.md | 16 +-- index.js | 2 +- jdCookie.js | 11 +- jdDreamFactoryShareCodes.js | 1 - jdFactoryShareCodes.js | 1 - jdFruitShareCodes.js | 1 - jdJxncShareCodes.js | 1 - jdPetShareCodes.js | 1 - jdPlantBeanShareCodes.js | 1 - jdSuperMarketShareCodes.js | 1 - jd_bean_change.js | 12 +- jd_bean_home.js | 10 +- jd_bean_sign.js | 3 + jd_blueCoin.js | 8 +- jd_bookshop.js | 8 +- jd_car.js | 10 +- jd_car_exchange.js | 10 +- jd_cash.js | 8 +- jd_club_lottery.js | 10 +- jd_crazy_joy.js | 8 +- jd_crazy_joy_coin.js | 8 +- jd_daily_egg.js | 4 +- jd_dreamFactory.js | 8 +- jd_family.js | 20 ++++ jd_fruit.js | 10 +- jd_get_share_code.js | 10 +- jd_jdfactory.js | 12 +- jd_jdzz.js | 8 +- jd_joy.js | 6 +- jd_joy_feedPets.js | 6 +- jd_joy_help.js | 8 +- jd_joy_reward.js | 8 +- jd_joy_run.js | 18 +-- jd_joy_steal.js | 6 +- jd_jxnc.js | 10 +- jd_kd.js | 10 +- jd_live.js | 8 +- jd_moneyTree.js | 8 +- jd_necklace.js | 12 +- jd_nh.js | 8 +- jd_pet.js | 10 +- jd_petTreasureBox.js | 6 +- jd_pigPet.js | 4 +- jd_plantBean.js | 10 +- jd_redPacket.js | 10 +- jd_shop.js | 6 +- jd_small_home.js | 16 +-- jd_speed.js | 8 +- jd_syj.js | 14 +-- jd_unbind.js | 8 +- jd_unsubscribe.js | 6 +- jx_sign.js | 8 +- lxk0301.boxjs.json | 108 ++++++++--------- package-lock.json | 2 +- package.json | 6 +- sendNotify.js | 21 ++-- 98 files changed, 609 insertions(+), 587 deletions(-) diff --git a/.github/workflows/repo_sync.yml b/.github/workflows/repo_sync.yml index 2a40c3af..31a37eb9 100644 --- a/.github/workflows/repo_sync.yml +++ b/.github/workflows/repo_sync.yml @@ -1,5 +1,5 @@ # File: .github/workflows/repo-sync.yml -name: sync-lxk0301-scripts +name: sync-LXK9301-scripts on: schedule: - cron: '1 0,15 * * *' @@ -9,7 +9,7 @@ on: push: branches: [ master ] repository_dispatch: - types: sync-lxk0301-scripts + types: sync-LXK9301-scripts jobs: repo-sync: env: @@ -22,11 +22,11 @@ jobs: with: persist-credentials: false - - name: sync lxk0301-scripts + - name: sync LXK9301-scripts uses: repo-sync/github-sync@v2 if: env.PAT with: - source_repo: "https://github.com/lxk0301/jd_scripts.git" + source_repo: "https://github.com/LXK9301/jd_scripts.git" source_branch: "master" destination_branch: "master" github_token: ${{ secrets.PAT }} @@ -35,7 +35,7 @@ jobs: uses: Yikun/hub-mirror-action@master if: env.dst_key with: - src: github/lxk0301 + src: github/LXK9301 dst: gitee/lxk0301 static_list: "jd_scripts" dst_key: ${{ secrets.GITEE_PRIVATE_KEY }} diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index 504eda2d..e0a69f1b 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -21,13 +21,13 @@ hostname = wq.jd.com 【Surge脚本配置】: =================== [Script] -获取京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 +获取京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 =================== 【Loon脚本配置】: =================== [Script] -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion tag=获取京东Cookie, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion tag=获取京东Cookie, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js =================== @@ -35,7 +35,7 @@ http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion tag=获 =================== [rewrite_local] -https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js +https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js */ diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 712c0570..50fceb4b 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -1,125 +1,125 @@ -# Loon软件Task配置 By lxk0301 -# GitHub主页(https://github.com/lxk0301/jd_scripts) +# Loon软件Task配置 By LXK9301 +# GitHub主页(https://github.com/LXK9301/jd_scripts) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) -# Loon的Task脚本订阅链接: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/Loon/lxk0301_LoonTask.conf -# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/lxk0301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) +# Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/LXK9301_LoonTask.conf +# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/LXK9301_LoonTask.conf) hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com # 东东农场 -cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js,tag=东东农场 +cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 # 东东萌宠 -cron "10 7-19/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js,tag=东东萌宠 +cron "10 7-19/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 # 京东种豆得豆 -cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 +cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 # 宠汪汪(主要是日常任务,不过里面也有喂食和领取三餐狗粮) -cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,tag=宠汪汪 +cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=宠汪汪 # 宠汪汪喂食 -cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js,tag=宠汪汪喂食 +cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=宠汪汪喂食 # 宠汪汪偷好友积分与狗粮 -cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 +cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 # 宠汪汪积分兑换奖品 -cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 +cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 # 京东天天加速 -cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js,tag=京东天天加速 +cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 # 京东摇钱树 -cron "3 */5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 +cron "3 */5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 # 京小超 -cron "11 1-23/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js,tag=京小超 +cron "11 1-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,tag=京小超 # 京小超兑换奖品 -cron "0,30 0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 +cron "0,30 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 # 取关京东店铺商品 -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 +cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 # 进店领豆 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js,tag=进店领豆 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 #摇京豆 -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 #京东全民开红包 -cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 +cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 #京豆变动通知 -cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 +cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 #点点券 -cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, tag=点点券 +cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券 #十元街 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街 #东东小窝 -cron "16 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝 +cron "16 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 #京喜工厂 -cron "26 * * * *" script-path= https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂 +cron "26 * * * *" script-path= https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂 #东东工厂 -cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 #宠汪汪邀请助力与赛跑助力 -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 +cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 #小米运动 -cron "25 17 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 +cron "25 17 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 #宠汪汪助力更新Token -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token #宠汪汪助力获取Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token # 宠汪汪强制为别人助力 -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 #聚宝盆投狗粮辅助(github@Zero-S1搬的) -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 # 小米运动获取Token -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token # 京东代属 -# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 +# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, tag=京东代属 # 京东快递 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到 # 京东汽车 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车 # 领京豆额外奖励 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 # 京东健康 -#cron "3 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 +#cron "3 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js,tag=京东健康 # 京东赚赚 -cron "10 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 +cron "10 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 # 京东秒杀红包雨 -# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 +# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 #注销京东店铺会员卡 -cron "23 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡 +cron "23 12 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡 # 京东直播 -cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播 +cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播 # 京东看一看 -# cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看 +# cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js, tag=京东看一看 #直播红包雨 -# cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 +# cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 # 金融打卡领年终奖 -# cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 +# cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 # 健康抽奖机 -#cron "10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 +#cron "10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js,tag=健康抽奖机 # 疯狂的joy日常任务 -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 7d7463da..0f174d4a 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -1,41 +1,41 @@ { - "name": "lxk0301 task gallery", - "description": "https://github.com/lxk0301/jd_scripts", + "name": "LXK9301 task gallery", + "description": "https://github.com/LXK9301/jd_scripts", "task": [ - "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", - "20 7-19/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", - "10 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", - "15 1,7,9,12,18,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "12 */1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "0 0,6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 0,8,12,16 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "8 */3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", - "15 */5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", - "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", - "11 1-23/5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "0,30 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", - "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "20 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", - "13 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", - "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", - "0 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", - "10 6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", - "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", - "10-20/5 12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "14 11 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", - "44 12 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", - "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "15 17 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png" + "5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", + "20 7-19/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", + "10 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", + "15 1,7,9,12,18,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "12 */1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "0 0,6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 0,8,12,16 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "8 */3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", + "15 */5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", + "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", + "11 1-23/5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "0,30 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", + "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", + "15 10 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", + "1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "20 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", + "13 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", + "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", + "0 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", + "10 6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", + "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", + "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", + "10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", + "14 11 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", + "44 12 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", + "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", + "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", + "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png" ] } diff --git a/README.md b/README.md index ce1e0961..7f43edfc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 低调使用,请勿使用github action、滥用github资源会封我仓库以及账号 +# 请勿使用github action、滥用github资源会封我仓库以及账号 ## 特别声明: @@ -6,74 +6,74 @@ * 本项目内所有资源文件,禁止任何公众号、自媒体进行任何形式的转载、发布。 -* lxk0301对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害. +* LXK9301对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害. -* 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, lxk0301 对于由此引起的任何隐私泄漏或其他后果概不负责. +* 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, LXK9301 对于由此引起的任何隐私泄漏或其他后果概不负责. * 请勿将Script项目的任何内容用于商业或非法目的,否则后果自负. * 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本. -* 任何以任何方式查看此项目的人或直接或间接使用该Script项目的任何脚本的使用者都应仔细阅读此声明。lxk0301 保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或Script项目的规则,则视为您已接受此免责声明. +* 任何以任何方式查看此项目的人或直接或间接使用该Script项目的任何脚本的使用者都应仔细阅读此声明。LXK9301 保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或Script项目的规则,则视为您已接受此免责声明. **您必须在下载后的24小时内从计算机或手机中完全删除以上内容.**
> ***您使用或者复制了本仓库且本人制作的任何脚本,则视为`已接受`此声明,请仔细阅读*** ## Script脚本列表 #### 说明 -1. 其中 [jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js) 可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) +1. 其中 [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) 可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) 2. 以字母排序。 | 活动时长 | 名称 | 脚本 | | -------- | --------------------------------- | -------------------------------------------------------------------------------------------------------- | -| 长期 | 京豆变动通知 | [jd_bean_change.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js) | +| 长期 | 京豆变动通知 | [jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js) | | 长期 | 领京豆额外奖励&抢京豆 | [jd_bean_home.js](https://raw.githubusercontent.com/lxk0302/jd_scripts/master/jd_bean_home.js) | -| 长期 | 京东多合一签到 | [jd_bean_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_sign.js) | -| 长期 | 东东超市兑换奖品 | [jd_blueCoin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js) | -| 长期 | 口袋书店 | [jd_bookshop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js) | -| 长期 | 京东汽车赛点兑换京豆 | [jd_car_exchange.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js) | -| 长期 | 签到领现金 | [jd_cash.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js) | -| 长期 | 京东汽车签到 | [jd_car.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js) | -| 长期 | 摇京豆 | [jd_club_lottery.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js) | -| 长期 | 疯狂的JOY挂机 | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js) | -| 长期 | 疯狂的JOY日常任务 | [jd_crazy_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js) | -| 长期 | 京东金融-天天提鹅 | [jd_daily_egg.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_daily_egg.js) | -| 长期 | 京喜工厂 | [jd_dreamFactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js) | -| 长期 | 东东农场 | [jd_fruit.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js) | -| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js) | -| 长期 | 获取所有互助码 | [jd_get_share_code.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js) | -| 长期 | 东东工厂 | [jd_jdfactory.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js) | -| 长期 | 京东赚赚 | [jd_jdzz.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js) | -| 长期 | 宠汪汪单独喂食 | [jd_joy_feedPets.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js) | -| 长期 | 宠汪汪强制为好友助力(iOS端专用) | [jd_joy_help.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js) | -| 长期 | 宠汪汪聚宝盆辅助脚本(iOS端专用) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js) | -| 长期 | 宠汪汪兑换奖品 | [jd_joy_reward.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js) | -| 长期 | 宠汪汪赛跑助力 | [jd_joy_run.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js) | -| 长期 | 宠汪汪偷好友狗粮与积分 | [jd_joy_steal.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js) | -| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js) | -| 长期 | 京喜农场 | [jd_jxnc.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js) | -| 长期 | 京东快递签到 | [jd_kd.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js) | -| 长期 | 京东直播 | [jd_live.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js) | -| 长期 | 京东抽奖机 | [jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js) | -| 长期 | 摇钱树 | [jd_moneyTree.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js) | -| 长期 | 点点券 | [jd_necklace.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js) | -| 长期 | 东东萌宠 | [jd_pet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js) | -| 长期 | 金融养猪 | [jd_pigPet.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pigPet.js) | -| 长期 | 种豆得豆 | [jd_plantBean.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js) | -| 长期 | 京东排行榜签到得京豆 | [jd_rankingList.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_rankingList.js) | -| 长期 | 全民开红包 | [jd_redPacket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js) | -| 长期 | 进店领豆 | [jd_shop.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js) | -| 长期 | 东东小窝 | [jd_small_home.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js) | -| 长期 | 天天加速 | [jd_speed.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js) | -| 长期 | 东东超市 | [jd_superMarket.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js) | -| 长期 | 十元街 | [jd_syj.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js) | -| 长期 | 注销京东会员卡 | [jd_unbind.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js) | -| 长期 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js) | -| 长期 | 京喜签到 | [jx_sign.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js) | +| 长期 | 京东多合一签到 | [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) | +| 长期 | 东东超市兑换奖品 | [jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js) | +| 长期 | 口袋书店 | [jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js) | +| 长期 | 京东汽车赛点兑换京豆 | [jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js) | +| 长期 | 签到领现金 | [jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js) | +| 长期 | 京东汽车签到 | [jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js) | +| 长期 | 摇京豆 | [jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js) | +| 长期 | 疯狂的JOY挂机 | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js) | +| 长期 | 疯狂的JOY日常任务 | [jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js) | +| 长期 | 京东金融-天天提鹅 | [jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js) | +| 长期 | 京喜工厂 | [jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js) | +| 长期 | 东东农场 | [jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js) | +| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js) | +| 长期 | 获取所有互助码 | [jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) | +| 长期 | 东东工厂 | [jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js) | +| 长期 | 京东赚赚 | [jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js) | +| 长期 | 宠汪汪单独喂食 | [jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js) | +| 长期 | 宠汪汪强制为好友助力(iOS端专用) | [jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js) | +| 长期 | 宠汪汪聚宝盆辅助脚本(iOS端专用) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js) | +| 长期 | 宠汪汪兑换奖品 | [jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js) | +| 长期 | 宠汪汪赛跑助力 | [jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js) | +| 长期 | 宠汪汪偷好友狗粮与积分 | [jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js) | +| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js) | +| 长期 | 京喜农场 | [jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js) | +| 长期 | 京东快递签到 | [jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js) | +| 长期 | 京东直播 | [jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js) | +| 长期 | 京东抽奖机 | [jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js) | +| 长期 | 摇钱树 | [jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js) | +| 长期 | 点点券 | [jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js) | +| 长期 | 东东萌宠 | [jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js) | +| 长期 | 金融养猪 | [jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js) | +| 长期 | 种豆得豆 | [jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js) | +| 长期 | 京东排行榜签到得京豆 | [jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js) | +| 长期 | 全民开红包 | [jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js) | +| 长期 | 进店领豆 | [jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js) | +| 长期 | 东东小窝 | [jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js) | +| 长期 | 天天加速 | [jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js) | +| 长期 | 东东超市 | [jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js) | +| 长期 | 十元街 | [jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js) | +| 长期 | 注销京东会员卡 | [jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js) | +| 长期 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js) | +| 长期 | 京喜签到 | [jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js) | 搬运脚本 -1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_lotteryMachine.js)) -2. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_rankingList.js)) +1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)) +2. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)) **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** @@ -81,8 +81,8 @@ - [x] 所有活动互助码在一个脚本打印 ## 邀请码互助 - - [邀请码互助入口](https://github.com/lxk0301/jd_scripts/discussions) - - [获取各类活动互助码脚本 jd_get_share_code.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js) + - [邀请码互助入口](https://github.com/LXK9301/jd_scripts/discussions) + - [获取各类活动互助码脚本 jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) - [邀请码使用规范](githubAction.md#互助码类环境变量)(仅限云端) ## 食用方法 @@ -98,12 +98,12 @@ ### 方法二:Docker(NAS或VPS用户) - - 可以精确控制任务运行时间,有二种办法:[docker办法一](https://github.com/lxk0301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js类似)](https://github.com/EvineDeng/jd-base) - - [环境变量集合](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md) + - 可以精确控制任务运行时间,有二种办法:[docker办法一](https://github.com/LXK9301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js类似)](https://github.com/EvineDeng/jd-base) + - [环境变量集合](https://github.com/LXK9301/jd_scripts/blob/master/githubAction.md) #### 注:以上2种运行机制都是Node.js,故您需仔细阅读下面几点 - - 获取京东cookie教程可参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) + - 获取京东cookie教程可参考 [浏览器获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie2.md) - 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) @@ -111,7 +111,7 @@ ### 方法三:iOS系统的代理软件(QuantumultX, Surge, Loon, 小火箭) - - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/JD_extra_cookie.js) + - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js) ### 赞赏码(开发维护不易,请赏杯茶水费)
diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 758c38b8..ea59957b 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -1,75 +1,75 @@ -#!name=lxk0301 iOS Tasks Module +#!name=LXK9301 iOS Tasks Module #!desc=iOS Tasks 模块配置 #!system=ios -# Task模块配置 By lxk0301 -# GitHub主页(https://github.com/lxk0301/jd_scripts) +# Task模块配置 By LXK9301 +# GitHub主页(https://github.com/LXK9301/jd_scripts) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) -# Surge的Task脚本模块地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule +# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/LXK9301_Task.sgmodule.sgmodule [Script] #东东农场 -cron "40 8-18/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js,timeout=530, wake-system=1, tag=东东农场 +cron "40 8-18/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,timeout=530, wake-system=1, tag=东东农场 #东东萌宠 -cron "20 8-18/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js,timeout=530, wake-system=1, tag=东东萌宠 +cron "20 8-18/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,timeout=530, wake-system=1, tag=东东萌宠 #京东种豆得豆 -cron "50 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,timeout=630, wake-system=1, tag=京东种豆得豆 +cron "50 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,timeout=630, wake-system=1, tag=京东种豆得豆 #宠汪汪 -cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,timeout=330, wake-system=1, tag=宠汪汪 +cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,timeout=330, wake-system=1, tag=宠汪汪 #宠汪汪喂食(仅喂食) -cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js,timeout=30, wake-system=1, tag=宠汪汪喂食 +cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,timeout=30, wake-system=1, tag=宠汪汪喂食 #宠汪汪偷好友积分与狗粮 -cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js,timeout=1420, wake-system=1, tag=宠汪汪偷好友积分与狗粮 +cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,timeout=1420, wake-system=1, tag=宠汪汪偷好友积分与狗粮 #宠汪汪积分兑换奖品 -cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,timeout=130, wake-system=1, tag=宠汪汪积分兑换奖品 +cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,timeout=130, wake-system=1, tag=宠汪汪积分兑换奖品 #京东天天加速 -cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js,timeout=130, wake-system=1, tag=京东天天加速 +cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,timeout=130, wake-system=1, tag=京东天天加速 #京东摇钱树 -cron "15 */5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js,timeout=130, wake-system=1, tag=京东摇钱树 +cron "15 */5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,timeout=130, wake-system=1, tag=京东摇钱树 #摇京豆 -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js, timeout=1150, wake-system=1, tag=摇京豆 +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, timeout=1150, wake-system=1, tag=摇京豆 #京小超 -cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js,timeout=530, wake-system=1, tag=京小超 +cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,timeout=530, wake-system=1, tag=京小超 京小超兑换奖品 -cron "0,30 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,timeout=130, wake-system=1, tag=京小超兑换奖品 +cron "0,30 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,timeout=130, wake-system=1, tag=京小超兑换奖品 #取关京东店铺商品 -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js,timeout=250, wake-system=1, tag=取关京东店铺商品 +cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,timeout=250, wake-system=1, tag=取关京东店铺商品 #进店领豆 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js,timeout=130, wake-system=1, tag=进店领豆 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,timeout=130, wake-system=1, tag=进店领豆 #宠汪汪邀请助力与赛跑助力 -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, timeout=230, wake-system=1, tag=宠汪汪邀请助力与赛跑助力 +cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, timeout=230, wake-system=1, tag=宠汪汪邀请助力与赛跑助力 #京东全民开红包 -cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js, wake-system=1, tag=京东全民开红包 +cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, wake-system=1, tag=京东全民开红包 #京豆变动通知 -cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, timeout=650, wake-system=1, tag=京豆变动通知 +cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, timeout=650, wake-system=1, tag=京豆变动通知 #点点券 -cron "30 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, timeout=650, wake-system=1, tag=点点券 +cron "30 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, timeout=650, wake-system=1, tag=点点券 #京喜工厂 -cron "24 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, timeout=650, wake-system=1, tag=京喜工厂 +cron "24 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, timeout=650, wake-system=1, tag=京喜工厂 #东东工厂 -cron "40 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, timeout=650, wake-system=1, tag=东东工厂 +cron "40 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, timeout=650, wake-system=1, tag=东东工厂 #东东小窝 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, timeout=650, wake-system=1, tag=东东小窝 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, timeout=650, wake-system=1, tag=东东小窝 #十元街 -cron "40 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, timeout=650, wake-system=1, tag=十元街 +cron "40 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, timeout=650, wake-system=1, tag=十元街 #领京豆额外奖励 -cron "30 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, timeout=750, wake-system=1, tag=领京豆额外奖励 +cron "30 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, timeout=750, wake-system=1, tag=领京豆额外奖励 #京东汽车 -cron "0 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 +cron "0 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 #京东汽车积分兑换京豆 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, timeout=2750, wake-system=1, tag=京东汽车积分兑换京豆 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, timeout=2750, wake-system=1, tag=京东汽车积分兑换京豆 #京东快递签到 -cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 +cron "20 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) -cron "20 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 +cron "20 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 #京东赚赚 -cron "20 11 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 +cron "20 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 #注销京东店铺会员卡 -cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, timeout=750, wake-system=1, tag=注销京东店铺会员卡 +cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, timeout=750, wake-system=1, tag=注销京东店铺会员卡 #疯狂的joy日常任务 -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 #签到领现金 -签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js +签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js diff --git a/activity/jd_818.js b/activity/jd_818.js index db221c9f..777b4072 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -1,7 +1,7 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-03 09:25:47 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-11-23 12:27:07 */ /* @@ -22,12 +22,12 @@ // quantumultx [task_local] #京东手机狂欢城 -1 0-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js, tag=京东手机狂欢城, enabled=true +1 0-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js, tag=京东手机狂欢城, enabled=true // Loon [Script] -cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js,tag=京东手机狂欢城 +cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js,tag=京东手机狂欢城 // Surge -京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_818.js +京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js */ const $ = new Env('京东手机狂欢城'); @@ -834,8 +834,8 @@ function getListRank() { } function updateShareCodes(url = 'https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json') { return new Promise(resolve => { - //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json + //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json + //https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json $.get({url}, async (err, resp, data) => { try { if (err) { @@ -851,10 +851,10 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/LXK9301/updat }) }) } -function updateShareCodesCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_shareCodes.json') { +function updateShareCodesCDN(url = 'https://raw.fastgit.org/LXK9301/updateTeam/master/jd_shareCodes.json') { return new Promise(resolve => { - //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_shareCodes.json + //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json + //https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json $.get({url}, async (err, resp, data) => { try { if (err) { @@ -914,8 +914,8 @@ function TotalBean() { 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}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + $.msg($.name, '活动已结束', `该活动累计获得京豆:${$.jbeanCount}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/LXK9301/jd_scripts`) } 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"}); } diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js index a38a9470..681e5068 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #苹果抽奖机 -10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, enabled=true +10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js,tag=苹果抽奖机 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js,tag=苹果抽奖机 ===============Surge================= -苹果抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js +苹果抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js ============小火箭========= -苹果抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_apple_live.js, cronexpr="10 0 * * *", timeout=200, enable=true +苹果抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js, cronexpr="10 0 * * *", timeout=200, enable=true */ const $ = new Env('苹果抽奖机'); diff --git a/activity/jd_collectProduceScore.js b/activity/jd_collectProduceScore.js index dfda239d..ed1032ca 100644 --- a/activity/jd_collectProduceScore.js +++ b/activity/jd_collectProduceScore.js @@ -3,7 +3,7 @@ 仅仅是收集一下京东双十一全名营业每秒产生的金币 每小时的第20分运行一次 -20 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_collectProduceScore.js +20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_collectProduceScore.js */ const $ = new Env('京东全民营业领金币'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index 4a61b371..37db5343 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -4,23 +4,23 @@ 共计25京豆,一天运行一次即可 活动时间:2020-12-4 到 2020-12-11 活动入口:https://prodev.m.jd.com/mall/active/nKxVyPnuLwAsQSTfidZ9z4RKVZy/index.html#/ -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #数码加购京豆 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆 ===============Surge================= -数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js +数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js ============小火箭========= -数码加购京豆 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_digital_floor.js, cronexpr="10 7 * * *", timeout=200, enable=true +数码加购京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js, cronexpr="10 7 * * *", timeout=200, enable=true */ const $ = new Env('数码加购京豆'); diff --git a/activity/jd_ds.js b/activity/jd_ds.js index 0e153a57..2245c64e 100644 --- a/activity/jd_ds.js +++ b/activity/jd_ds.js @@ -1,5 +1,5 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-27 09:19:21 * @Last Modified by: shylocks https://github.com/shylocks * @Last Modified time: 2020-12-7 17:39:02 @@ -8,24 +8,24 @@ 京东代属脚本,类似十元街,⚠️⚠️⚠️⚠️限校园用户可使用,其他用户签到失败无京豆 一周签到下来可获得30京豆,一天任意时刻运行一次即可 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js 参考github@jidesheng6修改而来 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东代属 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, tag=京东代属 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, tag=京东代属 ===============Surge================= -京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js +京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js ============小火箭========= -京东代属 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ds.js, cronexpr="10 7 * * *", timeout=200, enable=true +京东代属 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, cronexpr="10 7 * * *", timeout=200, enable=true */ const $ = new Env('京东代属'); @@ -91,8 +91,8 @@ function showMsg() { // $.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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + $.msg($.name, '活动已结束', `咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/LXK9301/jd_scripts`) } else { $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); } diff --git a/activity/jd_health.js b/activity/jd_health.js index d4c66c11..827e941e 100644 --- a/activity/jd_health.js +++ b/activity/jd_health.js @@ -7,17 +7,17 @@ ============Quantumultx=============== [task_local] #健康抽奖机 -10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, tag=健康抽奖机, enabled=true +10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js, tag=健康抽奖机, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js,tag=健康抽奖机 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js,tag=健康抽奖机 ===============Surge================= -健康抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js +健康抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js ============小火箭========= -健康抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_health.js, cronexpr="10 0 * * *", timeout=200, enable=true +健康抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js, cronexpr="10 0 * * *", timeout=200, enable=true */ const $ = new Env('健康抽奖机'); diff --git a/activity/jd_jdh.js b/activity/jd_jdh.js index 5e840a8b..0d8c11ae 100644 --- a/activity/jd_jdh.js +++ b/activity/jd_jdh.js @@ -6,17 +6,17 @@ ============Quantumultx=============== [task_local] #京东健康 -10 8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png, enabled=true +10 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js,tag=京东健康 +cron "10 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js,tag=京东健康 ===============Surge================= -京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js +京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js ============小火箭========= -京东健康 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdh.js, cronexpr="10 8 * * *", timeout=200, enable=true +京东健康 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js, cronexpr="10 8 * * *", timeout=200, enable=true */ const $ = new Env('京东健康'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js index 9f0333e1..bec14c83 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京喜故事 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, tag=京喜故事, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js, tag=京喜故事, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js,tag=京喜故事 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js,tag=京喜故事 ===============Surge================= -京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js +京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js ============小火箭========= -京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=200, enable=true +京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=200, enable=true */ diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js index 93fceeb4..18db6765 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -2,23 +2,23 @@ 直播红包雨 每天0,9,11,13,15,17,19,20,21,23可领,每日上限未知 活动时间:2020-12-14 到 2020-12-31 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +0 0,9,11,13,15,17,19,20,21,23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 +cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 ===============Surge================= -直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js +直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js ============小火箭========= -直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, enable=true +直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, enable=true */ const $ = new Env('直播红包雨'); let ids = { diff --git a/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js index 1de27bf3..2985bc6f 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -2,23 +2,23 @@ 超级直播间红包雨 每天20-23半点可领,每日上限未知 活动时间:活动时间未知 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #超级直播间红包雨 -30 20-23/1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +30 20-23/1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨 +cron "30 20-23/1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨 ===============Surge================= -超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js +超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js ============小火箭========= -超级直播间红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live_redrain2.js, cronexpr="30 20-23/1 * * *", timeout=200, enable=true +超级直播间红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js, cronexpr="30 20-23/1 * * *", timeout=200, enable=true */ const $ = new Env('超级直播间红包雨'); diff --git a/activity/jd_mohe.js b/activity/jd_mohe.js index 224b08cf..8ad49d43 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -8,12 +8,12 @@ // quantumultx [task_local] #热8超级盲盒 -1 0,1-23/3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js, tag=热8超级盲盒, enabled=true +1 0,1-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js, tag=热8超级盲盒, enabled=true // Loon [Script] -cron "1 0,1-23/3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js,tag=热8超级盲盒 +cron "1 0,1-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js,tag=热8超级盲盒 // Surge -热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_mohe.js +热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js */ const $ = new Env('热8超级盲盒'); //Node.js用户请在jdCookie.js处填写京东ck; @@ -40,7 +40,7 @@ let shareId = ''; await taskList(); await getAward();//抽奖 if ($.time('yyyy-MM-dd') === '2020-08-19') { - $.msg($.name, '活动已结束', `请禁用或删除脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts\n`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); + $.msg($.name, '活动已结束', `请禁用或删除脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts\n`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); } else { $.msg($.name, '', `【京东账号一】${UserName}\n任务已做完.\n 抽奖详情查看 https://blindbox.jd.com\n`, {"open-url": "https://blindbox.jd.com"}); } diff --git a/activity/jd_ms_redrain.js b/activity/jd_ms_redrain.js index d2e27c61..0fd8dbcb 100644 --- a/activity/jd_ms_redrain.js +++ b/activity/jd_ms_redrain.js @@ -2,23 +2,23 @@ 秒杀红包雨,可以获取3次,一天运行一次即可 活动时间:2020-12-1 到 2020-12-31 活动入口:首页👉秒杀👉往下拉(手指向上滑动)👉可以看到狂撒2亿京东 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #秒杀红包雨 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 ===============Surge================= -秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js +秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js ============小火箭========= -秒杀红包雨 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=200, enable=true +秒杀红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=200, enable=true */ const $ = new Env('秒杀红包雨'); @@ -86,8 +86,8 @@ 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + $.msg($.name, '活动已结束', `咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/LXK9301/jd_scripts`) } else { $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); } diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index f10a9cdd..8523722e 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -8,17 +8,17 @@ PUBG ,运行时间会比较久,Surge请加大timeout时间 ============Quantumultx=============== [task_local] #PUBG -10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, tag=PUBG, enabled=true +10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js, tag=PUBG, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js,tag=PUBG +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js,tag=PUBG ===============Surge================= -PUBG = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js +PUBG = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js ============小火箭========= -PUBG = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pubg.js, cronexpr="10 0 * * *", timeout=200, enable=true +PUBG = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js, cronexpr="10 0 * * *", timeout=200, enable=true */ const $ = new Env('PUBG'); !function(n) { diff --git a/activity/jd_split.js b/activity/jd_split.js index fa112ee6..9537b0a1 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #金榜年终奖 -10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, tag=年终奖, enabled=true +10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js, tag=年终奖, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js,tag=年终奖 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js,tag=年终奖 ===============Surge================= -金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js +金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js ============小火箭========= -金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_split.js, cronexpr="10 0 * * *", timeout=200, enable=true +金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js, cronexpr="10 0 * * *", timeout=200, enable=true */ const $ = new Env('金榜年终奖'); diff --git a/activity/jd_watch.js b/activity/jd_watch.js index 018bd047..3f314cd0 100644 --- a/activity/jd_watch.js +++ b/activity/jd_watch.js @@ -11,17 +11,17 @@ ============Quantumultx=============== [task_local] #京东看一看 -10 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, tag=京东看一看, enabled=true +10 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js, tag=京东看一看, enabled=true ================Loon============== [Script] -cron "10 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js,tag=京东看一看 +cron "10 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js,tag=京东看一看 ===============Surge================= -京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js +京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js ============小火箭========= -京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_watch.js, cronexpr="10 9 * * *", timeout=900, enable=true +京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js, cronexpr="10 9 * * *", timeout=900, enable=true */ const $ = new Env('京东看一看'); let acceptBody = [ @@ -225,8 +225,8 @@ function showMsg() { // $.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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + $.msg($.name, '活动已结束', `咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/LXK9301/jd_scripts`) } else { $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); } diff --git a/activity/jd_xtg.js b/activity/jd_xtg.js index 2b0a897f..fb3478cd 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -1,11 +1,11 @@ /* - * @Author: lxk0301 + * @Author: LXK9301 * @Date: 2020-10-21 17:04:04 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-11-05 00:35:04 */ /** - 星推官脚本 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js + 星推官脚本 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js 星推官活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html 活动时间:2020年10月21日 00:00:00-2020年11月11日 23:59:59 京豆先到先得!!!!!!!!!!! @@ -17,12 +17,12 @@ // quantumultx [task_local] #京东星推官 - 2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js, tag=京东星推官, enabled=true + 2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js, tag=京东星推官, enabled=true // Loon [Script] - cron "2 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js,tag=京东星推官 + cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js,tag=京东星推官 // Surge - 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_xtg.js + 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js */ const $ = new Env('京东星推官'); const activeEndTime = '2020/11/11 23:59:59+08:00';//活动结束时间 @@ -153,8 +153,8 @@ async function showMsg() { console.log(`活动活动京豆数量:${$.jdNum - $.beanCount}`); let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; if (nowTime > new Date(activeEndTime).getTime()) { - $.msg($.name, '活动已结束', `请删除或禁用此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`) + $.msg($.name, '活动已结束', `请删除或禁用此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`) } else { $.msg($.name, `账号${$.index} ${$.nickName || $.UserName}`, `做任务之前京豆总计:${$.beanCount}\n做完任务后京豆总计:${$.jdNum}\n${($.jdNum - $.beanCount) > 0 ? `获得京豆:${$.jdNum - $.beanCount}京豆 🐶(仅供参考)\n` : ''}京豆先到先得\n活动地址点击弹窗跳转后即可查看\n注:如未获得京豆就是已被分完`, {"open-url": "https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html"}) if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}`, `账号${$.index} ${$.nickName || $.UserName}\n做任务之前京豆总计:${$.beanCount}\n做完任务后京豆总计:${$.jdNum}\n${($.jdNum - $.beanCount) > 0 ? `获得京豆:${$.jdNum - $.beanCount}京豆 🐶(仅供参考)\n` : ''}京豆先到先得\n注:如未获得京豆就是已被分完\n活动结束时间:2020年11月12日 23:59:59\n活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html`) diff --git a/activity/jr_sign.js b/activity/jr_sign.js index 18917e8e..34506658 100644 --- a/activity/jr_sign.js +++ b/activity/jr_sign.js @@ -1,23 +1,23 @@ /* 金融打卡领年终奖 活动时间:2020-12-8 到 2020-12-31 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #金融打卡领年终奖 -10 6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +10 6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 +cron "10 6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 ===============Surge================= -金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js +金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js ============小火箭========= -金融打卡领年终奖 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jr_sign.js, cronexpr="10 6 * * *", timeout=200, enable=true +金融打卡领年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, cronexpr="10 6 * * *", timeout=200, enable=true */ const $ = new Env('金融打卡领年终奖'); @@ -81,8 +81,8 @@ 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, '活动已结束', `咱江湖再见\nhttps://github.com/lxk0301/jd_scripts`, {"open-url": "https://github.com/lxk0301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/lxk0301/jd_scripts`) + $.msg($.name, '活动已结束', `咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见\n https://github.com/LXK9301/jd_scripts`) } else { $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); } diff --git a/backUp/iCloud.md b/backUp/iCloud.md index d17725e1..a2450aa0 100644 --- a/backUp/iCloud.md +++ b/backUp/iCloud.md @@ -76,7 +76,7 @@ exports.main_handler = async (event, context, callback) => { **注意:**
Ⅰ方案一与方案二不能混合到同一个index.js文件中使用,同一个仓库下,二者只能选择其一。
-Ⅱ感谢[issues#115](https://github.com/lxk0301/jd_scripts/issues/115)中的解决方案,目前云函数连续测试已经可以规避热启动问题了。
+Ⅱ感谢[issues#115](https://github.com/LXK9301/jd_scripts/issues/115)中的解决方案,目前云函数连续测试已经可以规避热启动问题了。
Ⅲ在确保完全按照本教程设置的情况下测试云函数运行情况,对于部分人运行日志中出现某些脚本运行失败其他正常,并且错误提示带有strict字样的,请自行删除index.js中的```'use strict';```,再做测试
**增加cookie** diff --git a/backUp/jd_Goods.js b/backUp/jd_Goods.js index 9c6e2baa..5c33eaf9 100644 --- a/backUp/jd_Goods.js +++ b/backUp/jd_Goods.js @@ -1,5 +1,5 @@ // 半自动提醒心愿单50京豆。 -// 15 */4 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/jd_Goods.js +// 15 */4 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/jd_Goods.js const $ = new Env('心愿单50京豆'); diff --git a/backUp/jd_fruit_double.js b/backUp/jd_fruit_double.js index 406425a4..de3ff380 100644 --- a/backUp/jd_fruit_double.js +++ b/backUp/jd_fruit_double.js @@ -5,12 +5,12 @@ jd免费水果 搬的https://github.com/liuxiaoyucc/jd-helper/blob/a6f275d978574 // quantumultx [task_local] #jd免费水果 -5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/znz1992/Gallery/master/jdsg.png, enabled=true +5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/znz1992/Gallery/master/jdsg.png, enabled=true // Loon [Script] -cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js,tag=东东农场 +cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 // Surge -// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js +// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js 互助码shareCode请先手动运行脚本查看打印可看到 一天只能帮助4个人。多出的助力码无效 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save diff --git a/backUp/jd_joy2.js b/backUp/jd_joy2.js index d368268c..cca550f5 100644 --- a/backUp/jd_joy2.js +++ b/backUp/jd_joy2.js @@ -9,10 +9,10 @@ Combine from Zero-S1/JD_tools(https://github.com/Zero-S1/JD_tools) // quantumultx // [task_local] // #京东宠汪汪 -// 15 1,2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/znz1992/Gallery/master/jdww.png, enabled=true +// 15 1,2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/znz1992/Gallery/master/jdww.png, enabled=true // Loon // [Script] -// cron "15 1,2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 +// cron "15 1,2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 const name = '京东宠汪汪'; const $ = new Env(name); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/backUp/jd_pet_double.js b/backUp/jd_pet_double.js index 84c25bb5..4cd1dcca 100644 --- a/backUp/jd_pet_double.js +++ b/backUp/jd_pet_double.js @@ -86,8 +86,8 @@ function* entrance() { } } for (let item of taskInfoKey) { - console.log(`新任务 【${taskInfo[item].title}】 功能未开发,请反馈给脚本维护者@lxk0301\n`); - $.msg($.name, subTitle, `新的任务 【${taskInfo[item].title}】 功能未开发,请反馈给脚本维护者@lxk0301\n`, {"open-url": "https://t.me/JD_fruit_pet"}) + console.log(`新任务 【${taskInfo[item].title}】 功能未开发,请反馈给脚本维护者@LXK9301\n`); + $.msg($.name, subTitle, `新的任务 【${taskInfo[item].title}】 功能未开发,请反馈给脚本维护者@LXK9301\n`, {"open-url": "https://t.me/JD_fruit_pet"}) } yield feedPetsAgain();//所有任务做完后,检测剩余狗粮是否大于110g,大于就继续投食 yield energyCollect(); diff --git a/backUp/jd_plantBean_double.js b/backUp/jd_plantBean_double.js index 686d410d..d5d24cdf 100644 --- a/backUp/jd_plantBean_double.js +++ b/backUp/jd_plantBean_double.js @@ -7,12 +7,12 @@ 互助码shareCode请先手动运行脚本查看打印可看到 // quantumultx [task_local] -1 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true +1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true // Loon [Script] -cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 +cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 // Surge -// 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js +// 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js 一天只能帮助3个人。多出的助力码无效 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save */ diff --git a/backUp/mySelf.boxjs.json b/backUp/mySelf.boxjs.json index 15e015a4..66b8d71a 100644 --- a/backUp/mySelf.boxjs.json +++ b/backUp/mySelf.boxjs.json @@ -1,9 +1,9 @@ { - "id": "lxk0301.app.sub2", + "id": "LXK9301.app.sub2", "name": "自用", - "author": "@lxk0301", + "author": "@LXK9301", "icon": "https://avatars0.githubusercontent.com/u/21308593?s=52&v=4", - "repo": "https://github.com/lxk0301/jd_scripts/", + "repo": "https://github.com/LXK9301/jd_scripts/", "apps": [ { "id": "QQ_READ", diff --git a/backUp/qqread.js b/backUp/qqread.js index abb07afa..f9673021 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -1,10 +1,10 @@ /* ****************************************************************************** - 改用,nodejs云端专用。可N个账号。by;lxk0301 + 改用,nodejs云端专用。可N个账号。by;LXK9301 一个账号需三个环境变量/secret 分别为 QQ_READ_HEADER_VAL QQ_READ_TIME_URL_VAL QQ_READ_TIME_HEADER_VAL 多个账号 对应三个环境变量/secret 使用@符号或者换行隔开 - iOS可使用BoxJs可使用此订阅修改复制所需的环境变量 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/mySelf.boxjs.json + iOS可使用BoxJs可使用此订阅修改复制所需的环境变量 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/mySelf.boxjs.json 环境变量与BoxJs里面对应关系 QQ_READ_HEADER_VAL ------》 qqreadbodyVal QQ_READ_TIME_URL_VAL ------》 qqreadtimeurl @@ -19,19 +19,19 @@ ziye hostname=mqqapi.reader.qq.com ############## 圈x #企鹅读书获取更新body -https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track url script-request-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js +https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track url script-request-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js #企鹅读书获取时长cookie -https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js +https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js ############## loon #企鹅读书获取更新body -http-request https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js,requires-body=true, tag=企鹅读书获取更新body +http-request https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js,requires-body=true, tag=企鹅读书获取更新body #企鹅读书获取时长cookie -http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true, tag=企鹅读书获取时长cookie +http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js, requires-header=true, tag=企鹅读书获取时长cookie ############## surge #企鹅读书获取更新body -企鹅读书获取更新body = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, script-update-interval=0 +企鹅读书获取更新body = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js, script-update-interval=0 #企鹅读书获取时长cookie -企鹅读书获取时长cookie = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js +企鹅读书获取时长cookie = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js diff --git a/backUp/qqreadOpenBox.js b/backUp/qqreadOpenBox.js index 5182b6e5..4b87601f 100644 --- a/backUp/qqreadOpenBox.js +++ b/backUp/qqreadOpenBox.js @@ -1,5 +1,5 @@ /* -lxk0301修改自用,单独开宝箱 +LXK9301修改自用,单独开宝箱 ****************************************************************************** 本人github地址 https://github.com/ziye12/JavaScript 转载请备注个名字,谢谢 diff --git a/backUp/tencentscf.md b/backUp/tencentscf.md index 30c04ca2..20701a5c 100644 --- a/backUp/tencentscf.md +++ b/backUp/tencentscf.md @@ -42,7 +42,7 @@ let CookieJDs = [ ] ``` -> 注:获取京东 cookie 教程参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) +> 注:获取京东 cookie 教程参考 [浏览器获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie2.md) ## 4. 部署到云函数 diff --git a/backUp/webhook.js b/backUp/webhook.js index 18e12294..de3398ab 100644 --- a/backUp/webhook.js +++ b/backUp/webhook.js @@ -1,14 +1,14 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-10-24 18:53:29 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-11-05 18:54:13 */ const $ = new Env('Webhook触发Action'); let ACTIONS_TRIGGER_TOKEN = '';//Personal access tokens,申请教程:https://www.jianshu.com/p/bb82b3ad1d11 记得勾选repo权限就行 let TRIGGER_KEYWORDS = '';//.github/workflows/路径里面yml文件里面repository_dispatch项目的types值,例如jd_fruit.yml里面的值为fruit -let githubUser = '';//github用户名,例:lxk0301 +let githubUser = '';//github用户名,例:LXK9301 let repo = '';//需要触发的 Github Action 所在的仓库名称 例:scripts !(async () => { diff --git a/backUp/xmSports.js b/backUp/xmSports.js index 9bb8b1c0..e8300097 100644 --- a/backUp/xmSports.js +++ b/backUp/xmSports.js @@ -1,7 +1,7 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-01 13:43:28 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-11-03 13:43:28 */ /* @@ -14,19 +14,19 @@ APP Store下载小米运动APP hostname = account.huami.com Surge [Script] -小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js -小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js +小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js 圈X [task_local] # 小米运动 -15 17 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true +15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true [rewrite_local] # 小米运动获取Token -^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js +^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js Loon [Script] -cron "15 17 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token +cron "15 17 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token */ const $ = new Env('小米运动'); diff --git a/backUp/xmly_speed_ccokie.js b/backUp/xmly_speed_ccokie.js index 3a707bfb..29d67997 100644 --- a/backUp/xmly_speed_ccokie.js +++ b/backUp/xmly_speed_ccokie.js @@ -5,14 +5,14 @@ [MITM] hostname = m.ximalaya.com Surge - 喜马拉雅极速版Cookie = type=http-request,pattern=https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmly_speed_ccokie.js + 喜马拉雅极速版Cookie = type=http-request,pattern=https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmly_speed_ccokie.js Loon: - http-request https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmly_speed_ccokie.js + http-request https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmly_speed_ccokie.js , requires-body=true, timeout=10, tag=喜马拉雅极速版Cookie QX: [rewrite_local] # 喜马拉雅极速版Cookie - https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmly_speed_ccokie.js + https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmly_speed_ccokie.js */ const $ = new Env('喜马拉雅极速版获取cookie') diff --git a/docker/Dockerfile b/docker/Dockerfile index fea24e2d..6987edc7 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,7 +1,7 @@ FROM alpine LABEL AUTHOR="Akira " \ VERSION=0.1.2 \ - UPDATE_CONTENT="更新内容较多,重新阅读仓库[Readme](https://github.com/lxk0301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" + UPDATE_CONTENT="更新内容较多,重新阅读仓库[Readme](https://github.com/LXK9301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" RUN set -ex \ && apk update && apk upgrade\ diff --git a/docker/Readme.md b/docker/Readme.md index 922a84a7..f46bccfc 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -61,7 +61,7 @@ jd_scripts - - [使用群晖默认配置用这个](./example/jd_scripts.syno.json) - - [使用群晖自定义任务追加到默认任务之后用这个](./example/jd_scripts.custom-append.syno.json) - - [使用群晖自定义任务覆盖默认任务用这个](./example/jd_scripts.custom-overwrite.syno.json) -- `jd_scripts/docker-compose.yml`里面的环境变量(`environment:`)配置[参考这里](https://github.com/lxk0301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) +- `jd_scripts/docker-compose.yml`里面的环境变量(`environment:`)配置[参考这里](https://github.com/LXK9301/jd_scripts/blob/master/githubAction.md#%E4%B8%8B%E6%96%B9%E6%8F%90%E4%BE%9B%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84-secrets%E5%85%A8%E9%9B%86%E5%90%88) - `jd_scripts/my_crontab_list.sh` 参考内容如下,自己根据需要调整增加删除,不熟悉用户推荐使用默认配置: diff --git a/docker/default_task.sh b/docker/default_task.sh index f86d9a09..be216bc5 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -32,7 +32,7 @@ if type jq >/dev/null 2>&1; then else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 echo "当前容版版本过旧,发送镜像更新通知" - export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(https://github.com/lxk0301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" + export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(https://github.com/LXK9301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" cd /scripts/docker node notify_docker_user.js fi diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 8b89c448..542935ba 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -46,7 +46,7 @@ else # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 echo "Current container version is too old, send update notification" echo "当前版本过旧,发送镜像更新通知" - export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(https://github.com/lxk0301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" + export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(https://github.com/LXK9301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" cd /scripts/docker node notify_docker_user.js fi diff --git a/docker/example/docker多账户使用独立容器使用说明.md b/docker/example/docker多账户使用独立容器使用说明.md index b8267538..87c40e4a 100644 --- a/docker/example/docker多账户使用独立容器使用说明.md +++ b/docker/example/docker多账户使用独立容器使用说明.md @@ -1,9 +1,9 @@ -### 使用此方式,请先理解学会使用[docker办法一](https://github.com/lxk0301/jd_scripts/tree/master/docker#%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%BD%95jd_scripts%E7%94%A8%E4%BA%8E%E5%AD%98%E6%94%BE%E5%A4%87%E4%BB%BD%E9%85%8D%E7%BD%AE%E7%AD%89%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E9%87%8D%E8%A3%85%E7%9A%84%E6%97%B6%E5%80%99%E5%8F%AA%E9%9C%80%E8%A6%81%E5%A4%87%E4%BB%BD%E6%95%B4%E4%B8%AAjd_scripts%E7%9B%AE%E5%BD%95%E5%8D%B3%E5%8F%AF)的使用方式 +### 使用此方式,请先理解学会使用[docker办法一](https://github.com/LXK9301/jd_scripts/tree/master/docker#%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%BD%95jd_scripts%E7%94%A8%E4%BA%8E%E5%AD%98%E6%94%BE%E5%A4%87%E4%BB%BD%E9%85%8D%E7%BD%AE%E7%AD%89%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E9%87%8D%E8%A3%85%E7%9A%84%E6%97%B6%E5%80%99%E5%8F%AA%E9%9C%80%E8%A6%81%E5%A4%87%E4%BB%BD%E6%95%B4%E4%B8%AAjd_scripts%E7%9B%AE%E5%BD%95%E5%8D%B3%E5%8F%AF)的使用方式 > 发现有人好像希望不同账户任务并发执行,不想一个账户执行完了才能再执行另一个,这里写一个`docker办法一`的基础上实现方式,其实就是不同账户创建不同的容器,他们互不干扰单独定时执行自己的任务。 配置使用起来还是比较简单的,具体往下看 ### 文件夹目录参考 ![image](https://user-images.githubusercontent.com/6993269/97781779-885ae700-1bc8-11eb-93a4-b274cbd6062c.png) -### 具体使用说明直接在图片标注了,文件参考[图片下方](https://github.com/lxk0301/jd_scripts/new/master/docker#docker-composeyml%E6%96%87%E4%BB%B6%E5%8F%82%E8%80%83),配置完成后的[执行命令]() +### 具体使用说明直接在图片标注了,文件参考[图片下方](https://github.com/LXK9301/jd_scripts/new/master/docker#docker-composeyml%E6%96%87%E4%BB%B6%E5%8F%82%E8%80%83),配置完成后的[执行命令]() ![image](https://user-images.githubusercontent.com/6993269/97781610-a1af6380-1bc7-11eb-9397-903b47f5ad6b.png) #### `docker-compose.yml`文件参考 ```yaml diff --git a/getJDCookie.js b/getJDCookie.js index 0616f5a5..a2ea7d1b 100644 --- a/getJDCookie.js +++ b/getJDCookie.js @@ -1,8 +1,8 @@ /** * 扫码获取京东cookie,此方式得到的cookie有效期为90天(实际待测试) - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2021-01-13 12:12:40 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2021-01-13 12:22:54 * Modify from FanchangWang https://github.com/FanchangWang */ diff --git a/githubAction.md b/githubAction.md index 91fac4ed..00fb7e36 100644 --- a/githubAction.md +++ b/githubAction.md @@ -4,14 +4,14 @@ | Name | 归属 | 属性 | 说明 | | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | -| `JD_COOKIE` | 京东 | 必须 | 京东cookie,多个账号的cookie使用`&`隔开或者换行。具体获取参考[浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md) | +| `JD_COOKIE` | 京东 | 必须 | 京东cookie,多个账号的cookie使用`&`隔开或者换行。具体获取参考[浏览器获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie2.md) | ##### 京东隐私安全 环境变量 | Name | 归属 | 属性 | 说明 | | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | | `JD_DEBUG` | 脚本打印log | 非必须 | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | -| `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。具体获取参考此[issue](https://github.com/lxk0301/jd_scripts/issues/127) | +| `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。具体获取参考此[issue](https://github.com/LXK9301/jd_scripts/issues/127) | ##### 推送通知环境变量(目前提供`微信server酱`、`pushplus(推送加)`、`iOS Bark APP`、`telegram机器人`、`钉钉机器人`、`企业微信机器人`、`iGot`、`QQ酷推`等通知方式) @@ -37,12 +37,12 @@ | Name | 归属 | 属性 | 说明 | | --------------------------- | ------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看[jdFruitShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFruitShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看[jdPetShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPetShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看[jdPlantBeanShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdPlantBeanShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `SUPERMARKET_SHARECODES` | 东东超市商圈互助码 | 非必须 | 填写规则请看[jdSuperMarketShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdSuperMarketShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 填写规则请看[jdFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/lxk0301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看[jdFruitShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFruitShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看[jdPetShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPetShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看[jdPlantBeanShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPlantBeanShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `SUPERMARKET_SHARECODES` | 东东超市商圈互助码 | 非必须 | 填写规则请看[jdSuperMarketShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdSuperMarketShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 填写规则请看[jdFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | | `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | diff --git a/index.js b/index.js index c70aaa66..1e4ac780 100644 --- a/index.js +++ b/index.js @@ -16,7 +16,7 @@ exports.main_handler = async (event, context, callback) => { //}) //3.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数不推荐) - request('https://raw.githubusercontent.com/lxk0301/jd_scripts/master/' + v + '.js', function (error, response, body) { + request('https://raw.githubusercontent.com/LXK9301/jd_scripts/master/' + v + '.js', function (error, response, body) { eval(response.body) }) } diff --git a/jdCookie.js b/jdCookie.js index 0feff330..2112e2f7 100644 --- a/jdCookie.js +++ b/jdCookie.js @@ -2,12 +2,11 @@ 此文件为Node.js专用。其他用户请忽略 */ //此处填写京东账号cookie。 -//注:github action用户cookie填写到Settings-Secrets里面,新增JD_COOKIE,多个账号的cookie使用`&`隔开或者换行 let CookieJDs = [ '',//账号一ck,例:pt_key=XXX;pt_pin=XXX; '',//账号二ck,例:pt_key=XXX;pt_pin=XXX;如有更多,依次类推 ] -// 判断github action里面是否有京东ck +// 判断环境变量里面是否有京东ck if (process.env.JD_COOKIE) { if (process.env.JD_COOKIE.indexOf('&') > -1) { console.log(`您的cookie选择的是用&隔开\n`) @@ -19,7 +18,13 @@ if (process.env.JD_COOKIE) { CookieJDs = [process.env.JD_COOKIE]; } } -if(JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](process['\x65\x6e\x76'])['\x69\x6e\x64\x65\x78\x4f\x66']('\x47\x49\x54\x48\x55\x42')>-1){process['\x65\x78\x69\x74'](0)} +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 !== "" && item !== null && item !== undefined))] 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`) diff --git a/jdDreamFactoryShareCodes.js b/jdDreamFactoryShareCodes.js index 8092924b..cefd8b3d 100644 --- a/jdDreamFactoryShareCodes.js +++ b/jdDreamFactoryShareCodes.js @@ -4,7 +4,6 @@ 支持京东N个账号 */ //云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 DREAM_FACTORY_SHARE_CODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let shareCodes = [ diff --git a/jdFactoryShareCodes.js b/jdFactoryShareCodes.js index 99a5008c..0c673c9a 100644 --- a/jdFactoryShareCodes.js +++ b/jdFactoryShareCodes.js @@ -4,7 +4,6 @@ 支持京东N个账号 */ //云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 PLANT_BEAN_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let shareCodes = [ diff --git a/jdFruitShareCodes.js b/jdFruitShareCodes.js index d06c92d1..15076525 100644 --- a/jdFruitShareCodes.js +++ b/jdFruitShareCodes.js @@ -4,7 +4,6 @@ 支持京东N个账号 */ //云服务器腾讯云函数等NOde.js用户在此处填写京东东农场的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 FruitShareCodes(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let FruitShareCodes = [ diff --git a/jdJxncShareCodes.js b/jdJxncShareCodes.js index 7f9f85da..6ca30334 100644 --- a/jdJxncShareCodes.js +++ b/jdJxncShareCodes.js @@ -5,7 +5,6 @@ 支持京东N个账号 */ //云服务器腾讯云函数等NOde.js用户在此处填写京京喜农场的好友码。 -// github action用户的好友助力码填写到Action->Settings->Secrets->new Secret里面(Name填写 JxncShareCodes(此处的Name必须按此来写,不能随意更改),内容处填写助力码,填写规则如下) // 同一个京东账号的好友助力码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let JxncShareCodes = [ diff --git a/jdPetShareCodes.js b/jdPetShareCodes.js index f910ca29..5b0907cc 100644 --- a/jdPetShareCodes.js +++ b/jdPetShareCodes.js @@ -4,7 +4,6 @@ 支持京东N个账号 */ //云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 PetShareCodes(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let PetShareCodes = [ diff --git a/jdPlantBeanShareCodes.js b/jdPlantBeanShareCodes.js index faba2b6b..73fb322c 100644 --- a/jdPlantBeanShareCodes.js +++ b/jdPlantBeanShareCodes.js @@ -4,7 +4,6 @@ 支持京东N个账号 */ //云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 PLANT_BEAN_SHARECODES(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let PlantBeanShareCodes = [ diff --git a/jdSuperMarketShareCodes.js b/jdSuperMarketShareCodes.js index 880c8c86..3c87cc0b 100644 --- a/jdSuperMarketShareCodes.js +++ b/jdSuperMarketShareCodes.js @@ -4,7 +4,6 @@ 支持京东N个账号 */ //云服务器腾讯云函数等Node.js用户在此处填写京小超商圈的好友码。 -// github action用户的好友互助码填写到Action->Settings->Secrets->new Secret里面(Name填写 SuperMarketShareCodes(此处的Name必须按此来写,不能随意更改),内容处填写互助码,填写规则如下) // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let SuperMarketShareCodes = [ diff --git a/jd_bean_change.js b/jd_bean_change.js index 68f8af4a..81634293 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -1,11 +1,11 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-01 16:25:41 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-12-22 10:25:41 */ /* -京豆变动通知脚本:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js +京豆变动通知脚本:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js 统计昨日京豆的变化情况,包括收入,支出,以及显示当前京豆数量,目前小问题:下单使用京豆后,退款重新购买会出现异常 网页查看地址 : https://bean.m.jd.com/bean/signIndex.actionbeanDetail/index.action?resourceValue=bean 支持京东双账号 @@ -13,12 +13,12 @@ quantumultx [task_local] #京豆变动通知 -2 9 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, enabled=true +2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, enabled=true Loon [Script] -cron "2 9 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 +cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 Surge -京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=440,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_change.js +京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=440,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js */ const $ = new Env('京豆变动通知'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_bean_home.js b/jd_bean_home.js index e0c40636..bb519491 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -2,23 +2,23 @@ 领京豆额外奖励&抢京豆 脚本自带助力码,介意者可将 29行 helpAuthor 变量设置为 false 入口:首页-领京豆 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #领京豆额外奖励 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 ===============Surge================= -领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js +领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js ============小火箭========= -领京豆额外奖励 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js, cronexpr="10 7 * * *", timeout=200, enable=true +领京豆额外奖励 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, cronexpr="10 7 * * *", timeout=200, enable=true */ const $ = new Env('领京豆额外奖励'); diff --git a/jd_bean_sign.js b/jd_bean_sign.js index 206d220a..dda14051 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -1,3 +1,6 @@ +/* + * @Author: LXK9301 https://github.com/LXK9301 + */ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 diff --git a/jd_blueCoin.js b/jd_blueCoin.js index c12334bd..4fb91213 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -1,5 +1,5 @@ /* -京小超兑换奖品 脚本地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js +京小超兑换奖品 脚本地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js 感谢@yangtingxiao提供PR 更新时间:2020-12-24 支持京东多个账号 @@ -7,12 +7,12 @@ ======================quantumultx=============== [task_local] #京小超兑换奖品 -0 0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js, tag=京小超兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true +0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=京小超兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true ====================Loon================= [Script] -cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 +cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 ===================Surge================== -京小超兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js +京小超兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js */ const $ = new Env('京小超兑换奖品'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_bookshop.js b/jd_bookshop.js index 0f927898..972f4d83 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -6,17 +6,17 @@ ============Quantumultx=============== [task_local] #口袋书店 -1 8,12,18 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, enabled=true +1 8,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, enabled=true ================Loon============== [Script] -cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 +cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 ===============Surge================= -口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js +口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js ============小火箭========= -口袋书店 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bookshop.js, cronexpr="1 8,12,18* * *", timeout=200, enable=true +口袋书店 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, cronexpr="1 8,12,18* * *", timeout=200, enable=true */ const $ = new Env('口袋书店'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_car.js b/jd_car.js index 5878ea21..0c583467 100644 --- a/jd_car.js +++ b/jd_car.js @@ -2,23 +2,23 @@ 京东汽车,签到满500赛点可兑换500京豆,一天运行一次即可 长期活动 活动入口:首页👉京东汽车👉屏幕右中部,车主福利 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东汽车 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, tag=京东汽车 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车 ===============Surge================= -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js ============小火箭========= -京东汽车 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car.js, cronexpr="10 7 * * *", timeout=200, enable=true +京东汽车 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, cronexpr="10 7 * * *", timeout=200, enable=true */ const $ = new Env('京东汽车'); diff --git a/jd_car_exchange.js b/jd_car_exchange.js index 9c453f8c..44de94e5 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -6,24 +6,24 @@ 京东APP:首页👉京东汽车兑换👉屏幕右中部,车主福利 活动网页地址:https://h5.m.jd.com/babelDiy/Zeus/44bjzCpzH9GpspWeBzYSqBA7jEtP/index.html#/journey -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange 已支持IOS, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东汽车兑换 -0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true ================Loon============== [Script] -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 ===============Surge================= -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2000,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js ============小火箭========= -京东汽车兑换 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_car_exchange.js, cronexpr="0 0 * * *", timeout=2000, enable=true +京东汽车兑换 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, cronexpr="0 0 * * *", timeout=2000, enable=true */ const $ = new Env('京东汽车兑换'); diff --git a/jd_cash.js b/jd_cash.js index 107a9246..285a863b 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -7,17 +7,17 @@ ============Quantumultx=============== [task_local] #签到领现金 -2 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, tag=签到领现金, enabled=true +2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, enabled=true ================Loon============== [Script] -cron "2 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js,tag=签到领现金 +cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js,tag=签到领现金 ===============Surge================= -签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js +签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js ============小火箭========= -签到领现金 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_cash.js, cronexpr="2 0 * * *", timeout=200, enable=true +签到领现金 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, cronexpr="2 0 * * *", timeout=200, enable=true */ const $ = new Env('签到领现金'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_club_lottery.js b/jd_club_lottery.js index a68db875..642ab546 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -1,7 +1,7 @@ /* - * @Author: lxk0301 + * @Author: LXK9301 * @Date: 2020-11-03 20:35:07 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-11-23 12:27:09 摇京豆(京东APP首页-领京豆-摇京豆) 更新时间:2020-10-12 @@ -11,12 +11,12 @@ // QuantumultX [task_local] #摇京豆 - 5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true + 5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true //Loon [Script] - cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 + cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 //Surge - 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_club_lottery.js + 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js * */ const $ = new Env('摇京豆'); diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 7f0cd8ea..81593b3a 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -9,17 +9,17 @@ crazyJoy任务 ============Quantumultx=============== [task_local] #crazyJoy任务 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 ===============Surge================= -crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js +crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js ============小火箭========= -crazyJoy任务 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy.js, cronexpr="10 7 * * *", timeout=200, enable=true +crazyJoy任务 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, cronexpr="10 7 * * *", timeout=200, enable=true */ diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 359a8e3c..fc0e89d4 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -8,17 +8,17 @@ crazy joy ============Quantumultx=============== [task_local] #crazyJoy挂机 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js, tag=crazyJoy挂机, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js, tag=crazyJoy挂机, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js,tag=crazyJoy挂机 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js,tag=crazyJoy挂机 ===============Surge================= -crazyJoy挂机 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js +crazyJoy挂机 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js ============小火箭========= -crazyJoy挂机 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_crazy_joy_coin.js, cronexpr="10 * * * *", timeout=200, enable=true +crazyJoy挂机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js, cronexpr="10 * * * *", timeout=200, enable=true */ diff --git a/jd_daily_egg.js b/jd_daily_egg.js index 08919a2c..8664140f 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -1,7 +1,7 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-10 14:10:27 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-11-20 14:11:01 */ /* diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index b1b45940..52fda47d 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -10,17 +10,17 @@ ============Quantumultx=============== [task_local] #京喜工厂 -10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, enabled=true +10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, enabled=true ================Loon============== [Script] -cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 ===============Surge================= -京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js +京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js ============小火箭========= -京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=200, enable=true +京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=200, enable=true */ diff --git a/jd_family.js b/jd_family.js index 7608e23f..6f29ca09 100644 --- a/jd_family.js +++ b/jd_family.js @@ -4,7 +4,27 @@ * @Last Modified by: shylocks * @Last Modified time: 2021-01-13 13:27:41 */ +/* +京东家庭号 +活动入口:玩一玩-家庭号 +8000幸福值可换100京豆,一天任务做完大概300幸福值,周期较长 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东家庭号 +1 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, tag=京东家庭号, enabled=true +================Loon============== +[Script] +cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 + +===============Surge================= +京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js + +============小火箭========= +京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, cronexpr="1 * * * *", timeout=2200, enable=true + */ const $ = new Env('京东家庭号'); const notify = $.isNode() ? require('./sendNotify') : ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; diff --git a/jd_fruit.js b/jd_fruit.js index fab7ee09..e077d5c5 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,5 +1,5 @@ /* -东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js +东东水果:脚本更新地址 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js 更新时间:2021-1-9 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 @@ -9,16 +9,16 @@ ==========================Quantumultx========================= [task_local] #jd免费水果 -5 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true +5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true =========================Loon============================= [Script] -cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js,tag=东东农场 +cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 =========================Surge============================ -东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js +东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js =========================小火箭=========================== -东东农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js, cronexpr="5 6-18/6 * * *", timeout=200, enable=true +东东农场 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, cronexpr="5 6-18/6 * * *", timeout=200, enable=true jd免费水果 搬的https://github.com/liuxiaoyucc/jd-helper/blob/a6f275d9785748014fc6cca821e58427162e9336/fruit/fruit.js */ diff --git a/jd_get_share_code.js b/jd_get_share_code.js index e7ca9fe7..2daaabdd 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -2,23 +2,23 @@ 一键获取我仓库所有需要互助类脚本的互助码(邀请码)(其中京东赚赚jd_jdzz.js如果今天达到5人助力则不能提取互助码) 没必要设置(cron)定时执行,需要的时候,自己手动执行一次即可 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #获取互助码 -20 13 * * 6 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, enabled=true +20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, enabled=true ================Loon============== [Script] -cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码 +cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码 ===============Surge================= -获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js +获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js ============小火箭========= -获取互助码 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_get_share_code.js, cronexpr="20 13 * * 6", timeout=200, enable=true +获取互助码 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, cronexpr="20 13 * * 6", timeout=200, enable=true */ const $ = new Env("获取互助码"); const JD_API_HOST = "https://api.m.jd.com/client.action"; diff --git a/jd_jdfactory.js b/jd_jdfactory.js index d1de85b2..746e4ace 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -1,7 +1,7 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-12-06 18:19:21 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-12-26 22:58:02 */ /* @@ -16,17 +16,17 @@ ============Quantumultx=============== [task_local] #京东工厂 -10 * * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, enabled=true +10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, enabled=true ================Loon============== [Script] -cron "10 * * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 ===============Surge================= -东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js +东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js ============小火箭========= -东东工厂 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js, cronexpr="10 * * * *", timeout=200, enable=true +东东工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, cronexpr="10 * * * *", timeout=200, enable=true */ const $ = new Env('东东工厂'); diff --git a/jd_jdzz.js b/jd_jdzz.js index 1551f02c..f2b01ce2 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] # 京东赚赚 -0 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true +0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true ================Loon============== [Script] -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 ===============Surge================= -京东赚赚 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js +京东赚赚 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js ============小火箭========= -京东赚赚 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdzz.js, cronexpr="0 0 * * *", timeout=200, enable=true +京东赚赚 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, cronexpr="0 0 * * *", timeout=200, enable=true */ const $ = new Env('京东赚赚'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_joy.js b/jd_joy.js index 6329c53e..b5b53d26 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -11,12 +11,12 @@ Combine from Zero-S1/JD_tools(https://github.com/Zero-S1/JD_tools) // quantumultx // [task_local] // #京东宠汪汪 -// 15 */2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +// 15 */2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true // Loon // [Script] -// cron "15 */2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 +// cron "15 */2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 // Surge -// 京东宠汪汪 = type=cron,cronexp="15 */2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js +// 京东宠汪汪 = type=cron,cronexp="15 */2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js const $ = new Env('宠汪汪'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index 7a107bd0..fe46fafa 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -7,12 +7,12 @@ // quantumultx // [task_local] // #京东宠汪汪喂食 -// 15 */1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +// 15 */1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true // Loon // [Script] -// cron "15 */1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 +// cron "15 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 // Surge -// 京东宠汪汪喂食 = type=cron,cronexp="15 */1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_feedPets.js +// 京东宠汪汪喂食 = type=cron,cronexp="15 */1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js const $ = new Env('宠汪汪🐕喂食'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_joy_help.js b/jd_joy_help.js index 3641d891..7c3d10ce 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -1,6 +1,6 @@ /** 宠汪汪强制为别人助力(助力一个好友你自己可以获得30积分,一天上限是帮助3个好友,自己获得90积分,不管助力是否成功,对方都会成为你的好友) -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js 更新时间:2020-11-12 目前提供了304位好友的friendPin供使用。脚本随机从里面获取一个,助力成功后,退出小程序重新点击进去开始助力新的好友 欢迎大家使用 https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 (currentPage=1表示第一页好友,=2表示第二页好友) @@ -15,15 +15,15 @@ hostname = draw.jdfcloud.com ======================Surge===================== [Script] -宠汪汪强制为别人助力= type=http-request,pattern= ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js +宠汪汪强制为别人助力= type=http-request,pattern= ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js ===================圈x===================== [rewrite_local] -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js =====================LOON===================== [Script] -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 你也可从下面链接拿好友的friendPin(复制链接到有京东ck的浏览器打开即可) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index f8337837..c39fe96b 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -9,12 +9,12 @@ // Quantumult X [task_local] #宠汪汪积分兑换奖品 -0 0-16/8 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +0 0-16/8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true // Loon [Script] -cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 +cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 // Surge -宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js +宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js */ const $ = new Env('宠汪汪积分兑换奖品'); let joyRewardName = 20;//是否兑换京豆,默认开启兑换功能,其中20为兑换20京豆,500为兑换500京豆,0为不兑换京豆.数量有限先到先得 @@ -62,7 +62,7 @@ const JD_API_HOST = 'https://jdjoy.jd.com'; } console.log(`本地时间与京东服务器时间差(毫秒):${await get_diff_time()}`); await joyReward(); - // $.msg($.name, '兑换脚本暂不能使用', `请停止使用,等待后期更新\n如果新版本兑换您有兑换机会,请抓包兑换\n再把抓包数据发送telegram用户@lxk0301`); + // $.msg($.name, '兑换脚本暂不能使用', `请停止使用,等待后期更新\n如果新版本兑换您有兑换机会,请抓包兑换\n再把抓包数据发送telegram用户@LXK9301`); } } })() diff --git a/jd_joy_run.js b/jd_joy_run.js index 6b3cbb95..9e6979d7 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -14,25 +14,25 @@ hostname = draw.jdfcloud.com Surge [Script] -宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js -宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js -宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js +宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js +宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js 圈X [task_local] # 宠汪汪邀请助力与赛跑助力 -15 10 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +15 10 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true [rewrite_local] # 宠汪汪助力更新Token -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js # 宠汪汪助力获取Token -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js *****Loon**** [Script] -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token **/ const isRequest = typeof $request != "undefined" const $ = new Env('宠汪汪赛跑'); diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 46c985a1..20dfa19a 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -10,12 +10,12 @@ IOS用户支持京东双账号,NodeJs用户支持N个京东账号 // quantumultx // [task_local] // #宠汪汪偷好友积分与狗粮 -// 0 0,6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +// 0 0,6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true // Loon // [Script] -// cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 +// cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 // Surge -// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0,6 * * *",wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_steal.js +// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0,6 * * *",wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js const $ = new Env('宠汪汪偷好友积分与狗粮'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_jxnc.js b/jd_jxnc.js index 1091d120..e6c83d45 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -3,7 +3,7 @@ 本脚本搬运自 https://github.com/whyour/hundun/blob/master/quanx/jx_nc.js 感谢 @whyour 大佬 -京喜农场:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js +京喜农场:脚本更新地址 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js 更新时间:2021-01-10 22:47:51 东东农场活动链接: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个京东账号 @@ -14,20 +14,20 @@ hostname = wq.jd.com ==========================Quantumultx========================= [task_local] -0 9,12,18 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true +0 9,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true [rewrite_local] ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================Loon============================= [Script] http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js, requires-body=false, timeout=10, tag=京喜农场cookie -cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js,tag=京喜农场 +cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js,tag=京喜农场 =========================Surge============================ -京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=60,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js +京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=60,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js 京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path= https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================小火箭=========================== -京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=200, enable=true +京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=200, enable=true 京喜农场APP种子cookie = type=http-request,script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,max-size=131072,timeout=110,enable=true 特别说明: diff --git a/jd_kd.js b/jd_kd.js index 3037e164..ba4cb9f7 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -2,24 +2,24 @@ 京东快递签到 活动地址:https://jingcai-h5.jd.com/#/ 签到领豆,14天内满4次和7次享额外奖励,每天运行一次即可 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东快递签到 -10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true +10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, tag=京东快递签到 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到 ===============Surge================= -京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js +京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js ============小火箭========= -京东快递签到 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_kd.js, cronexpr="10 0 * * *", timeout=200, enable=true +京东快递签到 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, cronexpr="10 0 * * *", timeout=200, enable=true */ const $ = new Env('京东快递签到'); diff --git a/jd_live.js b/jd_live.js index 5280236a..89f3fef5 100644 --- a/jd_live.js +++ b/jd_live.js @@ -7,17 +7,17 @@ ============Quantumultx=============== [task_local] #京东直播 -10-20/5 12 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, tag=京东直播, enabled=true +10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, enabled=true ================Loon============== [Script] -cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js,tag=京东直播 +cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js,tag=京东直播 ===============Surge================= -京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js +京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js ============小火箭========= -京东直播 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_live.js, cronexpr="10-20/5 12 * * *", timeout=200, enable=true +京东直播 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, cronexpr="10-20/5 12 * * *", timeout=200, enable=true */ const $ = new Env('京东直播'); diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 779bc789..03bdcf37 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -1,5 +1,5 @@ /* -京东摇钱树 :https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js +京东摇钱树 :https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js 更新时间:2020-11-16 京东摇钱树支持京东双账号 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save @@ -7,12 +7,12 @@ // quantumultx // [task_local] // #京东摇钱树 -// 3 */2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true +// 3 */2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true // Loon // [Script] -// cron "3 */2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 +// cron "3 */2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 // Surge -//京东摇钱树 = type=cron,cronexp="3 */2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js +//京东摇钱树 = type=cron,cronexp="3 */2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js const $ = new Env('京东摇钱树'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_necklace.js b/jd_necklace.js index 038a0fa0..5735f1ec 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -1,7 +1,7 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-20 11:42:03 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-12-12 12:27:14 */ /* @@ -13,17 +13,17 @@ APP活动入口:“最新版本京东APP >领券中心/券后9.9>领点点券 ===============Quantumultx=============== [task_local] #点点券 -10 0,20 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, tag=点点券, enabled=true +10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, enabled=true ================Loon============== [Script] -cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js,tag=点点券 +cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js,tag=点点券 ===============Surge================= -点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js +点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js ============小火箭========= -点点券 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_necklace.js, cronexpr="10 0,20 * * *", timeout=200, enable=true +点点券 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, cronexpr="10 0,20 * * *", timeout=200, enable=true */ const $ = new Env('点点券'); diff --git a/jd_nh.js b/jd_nh.js index 6e8859e5..39118094 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -13,17 +13,17 @@ ============Quantumultx=============== [task_local] #京东年货节 -1 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js, tag=京东年货节, enabled=true +1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, enabled=true ================Loon============== [Script] -cron "1 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js,tag=京东年货节 +cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js,tag=京东年货节 ===============Surge================= -京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js +京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js ============小火箭========= -京东年货节 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_nh.js, cronexpr="1 7 * * *", timeout=200, enable=true +京东年货节 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, cronexpr="1 7 * * *", timeout=200, enable=true */ const $ = new Env('京东年货节'); diff --git a/jd_pet.js b/jd_pet.js index db83e2ea..29b2f4f7 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,5 +1,5 @@ /* -东东萌宠 更新地址: https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js +东东萌宠 更新地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js 更新时间:2021-01-16 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -10,17 +10,17 @@ =================================Quantumultx========================= [task_local] #东东萌宠 -15 6-18/6 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true +15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true =================================Loon=================================== [Script] -cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js,tag=东东萌宠 +cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 ===================================Surge================================ -东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js +东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js ====================================小火箭============================= -东东萌宠 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js, cronexpr="15 6-18/6 * * *", timeout=200, enable=true +东东萌宠 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, cronexpr="15 6-18/6 * * *", timeout=200, enable=true */ const $ = new Env('东东萌宠'); diff --git a/jd_petTreasureBox.js b/jd_petTreasureBox.js index 3d089103..17ac2f16 100644 --- a/jd_petTreasureBox.js +++ b/jd_petTreasureBox.js @@ -10,15 +10,15 @@ 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=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js +聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js Qx [rewrite_local] -^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js +^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js LOON: [Script] -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 **/ let body = $response.body diff --git a/jd_pigPet.js b/jd_pigPet.js index ed8e6b86..82f9fe30 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -1,7 +1,7 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-10 14:07:07 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-11-23 12:27:16 */ /* diff --git a/jd_plantBean.js b/jd_plantBean.js index 874a0b76..46723227 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -1,5 +1,5 @@ /* -种豆得豆 脚本更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js +种豆得豆 脚本更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js 更新时间:2021-1-16 已支持IOS京东双账号,云端N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -8,17 +8,17 @@ 每个京东账号每天只能帮助3个人。多出的助力码将会助力失败。 =====================================Quantumult X================================= [task_local] -1 7-21/2 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true +1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true =====================================Loon================================ [Script] -cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 +cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 ======================================Surge========================== -京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js +京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js ====================================小火箭============================= -京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=200, enable=true +京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=200, enable=true 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_plantBean.js */ diff --git a/jd_redPacket.js b/jd_redPacket.js index 827aeb2f..a63bd24e 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -1,7 +1,7 @@ /* - * @Author: lxk0301 + * @Author: LXK9301 * @Date: 2020-11-03 18:12:38 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2020-12-20 12:27:18 */ /* @@ -18,12 +18,12 @@ QuantumultX [task_local] #京东全民开红包 -1 1 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true Loon [Script] -cron "1 1 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 +cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 Surge -京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_redPacket.js +京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js */ const $ = new Env('京东全民开红包'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_shop.js b/jd_shop.js index 7e6cff97..0e2ad153 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -6,12 +6,12 @@ // quantumultx [task_local] #进店领豆 - 10 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true + 10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true //Loon [Script] - cron "10 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js,tag=进店领豆 + cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 //Surge - 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_shop.js + 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js * */ const $ = new Env('进店领豆'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_small_home.js b/jd_small_home.js index 92ae9306..7f294200 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -1,11 +1,11 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-12 11:42:12 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2021-1-4 14:27:20 */ /* -东东小窝 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js +东东小窝 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js 现有功能: 做日常任务任务,每日抽奖(有机会活动京豆,使用的是免费机会,不消耗WO币) 自动使用WO币购买装饰品可以获得京豆,分别可获得5,20,50,100,200,400,700,1200京豆) @@ -25,17 +25,17 @@ https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html ===============Quantumultx=============== [task_local] #东东小窝 -16 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png enabled=true +16 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png enabled=true ================Loon============== [Script] -cron "16 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, tag=东东小窝 +cron "16 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 ===============Surge================= -东东小窝 = type=cron,cronexp="16 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js +东东小窝 = type=cron,cronexp="16 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js ============小火箭========= -东东小窝 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_small_home.js, cronexpr="16 0 * * *", timeout=200, enable=true +东东小窝 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, cronexpr="16 0 * * *", timeout=200, enable=true */ const $ = new Env('东东小窝'); const notify = $.isNode() ? require('./sendNotify') : ''; @@ -100,7 +100,7 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; 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去帮助作者:lxk0301\n`) + console.log(`\n去帮助作者:LXK9301\n`) await helpFriends(); } } diff --git a/jd_speed.js b/jd_speed.js index 826ca84e..909231bc 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -1,5 +1,5 @@ /* -京东天天加速链接:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js +京东天天加速链接:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js 更新时间:2020-12-25 支持京东双账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -10,12 +10,12 @@ // quantumultx // [task_local] // #天天加速 -// 8 */3 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true +// 8 */3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true // Loon // [Script] -// cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js,tag=京东天天加速 +// cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 // Surge -//天天加速 = type=cron,cronexp="8 */3 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js +//天天加速 = type=cron,cronexp="8 */3 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js const $ = new Env('✈️天天加速'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_syj.js b/jd_syj.js index 91b59f25..13745cee 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -1,29 +1,29 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-27 09:19:21 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2021-1-1 16:58:02 */ /* 十元街脚本,一周签到下来可获得30京豆,一天任意时刻运行一次即可 -更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js 参考github@jidesheng6修改而来 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #十元街 -10 7 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, tag=十元街 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街 ===============Surge================= -十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js +十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js ============小火箭========= -十元街 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_syj.js, cronexpr="10 7 * * *", timeout=200, enable=true +十元街 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, cronexpr="10 7 * * *", timeout=200, enable=true */ const $ = new Env('十元街'); diff --git a/jd_unbind.js b/jd_unbind.js index 8aa04381..5a8666f9 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -6,14 +6,14 @@ ==========Quantumult X========== [task_local] #注销京东会员卡 -55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, enabled=true +55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, enabled=true =======Loon======== [Script] -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 +cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 ========Surge========== -注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=620,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js +注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=620,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js =======小火箭===== -注销京东会员卡 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js, cronexpr="10 23 * * *", timeout=200, enable=true +注销京东会员卡 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, cronexpr="10 23 * * *", timeout=200, enable=true */ const $ = new Env('注销京东会员卡'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index a8544428..c020b818 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -9,12 +9,12 @@ // Quantumult X [task_local] #取关京东店铺商品 -55 23 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, enabled=true +55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, enabled=true // Loon [Script] -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 +cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 // Surge -取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js +取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js */ const $ = new Env('取关京东店铺和商品'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jx_sign.js b/jx_sign.js index 185d2a09..1955c3ed 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -5,17 +5,17 @@ ============Quantumultx=============== [task_local] #京喜签到 -5 0 * * * https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js, tag=京喜签到, enabled=true +5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, enabled=true ================Loon============== [Script] -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js,tag=京喜签到 +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js,tag=京喜签到 ===============Surge================= -京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js +京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js ============小火箭========= -京喜签到 = type=cron,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jx_sign.js, cronexpr="5 0 * * *", timeout=200, enable=true +京喜签到 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, cronexpr="5 0 * * *", timeout=200, enable=true */ const $ = new Env('京喜签到'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 8b1a8ce7..0f973302 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -1,9 +1,9 @@ { - "id": "lxk0301.app.sub", - "name": "lxk0301脚本订阅", - "author": "@lxk0301", + "id": "LXK9301.app.sub", + "name": "LXK9301脚本订阅", + "author": "@LXK9301", "icon": "https://avatars0.githubusercontent.com/u/21308593?s=52&v=4", - "repo": "https://github.com/lxk0301/jd_scripts/", + "repo": "https://github.com/LXK9301/jd_scripts/", "apps": [ { "id": "JD_Cookies", @@ -11,7 +11,7 @@ "keys": ["CookiesJD"], "descs_html": [ "请勿随意在输入框修改内容,建议通过脚本去获取cookie,若要修改,请按照JSON 格式修改。", - "脚本地址【
京东多 CK获取】,并按照此脚本注释进行配置", + "脚本地址【京东多 CK获取】,并按照此脚本注释进行配置", "使用方式【个人中心】获取对应的数据Code" ], "settings": [ @@ -48,8 +48,8 @@ "desc": "不懂不知不会UserAgent的请不要随意填写内容" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", "icons": [ "https://raw.githubusercontent.com/Orz-3/mini/master/jd.png", "https://raw.githubusercontent.com/Orz-3/task/master/jd.png" @@ -159,9 +159,9 @@ "desc": "京东水果互助码.这是别人的shareCode,你帮别人助力." } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdnc_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png" @@ -277,9 +277,9 @@ "desc": "东东萌宠互助码.这是别人的shareCode,你帮别人助力." } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_pet.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdmc_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png" @@ -363,9 +363,9 @@ "desc": "种豆得豆互助码.这是别人的助力码,你帮别人助力." } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_plantBean.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdzd_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png" @@ -430,9 +430,9 @@ ] } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdcww_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png" @@ -476,9 +476,9 @@ ] } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_reward.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdcww_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png" @@ -555,9 +555,9 @@ "desc": "多个账号使用英文逗号','隔开,最多6个" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_joy_run.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdcww_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png" @@ -583,9 +583,9 @@ "desc": "是否卖出金果获得金币,金币具有有效期,默认不卖出" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_moneyTree.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdyqs_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png" @@ -604,9 +604,9 @@ "desc": "运行京东天天加速脚本时不发出系统弹窗通知" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_speed.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdjs_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png" @@ -656,9 +656,9 @@ "desc": "匹配到此处店铺后面(包括此店铺)的不再进行取关(此处内容请尽量从头开始输入店铺名称)" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unsubscribe.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js", "icons": [ "https://raw.githubusercontent.com/Orz-3/mini/master/jd.png", "https://raw.githubusercontent.com/Orz-3/task/master/jd.png" @@ -694,9 +694,9 @@ "desc": "不想注销的店铺会员卡名称" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_unbind.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png" @@ -736,12 +736,12 @@ "desc": "运行脚本消耗金币进行抽奖,默认抽奖" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", "scripts":[ { "name" : "京小超", - "script" : "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_superMarket.js" + "script" : "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js" } ], "icons": [ @@ -772,12 +772,12 @@ "desc": "输入兑换奖品名称(默认不兑换奖品)" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", "scripts": [ { "name" : "京小超兑换奖品", - "script" : "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_blueCoin.js" + "script" : "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js" } ], "icons": [ @@ -786,7 +786,7 @@ ] }, { - "id": "lxk0301Webhook", + "id": "LXK9301Webhook", "name": "Webhook", "keys": [ "ACTIONS_TRIGGER_TOKEN", @@ -807,7 +807,7 @@ "name": "github 用户名", "val": "", "type": "text", - "desc": "例如:lxk0301" + "desc": "例如:LXK9301" }, { "id": "repo", @@ -824,9 +824,9 @@ "desc": ".github/workflows/路径里面yml文件repository_dispatch项目的types值,例如jd_fruit.yml里面的值为fruit,多个使用英文逗号','隔开" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/webhook.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/webhook.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/webhooks_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/webhooks.png" @@ -863,9 +863,9 @@ "desc": "需要修改最小的运动步数的数字,例如:25000" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/xmSports.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/xmyd_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" @@ -886,9 +886,9 @@ "desc": "请尽量填写完整和别的商品有区分度" } ], - "author": "@lxk0301", - "repo": "https://github.com/lxk0301/jd_scripts", - "script": "https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_jdfactory.js", + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png" diff --git a/package-lock.json b/package-lock.json index 37dac328..4a628fe1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "lxk0301", + "name": "LXK9301", "version": "1.0.0", "lockfileVersion": 1, "requires": true, diff --git a/package.json b/package.json index cc975ff5..eda676a7 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "lxk0301", + "name": "LXK9301", "version": "1.0.0", "description": "{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}", "main": "AlipayManor.js", @@ -8,12 +8,12 @@ }, "repository": { "type": "git", - "url": "https://github.com/lxk0301/jd_scripts.git" + "url": "https://github.com/LXK9301/jd_scripts.git" }, "keywords": [ "京东薅羊毛工具, 京东水果、宠物、种豆等等" ], - "author": "lxk0301", + "author": "LXK9301", "license": "ISC", "dependencies": { "crypto-js": "^4.0.0", diff --git a/sendNotify.js b/sendNotify.js index d46bf5e9..1c11d41f 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -1,20 +1,20 @@ /* - * @Author: lxk0301 https://github.com/lxk0301 + * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-08-19 16:12:40 - * @Last Modified by: lxk0301 + * @Last Modified by: LXK9301 * @Last Modified time: 2021-1-7 17:52:54 */ const querystring = require("querystring"); const $ = new Env(); // =======================================微信server酱通知设置区域=========================================== //此处填你申请的SCKEY. -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入PUSH_KEY) +//(环境变量名 PUSH_KEY) let SCKEY = ''; // =======================================QQ酷推通知设置区域=========================================== //此处填你申请的SKEY(具体详见文档 https://cp.xuthus.cc/) -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入QQ_SKEY) +//(环境变量名 QQ_SKEY) let QQ_SKEY = ''; //此处填写私聊或群组推送,默认私聊(send[私聊]、group[群聊]、wx[个微]、ww[企微]、email[邮件]) let QQ_MODE = 'send'; @@ -30,28 +30,28 @@ let BARK_SOUND = ''; // =======================================telegram机器人通知设置区域=========================================== //此处填你telegram bot 的Token,例如:1077xxx4424:AAFjv0FcqxxxxxxgEMGfi22B4yh15R5uw -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入TG_BOT_TOKEN) +//(环境变量名 TG_BOT_TOKEN) let TG_BOT_TOKEN = ''; //此处填你接收通知消息的telegram用户的id,例如:129xxx206 -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入TG_USER_ID) +//(环境变量名 TG_USER_ID) let TG_USER_ID = ''; // =======================================钉钉机器人通知设置区域=========================================== //此处填你钉钉 bot 的webhook,例如:5a544165465465645d0f31dca676e7bd07415asdasd -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入DD_BOT_TOKEN) +//(环境变量名 DD_BOT_TOKEN) let DD_BOT_TOKEN = ''; //密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 let DD_BOT_SECRET = ''; // =======================================企业微信机器人通知设置区域=========================================== //此处填你企业微信机器人的 webhook(详见文档 https://work.weixin.qq.com/api/doc/90000/90136/91770),例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_KEY) +//(环境变量名 QYWX_KEY) let QYWX_KEY = ''; // =======================================企业微信应用消息通知设置区域=========================================== -//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,素材库图片id(见https://github.com/lxk0301/jd_scripts/issues/519) 注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001,2COXgjH2UIfERF2zxrtUOKgQ9XklUqMdGSWLBoW_lSDAdafat +//此处填你企业微信应用消息的 值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236),依次填上corpid的值,corpsecret的值,touser的值,agentid的值,素材库图片id(见https://github.com/LXK9301/jd_scripts/issues/519) 注意用,号隔开,例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001,2COXgjH2UIfERF2zxrtUOKgQ9XklUqMdGSWLBoW_lSDAdafat //增加一个选择推送消息类型,用图文消息直接填写素材库图片id的值,用卡片消息就填写0(就是数字零) -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_AM) +//(环境变量名 QYWX_AM) let QYWX_AM = ''; // =======================================iGot聚合推送通知设置区域=========================================== @@ -133,6 +133,7 @@ if (process.env.PUSH_PLUS_USER) { async function sendNotify(text, desp, params = {}) { //提供7种通知 + desp += `\n本脚本开源免费使用 By:https://github.com/LXK9301/jd_scripts`; await Promise.all([ serverNotify(text, desp),//微信server酱 pushPlusNotify(text, desp)//pushplus(推送加) From 0525e19fbc95d4c2b559c87b2e6fadc07db5e5b8 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Sat, 16 Jan 2021 17:16:40 +0800 Subject: [PATCH 0786/1259] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f43edfc..e86eedc5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 请勿使用github action、滥用github资源会封我仓库以及账号 +## 请勿使用github action、滥用github资源会封我仓库以及账号 ## 特别声明: From 937e62759c9c331de44b6837fb4e47fda21dbe6a Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Sat, 16 Jan 2021 17:21:34 +0800 Subject: [PATCH 0787/1259] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 测试同步到gitee --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e86eedc5..3ca5f6e5 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ ## 请勿使用github action、滥用github资源会封我仓库以及账号 +## GitHub:https://github.com/LXK9301/jd_scripts/tree/master + ## 特别声明: * 本仓库发布的Script项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断. From 4acd1c2ded8f6c3108ff24f621d7d01e7d6499c3 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Sat, 16 Jan 2021 18:44:21 +0800 Subject: [PATCH 0788/1259] Update lxk0301_Task.sgmodule.sgmodule --- Surge/lxk0301_Task.sgmodule.sgmodule | 1 - 1 file changed, 1 deletion(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index ea59957b..1edce249 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -1,6 +1,5 @@ #!name=LXK9301 iOS Tasks Module #!desc=iOS Tasks 模块配置 -#!system=ios # Task模块配置 By LXK9301 # GitHub主页(https://github.com/LXK9301/jd_scripts) From 39d25285b1456026b4966434f595f0167d924541 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 16 Jan 2021 19:52:20 +0800 Subject: [PATCH 0789/1259] fix --- README.md | 2 +- sendNotify.js | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 3ca5f6e5..66be7f40 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ | 活动时长 | 名称 | 脚本 | | -------- | --------------------------------- | -------------------------------------------------------------------------------------------------------- | | 长期 | 京豆变动通知 | [jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js) | -| 长期 | 领京豆额外奖励&抢京豆 | [jd_bean_home.js](https://raw.githubusercontent.com/lxk0302/jd_scripts/master/jd_bean_home.js) | +| 长期 | 领京豆额外奖励&抢京豆 | [jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js) | | 长期 | 京东多合一签到 | [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) | | 长期 | 东东超市兑换奖品 | [jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js) | | 长期 | 口袋书店 | [jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js) | diff --git a/sendNotify.js b/sendNotify.js index 1c11d41f..742bd37b 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -21,10 +21,8 @@ let QQ_MODE = 'send'; // =======================================Bark App通知设置区域=========================================== //此处填你BarkAPP的信息(IP/设备码,例如:https://api.day.app/XXXXXXXX) -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入BARK_PUSH) let BARK_PUSH = ''; //BARK app推送铃声,铃声列表去APP查看复制填写 -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入BARK_SOUND , Value输入app提供的铃声名称,例如:birdsong) let BARK_SOUND = ''; @@ -56,7 +54,6 @@ let QYWX_AM = ''; // =======================================iGot聚合推送通知设置区域=========================================== //此处填您iGot的信息(推送key,例如:https://push.hellyw.com/XXXXXXXX) -//注:此处设置github action用户填写到Settings-Secrets里面(Name输入IGOT_PUSH_KEY) let IGOT_PUSH_KEY = ''; // =======================================push+设置区域======================================= From 67192242ced1e513e955134b2c3c9f92fc58f251 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 16 Jan 2021 20:09:19 +0800 Subject: [PATCH 0790/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E7=9A=84=E6=89=8B=E6=9C=BA=E7=AB=AF=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E8=AE=A2=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 10 ++++++++++ Surge/lxk0301_Task.sgmodule.sgmodule | 10 +++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 50fceb4b..c99f6a22 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -123,3 +123,13 @@ cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd #cron "10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js,tag=健康抽奖机 # 疯狂的joy日常任务 cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 +#京喜签到 +cron "5 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js,tag=京喜签到 +#京东汽车兑换 +cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 +#京东家庭号 +cron "11 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 +#口袋书店 +cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店 +#京东年货节 +cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js,tag=京东年货节 diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 1edce249..82f97aaa 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -70,5 +70,13 @@ cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scri cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 #签到领现金 签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js - +#京东家庭号 +京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, cronexpr="1 * * * *", timeout=2200, enable=true +#京东口袋书城 +京东口袋书城 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, cronexpr="1 8,12,18 * * *", timeout=2200, enable=true +#京喜签到 +京喜签到 = type=cron,cronexp="5 8 * * *",wake-system=1,timeout=1220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js +#以为为短期活动 +#京东年货节 +京东年货节 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js From f6b0c45427214e38a4ec98b5db557fcbff94045f Mon Sep 17 00:00:00 2001 From: Akira Date: Sat, 16 Jan 2021 21:39:54 +0800 Subject: [PATCH 0791/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4dockerfile=E5=8F=8A?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E4=BB=93=E5=BA=93=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docker_build.yml | 34 +++++++ docker/Dockerfile | 30 +++--- docker/crontab_list.sh | 2 +- docker/default_task.sh | 117 +++++++---------------- docker/docker_entrypoint.sh | 147 +++-------------------------- 5 files changed, 95 insertions(+), 235 deletions(-) create mode 100644 .github/workflows/docker_build.yml diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml new file mode 100644 index 00000000..acae0b01 --- /dev/null +++ b/.github/workflows/docker_build.yml @@ -0,0 +1,34 @@ +name: 构建JD Scripts镜像 + +on: + #防止fork乱用action设置只能手动触发构建 + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: 构建并推送到Dockerhub镜像仓库 + uses: docker/build-push-action@v2 + with: + context: . + file: ./jd_scripts/Dockerfile + platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: true + tags: | + lxk0301/jd_scripts:latest diff --git a/docker/Dockerfile b/docker/Dockerfile index 6987edc7..5933d40f 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,32 +1,28 @@ FROM alpine -LABEL AUTHOR="Akira " \ - VERSION=0.1.2 \ - UPDATE_CONTENT="更新内容较多,重新阅读仓库[Readme](https://github.com/LXK9301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" +LABEL AUTHOR="none" \ + VERSION=0.1.3 + +ENV DEFAULT_LIST_FILE=crontab_list.sh \ + CUSTOM_LIST_MERGE_TYPE=append \ + REPO_URL=https://gitee.com/lxk0301/jd_scripts.git RUN set -ex \ && apk update && apk upgrade\ - && apk add --no-cache tzdata moreutils git nodejs npm curl jq\ + && apk add --no-cache tzdata git nodejs moreutils npm curl jq \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone -RUN git clone https://gitee.com/lxk0301/jd_scripts.git /scripts \ +RUN git clone ${REPO_URL} /scripts \ && cd /scripts \ && git checkout master \ && mkdir logs \ - && npm install \ - && cd /tmp \ - && npm install request + && npm install -ENV BUILD_VERSION=0.1.2 \ - DEFAULT_LIST_FILE=crontab_list.sh \ - CUSTOM_LIST_MERGE_TYPE=append - -# github action 构建 -COPY ./docker/docker_entrypoint.sh /usr/local/bin -# 本地构建 -# COPY ./docker_entrypoint.sh /usr/local/bin -RUN chmod +x /usr/local/bin/docker_entrypoint.sh +RUN cp /scripts/docker/docker_entrypoint.sh /usr/local/bin \ + && chmod +x /usr/local/bin/docker_entrypoint.sh WORKDIR /scripts ENTRYPOINT ["docker_entrypoint.sh"] + +CMD [ "crond" ] diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 611d2bae..3db5ede5 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,5 +1,5 @@ #必须要的默认定时任务请勿删除 -52 */1 * * * sh /scripts/docker/default_task.sh >> /scripts/logs/default_task.log 2>&1 +52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log diff --git a/docker/default_task.sh b/docker/default_task.sh index be216bc5..167c9760 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -1,122 +1,62 @@ #!/bin/sh set -e -echo "定时任务更新代码,git 拉取最新代码,并安装更新依赖..." -git -C /scripts pull -npm install --prefix /scripts - -######################################获取docker构建文件里面的自定义信息方法-start##################################################### -function getDockerImageLabel() { - repo=akyakya/jd_scripts - imageTag=latest - token=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull" | jq -r '.token') - digest=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/manifests/${imageTag}" | jq .config.digest -r) - labels=$(curl -s -L -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/blobs/$digest" | jq .config.Labels) - echo $labels -} -######################################获取docker构建文件里面的自定义信息方法-end##################################################### - -######################################对比版本版本号大小方法-start################################################################### -function version_gt() { - test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" -} -######################################对比版本版本号大小方法-end################################################################### - -#######################################通知用户更新镜像-start##################################################################### -echo "检查docker镜像更新更新..." -if type jq >/dev/null 2>&1; then - echo "获取dockerhub仓库镜像labels信息..." - labels=$(getDockerImageLabel) - export NOTIFY_CONTENT=$(echo $labels | jq -r .UPDATE_CONTENT) - version=$(echo $labels | jq -r .VERSION) -else - # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 - echo "当前容版版本过旧,发送镜像更新通知" - export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(https://github.com/LXK9301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" - cd /scripts/docker - node notify_docker_user.js +echo "定义定时任务合并处理用到的文件路径..." +defaultListFile="/scripts/docker/$DEFAULT_LIST_FILE" +echo "默认文件定时任务文件路径为 ${defaultListFile}" +if [ $CUSTOM_LIST_FILE ]; then + customListFile="/scripts/docker/$CUSTOM_LIST_FILE" + echo "自定义定时任务文件路径为 ${customListFile}" fi - -#通知通知用户更新镜像 -if [ ! $BUILD_VERSION ]; then - if [ $version ]; then - echo "当前容器版本为空,dockerhub仓库版本为$version,发送通知" - cd /scripts/docker - node notify_docker_user.js - fi -else - if version_gt $version $BUILD_VERSION; then - echo "当前容器版本为$BUILD_VERSION,dockerhub仓库版本为$version,发送通知" - cd /scripts/docker - node notify_docker_user.js - fi -fi -#######################################通知用户更新镜像-end##################################################################### - -##兼容旧镜像的环境变量 -if [ !$DEFAULT_LIST_FILE ]; then - defaultListFile="/scripts/docker/crontab_list.sh" -else - defaultListFile="/scripts/docker/$DEFAULT_LIST_FILE" -fi - -customListFile="/scripts/docker/$CUSTOM_LIST_FILE" mergedListFile="/scripts/docker/merged_list_file.sh" +echo "合并后定时任务文件路径为 ${mergedListFile}" -if type ts >/dev/null 2>&1; then - echo '系统已安装moreutils工具包,默认定时任务增加|ts 输出' - ##复制一个新文件来追加|ts,防止git pull的时候冲突 - cp $defaultListFile /scripts/docker/default_list.sh - defaultListFile="/scripts/docker/default_list.sh" +echo "第3步将默认定时任务列表添加到并后定时任务文件..." +cat $defaultListFile >$mergedListFile - sed -i 's/>>/|ts >>/g' $defaultListFile -fi - -echo "定时任务合并加载最新定时任务列表..." -#判断 自定义文件是否存在 是否存在 +echo "第2步判断是否存在自定义任务任务列表并追加..." if [ $CUSTOM_LIST_FILE ]; then echo "您配置了自定义任务文件:$CUSTOM_LIST_FILE,自定义任务类型为:$CUSTOM_LIST_MERGE_TYPE..." if [ -f "$customListFile" ]; then if [ $CUSTOM_LIST_MERGE_TYPE == "append" ]; then echo "合并默认定时任务文件:$DEFAULT_LIST_FILE 和 自定义定时任务文件:$CUSTOM_LIST_FILE" - cat $defaultListFile >$mergedListFile echo -e "" >>$mergedListFile cat $customListFile >>$mergedListFile elif [ $CUSTOM_LIST_MERGE_TYPE == "overwrite" ]; then - cat $customListFile >$mergedListFile - echo "$CUSTOM_LIST_FILE but file ..." echo "配置了自定义任务文件:$CUSTOM_LIST_FILE,自定义任务类型为:$CUSTOM_LIST_MERGE_TYPE..." - touch "$customListFile" + cat $customListFile >$mergedListFile else echo "配置配置了错误的自定义定时任务类型:$CUSTOM_LIST_MERGE_TYPE,自定义任务类型为只能为append或者overwrite..." - cat $defaultListFile >$mergedListFile fi else echo "配置的自定义任务文件:$CUSTOM_LIST_FILE未找到,使用默认配置$DEFAULT_LIST_FILE..." - cat $defaultListFile >$mergedListFile fi else - echo "当前使用的为默认定时任务文件 $DEFAULT_LIST_FILE ..." - cat $defaultListFile >$mergedListFile + echo "当前只使用了默认定时任务文件 $DEFAULT_LIST_FILE ..." fi -# 判断最后要加载的定时任务是否包含默认定时任务,不包含的话就加进去 +echo "第3步判断是否配置了默认脚本更新任务..." if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then echo "合并后的定时任务文件,未包含必须的默认定时任务,增加默认定时任务..." echo -e >>$mergedListFile - echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile + echo "52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile +else + sed -i "/default_task.sh/d" $mergedListFile + echo "#脚本追加默认定时任务" >>$mergedListFile + echo "52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile fi +echo "第5步判断是否配置了随即延迟参数..." if [ $RANDOM_DELAY_MAX ]; then if [ $RANDOM_DELAY_MAX -ge 1 ]; then - echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " + echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中..." sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\|jd_car_exchange.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile fi else - echo "未配置随即延迟对应的环境变量,故不设置延迟任务" + echo "未配置随即延迟对应的环境变量,故不设置延迟任务..." fi -##增加自定义shell脚本 +echo "第6步判断是否配置自定义shell执行脚本..." if [ 0"$CUSTOM_SHELL_FILE" = "0" ]; then echo "未配置自定shell脚本文件,跳过执行。" else @@ -124,6 +64,7 @@ else echo "自定义shell脚本为远程脚本,开始下在自定义远程脚本。" wget -O /scripts/docker/shell_script_mod.sh $CUSTOM_SHELL_FILE echo "下载完成,开始执行..." + echo "#远程自定义shell脚本追加定时任务" >>$mergedListFile sh -x /scripts/docker/shell_script_mod.sh echo "自定义远程shell脚本下载并执行结束。" else @@ -131,13 +72,21 @@ else echo "自定义shell脚本为docker挂载脚本文件,但是指定挂载文件不存在,跳过执行。" else echo "docker挂载的自定shell脚本,开始执行..." + echo "#docker挂载自定义shell脚本追加定时任务" >>$mergedListFile sh -x $CUSTOM_SHELL_FILE echo "docker挂载的自定shell脚本,执行结束。" fi fi fi -echo "加载最新的定时任务文件..." +echo "第7步增加 |ts 任务日志输出时间戳..." +sed -i "/\( ts\| |ts\|| ts\)/!s/>>/\|ts >>/g" $mergedListFile + +echo "第8步执行proc_file.sh脚本任务..." +sh -x /scripts/docker/shell_script_mod.sh + +echo "第9步加载最新的定时任务文件..." crontab $mergedListFile -sh -x /scripts/docker/proc_file.sh +echo "第10步将仓库的docker_entrypoint.sh脚本更新至系统/usr/local/bin/docker_entrypoint.sh内..." +cat /scripts/docker_entrypoint.sh >/usr/local/bin/docker_entrypoint.sh diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 542935ba..adb73005 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -1,142 +1,23 @@ #!/bin/sh set -e -export LANG="zh_CN.UTF-8" - -if [ $1 ]; then - echo "Currently does not support specifying startup parameters" - echo "Please delete the last command attached to $(docker run) or the configured $(command:) parameter in $(docker-compose.yml)" - echo "暂时不支持指定启动参数,请删除 docker run时最后附带的命令 或者 docker-compose.yml中的配置的command:指令 " -fi - -echo "##############################################################################" -echo "Container start , Pull the latest code..." -echo "容器启动,git 拉取最新代码..." +echo "设定远程仓库地址..." +cd /scripts +git remote set-url origin $REPO_URL +git reset --hard +echo "git pull拉取最新代码..." git -C /scripts pull +echo "npm install 安装最新依赖" npm install --prefix /scripts -echo "##############################################################################" -######################################获取docker构建文件里面的自定义信息方法-start##################################################### -function getDockerImageLabel() { - repo=akyakya/jd_scripts - imageTag=latest - token=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull" | jq -r '.token') - digest=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/manifests/${imageTag}" | jq .config.digest -r) - labels=$(curl -s -L -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Authorization: Bearer $token" "https://registry-1.docker.io/v2/${repo}/blobs/$digest" | jq .config.Labels) - echo $labels -} -######################################获取docker构建文件里面的自定义信息方法-end##################################################### +echo "------------------------------------------------执行定时任务任务shell脚本------------------------------------------------" +sh -x /scripts/docker/default_task.sh +echo "--------------------------------------------------默认定时任务执行完成---------------------------------------------------" -######################################对比版本版本号大小方法-start################################################################### -function version_gt() { - test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" -} -######################################对比版本版本号大小方法-end################################################################### - -#######################################通知用户更新镜像-start##################################################################### -echo "check docker images update..." -echo "检查docker镜像更新更新..." -if type jq >/dev/null 2>&1; then - echo "get dockerhub repo images labels..." - echo "获取dockerhub仓库镜像labels信息..." - labels=$(getDockerImageLabel) - export NOTIFY_CONTENT=$(echo $labels | jq -r .UPDATE_CONTENT) - version=$(echo $labels | jq -r .VERSION) +if [ $run_cmd == 'crond' ]; then + echo "Start crontab task main process..." + echo "启动crondtab定时任务主进程..." + crond -f else - # 第一版通知逻辑无法包含在上面判断里面,镜像构建好直接开启通知 - echo "Current container version is too old, send update notification" - echo "当前版本过旧,发送镜像更新通知" - export NOTIFY_CONTENT="更新内容较多,重新阅读仓库Readme(https://github.com/LXK9301/jd_scripts/tree/master/docker),更新镜像并更新配置后使用。" - cd /scripts/docker - node notify_docker_user.js + echo "默认定时任务执行结束。" fi - -#通知通知用户更新镜像 -if [ ! $BUILD_VERSION ]; then - if [ $version ]; then - echo "Current container version is empty, dockerhub lastet $version, send update notification" - echo "当前容器版本为空,dockerhub仓库版本为$version,发送更新通知" - cd /scripts/docker - node notify_docker_user.js - fi -else - if version_gt $version $BUILD_VERSION; then - echo "Current container version $BUILD_VERSION, dockerhub lastet version $version, send update notification" - echo "当前容器版本为$BUILD_VERSION,dockerhub仓库版本为$version,发送通知" - cd /scripts/docker - node notify_docker_user.js - fi -fi -#######################################通知用户更新镜像-end##################################################################### - -##兼容旧镜像的环境变量 -if [ !$DEFAULT_LIST_FILE ]; then - defaultListFile="/scripts/docker/crontab_list.sh" -else - defaultListFile="/scripts/docker/$DEFAULT_LIST_FILE" -fi - -customListFile="/scripts/docker/$CUSTOM_LIST_FILE" -mergedListFile="/scripts/docker/merged_list_file.sh" - -if type ts >/dev/null 2>&1; then - echo 'moreutils tools installed, default task append |ts output' - echo '系统已安装moreutils工具包,默认定时任务增加|ts 输出' - ##复制一个新文件来追加|ts,防止git pull的时候冲突 - cp $defaultListFile /scripts/docker/default_list.sh - defaultListFile="/scripts/docker/default_list.sh" - - sed -i 's/>>/|ts >>/g' $defaultListFile -fi - -#判断 自定义文件是否存在 是否存在 -if [ $CUSTOM_LIST_FILE ]; then - echo "You have configured a custom list file: $CUSTOM_LIST_FILE, custom list merge type: $CUSTOM_LIST_MERGE_TYPE..." - echo "您配置了自定义任务文件:$CUSTOM_LIST_FILE,自定义任务类型为:$CUSTOM_LIST_MERGE_TYPE..." - if [ -f "$customListFile" ]; then - if [ $CUSTOM_LIST_MERGE_TYPE == "append" ]; then - echo "merge default list file: $DEFAULT_LIST_FILE and custom list file: $CUSTOM_LIST_FILE" - echo "合并默认定时任务文件:$DEFAULT_LIST_FILE 和 自定义定时任务文件:$CUSTOM_LIST_FILE" - cat $defaultListFile >$mergedListFile - echo -e "" >>$mergedListFile - cat $customListFile >>$mergedListFile - elif [ $CUSTOM_LIST_MERGE_TYPE == "overwrite" ]; then - cat $customListFile >$mergedListFile - echo "merge custom list file: $CUSTOM_LIST_FILE..." - echo "合并自定义任务文件:$CUSTOM_LIST_FILE" - touch "$customListFile" - else - echo "配置配置了错误的自定义定时任务类型:$CUSTOM_LIST_MERGE_TYPE,自定义任务类型为只能为append或者overwrite..." - cat $defaultListFile >$mergedListFile - fi - else - echo "Not found custom list file: $CUSTOM_LIST_FILE ,use default list file: $DEFAULT_LIST_FILE" - echo "自定义任务文件:$CUSTOM_LIST_FILE 未找到,使用默认配置$DEFAULT_LIST_FILE..." - cat $defaultListFile >$mergedListFile - fi -else - echo "The currently used is the default crontab task file: $DEFAULT_LIST_FILE ..." - echo "当前使用的为默认定时任务文件 $DEFAULT_LIST_FILE ..." - cat $defaultListFile >$mergedListFile -fi - -# 判断最后要加载的定时任务是否包含默认定时任务,不包含的话就加进去 -if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then - echo "Merged crontab task file,the required default task is not included, append default task..." - echo "合并后的定时任务文件,未包含必须的默认定时任务,增加默认定时任务..." - echo -e >>$mergedListFile - echo "52 */1 * * * sh /scripts/docker/default_task.sh |ts >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile -fi - -if [ $RANDOM_DELAY_MAX -ge 1 ]; then - echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中... " - sed -i "/\(jd_bean_sign.js\|jd_blueCoin.js\|jd_joy_reward.js\|jd_joy_steal.js\|jd_joy_feedPets.js\)/!s/node/sleep \$((RANDOM % \$RANDOM_DELAY_MAX)); node/g" $mergedListFile -fi - -echo "Load the latest crontab task file..." -echo "加载最新的定时任务文件..." -crontab $mergedListFile - -echo "Start crontab task main process..." -echo "启动crondtab定时任务主进程..." -crond -f From 9de8610b7c6ce8eb0c9898768f2d82f51d888efa Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Sat, 16 Jan 2021 22:00:55 +0800 Subject: [PATCH 0792/1259] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 66be7f40..76c6e3d6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ ## 请勿使用github action、滥用github资源会封我仓库以及账号 -## GitHub:https://github.com/LXK9301/jd_scripts/tree/master - ## 特别声明: * 本仓库发布的Script项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断. From ff98bfe358ea95263a3b29233d6540b6d4a4a66e Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Sat, 16 Jan 2021 22:02:26 +0800 Subject: [PATCH 0793/1259] Update docker_build.yml --- .github/workflows/docker_build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml index acae0b01..638bf3c3 100644 --- a/.github/workflows/docker_build.yml +++ b/.github/workflows/docker_build.yml @@ -1,5 +1,4 @@ name: 构建JD Scripts镜像 - on: #防止fork乱用action设置只能手动触发构建 workflow_dispatch: From 95081fd141b8165f7a45d0ac2786255ecf32d3a4 Mon Sep 17 00:00:00 2001 From: Akira Date: Sat, 16 Jan 2021 22:05:32 +0800 Subject: [PATCH 0794/1259] Update docker_build.yml --- .github/workflows/docker_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml index 638bf3c3..7f115288 100644 --- a/.github/workflows/docker_build.yml +++ b/.github/workflows/docker_build.yml @@ -26,7 +26,7 @@ jobs: uses: docker/build-push-action@v2 with: context: . - file: ./jd_scripts/Dockerfile + file: ./docker/Dockerfile platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 push: true tags: | From 8b3c716c5136cd679ea2ae6b007b34fd0aea375d Mon Sep 17 00:00:00 2001 From: Akira Date: Sat, 16 Jan 2021 22:30:22 +0800 Subject: [PATCH 0795/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9docker=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 2 +- docker/example/custom-append.yml | 9 ++++++++- docker/example/custom-overwrite.yml | 9 ++++++++- docker/example/default.yml | 9 ++++++++- docker/example/docker多账户使用独立容器使用说明.md | 8 ++++---- docker/example/jd_scripts.custom-append.syno.json | 2 +- docker/example/jd_scripts.custom-overwrite.syno.json | 2 +- docker/example/jd_scripts.syno.json | 2 +- docker/example/multi.yml | 8 ++++---- 9 files changed, 36 insertions(+), 15 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 167c9760..7bd69cff 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -89,4 +89,4 @@ echo "第9步加载最新的定时任务文件..." crontab $mergedListFile echo "第10步将仓库的docker_entrypoint.sh脚本更新至系统/usr/local/bin/docker_entrypoint.sh内..." -cat /scripts/docker_entrypoint.sh >/usr/local/bin/docker_entrypoint.sh +cat /scripts/docker/docker_entrypoint.sh >/usr/local/bin/docker_entrypoint.sh diff --git a/docker/example/custom-append.yml b/docker/example/custom-append.yml index b685384d..fc3beea9 100644 --- a/docker/example/custom-append.yml +++ b/docker/example/custom-append.yml @@ -1,5 +1,5 @@ jd_scripts: - image: akyakya/jd_scripts + image: lxk0301/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) # 经过实际测试,建议不低于200M # deploy: @@ -13,7 +13,14 @@ jd_scripts: - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh - ./logs:/scripts/logs tty: true + # 因为更换仓库地址可能git pull的dns解析不到,可以在配置追加hosts + extra_hosts: + - "gitee.com:180.97.125.228" + - "github.com:13.229.188.59" + - "raw.githubusercontent.com:151.101.228.133" environment: + #脚本更新仓库地址,配置了会切换到对应的地址 + - REPO_URL=https://gitee.com/lxk0301/jd_scripts.git # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 #jd cookies # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX diff --git a/docker/example/custom-overwrite.yml b/docker/example/custom-overwrite.yml index 9e920f7e..302528b7 100644 --- a/docker/example/custom-overwrite.yml +++ b/docker/example/custom-overwrite.yml @@ -1,5 +1,5 @@ jd_scripts: - image: akyakya/jd_scripts + image: lxk0301/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) # 经过实际测试,建议不低于200M # deploy: @@ -13,7 +13,14 @@ jd_scripts: - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh - ./logs:/scripts/logs tty: true + # 因为更换仓库地址可能git pull的dns解析不到,可以在配置追加hosts + extra_hosts: + - "gitee.com:180.97.125.228" + - "github.com:13.229.188.59" + - "raw.githubusercontent.com:151.101.228.133" environment: + #脚本更新仓库地址,配置了会切换到对应的地址 + - REPO_URL=https://gitee.com/lxk0301/jd_scripts.git # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 #jd cookies # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX diff --git a/docker/example/default.yml b/docker/example/default.yml index e9716b16..d4c31b62 100644 --- a/docker/example/default.yml +++ b/docker/example/default.yml @@ -1,5 +1,5 @@ jd_scripts: - image: akyakya/jd_scripts + image: lxk0301/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%) # 经过实际测试,建议不低于200M # deploy: @@ -12,7 +12,14 @@ jd_scripts: volumes: - ./logs:/scripts/logs tty: true + # 因为更换仓库地址可能git pull的dns解析不到,可以在配置追加hosts + extra_hosts: + - "gitee.com:180.97.125.228" + - "github.com:13.229.188.59" + - "raw.githubusercontent.com:151.101.228.133" environment: + #脚本更新仓库地址,配置了会切换到对应的地址 + - REPO_URL=https://gitee.com/lxk0301/jd_scripts.git # 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除 #jd cookies # 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX diff --git a/docker/example/docker多账户使用独立容器使用说明.md b/docker/example/docker多账户使用独立容器使用说明.md index 87c40e4a..4fd879d3 100644 --- a/docker/example/docker多账户使用独立容器使用说明.md +++ b/docker/example/docker多账户使用独立容器使用说明.md @@ -10,7 +10,7 @@ version: "3" services: jd_scripts1: #默认 - image: akyakya/jd_scripts + image: lxk0301/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过 0.2(单核的20%) # 经过实际测试,建议不低于200M # deploy: @@ -32,7 +32,7 @@ services: # - PLANT_BEAN_SHARECODES= jd_scripts2: #默认 - image: akyakya/jd_scripts + image: lxk0301/jd_scripts restart: always container_name: jd_scripts2 tty: true @@ -43,7 +43,7 @@ services: - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - TG_USER_ID=12xxxx206 jd_scripts4: #自定义追加默认之后 - image: akyakya/jd_scripts + image: lxk0301/jd_scripts restart: always container_name: jd_scripts4 tty: true @@ -56,7 +56,7 @@ services: - TG_USER_ID=12xxxx206 - CUSTOM_LIST_FILE=my_crontab_list.sh jd_scripts5: #自定义覆盖默认 - image: akyakya/jd_scripts + image: lxk0301/jd_scripts restart: always container_name: jd_scripts5 tty: true diff --git a/docker/example/jd_scripts.custom-append.syno.json b/docker/example/jd_scripts.custom-append.syno.json index e6fdce53..a2da16f2 100644 --- a/docker/example/jd_scripts.custom-append.syno.json +++ b/docker/example/jd_scripts.custom-append.syno.json @@ -31,7 +31,7 @@ ], "exporting" : false, "id" : "3a2f6f27c23f93bc104585c22569c760cc9ce82df09cdb41d53b491fe1d0341c", - "image" : "akyakya/jd_scripts", + "image" : "lxk0301/jd_scripts", "is_ddsm" : false, "is_package" : false, "links" : [], diff --git a/docker/example/jd_scripts.custom-overwrite.syno.json b/docker/example/jd_scripts.custom-overwrite.syno.json index d75581f8..e4e05fb3 100644 --- a/docker/example/jd_scripts.custom-overwrite.syno.json +++ b/docker/example/jd_scripts.custom-overwrite.syno.json @@ -35,7 +35,7 @@ ], "exporting" : false, "id" : "3a2f6f27c23f93bc104585c22569c760cc9ce82df09cdb41d53b491fe1d0341c", - "image" : "akyakya/jd_scripts", + "image" : "lxk0301/jd_scripts", "is_ddsm" : false, "is_package" : false, "links" : [], diff --git a/docker/example/jd_scripts.syno.json b/docker/example/jd_scripts.syno.json index 61acfd6e..189b047c 100644 --- a/docker/example/jd_scripts.syno.json +++ b/docker/example/jd_scripts.syno.json @@ -51,7 +51,7 @@ ], "exporting" : false, "id" : "18af38bc0ac37a40e4b9608a86fef56c464577cc160bbdddec90155284fcf4e5", - "image" : "akyakya/jd_scripts", + "image" : "lxk0301/jd_scripts", "is_ddsm" : false, "is_package" : false, "links" : [], diff --git a/docker/example/multi.yml b/docker/example/multi.yml index 64606cbc..a02de0d0 100644 --- a/docker/example/multi.yml +++ b/docker/example/multi.yml @@ -1,7 +1,7 @@ version: "3" services: jd_scripts1: #默认 - image: akyakya/jd_scripts + image: lxk0301/jd_scripts # 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过 0.2(单核的20%) # 经过实际测试,建议不低于200M # deploy: @@ -23,7 +23,7 @@ services: # - PLANT_BEAN_SHARECODES= jd_scripts2: #默认 - image: akyakya/jd_scripts + image: lxk0301/jd_scripts restart: always container_name: jd_scripts2 tty: true @@ -34,7 +34,7 @@ services: - TG_BOT_TOKEN=130xxxx280:AAExxxxxxWP10zNf91WQ - TG_USER_ID=12xxxx206 jd_scripts4: #自定义追加默认之后 - image: akyakya/jd_scripts + image: lxk0301/jd_scripts restart: always container_name: jd_scripts4 tty: true @@ -47,7 +47,7 @@ services: - TG_USER_ID=12xxxx206 - CUSTOM_LIST_FILE=my_crontab_list.sh jd_scripts5: #自定义覆盖默认 - image: akyakya/jd_scripts + image: lxk0301/jd_scripts restart: always container_name: jd_scripts5 tty: true From 3e4af5421245ebe911108cba8081a2c2d2be3d14 Mon Sep 17 00:00:00 2001 From: Akira Date: Sat, 16 Jan 2021 22:43:41 +0800 Subject: [PATCH 0796/1259] =?UTF-8?q?=E4=BF=AE=E6=AD=A3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 7bd69cff..8ccd94b3 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -83,7 +83,7 @@ echo "第7步增加 |ts 任务日志输出时间戳..." sed -i "/\( ts\| |ts\|| ts\)/!s/>>/\|ts >>/g" $mergedListFile echo "第8步执行proc_file.sh脚本任务..." -sh -x /scripts/docker/shell_script_mod.sh +sh -x /scripts/docker/proc_file.sh echo "第9步加载最新的定时任务文件..." crontab $mergedListFile From a50d0f0662b64bfd2508ee1cd112ba066f7ebf29 Mon Sep 17 00:00:00 2001 From: Akira Date: Sat, 16 Jan 2021 22:47:33 +0800 Subject: [PATCH 0797/1259] Update docker_entrypoint.sh --- docker/docker_entrypoint.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index adb73005..6fc71550 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -1,6 +1,11 @@ #!/bin/sh set -e +#获取配置的自定义参数 +if [ $1 ]; then + run_cmd=$1 +fi + echo "设定远程仓库地址..." cd /scripts git remote set-url origin $REPO_URL @@ -14,7 +19,7 @@ echo "------------------------------------------------执行定时任务任务sh sh -x /scripts/docker/default_task.sh echo "--------------------------------------------------默认定时任务执行完成---------------------------------------------------" -if [ $run_cmd == 'crond' ]; then +if [ $run_cmd ]; then echo "Start crontab task main process..." echo "启动crondtab定时任务主进程..." crond -f From 83cba030faef72322df782ff17f135e361836a87 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 16 Jan 2021 23:53:20 +0800 Subject: [PATCH 0798/1259] fix --- Loon/lxk0301_LoonTask.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index c99f6a22..625416d1 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -2,8 +2,8 @@ # GitHub主页(https://github.com/LXK9301/jd_scripts) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) -# Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/LXK9301_LoonTask.conf -# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/LXK9301_LoonTask.conf) +# Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf +# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com # 东东农场 From 4687b230ba8f4bbf0328221de00496d364088dc8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 00:25:37 +0800 Subject: [PATCH 0799/1259] =?UTF-8?q?=E7=A7=8D=E8=B1=86=EF=BC=8C=E8=90=8C?= =?UTF-8?q?=E5=AE=A0=EF=BC=8C=E6=B0=B4=E6=9E=9C=E7=AD=89=E8=84=9A=E6=9C=AC?= =?UTF-8?q?iOS=E7=AB=AF=E4=B9=9F=E6=94=AF=E6=8C=81=E5=A4=9A=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E8=BF=90=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 19 ++++++++++++++++++- jd_pet.js | 19 ++++++++++++++++++- jd_plantBean.js | 19 ++++++++++++++++++- 3 files changed, 54 insertions(+), 3 deletions(-) diff --git a/jd_fruit.js b/jd_fruit.js index e077d5c5..4b60bb0b 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1303,7 +1303,13 @@ function requireConfig() { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + 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); } console.log(`共${cookiesArr.length}个京东账号\n`) if ($.isNode()) { @@ -1435,5 +1441,16 @@ function taskUrl(function_id, body = {}) { timeout: 10000, } } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_pet.js b/jd_pet.js index 29b2f4f7..fd1fca48 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -501,7 +501,13 @@ function requireConfig() { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + 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); } console.log(`共${cookiesArr.length}个京东账号\n`) if ($.isNode()) { @@ -631,5 +637,16 @@ function taskUrl(function_id, body = {}) { } }; } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_plantBean.js b/jd_plantBean.js index 46723227..89ef4a43 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -575,7 +575,13 @@ function requireConfig() { }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - cookiesArr.push(...[$.getdata('CookieJD'), $.getdata('CookieJD2')]); + 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); } console.log(`共${cookiesArr.length}个京东账号\n`) if ($.isNode()) { @@ -745,5 +751,16 @@ function getParam(url, name) { if (r != null) return unescape(r[2]); return null; } +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} From 7669335815990ca026ca0d4b421ea49be2056a23 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 00:26:58 +0800 Subject: [PATCH 0800/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E8=B4=A6=E5=8F=B7=E5=8F=82=E5=8A=A0=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E8=B4=A6=E5=8F=B7=E5=BC=80=E7=9A=84=E5=9B=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 52fda47d..71dfb529 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2021-1-9 +更新时间:2021-1-17 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -36,6 +36,7 @@ const jxOpenUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%2 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@0WtCMPNq7jekehT6d3AbFw==', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +$.tuanIds = []; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { cookiesArr.push(jdCookieNode[item]) @@ -83,6 +84,17 @@ if ($.isNode()) { await jdDreamFactory() } } + for (let i = 0; i < cookiesArr.length; i++) { + if (cookiesArr[i]) { + $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) + console.log(`${$.UserName}去参加第一个cookie账号开的团`) + cookie = cookiesArr[i]; + if ($.tuanIds.length > 0) { + await JoinTuan($.tuanIds[0]); + } + await joinLeaderTuan();//参团 + } + } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -94,7 +106,7 @@ if ($.isNode()) { async function jdDreamFactory() { await userInfo(); await QueryFriendList();//查询今日招工情况以及剩余助力次数 - await joinLeaderTuan();//参团 + // await joinLeaderTuan();//参团 await helpFriends(); if (!$.unActive) return await getUserElectricity(); @@ -893,6 +905,7 @@ async function tuanActivity() { } } } else { + $.tuanIds.push(tuanId); $.log(`\n此团未达领取团奖励人数:${tuanNum}人\n`) } } From 9a9ff2ef6472c2bd6936a9472386935bb0c3da59 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 12:06:03 +0800 Subject: [PATCH 0801/1259] update --- jd_joy_help.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/jd_joy_help.js b/jd_joy_help.js index 7c3d10ce..f27e9dff 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -1,7 +1,7 @@ /** 宠汪汪强制为别人助力(助力一个好友你自己可以获得30积分,一天上限是帮助3个好友,自己获得90积分,不管助力是否成功,对方都会成为你的好友) 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js -更新时间:2020-11-12 +更新时间:2021-1-17 目前提供了304位好友的friendPin供使用。脚本随机从里面获取一个,助力成功后,退出小程序重新点击进去开始助力新的好友 欢迎大家使用 https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 (currentPage=1表示第一页好友,=2表示第二页好友) 提供各自账号列表的friendPin给我 @@ -31,13 +31,16 @@ http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?re https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 **/ let url = $request.url -const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] -//随机生成m(小)到n(大)的数,包含m和n -function randomFriendPin(m,n) { - return Math.round(Math.random()*(n - m) + m); +const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] +/** + * 生成随机数字 + * @param {number} min 最小值(包含) + * @param {number} max 最大值(不包含) + */ +function randomNumber(min = 0, max = 100) { + return Math.min(Math.floor(min + Math.random() * (max - min)), max); } -let friendPin = friendsArr[randomFriendPin(0, friendsArr.length - 1)] //强制为对方助力,可成为好友关系 -friendPin = encodeURI(friendPin); +let friendPin = encodeURI(friendsArr[randomNumber(0, friendsArr.length)]) //强制为对方助力,可成为好友关系 const timestamp = new Date().getTime() newUrl = url.replace(/friendPin=.*?$/i, "friendPin=" + friendPin).replace(/invitePin=.*?$/i, "invitePin=" + friendPin).replace(/inviteTimeStamp=.*?$/i, "inviteTimeStamp=" + timestamp + "&") console.log(newUrl) From f56ca59331b6e98cd73ce014ca22322a3a1a0c07 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 12:22:41 +0800 Subject: [PATCH 0802/1259] update --- jd_joy_steal.js | 65 ++++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 20dfa19a..6d3b3c23 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -20,7 +20,7 @@ const $ = new Env('宠汪汪偷好友积分与狗粮'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - +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()) { @@ -42,7 +42,6 @@ let message = '', subTitle = ''; let jdNotify = false;//是否开启静默运行,false关闭静默运行(即通知),true打开静默运行(即不通知) let jdJoyHelpFeed = false;//是否给好友喂食,false为不给喂食,true为给好友喂食,默认不给好友喂食 let jdJoyStealCoin = true;//是否偷好友积分与狗粮,false为否,true为是,默认是偷 -const weAppUrl = 'https://draw.jdfcloud.com//pet'; const JD_API_HOST = 'https://jdjoy.jd.com/pet' !(async () => { if (!cookiesArr[0]) { @@ -80,40 +79,46 @@ const JD_API_HOST = 'https://jdjoy.jd.com/pet' $.done(); }) async function jdJoySteal() { - await getFriends(); - if ($.getFriendsData && $.getFriendsData.success) { - message += `【京东账号${$.index}】${$.nickName}\n`; - await getCoinChanges(); - if ($.getFriendsData && $.getFriendsData.datas && $.getFriendsData.datas.length > 0) { - const { lastPage } = $.getFriendsData.page; - console.log('lastPage', lastPage) - $.allFriends = []; - for (let i = 1; i <= new Array(lastPage).fill('').length; i++) { - console.log(`开始查询第${i}页好友\n`); - await getFriends(i); - $.allFriends = $.allFriends.concat($.getFriendsData.datas); - } - for (let index = 0; index < $.allFriends.length; index ++) { - //剔除自己 - if (!$.allFriends[index].stealStatus) { - $.allFriends.splice(index, 1); + try { + $.helpFood = 0; + $.stealFriendCoin = 0; + $.stealFood = 0; + await getFriends(); + // $.log('data', JSON.stringify($.getFriendsData.datas)) + if ($.getFriendsData && $.getFriendsData.success) { + message += `【京东账号${$.index}】${$.nickName}\n`; + await getCoinChanges();//查询喂食好友和偷好友积分是否已达上限 + if ($.getFriendsData && $.getFriendsData.datas && $.getFriendsData.datas.length > 0) { + const { lastPage } = $.getFriendsData.page; + console.log('lastPage', lastPage) + $.allFriends = []; + for (let i = 1; i <= new Array(lastPage).fill('').length; i++) { + console.log(`开始查询第${i}页好友\n`); + await getFriends(i); + $.allFriends = $.allFriends.concat($.getFriendsData.datas); } + for (let index = 0; index < $.allFriends.length; index ++) { + //剔除自己 + if (!$.allFriends[index].stealStatus) { + $.allFriends.splice(index, 1); + } + } + console.log(`共${$.allFriends.length}个好友`); + await Promise.all([ + stealFriendCoinFun(),//偷积分 + stealFriendsFood(),//偷好友狗粮 + helpFriendsFeed()//给好友喂食 + ]) } - console.log(`共${$.allFriends.length}个好友`); - $.helpFood = 0; - $.stealFriendCoin = 0; - $.stealFood = 0; - await Promise.all([ - stealFriendCoinFun(),//偷积分 - stealFriendsFood(),//偷好友狗粮 - helpFriendsFeed()//给好友喂食 - ]) + } else { + message += `${$.getFriendsData && $.getFriendsData.errorMessage}\n`; } - } else { - message += `${$.getFriendsData && $.getFriendsData.errorMessage}\n`; + } catch (e) { + $.logErr(e) } } async function stealFriendsFood() { + if (nowTimes.getHours() < 6) return let jdJoyStealCoinTemp; if ($.isNode() && process.env.jdJoyStealCoin) { jdJoyStealCoinTemp = `${process.env.jdJoyStealCoin}` === 'true'; From f6f8a6d62aa50a4fc6cd37605d6aaee894a99f72 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 13:12:27 +0800 Subject: [PATCH 0803/1259] fix --- Surge/lxk0301_Task.sgmodule.sgmodule | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 82f97aaa..858de890 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -71,9 +71,9 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip #签到领现金 签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js #京东家庭号 -京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, cronexpr="1 * * * *", timeout=2200, enable=true +京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js #京东口袋书城 -京东口袋书城 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, cronexpr="1 8,12,18 * * *", timeout=2200, enable=true +口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js #京喜签到 京喜签到 = type=cron,cronexp="5 8 * * *",wake-system=1,timeout=1220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js #以为为短期活动 From eb2e793e68348c64481dee72a37e009c32182c20 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 14:19:07 +0800 Subject: [PATCH 0804/1259] fix --- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 858de890..f5c54e5a 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -5,7 +5,7 @@ # GitHub主页(https://github.com/LXK9301/jd_scripts) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) -# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/LXK9301_Task.sgmodule.sgmodule +# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] #东东农场 From cdf668ad24cc2178a1e3cd778d80f7274f250c99 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 14:24:54 +0800 Subject: [PATCH 0805/1259] =?UTF-8?q?jd=5Fjoy=5Fsteal.js=E5=81=B7=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B=E7=A7=AF=E5=88=86=E4=B8=8E=E7=8B=97=E7=B2=AE=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E4=BC=98=E5=8C=96=EF=BC=8C=E7=8E=B0=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E5=85=88=E6=9F=A5=E8=AF=A2=E6=89=80=E6=9C=89=E7=9A=84=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B=E5=86=8D=E6=89=A7=E8=A1=8C=E5=81=B7=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E3=80=82=E8=80=8C=E6=98=AF=E6=9F=A5=E8=AF=A2=E4=B8=80=E9=A1=B5?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E6=89=A7=E8=A1=8C=E4=B8=80=E6=AC=A1,?= =?UTF-8?q?=E4=BE=9D=E6=AC=A1=E6=89=A7=E8=A1=8C=E3=80=82=E8=BE=BE=E5=88=B0?= =?UTF-8?q?=E4=B8=8A=E9=99=90=E5=8D=B3=E8=B7=B3=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_help.js | 2 +- jd_joy_steal.js | 166 +++++++++++++++++++++++++++--------------------- 2 files changed, 95 insertions(+), 73 deletions(-) diff --git a/jd_joy_help.js b/jd_joy_help.js index f27e9dff..dc4cceb1 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -31,7 +31,7 @@ http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?re https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 **/ let url = $request.url -const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] +const friendsArr = ["jd_45a6b5953b15b", "jd_45a6b5953b15b", "jd_704a2e5e28a66", "jd_66f5cecc1efcd", "jd_sIhNpDXJehOr", "jd_5851f32d4a083", "yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] /** * 生成随机数字 * @param {number} min 最小值(包含) diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 6d3b3c23..63fec0f9 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -3,7 +3,7 @@ jd宠汪汪偷好友积分与狗粮,及给好友喂食 偷好友积分上限是20个好友(即获得100积分),帮好友喂食上限是20个好友(即获得200积分),偷好友狗粮上限也是20个好友(最多获得120g狗粮) IOS用户支持京东双账号,NodeJs用户支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -更新时间:2020-11-03 +更新时间:2021-1-17 如果开启了给好友喂食功能,建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save */ @@ -42,7 +42,25 @@ let message = '', subTitle = ''; let jdNotify = false;//是否开启静默运行,false关闭静默运行(即通知),true打开静默运行(即不通知) let jdJoyHelpFeed = false;//是否给好友喂食,false为不给喂食,true为给好友喂食,默认不给好友喂食 let jdJoyStealCoin = true;//是否偷好友积分与狗粮,false为否,true为是,默认是偷 -const JD_API_HOST = 'https://jdjoy.jd.com/pet' +const JD_API_HOST = 'https://jdjoy.jd.com/pet'; +//是否给好友喂食 +let ctrTemp; +if ($.isNode() && process.env.JOY_HELP_FEED) { + ctrTemp = `${process.env.JOY_HELP_FEED}` === 'true'; +} else if ($.getdata('jdJoyHelpFeed')) { + ctrTemp = $.getdata('jdJoyHelpFeed') === 'true'; +} else { + ctrTemp = `${jdJoyHelpFeed}` === 'true'; +} +//是否偷好友狗粮 +let jdJoyStealCoinTemp; +if ($.isNode() && process.env.jdJoyStealCoin) { + jdJoyStealCoinTemp = `${process.env.jdJoyStealCoin}` === 'true'; +} else if ($.getdata('jdJoyStealCoin')) { + jdJoyStealCoinTemp = $.getdata('jdJoyStealCoin') === 'true'; +} else { + jdJoyStealCoinTemp = `${jdJoyStealCoin}` === 'true'; +} !(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"}); @@ -83,32 +101,62 @@ async function jdJoySteal() { $.helpFood = 0; $.stealFriendCoin = 0; $.stealFood = 0; - await getFriends(); - // $.log('data', JSON.stringify($.getFriendsData.datas)) + message += `【京东账号${$.index}】${$.nickName}\n`; + await getFriends();//查询是否有好友 + await getCoinChanges();//查询喂食好友和偷好友积分是否已达上限 if ($.getFriendsData && $.getFriendsData.success) { - message += `【京东账号${$.index}】${$.nickName}\n`; - await getCoinChanges();//查询喂食好友和偷好友积分是否已达上限 if ($.getFriendsData && $.getFriendsData.datas && $.getFriendsData.datas.length > 0) { const { lastPage } = $.getFriendsData.page; - console.log('lastPage', lastPage) + // console.log('lastPage', lastPage) + console.log(`\n共 ${lastPage * 20 - 1} 个好友\n`); $.allFriends = []; for (let i = 1; i <= new Array(lastPage).fill('').length; i++) { - console.log(`开始查询第${i}页好友\n`); - await getFriends(i); - $.allFriends = $.allFriends.concat($.getFriendsData.datas); - } - for (let index = 0; index < $.allFriends.length; index ++) { - //剔除自己 - if (!$.allFriends[index].stealStatus) { - $.allFriends.splice(index, 1); + if ($.visit_friend >= 100 || $.stealFriendCoin * 1 >= 100) { + console.log('偷好友积分已达上限(已获得100积分) 跳出\n') + $.stealFriendCoin = `已达上限(已获得100积分)`; + break } + console.log(`偷好友积分 开始查询第${i}页好友\n`); + await getFriends(i); + $.allFriends = $.getFriendsData.datas; + await stealFriendCoinFun(); + } + for (let i = 1; i <= new Array(lastPage).fill('').length; i++) { + if ($.stealStatus === 'chance_full') { + console.log('偷好友狗粮已达上限 跳出\n') + if (!$.stealFood) { + $.stealFood = `已达上限`; + } + break + } + if (nowTimes.getHours() < 6) { + $.log('偷好友狗粮 未到6点时间') + break + } + console.log(`偷好友狗粮 开始查询第${i}页好友\n`); + await getFriends(i); + $.allFriends = $.getFriendsData.datas; + await stealFriendsFood(); + } + for (let i = 1; i <= new Array(lastPage).fill('').length; i++) { + if ($.help_feed >= 200 || ($.helpFeedStatus && $.helpFeedStatus === 'chance_full')) { + console.log('帮好友喂食已达上限(已帮喂20个好友获得200积分) 跳出\n'); + $.helpFood = '已达上限(已帮喂20个好友获得200积分)' + break + } + if ($.helpFeedStatus && $.helpFeedStatus === 'food_insufficient') { + console.log('帮好友喂食失败,狗粮不足10g 跳出\n'); + break + } + if (!ctrTemp) { + console.log('您已设置不为好友喂食,现在跳过喂食,如需为好友喂食请在BoxJs打开喂食开关或者更改脚本 jdJoyHelpFeed 处'); + break + } + console.log(`帮好友喂食 开始查询第${i}页好友\n`); + await getFriends(i); + $.allFriends = $.getFriendsData.datas; + await helpFriendsFeed(); } - console.log(`共${$.allFriends.length}个好友`); - await Promise.all([ - stealFriendCoinFun(),//偷积分 - stealFriendsFood(),//偷好友狗粮 - helpFriendsFeed()//给好友喂食 - ]) } } else { message += `${$.getFriendsData && $.getFriendsData.errorMessage}\n`; @@ -118,59 +166,42 @@ async function jdJoySteal() { } } async function stealFriendsFood() { - if (nowTimes.getHours() < 6) return - let jdJoyStealCoinTemp; - if ($.isNode() && process.env.jdJoyStealCoin) { - jdJoyStealCoinTemp = `${process.env.jdJoyStealCoin}` === 'true'; - } else if ($.getdata('jdJoyStealCoin')) { - jdJoyStealCoinTemp = $.getdata('jdJoyStealCoin') === 'true'; - } else { - jdJoyStealCoinTemp = `${jdJoyStealCoin}` === 'true'; - } - if (jdJoyStealCoinTemp) { - console.log(`开始偷好友狗粮`); - for (let friends of $.allFriends) { - const { friendPin, status, stealStatus } = friends; - console.log(`stealFriendsFood---好友【${friendPin}】--偷食状态:${stealStatus}\n`); - // console.log(`stealFriendsFood---好友【${friendPin}】--喂食状态:${status}\n`); - if (stealStatus === 'can_steal') { - //可偷狗粮 - //偷好友狗粮 - console.log(`发现好友【${friendPin}】可偷狗粮\n`) - await enterFriendRoom(friendPin); - await doubleRandomFood(friendPin); - const getRandomFoodRes = await getRandomFood(friendPin); - console.log(`偷好友狗粮结果:${JSON.stringify(getRandomFoodRes)}`) - if (getRandomFoodRes && getRandomFoodRes.success) { - if (getRandomFoodRes.errorCode === 'steal_ok') { - $.stealFood += getRandomFoodRes.data; - } else if (getRandomFoodRes.errorCode === 'chance_full') { - console.log('偷好友狗粮已达上限,跳出循环'); - break; - } + console.log(`开始偷好友狗粮`); + for (let friends of $.allFriends) { + const { friendPin, status, stealStatus } = friends; + $.stealStatus = stealStatus; + console.log(`stealFriendsFood---好友【${friendPin}】--偷食状态:${stealStatus}\n`); + // console.log(`stealFriendsFood---好友【${friendPin}】--喂食状态:${status}\n`); + if (stealStatus === 'can_steal') { + //可偷狗粮 + //偷好友狗粮 + console.log(`发现好友【${friendPin}】可偷狗粮\n`) + await enterFriendRoom(friendPin); + await doubleRandomFood(friendPin); + const getRandomFoodRes = await getRandomFood(friendPin); + console.log(`偷好友狗粮结果:${JSON.stringify(getRandomFoodRes)}`) + if (getRandomFoodRes && getRandomFoodRes.success) { + if (getRandomFoodRes.errorCode === 'steal_ok') { + $.stealFood += getRandomFoodRes.data; + } else if (getRandomFoodRes.errorCode === 'chance_full') { + console.log('偷好友狗粮已达上限,跳出循环'); + break; } - } else if (stealStatus === 'chance_full') { - console.log('偷好友狗粮已达上限,跳出循环'); - break; } + } else if (stealStatus === 'chance_full') { + console.log('偷好友狗粮已达上限,跳出循环'); + break; } } } //偷好友积分 async function stealFriendCoinFun() { - let jdJoyStealCoinTemp; - if ($.isNode() && process.env.jdJoyStealCoin) { - jdJoyStealCoinTemp = `${process.env.jdJoyStealCoin}` === 'true'; - } else if ($.getdata('jdJoyStealCoin')) { - jdJoyStealCoinTemp = $.getdata('jdJoyStealCoin') === 'true'; - } else { - jdJoyStealCoinTemp = `${jdJoyStealCoin}` === 'true'; - } if (jdJoyStealCoinTemp) { if ($.visit_friend !== 100) { console.log('开始偷好友积分') for (let friends of $.allFriends) { const { friendPin } = friends; + if (friendPin === $.UserName) continue await stealFriendCoin(friendPin);//领好友积分 if ($.stealFriendCoin * 1 === 100) { console.log(`偷好友积分已达上限${$.stealFriendCoin}个,现跳出循环`) @@ -186,24 +217,15 @@ async function stealFriendCoinFun() { //给好友喂食 async function helpFriendsFeed() { if ($.help_feed !== 200) { - //可给好友喂食 - let ctrTemp; - if ($.isNode() && process.env.JOY_HELP_FEED) { - ctrTemp = `${process.env.JOY_HELP_FEED}` === 'true'; - } else if ($.getdata('jdJoyHelpFeed')) { - ctrTemp = $.getdata('jdJoyHelpFeed') === 'true'; - } else { - ctrTemp = `${jdJoyHelpFeed}` === 'true'; - } if (ctrTemp) { console.log(`\n开始给好友喂食`); for (let friends of $.allFriends) { const { friendPin, status, stealStatus } = friends; - // console.log(`\nhelpFriendsFeed---好友【${friendPin}】--偷食状态:${stealStatus}`); console.log(`\nhelpFriendsFeed---好友【${friendPin}】--喂食状态:${status}`); if (status === 'not_feed') { const helpFeedRes = await helpFeed(friendPin); // console.log(`帮忙喂食结果--${JSON.stringify(helpFeedRes)}`) + $.helpFeedStatus = helpFeedRes.errorCode; if (helpFeedRes && helpFeedRes.errorCode === 'help_ok' && helpFeedRes.success) { console.log(`帮好友[${friendPin}]喂食10g狗粮成功,你获得10积分\n`); $.helpFood += 10; From deb0359b3efbac0466da24f14cc6cc8c3f583e9c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 14:29:30 +0800 Subject: [PATCH 0806/1259] update --- jd_dreamFactory.js | 2 +- jd_fruit.js | 4 ++-- jd_jdfactory.js | 2 +- jd_joy_run.js | 4 ++-- jd_pet.js | 2 +- jd_plantBean.js | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 71dfb529..eceba219 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1313,7 +1313,7 @@ async function showMsg() { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/jxfactory/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { + $.get({url: `http://jd.turinglabs.net/api/v2/jd/jxfactory/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_fruit.js b/jd_fruit.js index 4b60bb0b..ccc90176 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -29,7 +29,7 @@ let cookiesArr = [], cookie = '', jdFruitShareArr = [], isBox = false, notify, n //下面给出两个账号的填写示例(iOS只支持2个京东账号) let shareCodes = [ // 这个列表填入你要助力的好友的shareCode //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 - '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a@', + '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a@b9d287c974cc498d94112f1b064cf934', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3@2673c3777d4443829b2a635059953a28', ] @@ -1246,7 +1246,7 @@ function timeFormat(time) { } function readShareCode() { return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/farm/read/${randomCount}/`, timeout: 10000,}, (err, resp, data) => { + $.get({url: `http://jd.turinglabs.net/api/v2/jd/farm/read/${randomCount}/`, timeout: 10000,}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 746e4ace..ad01dbe3 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -622,7 +622,7 @@ function jdfactory_getHomeData() { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/ddfactory/read/${randomCount}/`, timeout: 10000}, (err, resp, data) => { + $.get({url: `http://jd.turinglabs.net/api/v2/jd/ddfactory/read/${randomCount}/`, timeout: 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_joy_run.js b/jd_joy_run.js index 9e6979d7..73ea6a43 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -124,7 +124,7 @@ async function getToken() { $.setdata(`${count}`, 'countFlag'); $.msg($.name, '更新Token: 成功🎉', ``); console.log(`开始上传Token`) - await $.http.get({url: `http://api.turinglabs.net/api/v1/jd/joy/create/${LKYLToken}/`}).then((resp) => { + await $.http.get({url: `http://jd.turinglabs.net/api/v2/jd/joy/create/${LKYLToken}/`}).then((resp) => { if (resp.statusCode === 200) { let { body } = resp; console.log(`Token提交结果:${body}`) @@ -160,7 +160,7 @@ async function getToken() { } function readToken() { return new Promise(resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/joy/read/1/`, 'timeout': 10000}, (err, resp, data) => { + $.get({url: `http://jd.turinglabs.net/api/v2/jd/joy/read/1/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_pet.js b/jd_pet.js index fd1fca48..e75e569d 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -443,7 +443,7 @@ async function showMsg() { } function readShareCode() { return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/pet/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { + $.get({url: `http://jd.turinglabs.net/api/v2/jd/pet/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_plantBean.js b/jd_plantBean.js index 89ef4a43..2a1985f5 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -518,7 +518,7 @@ async function plantBeanIndex() { } function readShareCode() { return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/bean/read/${randomCount}/`, timeout: 10000}, (err, resp, data) => { + $.get({url: `http://jd.turinglabs.net/api/v2/jd/bean/read/${randomCount}/`, timeout: 10000}, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From d8548c7f0a15724dcd797556290f33891321b11a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 20:25:56 +0800 Subject: [PATCH 0807/1259] update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76c6e3d6..6dd31876 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## 请勿使用github action、滥用github资源会封我仓库以及账号 +## 请勿使用github action、滥用github资源会封我仓库以及账号,[详见](https://github.com/LXK9301/jd_scripts/issues/3) ## 特别声明: From b443aa2343c625663a1ff252d4fd319f3e49cb83 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 21:22:48 +0800 Subject: [PATCH 0808/1259] update --- jdDreamFactoryShareCodes.js | 2 +- jdPlantBeanShareCodes.js | 2 +- jdSuperMarketShareCodes.js | 30 ------------------------------ jd_crazy_joy.js | 2 +- jd_dreamFactory.js | 7 ++++++- jd_joy_help.js | 2 +- jd_joy_run.js | 4 ++-- jd_plantBean.js | 2 +- 8 files changed, 13 insertions(+), 38 deletions(-) delete mode 100644 jdSuperMarketShareCodes.js diff --git a/jdDreamFactoryShareCodes.js b/jdDreamFactoryShareCodes.js index cefd8b3d..b658af2e 100644 --- a/jdDreamFactoryShareCodes.js +++ b/jdDreamFactoryShareCodes.js @@ -8,7 +8,7 @@ // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let shareCodes = [ 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==@-OvElMzqeyeGBWazWYjI1Q==',//账号一的好友shareCode,不同好友中间用@符号隔开 - '1uzRU5HkaUgvy0AB5Q9VUg==@PDPM257r_KuQhil2Y7koNw==@-OvElMzqeyeGBWazWYjI1Q==',//账号二的好友shareCode,不同好友中间用@符号隔开 + '-OvElMzqeyeGBWazWYjI1Q==',//账号二的好友shareCode,不同好友中间用@符号隔开 ] // 判断github action里面是否有京喜工厂互助码 if (process.env.DREAM_FACTORY_SHARE_CODES) { diff --git a/jdPlantBeanShareCodes.js b/jdPlantBeanShareCodes.js index 73fb322c..19623e4c 100644 --- a/jdPlantBeanShareCodes.js +++ b/jdPlantBeanShareCodes.js @@ -8,7 +8,7 @@ // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 let PlantBeanShareCodes = [ '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba@olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy',//账号一的好友shareCode,不同好友中间用@符号隔开 - '4npkonnsy7xi3p6pjfxg6ct5gll42gmvnz7zgoy@6dygkptofggtp6ffhbowku3xgu@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy',//账号二的好友shareCode,不同好友中间用@符号隔开 + 'mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy',//账号二的好友shareCode,不同好友中间用@符号隔开 ] // 判断github action里面是否有种豆得豆互助码 if (process.env.PLANT_BEAN_SHARECODES) { diff --git a/jdSuperMarketShareCodes.js b/jdSuperMarketShareCodes.js deleted file mode 100644 index 3c87cc0b..00000000 --- a/jdSuperMarketShareCodes.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -京小超互助码 -此文件为Node.js专用。其他用户请忽略 -支持京东N个账号 - */ -//云服务器腾讯云函数等Node.js用户在此处填写京小超商圈的好友码。 -// 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 -// 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 -let SuperMarketShareCodes = [ - '-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaejjYv4g8T2EwnsVhQ',//账号一的好友shareCode,不同好友中间用@符号隔开 - 'aURoM7PtY_Q@eU9Ya-y2N_5z9DvXwyIV0A@eU9YaOnjYK4j-GvWmXIWhA',//账号二的好友shareCode,不同好友中间用@符号隔开 -] -// 判断github action里面是否有京小超商圈互助码 -if (process.env.SUPERMARKET_SHARECODES) { - if (process.env.SUPERMARKET_SHARECODES.indexOf('&') > -1) { - console.log(`您的京小超商圈互助码选择的是用&隔开\n`) - SuperMarketShareCodes = process.env.SUPERMARKET_SHARECODES.split('&'); - } else if (process.env.SUPERMARKET_SHARECODES.indexOf('\n') > -1) { - console.log(`您的京小超商圈互助码选择的是用换行隔开\n`) - SuperMarketShareCodes = process.env.SUPERMARKET_SHARECODES.split('\n'); - } else { - SuperMarketShareCodes = process.env.SUPERMARKET_SHARECODES.split(); - } -} else if (process.env.JD_COOKIE) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) -} -for (let i = 0; i < SuperMarketShareCodes.length; i++) { - const index = (i + 1 === 1) ? '' : (i + 1); - exports['SuperMarketShareCode' + index] = SuperMarketShareCodes[i]; -} \ No newline at end of file diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 81593b3a..84364601 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -33,7 +33,7 @@ let helpSelf = false // 循环助力,默认关闭 let applyJdBean = 0; //疯狂的JOY京豆兑换,目前最小值为2000京豆,默认为 0 不开启京豆兑换 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = [ - 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE', + 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE@KTZmB4gV4zirfc3eWGgXhA==@dtTXFsCQ3tCWnXkLY8gyL6t9zd5YaBeE@-c4jG-fMiNon5YWAJsFHL6t9zd5YaBeE@hxG_ozzxvNjPuPCbly1WtA==', 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE' ]; const randomCount = $.isNode() ? 10 : 5; diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index eceba219..1d1175e6 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -34,7 +34,12 @@ const randomCount = $.isNode() ? 20 : 5; let tuanActiveId = `6S9y4sJUfA2vPQP6TLdVIQ==`; 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 = ''; -const inviteCodes = ['V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@0WtCMPNq7jekehT6d3AbFw==', 'PDPM257r_KuQhil2Y7koNw==', "gB99tYLjvPcEFloDgamoBw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==']; +const inviteCodes = [ + 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@0WtCMPNq7jekehT6d3AbFw==', + "gB99tYLjvPcEFloDgamoBw==", + '-OvElMzqeyeGBWazWYjI1Q==', + 'GFwo6PntxDHH95ZRzZ5uAg==' +]; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; $.tuanIds = []; if ($.isNode()) { diff --git a/jd_joy_help.js b/jd_joy_help.js index dc4cceb1..a6aa2996 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -31,7 +31,7 @@ http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?re https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 **/ let url = $request.url -const friendsArr = ["jd_45a6b5953b15b", "jd_45a6b5953b15b", "jd_704a2e5e28a66", "jd_66f5cecc1efcd", "jd_sIhNpDXJehOr", "jd_5851f32d4a083", "yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] +const friendsArr = ["jd_41345a6f96aa5", "jd_45a6b5953b15b", "jd_45a6b5953b15b", "jd_704a2e5e28a66", "jd_66f5cecc1efcd", "jd_sIhNpDXJehOr", "jd_5851f32d4a083", "yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] /** * 生成随机数字 * @param {number} min 最小值(包含) diff --git a/jd_joy_run.js b/jd_joy_run.js index 73ea6a43..696c6ff0 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -39,9 +39,9 @@ const $ = new Env('宠汪汪赛跑'); const JD_BASE_API = `https://draw.jdfcloud.com//pet`; //此处填入你需要助力好友的京东用户名 //下面给出好友邀请助力的示例填写规则 -let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd"]; +let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd,jd_41345a6f96aa5"]; //下面给出好友赛跑助力的示例填写规则 -let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_45a6b5953b15b,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_704a2e5e28a66,zooooo58"]; +let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_41345a6f96aa5,jd_704a2e5e28a66,zooooo58"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); // $.LKYLToken = $.getdata('jdJoyRunToken'); const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"]; diff --git a/jd_plantBean.js b/jd_plantBean.js index 2a1985f5..6cb9fc68 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -36,7 +36,7 @@ let shareCodes = [ // IOS本地脚本用户这个列表填入你要助力的好 //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba@e7lhibzb3zek32e72n4xesxmgc2m76eju62zk3y', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - 'olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy@4npkonnsy7xi3p6pjfxg6ct5gll42gmvnz7zgoy@6dygkptofggtp6ffhbowku3xgu@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziy', + 'olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziyvnsb2r54jq34s64sc4it3jlfnejwmtmsuadax2i@eeexxudqtlampbpvmceutaaht5tcftvr6kohuny', ] let currentRoundId = null;//本期活动id let lastRoundId = null;//上期id From d8a1041eea1ea0b37fae7f757d4eeee4e1516f3d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 21:51:45 +0800 Subject: [PATCH 0809/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E5=81=9A=E4=BB=BB=E5=8A=A1=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=20=E7=82=B9=E5=A4=AA=E5=BF=AB=E4=BA=86=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdfactory.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index ad01dbe3..5c56b1c0 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -501,7 +501,7 @@ function queryVkComponent() { "Content-Type": `application/x-www-form-urlencoded`, "Accept-Encoding": `gzip, deflate, br`, "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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", "Accept-Language": `zh-Hans-CN;q=1, en-CN;q=0.9`, }, "timeout": 10000, @@ -689,13 +689,18 @@ function taskPostUrl(function_id, body = {}, function_id2) { } return { url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=9.1.0`, + 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, - "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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, } From 47615e5b0459e9131aeea7e79d9d1ca70a547518 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 17 Jan 2021 21:58:07 +0800 Subject: [PATCH 0810/1259] update --- USER_AGENTS.js | 3 ++- githubAction.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 56152292..2752842b 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -51,7 +51,8 @@ const USER_AGENTS = [ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14", "JD4iPhone/167490 (iPhone; iOS 14.3; Scale/2.00)", "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", - "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" + "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", + "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", ] /** * 生成随机数字 diff --git a/githubAction.md b/githubAction.md index 00fb7e36..6780d8b0 100644 --- a/githubAction.md +++ b/githubAction.md @@ -11,7 +11,7 @@ | Name | 归属 | 属性 | 说明 | | :---------------------: | :----------: | --------- | ------------------------------------------------------------ | | `JD_DEBUG` | 脚本打印log | 非必须 | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | -| `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。具体获取参考此[issue](https://github.com/LXK9301/jd_scripts/issues/127) | +| `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。如需使用此功能建议填写京东APP的UA | ##### 推送通知环境变量(目前提供`微信server酱`、`pushplus(推送加)`、`iOS Bark APP`、`telegram机器人`、`钉钉机器人`、`企业微信机器人`、`iGot`、`QQ酷推`等通知方式) From 8479899026b135012cbc779bec2d79629b974cd1 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 04:12:05 +0800 Subject: [PATCH 0811/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4?= =?UTF-8?q?=E5=85=BD=E9=A2=86=E7=88=86=E7=AB=B9=F0=9F=A7=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 仅仅是收集一下京东炸年兽领金币每秒产生的爆竹🧨 --- activity/jd_collectProduceScore.js | 34 +++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/activity/jd_collectProduceScore.js b/activity/jd_collectProduceScore.js index ed1032ca..130af5b2 100644 --- a/activity/jd_collectProduceScore.js +++ b/activity/jd_collectProduceScore.js @@ -1,11 +1,11 @@ /* -京东全民营业领金币 -仅仅是收集一下京东双十一全名营业每秒产生的金币 +京东炸年兽领爆竹🧨 +仅仅是收集一下京东炸年兽领金币每秒产生的爆竹🧨 每小时的第20分运行一次 20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_collectProduceScore.js */ -const $ = new Env('京东全民营业领金币'); +const $ = new Env('京东炸年兽领金币'); //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie @@ -18,8 +18,13 @@ if ($.isNode()) { if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; } else { - cookiesArr.push($.getdata('CookieJD')); - cookiesArr.push($.getdata('CookieJD2')); + 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); } let UserName = ''; const JD_API_HOST = `https://api.m.jd.com/client.action`; @@ -28,7 +33,7 @@ const JD_API_HOST = `https://api.m.jd.com/client.action`; $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } - console.log(`\n小功能::仅仅是收集一下京东双十一全名营业每秒产生的金币,建议一个小时跑一次脚本\n`) + console.log(`\n小功能::仅仅是收集一下京东炸年兽领金币每秒产生的爆竹🧨,建议一个小时跑一次脚本\n`) for (let i = 0; i < cookiesArr.length; i++) { cookie = cookiesArr[i]; if (cookie) { @@ -62,7 +67,7 @@ async function collectProduceScore() { } function stall_collectProduceScore(body) { return new Promise((resolve) => { - $.post(taskPostUrl('stall_collectProduceScore', body), (err, resp, data) => { + $.post(taskPostUrl('nian_collectProduceScore', body), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -89,7 +94,7 @@ function stall_collectProduceScore(body) { } function getHomeData() { return new Promise((resolve) => { - $.post(taskPostUrl('stall_getHomeData'), (err, resp, data) => { + $.post(taskPostUrl('nian_getHomeData'), (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -133,4 +138,17 @@ function taskPostUrl(functionId, body = {}) { } } } + +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, 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) } From 9bde0dc897af73700a625486db9096244ac9c498 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 04:15:09 +0800 Subject: [PATCH 0812/1259] Update jd_collectProduceScore.js --- activity/jd_collectProduceScore.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/activity/jd_collectProduceScore.js b/activity/jd_collectProduceScore.js index 130af5b2..0d42e55a 100644 --- a/activity/jd_collectProduceScore.js +++ b/activity/jd_collectProduceScore.js @@ -1,11 +1,11 @@ /* 京东炸年兽领爆竹🧨 -仅仅是收集一下京东炸年兽领金币每秒产生的爆竹🧨 +仅仅是收集一下京东炸年兽领爆竹活动每秒产生的爆竹🧨 每小时的第20分运行一次 20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_collectProduceScore.js */ -const $ = new Env('京东炸年兽领金币'); +const $ = new Env('京东炸年兽领爆竹🧨'); //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie From ed478903c6657dae2c71420bc8b9c49b031c4d03 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 04:23:07 +0800 Subject: [PATCH 0813/1259] Update jd_collectProduceScore.js --- activity/jd_collectProduceScore.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/activity/jd_collectProduceScore.js b/activity/jd_collectProduceScore.js index 0d42e55a..e2320eaf 100644 --- a/activity/jd_collectProduceScore.js +++ b/activity/jd_collectProduceScore.js @@ -76,9 +76,9 @@ function stall_collectProduceScore(body) { if (data) { data = JSON.parse(data); if (data && data.data.bizCode === 0) { - console.log(`京东账号${$.index} ${$.UserName}成功收集金币:${data.data.result.produceScore}个`) + console.log(`京东账号${$.index} ${$.UserName}成功收集爆竹🧨:${data.data.result.produceScore}个`) } else { - console.log(`京东账号${$.index} ${$.UserName}成功收集金币失败:${data.data.bizMsg}`) + console.log(`京东账号${$.index} ${$.UserName}成功收集爆竹🧨失败:${data.data.bizMsg}`) } } else { console.log(`请检查自身设备原因`); From d558bdd4ad50983887ddef1121c153ff593f46d5 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 18 Jan 2021 08:28:20 +0800 Subject: [PATCH 0814/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E7=82=B8=E5=B9=B4?= =?UTF-8?q?=E5=85=BD=E9=9B=86=E7=88=86=E7=AB=B9=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迁移炸年兽集爆竹脚本 --- activity/jd_collectProduceScore.js => jd_nianCollect.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename activity/jd_collectProduceScore.js => jd_nianCollect.j (99%) diff --git a/activity/jd_collectProduceScore.js b/jd_nianCollect.j similarity index 99% rename from activity/jd_collectProduceScore.js rename to jd_nianCollect.j index e2320eaf..a99ee866 100644 --- a/activity/jd_collectProduceScore.js +++ b/jd_nianCollect.j @@ -7,7 +7,7 @@ */ const $ = new Env('京东炸年兽领爆竹🧨'); //Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; +const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = ''; From a1c96bf96ea0917d71759468278e8fbfb1aa9ca4 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 08:33:35 +0800 Subject: [PATCH 0815/1259] Update and rename jd_nianCollect.j to jd_nianCollect.js --- jd_nianCollect.j => jd_nianCollect.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename jd_nianCollect.j => jd_nianCollect.js (99%) diff --git a/jd_nianCollect.j b/jd_nianCollect.js similarity index 99% rename from jd_nianCollect.j rename to jd_nianCollect.js index a99ee866..ed08f7be 100644 --- a/jd_nianCollect.j +++ b/jd_nianCollect.js @@ -3,7 +3,7 @@ 仅仅是收集一下京东炸年兽领爆竹活动每秒产生的爆竹🧨 每小时的第20分运行一次 -20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_collectProduceScore.js +20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_niancollect.js */ const $ = new Env('京东炸年兽领爆竹🧨'); //Node.js用户请在jdCookie.js处填写京东ck; From 906b72c7e5b5d0278034c9d949860630a648a675 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 08:34:03 +0800 Subject: [PATCH 0816/1259] Update jd_nianCollect.js --- jd_nianCollect.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nianCollect.js b/jd_nianCollect.js index ed08f7be..da35d1de 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -3,7 +3,7 @@ 仅仅是收集一下京东炸年兽领爆竹活动每秒产生的爆竹🧨 每小时的第20分运行一次 -20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_niancollect.js +20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js */ const $ = new Env('京东炸年兽领爆竹🧨'); //Node.js用户请在jdCookie.js处填写京东ck; From 028e6e6dbc95dac3b0afcb5ef6e83abab0ff79f1 Mon Sep 17 00:00:00 2001 From: Xinglin Qiang Date: Mon, 18 Jan 2021 08:35:33 +0800 Subject: [PATCH 0817/1259] =?UTF-8?q?=E7=94=A8rebase=E4=BB=A5=E9=A2=84?= =?UTF-8?q?=E9=98=B2=E6=BD=9C=E5=9C=A8=E7=9A=84force=20push?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/docker_entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 6fc71550..811b8556 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -11,7 +11,7 @@ cd /scripts git remote set-url origin $REPO_URL git reset --hard echo "git pull拉取最新代码..." -git -C /scripts pull +git -C /scripts pull --rebase echo "npm install 安装最新依赖" npm install --prefix /scripts From 930071395c2e469a363fe185a13951b33213b40b Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 18 Jan 2021 09:34:32 +0800 Subject: [PATCH 0818/1259] Create jd_nian.js --- jd_nian.js | 624 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 624 insertions(+) create mode 100644 jd_nian.js diff --git a/jd_nian.js b/jd_nian.js new file mode 100644 index 00000000..b27f6da5 --- /dev/null +++ b/jd_nian.js @@ -0,0 +1,624 @@ +/* +京东炸年兽🧨 +活动地址:京东app左侧浮动窗口 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东炸年兽🧨 +0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, enabled=true + +================Loon============== +[Script] +cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 + +===============Surge================= +京东炸年兽🧨 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js + +============小火箭========= +京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 8 * * *", timeout=200, 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 { + 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); +} +const JD_API_HOST = 'https://api.m.jd.com/client.action'; +const inviteCodes = [ + `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0`, + `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0` +]; +!(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 getTaskList() + await $.wait(1000) + await doTask() + await helpFriends() + 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() + }) +} +async function helpFriends() { + for (let code of $.newShareCodes) { + if (!code) continue + await getFriendData(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); + } + } + } 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); + } + } + } 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}已做完`) + } + } + } +} + +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 { + $.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}🧨`) + + 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.curLevelStartScore)){ + console.log(`去升级`) + await $.wait(2000) + await raise() + } + } + } + } 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,inviteId) { + 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 + 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 + 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.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(`您的好友助力码为${data.data.result.inviteId}`) + } + // $.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['bizCode'] === 0) { + $.itemId = data.data.result.homeMainInfo.guestInfo.itemId + await collectScore('2',$.itemId,null,inviteId) + } + } + } 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/nian/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 = [] + 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=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": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From 5e737184d3f00110c8c51418133711d25bc9e8c2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 18 Jan 2021 10:02:38 +0800 Subject: [PATCH 0819/1259] =?UTF-8?q?docker=20=E6=B7=BB=E5=8A=A0=E7=82=B8?= =?UTF-8?q?=E5=B9=B4=E5=85=BD=E4=BB=A5=E5=8F=8A=E6=94=B6=E9=9B=86=E6=AF=8F?= =?UTF-8?q?=E7=A7=92=E4=BA=A7=E7=94=9F=E7=9A=84=E7=88=86=E7=AB=B9=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 4 ++++ jd_nian.js | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 3db5ede5..bd01cdb2 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -6,6 +6,10 @@ ##############短期活动############## #年货节(活动时间:2021年1月9日-2021年2月9日) 10 8 * * * node /scripts/jd_nh.js >> /scripts/logs/jd_nh.log 2>&1 +#京东炸年兽集爆竹(活动时间:2021-1-18至2021-2-11)怕有遗漏故多运行几次 +0 8,9,10 * * * node /scripts/jd_nian.js >> /scripts/logs/jd_nian.log 2>&1 +#专门收集每秒产生的爆竹(1小时运行一次) +0 * * * * node /scripts/jd_nianCollect.js >> /scripts/logs/jd_nianCollect.log 2>&1 ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 diff --git a/jd_nian.js b/jd_nian.js index b27f6da5..5e558d5f 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -1,5 +1,8 @@ /* 京东炸年兽🧨 +活动时间: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 @@ -43,8 +46,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0`, - `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0` + `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(); From b5ad7936bf5b9d0cd2e02a1b714aa0b9f8cd288b Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 18 Jan 2021 10:10:28 +0800 Subject: [PATCH 0820/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=82=B8=E5=B9=B4=E5=85=BDtask=E3=80=81=E9=9B=86?= =?UTF-8?q?=E7=88=86=E7=AB=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增炸年兽task、集爆竹 --- serverless.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/serverless.yml b/serverless.yml index 4da99d21..de9dc3d7 100644 --- a/serverless.yml +++ b/serverless.yml @@ -34,12 +34,12 @@ inputs: cronExpression: "0 5 6-18/6,8 * * * *" enable: true argument: jd_fruit&jd_pet&jd_bookshop&jd_jxnc - - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 + - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 #炸年兽收集爆竹 parameters: - name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory + name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory_nianCollect cronExpression: "0 3 */1 * * * *" enable: true - argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory + argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory&jd_nianCollect - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券# 京东直播18豆 parameters: name: joy_reward_joy_steal_necklace_live @@ -52,12 +52,12 @@ inputs: cronExpression: "0 10 0 * * * *" enable: true argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home - - timer: # 京东天天加速# 天天提鹅 + - timer: #京东天天加速 #天天提鹅 #炸年兽 parameters: - name: jd_speed_jd_daily_egg + name: jd_speed_jd_daily_egg_nian cronExpression: "0 8 */3 * * * *" enable: true - argument: jd_speed&jd_daily_egg + argument: jd_speed&jd_daily_egg&jd_nian - timer: #东东超市 #京东家庭号 parameters: name: superMarket_family From 90c7d314664d2a7c79ff3a02073cb47a538a8c00 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 18 Jan 2021 10:17:22 +0800 Subject: [PATCH 0821/1259] Update serverless.yml --- serverless.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverless.yml b/serverless.yml index de9dc3d7..b565a9f2 100644 --- a/serverless.yml +++ b/serverless.yml @@ -34,7 +34,7 @@ inputs: cronExpression: "0 5 6-18/6,8 * * * *" enable: true argument: jd_fruit&jd_pet&jd_bookshop&jd_jxnc - - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 #炸年兽收集爆竹 + - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 #京东炸年兽领爆竹 parameters: name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory_nianCollect cronExpression: "0 3 */1 * * * *" @@ -52,7 +52,7 @@ inputs: cronExpression: "0 10 0 * * * *" enable: true argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home - - timer: #京东天天加速 #天天提鹅 #炸年兽 + - timer: #京东天天加速 #天天提鹅 #京东炸年兽 parameters: name: jd_speed_jd_daily_egg_nian cronExpression: "0 8 */3 * * * *" From 0e267ae710bdd6a01e900419b5ea38ce8a502831 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 18 Jan 2021 10:22:33 +0800 Subject: [PATCH 0822/1259] =?UTF-8?q?=E7=82=B8=E5=B9=B4=E5=85=BD,=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=92=E5=8A=A9,=E9=82=80=E8=AF=B7=E7=A0=81?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E4=B8=BA=20JDNIAN=5FSHAREC?= =?UTF-8?q?ODES,=E4=B8=80=E4=BA=BA=E4=B8=80=E5=A4=A9=E4=BA=94=E6=AC=A1?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=E6=9C=BA=E4=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + jd_nian.js | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/githubAction.md b/githubAction.md index 6780d8b0..dc096cb0 100644 --- a/githubAction.md +++ b/githubAction.md @@ -48,6 +48,7 @@ | `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 diff --git a/jd_nian.js b/jd_nian.js index 5e558d5f..e875c0dc 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -484,7 +484,7 @@ function getFriendData(inviteId) { function readShareCode() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/nian/read/${randomCount}/`}, (err, resp, data) => { + $.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)}`) @@ -501,8 +501,8 @@ function readShareCode() { resolve(data); } }) - // await $.wait(2000); - // resolve() + await $.wait(2000); + resolve() }) } //格式化助力码 @@ -517,7 +517,7 @@ function shareCodesFormat() { const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); $.newShareCodes = inviteCodes[tempIndex].split('@'); } - const readShareCodeRes = null //await readShareCode(); + const readShareCodeRes = await readShareCode(); if (readShareCodeRes && readShareCodeRes.code === 200) { $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; } @@ -529,8 +529,15 @@ function requireConfig() { return new Promise(resolve => { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; - const shareCodes = [] + let shareCodes = [] console.log(`共${cookiesArr.length}个京东账号\n`); + if (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) => { From 37bf45d4b10ca578463b6d83c5a4eb69865014f7 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 18 Jan 2021 10:27:07 +0800 Subject: [PATCH 0823/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4=E5=85=BD=E4=BA=92?= =?UTF-8?q?=E5=8A=A9=E7=A0=81secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东炸年兽互助码secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index b41fa481..0c17e7d9 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -54,6 +54,7 @@ jobs: if [ $BOOKSHOP_SHARECODES ]; then sed -i "/variables/a\ BOOKSHOP_SHARECODES: $BOOKSHOP_SHARECODES" serverless.yml; fi; if [ $JD_CASH_SHARECODES ]; then sed -i "/variables/a\ JD_CASH_SHARECODES: $JD_CASH_SHARECODES" serverless.yml; fi; if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; + if [ $JDNIAN_SHARECODES ]; then sed -i "/variables/a\ JDNIAN_SHARECODES: $JDNIAN_SHARECODES" serverless.yml; fi; if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; if [ $JD_BEAN_SIGN_STOP_NOTIFY ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: $JD_BEAN_SIGN_STOP_NOTIFY" serverless.yml; fi; if [ $JD_BEAN_SIGN_NOTIFY_SIMPLE ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: $JD_BEAN_SIGN_NOTIFY_SIMPLE" serverless.yml; fi; @@ -113,6 +114,7 @@ jobs: BOOKSHOP_SHARECODES: ${{ secrets.BOOKSHOP_SHARECODES}} JD_CASH_SHARECODES: ${{ secrets.JD_CASH_SHARECODES}} JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} + JDNIAN_SHARECODES: ${{ secrets.JDNIAN_SHARECODES}} JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} From ffeddda6c3538a2b67e576c2d8513657eb8afff6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 18 Jan 2021 10:34:08 +0800 Subject: [PATCH 0824/1259] =?UTF-8?q?fix=20=E6=89=8B=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E5=87=BA=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index e875c0dc..a6fe5c2f 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -531,7 +531,7 @@ function requireConfig() { //Node.js用户请在jdCookie.js处填写京东ck; let shareCodes = [] console.log(`共${cookiesArr.length}个京东账号\n`); - if (process.env.JDNIAN_SHARECODES) { + if ($.isNode() && process.env.JDNIAN_SHARECODES) { if (process.env.JDNIAN_SHARECODES.indexOf('\n') > -1) { shareCodes = process.env.JDNIAN_SHARECODES.split('\n'); } else { From 153bab6d937994e6d11add95c3a9f8598779a93a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 18 Jan 2021 10:42:03 +0800 Subject: [PATCH 0825/1259] update --- jd_nianCollect.js | 78 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 68 insertions(+), 10 deletions(-) diff --git a/jd_nianCollect.js b/jd_nianCollect.js index da35d1de..c0e8add8 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -1,9 +1,22 @@ /* +#炸年兽专门收集爆竹 京东炸年兽领爆竹🧨 仅仅是收集一下京东炸年兽领爆竹活动每秒产生的爆竹🧨 - 每小时的第20分运行一次 -20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js +============Quantumultx=============== +[task_local] +#京东炸年兽🧨 +20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, enabled=true + +================Loon============== +[Script] +cron "20 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 + +===============Surge================= +京东收🧨 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js + +============小火箭========= +京东收🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, cronexpr="20 * * * *", timeout=200, enable=true */ const $ = new Env('京东炸年兽领爆竹🧨'); //Node.js用户请在jdCookie.js处填写京东ck; @@ -15,10 +28,9 @@ 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_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; } else { - let cookiesData = $.getdata('CookiesJD') || "[]"; + let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); cookiesArr = cookiesData.map(item => item.cookie); cookiesArr.reverse(); @@ -39,6 +51,14 @@ const JD_API_HOST = `https://api.m.jd.com/client.action`; if (cookie) { $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) $.index = i + 1; + $.isLogin = true; + $.nickName = ''; + 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"}); + continue + } + console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); await collectProduceScore() } } @@ -76,9 +96,9 @@ function stall_collectProduceScore(body) { if (data) { data = JSON.parse(data); if (data && data.data.bizCode === 0) { - console.log(`京东账号${$.index} ${$.UserName}成功收集爆竹🧨:${data.data.result.produceScore}个`) + console.log(`京东账号${$.index} ${$.nickName}成功收集爆竹🧨:${data.data.result.produceScore}个`) } else { - console.log(`京东账号${$.index} ${$.UserName}成功收集爆竹🧨失败:${data.data.bizMsg}`) + console.log(`京东账号${$.index} ${$.nickName}成功收集爆竹🧨失败:${data.data.bizMsg}`) } } else { console.log(`请检查自身设备原因`); @@ -138,7 +158,46 @@ function taskPostUrl(functionId, body = {}) { } } } - +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} function jsonParse(str) { if (typeof str == "string") { try { @@ -150,5 +209,4 @@ function jsonParse(str) { } } } - -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) } +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)} From 269f5b0330e38225afd9d3930cdc6c9e40f1116c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 18 Jan 2021 11:19:50 +0800 Subject: [PATCH 0826/1259] update --- docker/crontab_list.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index bd01cdb2..5e50b8d3 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -7,9 +7,9 @@ #年货节(活动时间:2021年1月9日-2021年2月9日) 10 8 * * * node /scripts/jd_nh.js >> /scripts/logs/jd_nh.log 2>&1 #京东炸年兽集爆竹(活动时间:2021-1-18至2021-2-11)怕有遗漏故多运行几次 -0 8,9,10 * * * node /scripts/jd_nian.js >> /scripts/logs/jd_nian.log 2>&1 +0 * * * * node /scripts/jd_nian.js >> /scripts/logs/jd_nian.log 2>&1 #专门收集每秒产生的爆竹(1小时运行一次) -0 * * * * node /scripts/jd_nianCollect.js >> /scripts/logs/jd_nianCollect.log 2>&1 +30 * * * * node /scripts/jd_nianCollect.js >> /scripts/logs/jd_nianCollect.log 2>&1 ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 From 1ee40de2e208e5c6f09040f21f3920223ea05664 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 18 Jan 2021 12:45:52 +0800 Subject: [PATCH 0827/1259] update --- jd_nian.js | 1 + lxk0301.boxjs.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index a6fe5c2f..160a651d 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -107,6 +107,7 @@ function getRnd() { } function showMsg() { return new Promise(resolve => { + console.log('任务已做完!\n如有未完成的任务,请多执行几次。注:目前入会任务不会做') if (!jdNotify) { $.msg($.name, '', `${message}`); } else { diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 0f973302..b2701627 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -45,7 +45,7 @@ "name": "自定义京东脚本的UserAgent", "val": "", "type": "text", - "desc": "不懂不知不会UserAgent的请不要随意填写内容" + "desc": "不懂不知不会UserAgent的请不要随意填写内容,如需填写使用建议使用京东APP的UserAgent" } ], "author": "@LXK9301", From 42493a927431052c951552d859051ac8ba056c14 Mon Sep 17 00:00:00 2001 From: LisonFan Date: Mon, 18 Jan 2021 13:14:37 +0800 Subject: [PATCH 0828/1259] Update USER_AGENTS.js --- USER_AGENTS.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 2752842b..92b49698 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -50,6 +50,7 @@ const USER_AGENTS = [ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14", "JD4iPhone/167490 (iPhone; iOS 14.3; Scale/2.00)", + "JD4iPhone/9.3.5 CFNetwork/1209 Darwin/20.2.0", "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", @@ -66,4 +67,4 @@ const USER_AGENT = USER_AGENTS[randomNumber(0, USER_AGENTS.length)]; module.exports = { USER_AGENT -} \ No newline at end of file +} From 64e7df2015ca3d2a35aeb984d5a92eb7cac3be5f Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Mon, 18 Jan 2021 13:34:51 +0800 Subject: [PATCH 0829/1259] Update USER_AGENTS.js --- USER_AGENTS.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 2752842b..df6be37e 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -50,6 +50,8 @@ const USER_AGENTS = [ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14", "JD4iPhone/167490 (iPhone; iOS 14.3; Scale/2.00)", + "JD4iPhone/9.3.5 CFNetwork/1209 Darwin/20.2.0", + "JD4iPhone/167515 (iPhone; iOS 14.3; Scale/3.00)", "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", @@ -66,4 +68,4 @@ const USER_AGENT = USER_AGENTS[randomNumber(0, USER_AGENTS.length)]; module.exports = { USER_AGENT -} \ No newline at end of file +} From f0d46d9ac3dca72ef8b98c5dd83c4d124e6d5d6f Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 18 Jan 2021 14:14:36 +0800 Subject: [PATCH 0830/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B0=8F=E9=95=87?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 318 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 316 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index a6fe5c2f..afc7b4f2 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -87,6 +87,8 @@ const inviteCodes = [ async function jdNian() { await getHomeData() if(!$.secretp) return + await map() + await queryMaterials() await getTaskList() await $.wait(1000) await doTask() @@ -261,6 +263,11 @@ function getHomeData(info=false) { await raise() } } + else{ + $.secretp = null + console.log(`账号被风控,无法参与活动`) + message += `账号被风控,无法参与活动\n` + } } } catch (e) { $.logErr(e, resp); @@ -307,7 +314,7 @@ function collectProduceScore(taskId= "collectProducedCoin") { }) }) } -function collectScore(taskId,itemId,actionType,inviteId) { +function collectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) { let temp = { "taskId": taskId, "rnd": getRnd(), @@ -317,6 +324,7 @@ function collectScore(taskId,itemId,actionType,inviteId) { 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", @@ -330,6 +338,7 @@ function collectScore(taskId,itemId,actionType,inviteId) { } 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 { @@ -341,7 +350,7 @@ function collectScore(taskId,itemId,actionType,inviteId) { data = JSON.parse(data); if (data.data.bizCode === 0) { if(data.data.result.score) - console.log(`任务完成,获得${data.data.result.score}爆竹`) + console.log(`任务完成,获得${data.data.result.score}爆竹🧨`) else if(data.data.result.maxAssistTimes) { console.log(`助力好友成功`) } else{ @@ -481,6 +490,311 @@ function getFriendData(inviteId) { }) }) } +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') { + for(let vo of data.data.viewLogo.list){ + 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}已做完`) + } + } + } + } + } + for(let i=0;i { + $.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 + console.log(`抽奖成功,获得${JSON.stringify(result)}`) + }else{ + console.log(`抽奖失败`) + } + } + } + } 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) { + 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(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 => { From d56800cb82f4e1c961f87439760d2c9839f222ed Mon Sep 17 00:00:00 2001 From: Akira Date: Mon, 18 Jan 2021 14:25:22 +0800 Subject: [PATCH 0831/1259] Update default_task.sh --- docker/default_task.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 8ccd94b3..ae87a981 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -36,14 +36,16 @@ else fi echo "第3步判断是否配置了默认脚本更新任务..." -if [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ]; then +if [ $(grep -c "docker_entrypoint.sh" $mergedListFile) -eq '0' ]; then echo "合并后的定时任务文件,未包含必须的默认定时任务,增加默认定时任务..." echo -e >>$mergedListFile echo "52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile -else +elif [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ] sed -i "/default_task.sh/d" $mergedListFile echo "#脚本追加默认定时任务" >>$mergedListFile echo "52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile +else + echo "已配置默认脚本更新任务。" fi echo "第5步判断是否配置了随即延迟参数..." From d8a13cb6c265a10f1600170a943f8fdd55b7b5bd Mon Sep 17 00:00:00 2001 From: Akira Date: Mon, 18 Jan 2021 14:35:06 +0800 Subject: [PATCH 0832/1259] Update default_task.sh --- docker/default_task.sh | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index ae87a981..63df090e 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -11,7 +11,7 @@ fi mergedListFile="/scripts/docker/merged_list_file.sh" echo "合并后定时任务文件路径为 ${mergedListFile}" -echo "第3步将默认定时任务列表添加到并后定时任务文件..." +echo "第1步将默认定时任务列表添加到并后定时任务文件..." cat $defaultListFile >$mergedListFile echo "第2步判断是否存在自定义任务任务列表并追加..." @@ -35,20 +35,19 @@ else echo "当前只使用了默认定时任务文件 $DEFAULT_LIST_FILE ..." fi +##可能存在旧版crontab里面有default_task.sh任务有就直接删除,否则可能会任务重复 +sed -i "/default_task.sh/d" $mergedListFile + echo "第3步判断是否配置了默认脚本更新任务..." if [ $(grep -c "docker_entrypoint.sh" $mergedListFile) -eq '0' ]; then echo "合并后的定时任务文件,未包含必须的默认定时任务,增加默认定时任务..." echo -e >>$mergedListFile echo "52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile -elif [ $(grep -c "default_task.sh" $mergedListFile) -eq '0' ] - sed -i "/default_task.sh/d" $mergedListFile - echo "#脚本追加默认定时任务" >>$mergedListFile - echo "52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile else echo "已配置默认脚本更新任务。" fi -echo "第5步判断是否配置了随即延迟参数..." +echo "第4步判断是否配置了随即延迟参数..." if [ $RANDOM_DELAY_MAX ]; then if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中..." @@ -58,7 +57,7 @@ else echo "未配置随即延迟对应的环境变量,故不设置延迟任务..." fi -echo "第6步判断是否配置自定义shell执行脚本..." +echo "第5步判断是否配置自定义shell执行脚本..." if [ 0"$CUSTOM_SHELL_FILE" = "0" ]; then echo "未配置自定shell脚本文件,跳过执行。" else @@ -81,14 +80,14 @@ else fi fi -echo "第7步增加 |ts 任务日志输出时间戳..." +echo "第6步增加 |ts 任务日志输出时间戳..." sed -i "/\( ts\| |ts\|| ts\)/!s/>>/\|ts >>/g" $mergedListFile -echo "第8步执行proc_file.sh脚本任务..." +echo "第7步执行proc_file.sh脚本任务..." sh -x /scripts/docker/proc_file.sh -echo "第9步加载最新的定时任务文件..." +echo "第8步加载最新的定时任务文件..." crontab $mergedListFile -echo "第10步将仓库的docker_entrypoint.sh脚本更新至系统/usr/local/bin/docker_entrypoint.sh内..." +echo "第9步将仓库的docker_entrypoint.sh脚本更新至系统/usr/local/bin/docker_entrypoint.sh内..." cat /scripts/docker/docker_entrypoint.sh >/usr/local/bin/docker_entrypoint.sh From a338b322557bb12511f5ba661f995762301f11fe Mon Sep 17 00:00:00 2001 From: Akira Date: Mon, 18 Jan 2021 14:48:12 +0800 Subject: [PATCH 0833/1259] Update Readme.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加一个 `lxk0301/jd_scripts` 镜像的 `pull` 状态 --- docker/Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Readme.md b/docker/Readme.md index f46bccfc..48437d02 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -1,3 +1,4 @@ +![Docker Pulls](https://img.shields.io/docker/pulls/lxk0301/jd_scripts?style=for-the-badge) ### Usage ```diff + 2021-01-03更新 增加 CUSTOM_SHELL_FILE 参数配置执行自定义shell脚本 From 5536650871005eca1f6aef5004aa93a10b0b8238 Mon Sep 17 00:00:00 2001 From: AboutCXJ Date: Mon, 18 Jan 2021 14:49:19 +0800 Subject: [PATCH 0834/1259] =?UTF-8?q?=E5=90=84=E7=A7=8D=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E7=9A=84=E6=AC=A1=E6=95=B0=E5=92=8C=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E7=9A=84=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/githubAction.md b/githubAction.md index dc096cb0..a31bf10b 100644 --- a/githubAction.md +++ b/githubAction.md @@ -35,20 +35,20 @@ ##### 互助码类环境变量 -| Name | 归属 | 属性 | 说明 | -| --------------------------- | ------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 填写规则请看[jdFruitShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFruitShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 填写规则请看[jdPetShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPetShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 填写规则请看[jdPlantBeanShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPlantBeanShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `SUPERMARKET_SHARECODES` | 东东超市商圈互助码 | 非必须 | 填写规则请看[jdSuperMarketShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdSuperMarketShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 填写规则请看[jdFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| Name | 归属 | 属性 | 需要助力次数/提供助力次数 | 说明 | +| --------------------------- | ------------------ | ------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 5/4 | 填写规则请看[jdFruitShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFruitShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 5/5 | 填写规则请看[jdPetShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPetShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 9/3 | 填写规则请看[jdPlantBeanShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPlantBeanShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `SUPERMARKET_SHARECODES` | 东东超市商圈互助码 | 非必须 | / | 填写规则请看[jdSuperMarketShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdSuperMarketShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 5/3 | 填写规则请看[jdFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 不固定/3 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 5/2 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 6/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 From 34246a055f1db406f8269998280afc977c85de7e Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 18 Jan 2021 14:49:51 +0800 Subject: [PATCH 0835/1259] =?UTF-8?q?=E7=82=B8=E5=B9=B4=E5=85=BD=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E8=87=AA=E5=AE=9A=E4=B9=89ua?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index afc7b4f2..3658120f 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -878,7 +878,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { "origin": "https://h5.m.jd.com", "referer": "https://h5.m.jd.com/", 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") } } } From d0e742cb68bd0a4122831379b1fe25205adcf92a Mon Sep 17 00:00:00 2001 From: AboutCXJ Date: Mon, 18 Jan 2021 15:06:57 +0800 Subject: [PATCH 0836/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E9=BB=98=E8=AE=A4=E5=80=BC=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 66 ++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/githubAction.md b/githubAction.md index a31bf10b..0e11056e 100644 --- a/githubAction.md +++ b/githubAction.md @@ -8,10 +8,10 @@ ##### 京东隐私安全 环境变量 -| Name | 归属 | 属性 | 说明 | -| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | -| `JD_DEBUG` | 脚本打印log | 非必须 | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | -| `JD_USER_AGENT` | 京东 | 非必须 | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。如需使用此功能建议填写京东APP的UA | +| Name | 归属 | 属性 | 默认值 | 说明 | +| :---------------------: | :----------: | --------- | ------ | ------------------------------------------------------------ | +| `JD_DEBUG` | 脚本打印log | 非必须 | true | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | +| `JD_USER_AGENT` | 京东 | 非必须 | | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。如需使用此功能建议填写京东APP的UA | ##### 推送通知环境变量(目前提供`微信server酱`、`pushplus(推送加)`、`iOS Bark APP`、`telegram机器人`、`钉钉机器人`、`企业微信机器人`、`iGot`、`QQ酷推`等通知方式) @@ -52,35 +52,35 @@ ##### 控制脚本功能环境变量 -| Name | 归属 | 属性 | 说明 | -| ---------------------------- | --------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `JD_BEAN_STOP` | 京东 | 非必须 | `jd_bean_sign.js`自定义延迟签到,单位毫秒.默认分批并发无延迟.延迟作用于每个签到接口,如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | -| `JD_BEAN_SIGN_STOP_NOTIFY` | 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | -| `JD_BEAN_SIGN_NOTIFY_SIMPLE` | 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | -| `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制`jd_joy_reward.js`脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `JD_818_SHAREID_NOTIFY` | 京东818互助码通知开关 | 非必须 | 控制`jd_818.js`脚本是否在获取互助码后通知,`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | -| `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制`jd_joy_feedPets.js`脚本喂食数量,可以填的数字10,20,40,80,其他数字不可. | -| `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | -| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | -| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | -| `JD_JOY_REWARD_NAME` | 宠汪汪积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | -| `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | -| `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `SUPERMARKET_UPGRADE` | 京小超自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | -| `BUSINESS_CIRCLE_JUMP` | 京小超自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | -| `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | -| `FRUIT_BEAN_CARD` | 农场使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | -| `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开.四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`,`遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明) | -| `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。 | -| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | -| `JDJOY_HELPSELF` | 疯狂的JOY | 非必须 | 疯狂的JOY循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。 | -| `JDJOY_APPLYJDBEAN` | 疯狂的JOY | 非必须 | 疯狂的JOY京豆兑换,目前最小值为2000京豆(详情请查看活动页面-提现京豆),默认数字`0`不开启京豆兑换。 | -| `BUY_JOY_LEVEL` | 疯狂的JOY | 非必须 | 疯狂的JOY自动购买什么等级的JOY | -| `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | -| `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | -| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,示例:{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"},多账单间使用`&`或换行分开。 | +| Name | 归属 | 属性 | 默认值 | 说明 | +| ---------------------------- | --------------------------- | ------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `JD_BEAN_STOP` | 京东 | 非必须 | 0 | `jd_bean_sign.js`自定义延迟签到,单位毫秒.默认分批并发无延迟.延迟作用于每个签到接口,如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | +| `JD_BEAN_SIGN_STOP_NOTIFY` | 京东 | 非必须 | false | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | +| `JD_BEAN_SIGN_NOTIFY_SIMPLE` | 京东 | 非必须 | false | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | +| `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | false | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | false | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | false | 控制`jd_joy_reward.js`脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `JD_818_SHAREID_NOTIFY` | 京东818互助码通知开关 | 非必须 | | 控制`jd_818.js`脚本是否在获取互助码后通知,`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | +| `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 10 | 控制`jd_joy_feedPets.js`脚本喂食数量,可以填的数字10,20,40,80,其他数字不可. | +| `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | false | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | +| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | true | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | +| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 2 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | +| `JD_JOY_REWARD_NAME` | 宠汪汪积分兑换多少京豆 | 非必须 | 20 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | +| `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 20 | 控制`jd_blueCoin.js`兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | +| `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | false | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `SUPERMARKET_UPGRADE` | 京小超自动升级 | 非必须 | true | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | +| `BUSINESS_CIRCLE_JUMP` | 京小超自动更换商圈 | 非必须 | true | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | +| `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | false | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | +| `FRUIT_BEAN_CARD` | 农场使用水滴换豆卡 | 非必须 | false | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | +| `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | | 共四个参数,换行隔开.四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`,`遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明) | +| `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 200 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。 | +| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 京东PLUS会员 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | +| `JDJOY_HELPSELF` | 疯狂的JOY | 非必须 | false | 疯狂的JOY循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。 | +| `JDJOY_APPLYJDBEAN` | 疯狂的JOY | 非必须 | 0 | 疯狂的JOY京豆兑换,目前最小值为2000京豆(详情请查看活动页面-提现京豆),默认数字`0`不开启京豆兑换。 | +| `BUY_JOY_LEVEL` | 疯狂的JOY | 非必须 | | 疯狂的JOY自动购买什么等级的JOY | +| `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | false | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | +| `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | +| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | | 每个账号 token 是一个 json,示例:{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"},多账单间使用`&`或换行分开。 | ##### 互助码的填写规则 From 67d397b33a0230aff44748f09699afa12d0a0033 Mon Sep 17 00:00:00 2001 From: D & R Date: Mon, 18 Jan 2021 16:32:31 +0800 Subject: [PATCH 0837/1259] Update githubAction.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit doc: 提示设置JXNCTOKENS时需要引号包裹 --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index dc096cb0..7d446938 100644 --- a/githubAction.md +++ b/githubAction.md @@ -80,7 +80,7 @@ | `BUY_JOY_LEVEL` | 疯狂的JOY | 非必须 | 疯狂的JOY自动购买什么等级的JOY | | `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | -| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,示例:{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"},多账单间使用`&`或换行分开。 | +| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹,否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账单间使用`&`或换行分开。 | ##### 互助码的填写规则 From 03fd4b681c47eb0b2d27870418c8bc4f3260fcc1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 18 Jan 2021 18:14:12 +0800 Subject: [PATCH 0838/1259] update --- USER_AGENTS.js | 1 + jd_joy_steal.js | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index df6be37e..9b3262a7 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -55,6 +55,7 @@ const USER_AGENTS = [ "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", + "jdapp;iPhone;9.3.5;14.2.1;5675c7df49de13aeca1e98def1d789a3cf4c84a6;network/4g;ADID/D859DCC0-BC84-43ED-BD00-8062B9EE7EA6;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone13,3;addressid/10567892;supportBestPay/0;appBuild/167515;jdSupportDarkMode/0;pv/2783.6;apprpd/CollectCash_Main;ref/JDCashRewardHomeViewController;psq/0;ads/;psn/5675c7df49de13aeca1e98def1d789a3cf4c84a6|5166;jdv/0|iosapp|t_335139774|appshare|Wxfriends|1610942682431|1610942686;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|IOS 14.2.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/", ] /** * 生成随机数字 diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 63fec0f9..6606a9ef 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -253,7 +253,7 @@ async function helpFriendsFeed() { function getFriends(currentPage = '1') { return new Promise(resolve => { const options = { - url: `${JD_API_HOST}/getFriends?itemsPerPage=20¤tPage=${currentPage}`, + url: `${JD_API_HOST}/getFriends?itemsPerPage=20¤tPage=${currentPage * 1}&reqSource=h5`, headers: { 'Cookie': cookie, 'reqSource': 'h5', @@ -264,7 +264,8 @@ function getFriends(currentPage = '1') { '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', - } + }, + timeout: 10000 } $.get(options, (err, resp, data) => { try { From 86701dad66db9ef2a07ca8652d547ee01092ab21 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 18 Jan 2021 19:18:30 +0800 Subject: [PATCH 0839/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96githubAction.md?= =?UTF-8?q?=E9=98=85=E8=AF=BB=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化githubAction.md阅读体验 --- githubAction.md | 134 ++++++++++++++++++++++++------------------------ 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/githubAction.md b/githubAction.md index 5bde8ee8..19f4656b 100644 --- a/githubAction.md +++ b/githubAction.md @@ -2,86 +2,86 @@ ##### 京东(必须) -| Name | 归属 | 属性 | 说明 | -| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | -| `JD_COOKIE` | 京东 | 必须 | 京东cookie,多个账号的cookie使用`&`隔开或者换行。具体获取参考[浏览器获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie2.md) | +| Name | 归属 | 属性 | 说明 | +| :---------: | :--: | ---- | ------------------------------------------------------------ | +| `JD_COOKIE` | 京东 | 必须 | 京东cookie,多个账号的cookie使用`&`隔开或者换行。具体获取参考[浏览器获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie.md) 或者 [插件获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie2.md) | ##### 京东隐私安全 环境变量 -| Name | 归属 | 属性 | 默认值 | 说明 | -| :---------------------: | :----------: | --------- | ------ | ------------------------------------------------------------ | -| `JD_DEBUG` | 脚本打印log | 非必须 | true | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | -| `JD_USER_AGENT` | 京东 | 非必须 | | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。如需使用此功能建议填写京东APP的UA | +| Name | 归属 | 属性 | 默认值 | 说明 | +| :-------------: | :---------: | :----: | :----: | ------------------------------------------------------------ | +| `JD_DEBUG` | 脚本打印log | 非必须 | true | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | +| `JD_USER_AGENT` | 京东 | 非必须 | | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。如需使用此功能建议填写京东APP的UA | ##### 推送通知环境变量(目前提供`微信server酱`、`pushplus(推送加)`、`iOS Bark APP`、`telegram机器人`、`钉钉机器人`、`企业微信机器人`、`iGot`、`QQ酷推`等通知方式) -| Name | 归属 | 属性 | 说明 | -| :---------------------: | :----------: | --------- | ------------------------------------------------------------ | -| `PUSH_KEY` | 微信server酱推送 | 非必须 | server酱的微信通知[官方文档](http://sc.ftqq.com/3.version) | -| `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | IOS用户下载BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg)(注:支持自建填完整链接即可) | -| `BARK_SOUND` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | -| `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送(需设备可连接外网),`TG_BOT_TOKEN`和`TG_USER_ID`两者必需,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./backUp/TG_PUSH.md) | -| `TG_USER_ID` | telegram推送 | 非必须 | tg推送(需设备可连接外网),`TG_BOT_TOKEN`和`TG_USER_ID`两者必需,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | -| `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送(`DD_BOT_TOKEN`和`DD_BOT_SECRET`两者必需)[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于`=`符号后面的XXX即可 | -| `DD_BOT_SECRET` | 钉钉推送 | 非必须 | (`DD_BOT_TOKEN`和`DD_BOT_SECRET`两者必需) ,密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的`SECXXXXXXXXXX`等字符 , 注:钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | -| `QYWX_KEY` | 企业微信推送 | 非必须 | 密钥,企业微信推送 webhook 后面的 key [详见官方说明文档](https://work.weixin.qq.com/api/doc/90000/90136/91770) | -| `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | -| `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | -| `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | -| `PUSH_PLUS_TOKEN` | pushplus推送 | 非必须 | 微信扫码登录后一对一推送或一对多推送下面的token(您的Token) [官方网站](http://pushplus.hxtrip.com/) | -| `PUSH_PLUS_USER` | pushplus推送 | 非必须 | 一对多推送的“群组编码”(一对多推送下面->您的群组(如无则新建)->群组编码)注:(1、需订阅者扫描二维码 2、如果您是创建群组所属人,也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送),只填`PUSH_PLUS_TOKEN`默认为一对一推送 | -| `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | -| `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | +| Name | 归属 | 属性 | 说明 | +| :---------------: | :----------------------------------------------------------: | :----: | ------------------------------------------------------------ | +| `PUSH_KEY` | 微信server酱推送 | 非必须 | server酱的微信通知[官方文档](http://sc.ftqq.com/3.version) | +| `BARK_PUSH` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | IOS用户下载BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg)(注:支持自建填完整链接即可) | +| `BARK_SOUND` | [BARK推送](https://apps.apple.com/us/app/bark-customed-notifications/id1403753865) | 非必须 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | +| `TG_BOT_TOKEN` | telegram推送 | 非必须 | tg推送(需设备可连接外网),`TG_BOT_TOKEN`和`TG_USER_ID`两者必需,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](./backUp/TG_PUSH.md) | +| `TG_USER_ID` | telegram推送 | 非必须 | tg推送(需设备可连接外网),`TG_BOT_TOKEN`和`TG_USER_ID`两者必需,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | +| `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送(`DD_BOT_TOKEN`和`DD_BOT_SECRET`两者必需)[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于`=`符号后面的XXX即可 | +| `DD_BOT_SECRET` | 钉钉推送 | 非必须 | (`DD_BOT_TOKEN`和`DD_BOT_SECRET`两者必需) ,密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的`SECXXXXXXXXXX`等字符 , 注:钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | +| `QYWX_KEY` | 企业微信推送 | 非必须 | 密钥,企业微信推送 webhook 后面的 key [详见官方说明文档](https://work.weixin.qq.com/api/doc/90000/90136/91770) | +| `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | +| `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | +| `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | +| `PUSH_PLUS_TOKEN` | pushplus推送 | 非必须 | 微信扫码登录后一对一推送或一对多推送下面的token(您的Token) [官方网站](http://pushplus.hxtrip.com/) | +| `PUSH_PLUS_USER` | pushplus推送 | 非必须 | 一对多推送的“群组编码”(一对多推送下面->您的群组(如无则新建)->群组编码)注:(1、需订阅者扫描二维码 2、如果您是创建群组所属人,也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送),只填`PUSH_PLUS_TOKEN`默认为一对一推送 | +| `TG_PROXY_HOST` | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 | +| `TG_PROXY_PORT` | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 | ##### 互助码类环境变量 -| Name | 归属 | 属性 | 需要助力次数/提供助力次数 | 说明 | -| --------------------------- | ------------------ | ------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 5/4 | 填写规则请看[jdFruitShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFruitShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 5/5 | 填写规则请看[jdPetShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPetShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 9/3 | 填写规则请看[jdPlantBeanShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPlantBeanShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `SUPERMARKET_SHARECODES` | 东东超市商圈互助码 | 非必须 | / | 填写规则请看[jdSuperMarketShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdSuperMarketShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 5/3 | 填写规则请看[jdFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 不固定/3 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 5/2 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 6/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| Name | 归属 | 属性 | 需要助力次数/提供助力次数 | 说明 | +| :-------------------------: | :----------------: | :----: | :-----------------------: | ------------------------------------------------------------ | +| `FRUITSHARECODES` | 东东农场互助码 | 非必须 | 5/4 | 填写规则请看[jdFruitShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFruitShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `PETSHARECODES` | 东东萌宠互助码 | 非必须 | 5/5 | 填写规则请看[jdPetShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPetShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `PLANT_BEAN_SHARECODES` | 种豆得豆互助码 | 非必须 | 9/3 | 填写规则请看[jdPlantBeanShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdPlantBeanShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `SUPERMARKET_SHARECODES` | 东东超市商圈互助码 | 非必须 | / | 填写规则请看[jdSuperMarketShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdSuperMarketShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `DDFACTORY_SHARECODES` | 东东工厂互助码 | 非必须 | 5/3 | 填写规则请看[jdFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `DREAM_FACTORY_SHARE_CODES` | 京喜工厂互助码 | 非必须 | 不固定/3 | 填写规则请看[jdDreamFactoryShareCodes.js](https://github.com/LXK9301/jd_scripts/blob/master/jdDreamFactoryShareCodes.js)或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDZZ_SHARECODES` | 京东赚赚互助码 | 非必须 | 5/2 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 6/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 -| Name | 归属 | 属性 | 说明 | -| ---------------------------- | --------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `JD_BEAN_STOP` | 京东 | 非必须 | `jd_bean_sign.js`自定义延迟签到,单位毫秒.默认分批并发无延迟.延迟作用于每个签到接口,如填入延迟则切换顺序签到(耗时较长),如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | -| `JD_BEAN_SIGN_STOP_NOTIFY` | 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | -| `JD_BEAN_SIGN_NOTIFY_SIMPLE` | 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | -| `PET_NOTIFY_CONTROL` | 东东萌宠推送开关 | 非必须 | 控制京东萌宠是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `FRUIT_NOTIFY_CONTROL` | 东东农场推送开关 | 非必须 | 控制京东农场是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `JD_JOY_REWARD_NOTIFY` | 宠汪汪兑换京豆推送开关 | 非必须 | 控制`jd_joy_reward.js`脚本是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `JD_818_SHAREID_NOTIFY` | 京东818互助码通知开关 | 非必须 | 控制`jd_818.js`脚本是否在获取互助码后通知,`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | -| `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制`jd_joy_feedPets.js`脚本喂食数量,可以填的数字10,20,40,80,其他数字不可. | -| `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | -| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),`false`为否,`true`为是,脚本默认是`true` | -| `JOY_TEAM_LEVEL` | 宠汪汪参加什么级别的赛跑 | 非必须 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | -| `JD_JOY_REWARD_NAME` | 宠汪汪积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | -| `MARKET_COIN_TO_BEANS` | 京小超兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | -| `MARKET_REWARD_NOTIFY` | 京小超兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `SUPERMARKET_UPGRADE` | 京小超自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | -| `BUSINESS_CIRCLE_JUMP` | 京小超自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | -| `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | -| `FRUIT_BEAN_CARD` | 农场使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | -| `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开.四个参数分别表示`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`,`遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明) | -| `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。此参数控制每次运行脚本时注销多少个店铺会员,默认200。 | -| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | -| `JDJOY_HELPSELF` | 疯狂的JOY | 非必须 | 疯狂的JOY循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。 | -| `JDJOY_APPLYJDBEAN` | 疯狂的JOY | 非必须 | 疯狂的JOY京豆兑换,目前最小值为2000京豆(详情请查看活动页面-提现京豆),默认数字`0`不开启京豆兑换。 | -| `BUY_JOY_LEVEL` | 疯狂的JOY | 非必须 | 疯狂的JOY自动购买什么等级的JOY | -| `MONEY_TREE_SELL_FRUIT` | 摇钱树是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | -| `FACTORAY_WANTPRODUCT_NAME` | 东东工厂心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,如不提供则会兑换当前所选商品 | -| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹,否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760","timestamp":"1610165423873","phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账单间使用`&`或换行分开。| | +| Name | 归属 | 属性 | 说明 | +| :--------------------------: | :--------------------------: | :----: | ------------------------------------------------------------ | +| `JD_BEAN_STOP` | 京东 | 非必须 | `jd_bean_sign.js`自定义延迟签到,单位毫秒.默认分批并发无延迟,
延迟作用于每个签到接口,如填入延迟则切换顺序签到(耗时较长),
如需填写建议输入数字`1`,详见[此处说明](https://github.com/NobyDa/Script/blob/master/JD-DailyBonus/JD_DailyBonus.js#L93) | +| `JD_BEAN_SIGN_STOP_NOTIFY` | 京东 | 非必须 | `jd_bean_sign.js`脚本运行后不推送签到结果通知,默认推送,填`true`表示不发送通知 | +| `JD_BEAN_SIGN_NOTIFY_SIMPLE` | 京东 | 非必须 | `jd_bean_sign.js`脚本运行后推送签到结果简洁版通知,
默认推送全部签到结果,填`true`表示推送简洁通知,[效果图](./icon/bean_sign_simple.jpg) | +| `PET_NOTIFY_CONTROL` | 东东萌宠
推送开关 | 非必须 | 控制京东萌宠是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `FRUIT_NOTIFY_CONTROL` | 东东农场
推送开关 | 非必须 | 控制京东农场是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `JD_JOY_REWARD_NOTIFY` | 宠汪汪
兑换京豆推送开关 | 非必须 | 控制`jd_joy_reward.js`脚本是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `JD_818_SHAREID_NOTIFY` | 京东818互助码
通知开关 | 非必须 | 控制`jd_818.js`脚本是否在获取互助码后通知,
`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | +| `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制`jd_joy_feedPets.js`脚本喂食数量,可以填的数字10,20,40,80,其他数字不可. | +| `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | +| `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),
`false`为否,`true`为是,脚本默认是`true` | +| `JOY_TEAM_LEVEL` | 宠汪汪
参加什么级别的赛跑 | 非必须 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,
其中2代表参加双人PK赛,10代表参加10人突围赛,
50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),
如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | +| `JD_JOY_REWARD_NAME` | 宠汪汪
积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | +| `MARKET_COIN_TO_BEANS` | 京小超
兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,
可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | +| `MARKET_REWARD_NOTIFY` | 京小超
兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `SUPERMARKET_UPGRADE` | 京小超自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | +| `BUSINESS_CIRCLE_JUMP` | 京小超
自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | +| `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | +| `FRUIT_BEAN_CARD` | 农场
使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),
`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | +| `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开.四个参数分别表示
`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`,`遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明) | +| `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。
此参数控制每次运行脚本时注销多少个店铺会员,默认200。 | +| `UN_BIND_STOP_CARD` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。
遇到此参数设定的会员卡则跳过不注销,多个会员卡之间以`&`分隔,默认值"京东PLUS会员"。 | +| `JDJOY_HELPSELF` | 疯狂的JOY
循环助力 | 非必须 | 疯狂的JOY循环助力,`true`表示循环助力,`false`表示不循环助力,默认不开启循环助力。 | +| `JDJOY_APPLYJDBEAN` | 疯狂的JOY
京豆兑换 | 非必须 | 疯狂的JOY京豆兑换,目前最小值为2000京豆(详情请查看活动页面-提现京豆),
默认数字`0`不开启京豆兑换。 | +| `BUY_JOY_LEVEL` | 疯狂的JOY
购买joy等级 | 非必须 | 疯狂的JOY自动购买什么等级的JOY | +| `MONEY_TREE_SELL_FRUIT` | 摇钱树
是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | +| `FACTORAY_WANTPRODUCT_NAME` | 东东工厂
心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,
如不提供则会兑换当前所选商品 | +| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账单间使用`&`或换行分开。 | ##### 互助码的填写规则 From 18103e0382290b5e06e2599c5ba03c91c0ffb28e Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 18 Jan 2021 19:58:31 +0800 Subject: [PATCH 0840/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=8F=98=E6=9B=B4=20=E7=AD=94=E9=A2=98=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E7=94=B1=20ABCD=20=E6=94=B9=E4=B8=BA=20DCBA?= =?UTF-8?q?=20=EF=BC=88=E6=88=90=E5=8A=9F=E7=8E=87=E6=9B=B4=E9=AB=98?= =?UTF-8?q?=EF=BC=89=20=E5=8F=98=E6=9B=B4=20APP=E7=A7=8D=E5=AD=90=E6=9C=AA?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=20token=20=E6=8F=90=E9=86=92=E7=BA=A7?= =?UTF-8?q?=E5=88=AB=E5=8F=98=E6=9B=B4=E4=B8=BA=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index e6c83d45..d8768cc3 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -44,7 +44,7 @@ let currentCookie = ''; // 当前用户 cookie let tokenNull = {'farm_jstoken': '', 'phoneid': '', 'timestamp': ''}; // 内置一份空的 token let tokenArr = []; // 用户 token 数组 let currentToken = {}; // 当前用户 token -const shareCode = '22bd6fbbabbaa770a45ab2607e7a1e8a@197c6094e965fdf3d33621b47719e0b1'; // 内置助力码 +const shareCode = '60804228819a20ec89c4e1709de4c236@22bd6fbbabbaa770a45ab2607e7a1e8a@197c6094e965fdf3d33621b47719e0b1'; // 内置助力码 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"}',)}`; // 打开京喜农场 @@ -55,7 +55,7 @@ $.detail = []; // 今日明细列表 $.helpTask = null; $.allTask = []; // 任务列表 $.info = {}; // 用户信息 -$.answer = 0; +$.answer = 3; $.drip = 0; $.maxHelpNum = $.isNode() ? 8 : 3; // 助力 ret 1011 错误最大计数 $.helpNum = 0; // 当前账号 助力 ret 1011 次数 @@ -90,7 +90,7 @@ let assistUserShareCode = 0; // 随机助力用户 share code subTitle = ''; message = ''; option = {}; - $.answer = 0; + $.answer = 3; $.helpNum = 0; $.helpSelfNum = 0; notifyBool = notifyLevel > 0; // 初始化是否推送 @@ -319,6 +319,7 @@ function browserTask() { if (status[0] === 1032) { $.log('任务执行失败,种植的 APP 专属种子,请提供 token 或种植非 APP 种子'); message += '任务执行失败,种植的 APP 专属种子,请提供 token 或种植非 APP 种子\n'; + notifyBool = notifyBool && notifyLevel >= 2; resolve(false); return; } @@ -360,8 +361,8 @@ function answerTask() { resolve(); return; } - if (((ret !== 0 && ret !== 1029) || retmsg === 'ans err') && $.answer < 4) { - $.answer++; + if (((ret !== 0 && ret !== 1029) || retmsg === 'ans err') && $.answer > 0) { + $.answer--; await $.wait(1000); await answerTask(); } From e31eb0cd73a9c5fd28006e69cbc3ad373f0d81c5 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 21:20:02 +0800 Subject: [PATCH 0841/1259] Update USER_AGENTS.js --- USER_AGENTS.js | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 9b3262a7..77b46e7b 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -1,54 +1,4 @@ const USER_AGENTS = [ - "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36", - "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36", - "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1944.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.3319.102 Safari/537.36", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1866.237 Safari/537.36", - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/4E423F", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10", - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1623.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36", - "Mozilla/5.0 (X11; CrOS i686 4319.74.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1467.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1500.55 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.90 Safari/537.36", - "Mozilla/5.0 (X11; NetBSD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36", - "Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14", "JD4iPhone/167490 (iPhone; iOS 14.3; Scale/2.00)", "JD4iPhone/9.3.5 CFNetwork/1209 Darwin/20.2.0", "JD4iPhone/167515 (iPhone; iOS 14.3; Scale/3.00)", From 304a76da549362bebea63a407defdfac68c0402b Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 22:18:20 +0800 Subject: [PATCH 0842/1259] Update USER_AGENTS.js --- USER_AGENTS.js | 1 - 1 file changed, 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 77b46e7b..0d878b07 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -5,7 +5,6 @@ const USER_AGENTS = [ "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", - "jdapp;iPhone;9.3.5;14.2.1;5675c7df49de13aeca1e98def1d789a3cf4c84a6;network/4g;ADID/D859DCC0-BC84-43ED-BD00-8062B9EE7EA6;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone13,3;addressid/10567892;supportBestPay/0;appBuild/167515;jdSupportDarkMode/0;pv/2783.6;apprpd/CollectCash_Main;ref/JDCashRewardHomeViewController;psq/0;ads/;psn/5675c7df49de13aeca1e98def1d789a3cf4c84a6|5166;jdv/0|iosapp|t_335139774|appshare|Wxfriends|1610942682431|1610942686;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|IOS 14.2.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/", ] /** * 生成随机数字 From 6fdf0b41ede656291bc875a99b85a8773ea18555 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 22:20:50 +0800 Subject: [PATCH 0843/1259] Update jd_nian.js --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 082c3096..1dad640b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -478,7 +478,7 @@ function getFriendData(inviteId) { console.log(`${$.name} API请求失败,请检查网路重试`) } else { data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { + if (data.data && data.data['bizCode'] === 0) { $.itemId = data.data.result.homeMainInfo.guestInfo.itemId await collectScore('2',$.itemId,null,inviteId) } From d4c2efd49b77704556c9eaeb52653171b95e18ab Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 18 Jan 2021 22:52:24 +0800 Subject: [PATCH 0844/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=82=B8=E5=B9=B4?= =?UTF-8?q?=E5=85=BD=E4=BD=BF=E7=94=A8=E9=9A=8F=E6=9C=BAua=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=20taskvos=20undefined=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- USER_AGENTS.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 0d878b07..d0289d33 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -1,8 +1,5 @@ const USER_AGENTS = [ - "JD4iPhone/167490 (iPhone; iOS 14.3; Scale/2.00)", - "JD4iPhone/9.3.5 CFNetwork/1209 Darwin/20.2.0", - "JD4iPhone/167515 (iPhone; iOS 14.3; Scale/3.00)", - "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", +"jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", ] From c8eab786165b53af7472287ccbb6f02ba3f186b6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 09:24:04 +0800 Subject: [PATCH 0845/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E8=B6=85=E5=B8=82=20=E5=9B=A0=E7=9B=AE=E5=89=8D=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E6=95=B0=E6=8D=AE=E5=BC=82=E5=B8=B8=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E9=98=9F=E4=BC=8Dpk=E5=90=8E=E4=B8=8D=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E8=93=9D=E5=B8=81=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- USER_AGENTS.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index d0289d33..4723c20d 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -1,5 +1,5 @@ const USER_AGENTS = [ -"jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", ] From 2ff5f772a9aa3833c3f9efdbdbe9dde08c0ccf3a Mon Sep 17 00:00:00 2001 From: chihwell <72851760+chihwell@users.noreply.github.com> Date: Tue, 19 Jan 2021 10:08:56 +0800 Subject: [PATCH 0846/1259] Update USER_AGENTS.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加UA --- USER_AGENTS.js | 1 + 1 file changed, 1 insertion(+) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 4723c20d..20b1277c 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -2,6 +2,7 @@ const USER_AGENTS = [ "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", + "jdapp;android;9.3.4;9;D266436653462-6665326466626;network/4g;model/Mi Note 3;addressid/137888479;aid/15225879b8538ee7;oaid/f3157082db9da676;osVer/28;appBuild/86388;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", ] /** * 生成随机数字 From 8fd53ed94ec40a16d4682c44dd7d2fef9fcb6676 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Tue, 19 Jan 2021 10:10:32 +0800 Subject: [PATCH 0847/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=8E=BB=E9=99=A4=E9=BB=91=E5=8F=B7=E7=9A=84=E5=86=85?= =?UTF-8?q?=E7=BD=AE=E5=8A=A9=E5=8A=9B=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index d8768cc3..b485e3f2 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -44,7 +44,7 @@ let currentCookie = ''; // 当前用户 cookie let tokenNull = {'farm_jstoken': '', 'phoneid': '', 'timestamp': ''}; // 内置一份空的 token let tokenArr = []; // 用户 token 数组 let currentToken = {}; // 当前用户 token -const shareCode = '60804228819a20ec89c4e1709de4c236@22bd6fbbabbaa770a45ab2607e7a1e8a@197c6094e965fdf3d33621b47719e0b1'; // 内置助力码 +const shareCode = '22bd6fbbabbaa770a45ab2607e7a1e8a@197c6094e965fdf3d33621b47719e0b1'; // 内置助力码 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"}',)}`; // 打开京喜农场 From 9481f3d40cd20ff2b78a61cc7464a85f78cf5c36 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 10:29:07 +0800 Subject: [PATCH 0848/1259] update --- lxk0301.boxjs.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index b2701627..4e02b154 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -12,7 +12,8 @@ "descs_html": [ "请勿随意在输入框修改内容,建议通过脚本去获取cookie,若要修改,请按照JSON 格式修改。", "脚本地址【京东多 CK获取】,并按照此脚本注释进行配置", - "使用方式【个人中心】获取对应的数据Code" + "使用方式【个人中心】获取对应的数据Code", + "注:如与NobyDa的京东cookie出现重复,建议在此处删除重复的cookie" ], "settings": [ { @@ -39,6 +40,10 @@ "keys": [ "JDUA" ], + "descs_html": [ + "自行抓包京东APP获得,UserAgent类似下面:", + "jdapp;iPhone;9.3.0;14.2;88732f840b77821b345bf07fd71f609e6ff12f43;network/4g;ADID/0E38E9F1-4B4C-40A4-A479-DD15E58A5623;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone11,8;addressid/2005183373;supportBestPay/0;appBuild/167436;pushNoticeIsOpen/0;jdSupportDarkMode/0;pv/142.46;apprpd/CouponCenter;ref/NewCouponCenterViewController;psq/44;ads/;psn/88732f840b77821b345bf07fd71f609e6ff12f43|551;jdv/0|kong|t_1000170135|tuiguang|notset|1607732510603|1607732510;adk/;app_device/IOS;pap/JA2015_311210|9.2.5|IOS 14.2;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" + ], "settings": [ { "id": "JDUA", From 2e72165e59154c56b8414d8475dac6673f524bd8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 10:44:13 +0800 Subject: [PATCH 0849/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 54 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 1dad640b..3cf2b212 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -85,16 +85,20 @@ const inviteCodes = [ $.done(); }) async function jdNian() { - await getHomeData() - if(!$.secretp) return - await map() - await queryMaterials() - await getTaskList() - await $.wait(1000) - await doTask() - await helpFriends() - await getHomeData(true) - await showMsg() + try { + await getHomeData() + if(!$.secretp) return + await map() + await queryMaterials() + await getTaskList() + await $.wait(1000) + await doTask() + await helpFriends() + await getHomeData(true) + await showMsg() + } catch (e) { + $.logErr(e) + } } function encode(data, aa, extraData) { const temp = { @@ -349,22 +353,24 @@ function collectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) } 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 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) + 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) } - // $.userInfo = data.data.result.userInfo; - } - else{ - console.log(data.data.bizMsg) } } } From d8e0e891a716d08fc1221e1b7062981bd6d6db87 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 10:54:36 +0800 Subject: [PATCH 0850/1259] update --- jd_nian.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_nian.js b/jd_nian.js index 3cf2b212..12053ef4 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -114,6 +114,7 @@ function getRnd() { function showMsg() { return new Promise(resolve => { console.log('任务已做完!\n如有未完成的任务,请多执行几次。注:目前入会任务不会做') + console.log('如出现taskVos错误的,请更新USER_AGENTS.js或使用自定义UA功能') if (!jdNotify) { $.msg($.name, '', `${message}`); } else { From 5fc5637b4c837f5893f0fdd5acc77c552a63ef1f Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 19 Jan 2021 11:09:11 +0800 Subject: [PATCH 0851/1259] =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=95=B4=E7=90=86?= =?UTF-8?q?=E6=95=99=E7=A8=8B=E9=A1=BA=E5=BA=8F=EF=BC=8C=E6=96=B9=E4=BE=BF?= =?UTF-8?q?Issue=E6=A8=A1=E6=9D=BF=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 67 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 6dd31876..27c6f184 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,11 @@ > ***您使用或者复制了本仓库且本人制作的任何脚本,则视为`已接受`此声明,请仔细阅读*** ## Script脚本列表 + #### 说明 + 1. 其中 [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) 可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) + 2. 以字母排序。 | 活动时长 | 名称 | 脚本 | @@ -73,50 +76,63 @@ 搬运脚本 1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)) + 2. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)) **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** **TODO** + - [x] 所有活动互助码在一个脚本打印 ## 邀请码互助 - - [邀请码互助入口](https://github.com/LXK9301/jd_scripts/discussions) - - [获取各类活动互助码脚本 jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) - - [邀请码使用规范](githubAction.md#互助码类环境变量)(仅限云端) + +- [邀请码互助入口](https://github.com/LXK9301/jd_scripts/discussions) + +- [获取各类活动互助码脚本 jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) + +- [邀请码使用规范](githubAction.md#互助码类环境变量)(仅限云端) + ## 食用方法 -### 方法一:本地安装Node.js,下载本库脚本 +### 1. Docker1 - - 教程请见:[EvineDeng/jd-base](https://github.com/EvineDeng/jd-base),适用于以下系统: +- [部署方法](https://github.com/LXK9301/jd_scripts/tree/master/docker) - 1. Armbian/OpenWrt/Debian/Ubuntu/CentOS/Fedora/RedHat等Linux系统 - - 2. Android - - 3. MacOS +- [环境变量集合](https://github.com/LXK9301/jd_scripts/blob/master/githubAction.md) -### 方法二:Docker(NAS或VPS用户) - - - 可以精确控制任务运行时间,有二种办法:[docker办法一](https://github.com/LXK9301/jd_scripts/tree/master/docker)、[docker办法二(和本地安装Node.js类似)](https://github.com/EvineDeng/jd-base) - - [环境变量集合](https://github.com/LXK9301/jd_scripts/blob/master/githubAction.md) - -#### 注:以上2种运行机制都是Node.js,故您需仔细阅读下面几点 - - - 获取京东cookie教程可参考 [浏览器获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie2.md) - - - 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) +- 获取京东cookie教程可参考: + + + [浏览器获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie.md) - - 方法二Docker安装Cookie请见各自的说明。 + + [插件获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie2.md) + + + 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) -### 方法三:iOS系统的代理软件(QuantumultX, Surge, Loon, 小火箭) +### 2. Docker2 - - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js) +教程请见:[EvineDeng/jd-base](https://github.com/EvineDeng/jd-base) + +### 3. 系统直装 + +教程请见:[EvineDeng/jd-base](https://github.com/EvineDeng/jd-base),适用于以下系统: + + 1. Armbian/OpenWrt/Debian/Ubuntu/CentOS/Fedora/RedHat等Linux系统 + + 2. Android + + 3. MacOS + +### 4. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) + +- [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js) + +## 赞赏码(开发维护不易,请赏杯茶水费) -### 赞赏码(开发维护不易,请赏杯茶水费)
-### 特别感谢(排名不分先后): +## 特别感谢(排名不分先后): + * [@NobyDa](https://github.com/NobyDa) * [@chavyleung](https://github.com/chavyleung) @@ -127,5 +143,4 @@ * [@uniqueque](https://github.com/uniqueque) - * [@nzw9314](https://github.com/nzw9314) From 097d1915041539e400e2d8b86127a84197215823 Mon Sep 17 00:00:00 2001 From: iouAkira Date: Tue, 19 Jan 2021 11:26:23 +0800 Subject: [PATCH 0852/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=9C=B0=E5=8C=BA=E9=85=8D=E7=BD=AE=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 0c17e7d9..883e53fa 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -25,6 +25,7 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | + if [ $SCF_REGION ]; then sed -i "s/region:.*$/region: $SCF_REGION/g" serverless.yml; fi; if [ $JD_COOKIE ]; then sed -i "/variables/a\ JD_COOKIE: $JD_COOKIE" serverless.yml; fi; if [ $JD_DEBUG ]; then sed -i "/variables/a\ JD_DEBUG: $JD_DEBUG" serverless.yml; fi; if [ $JD_USER_AGENT ]; then sed -i "/variables/a\ JD_USER_AGENT: $JD_USER_AGENT" serverless.yml; fi; @@ -85,6 +86,7 @@ jobs: cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 + SCF_REGION: ${{ secrets.SCF_REGION }} JD_COOKIE: ${{ secrets.JD_COOKIE}} JD_DEBUG: ${{ secrets.JD_DEBUG}} JD_USER_AGENT: ${{ secrets.JD_USER_AGENT}} From 4fa4f8c4d86cafb23a27bf4723fd2015790827ca Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 19 Jan 2021 13:48:37 +0800 Subject: [PATCH 0853/1259] =?UTF-8?q?=E6=9B=B4=E5=A4=9A=E7=9A=84=E5=BA=97?= =?UTF-8?q?=E9=93=BA=E4=BB=BB=E5=8A=A1=E3=80=81=E9=A2=86=E5=8F=96=E4=BC=98?= =?UTF-8?q?=E6=83=A0=E5=88=B8=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 148 +++++++++++++++++++++++++++++------------------------ 1 file changed, 81 insertions(+), 67 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 12053ef4..6d3e6495 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -88,12 +88,18 @@ async function jdNian() { try { await getHomeData() if(!$.secretp) 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 getHomeData(true) await showMsg() } catch (e) { @@ -538,7 +544,11 @@ function queryMaterials() { if (safeGet(data)) { data = JSON.parse(data); if(data.code==='0') { - for(let vo of data.data.viewLogo.list){ + 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) @@ -554,6 +564,7 @@ function queryMaterials() { }) }) } + function shopLotteryInfo(shopSign) { let body = {"shopSign":shopSign} return new Promise(resolve => { @@ -638,72 +649,6 @@ function doShopLottery(shopSign) { }) }) } -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) { - 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(data.data.bizMsg) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} function pkInfo() { return new Promise(resolve => { @@ -803,6 +748,75 @@ function pkAssignGroup(inviteId) { }) }) } +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 readShareCode() { console.log(`开始`) return new Promise(async resolve => { From 38aa8701ec378187b990909feefe2bcf66bfb68e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 13:49:56 +0800 Subject: [PATCH 0854/1259] =?UTF-8?q?=E6=9C=AA=E5=BC=80=E5=90=AF=E8=90=8C?= =?UTF-8?q?=E5=AE=A0=E7=9A=84=E8=B4=A6=E5=8F=B7=E4=B8=8D=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E9=80=9A=E7=9F=A5,=E4=BD=86=E5=8F=AF=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_pet.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jd_pet.js b/jd_pet.js index e75e569d..8925cc2a 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,6 +1,6 @@ /* 东东萌宠 更新地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js -更新时间:2021-01-16 +更新时间:2021-01-19 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js @@ -86,7 +86,9 @@ async function jdPet() { if (initPetTownRes.code === '0' && initPetTownRes.resultCode === '0' && initPetTownRes.message === 'success') { $.petInfo = initPetTownRes.result; if ($.petInfo.userStatus === 0) { - $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n萌宠活动未开启\n请手动去京东APP开启活动\n入口:我的->游戏与互动->查看更多开启`, { "open-url": "openapp.jdmoble://" }); + // $.msg($.name, '', `【提示】京东账号${$.index}${$.nickName}\n萌宠活动未开启\n请手动去京东APP开启活动\n入口:我的->游戏与互动->查看更多开启`, { "open-url": "openapp.jdmoble://" }); + await slaveHelp();//助力好友 + $.log($.name, '', `【提示】京东账号${$.index}${$.nickName}\n萌宠活动未开启\n请手动去京东APP开启活动\n入口:我的->游戏与互动->查看更多开启`); return } if (!$.petInfo.goodsInfo) { From 34fc8d1ce660edf4ab329510ee1d813eb0cf1b62 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 14:09:24 +0800 Subject: [PATCH 0855/1259] update --- jd_bean_sign.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index dda14051..cb2dcbf3 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -238,4 +238,4 @@ function timeFormat(time) { } return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); } -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)} +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)} From 1d72e04dbbc005331cf798765afe39c5eee8f227 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 14:15:26 +0800 Subject: [PATCH 0856/1259] update --- jd_bean_sign.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index cb2dcbf3..a5264483 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -4,7 +4,7 @@ /* 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js Node.JS专用 -更新时间:2021-1-7 +更新时间:2021-1-19 从 github @ruicky改写而来 version v0.0.1 create by ruicky @@ -201,7 +201,20 @@ function TotalBean() { } function downloadUrl(url = 'https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js') { return new Promise(resolve => { - $.get({url}, async (err, resp, data) => { + const options = { url }; + if (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)}`) From ee3511a3c101d30c09bdcf790770790ba9ac48ec Mon Sep 17 00:00:00 2001 From: Jack Yin Date: Tue, 19 Jan 2021 14:21:35 +0800 Subject: [PATCH 0857/1259] Update USER_AGENTS.js --- USER_AGENTS.js | 1 + 1 file changed, 1 insertion(+) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 20b1277c..81c33f92 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -3,6 +3,7 @@ const USER_AGENTS = [ "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", "jdapp;android;9.3.4;9;D266436653462-6665326466626;network/4g;model/Mi Note 3;addressid/137888479;aid/15225879b8538ee7;oaid/f3157082db9da676;osVer/28;appBuild/86388;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", + "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" ] /** * 生成随机数字 From 5e7b37e13350f2db79bfa21dae3f429072b920db Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 14:38:33 +0800 Subject: [PATCH 0858/1259] update --- jd_bean_sign.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index a5264483..12088e9f 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -124,7 +124,20 @@ async function downFile () { url = 'https://cdn.jsdelivr.net/gh/NobyDa/Script@master/JD-DailyBonus/JD_DailyBonus.js'; } try { - await download(url, outPutUrl); + const options = {} + if (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 }) + } + await download(url, outPutUrl, options); console.log('文件下载完毕'); } catch (e) { console.log("文件下载异常:" + e); From 4e0c2bbe953e3dd7a6ad160e87846288031c3cf0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 17:47:46 +0800 Subject: [PATCH 0859/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=AC=E5=96=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E8=BF=87=E6=9C=9F=E7=9A=84=E5=9B=A2=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E4=BC=9A=E7=BB=A7=E7=BB=AD=E5=BC=80=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E5=9B=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 1d1175e6..aae57c17 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -894,6 +894,10 @@ async function tuanActivity() { const QueryTuanRes = await QueryTuan(activeId, tuanId); if (QueryTuanRes && QueryTuanRes.ret === 0) { const { tuanInfo } = QueryTuanRes.data; + if ((tuanInfo && tuanInfo[0]['endTime']) <= QueryTuanRes['nowTime']) { + $.log(`之前的团已过期,准备重新开团\n`) + await CreateTuan(); + } for (let item of tuanInfo) { const { realTuanNum, tuanNum, userInfo } = item; $.log(`\n开团情况:${realTuanNum}/${tuanNum}\n`); @@ -1024,6 +1028,7 @@ function CreateTuan() { data = JSON.parse(data); if (data['ret'] === 0) { console.log(`开团成功tuanId为\n${data.data['tuanId']}`); + $.tuanIds.push(data.data['tuanId']); } else { console.log(`异常:${JSON.stringify(data)}`); } From 0f8921e924f3449048855556f2eb7b5669fcb9cd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 18:17:52 +0800 Subject: [PATCH 0860/1259] =?UTF-8?q?=E5=AE=A0=E6=B1=AA=E6=B1=AA=E6=96=B0?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=EF=BC=8C=E5=B7=AE=E7=BB=99=E5=A5=BD=E5=8F=8B?= =?UTF-8?q?=E5=96=82=E9=A3=9F=E4=B8=80=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy.js | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/jd_joy.js b/jd_joy.js index b5b53d26..5c89902f 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -121,7 +121,7 @@ async function deskGoodsTask() { } } } else { - console.log(`限时商品货架已下架`); + console.log(`\n限时商品货架已下架`); } } } @@ -220,13 +220,50 @@ async function petTask() { //每日签到 if (item['taskType'] === 'SignEveryDay') { if (item['receiveStatus'] === 'chance_left') { - console.log('未完成,需要自己手动去微信小程序【来客有礼】签到,可获得京豆奖励') + console.log('每日签到未完成,需要自己手动去微信小程序【来客有礼】签到,可获得京豆奖励') } else if (item['receiveStatus'] === 'unreceive') { //已签到,领取签到后的狗粮 const res = await getFood('SignEveryDay'); console.log(`领取每日签到狗粮结果:${res.data}`); } } + //每日赛跑 + if (item['taskType'] === 'race') { + if (item['receiveStatus'] === 'chance_left') { + console.log('每日赛跑未完成') + } else if (item['receiveStatus'] === 'unreceive') { + const res = await getFood('race'); + console.log(`领取每日赛跑狗粮结果:${res.data}`); + } + } + //每日兑换 + if (item['taskType'] === 'exchange') { + if (item['receiveStatus'] === 'chance_left') { + console.log('每日兑换未完成') + } else if (item['receiveStatus'] === 'unreceive') { + const res = await getFood('exchange'); + console.log(`领取每日兑换狗粮结果:${res.data}`); + } + } + //每日帮好友喂一次狗粮 + if (item['taskType'] === 'HelpFeed') { + if (item['receiveStatus'] === 'chance_left') { + console.log('每日帮好友喂一次狗粮未完成') + } else if (item['receiveStatus'] === 'unreceive') { + const res = await getFood('HelpFeed'); + console.log(`领取每日帮好友喂一次狗粮 狗粮结果:${res.data}`); + } + } + //每日喂狗粮 + if (item['taskType'] === 'FeedEveryDay') { + if (item['taskStatus'] === 'processing') { + console.log(`\n${item['taskName']}任务进行中\n`) + } else if (item['receiveStatus'] === 'unreceive') { + const res = await getFood('FeedEveryDay'); + console.log(`领取每日帮好友喂一次狗粮 狗粮结果:${res.data}`); + } + } + // //邀请用户助力,领狗粮.(需手动去做任务) if (item['taskType'] === 'InviteUser') { if (item['receiveStatus'] === 'chance_left') { From eee6abbf4468db3ab8914ba005bb9b600f45d1c8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 19 Jan 2021 18:40:45 +0800 Subject: [PATCH 0861/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E5=AE=A0?= =?UTF-8?q?=E6=B1=AA=E6=B1=AA=E4=B8=BA=E5=A5=BD=E5=8F=8B=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E5=96=82=E9=A3=9F=E4=B8=80=E6=AC=A1=E7=9A=84=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- jd_joy_steal.js | 26 +++++++++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 5e50b8d3..803e1b17 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -26,7 +26,7 @@ # 宠汪汪积分兑换奖品 0 0-16/8 * * * node /scripts/jd_joy_reward.js >> /scripts/logs/jd_joy_reward.log 2>&1 # 宠汪汪偷好友积分与狗粮 -0 0,6 * * * node /scripts/jd_joy_steal.js >> /scripts/logs/jd_joy_steal.log 2>&1 +0 0-10/2 * * * node /scripts/jd_joy_steal.js >> /scripts/logs/jd_joy_steal.log 2>&1 # 摇钱树 0 */2 * * * node /scripts/jd_moneyTree.js >> /scripts/logs/jd_moneyTree.log 2>&1 # 东东萌宠 diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 6606a9ef..ccb6b587 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -1,4 +1,5 @@ /* +最近经常出现给偷好友积分与狗粮失败的情况,故建议cron设置为多次 jd宠汪汪偷好友积分与狗粮,及给好友喂食 偷好友积分上限是20个好友(即获得100积分),帮好友喂食上限是20个好友(即获得200积分),偷好友狗粮上限也是20个好友(最多获得120g狗粮) IOS用户支持京东双账号,NodeJs用户支持N个京东账号 @@ -10,12 +11,12 @@ IOS用户支持京东双账号,NodeJs用户支持N个京东账号 // quantumultx // [task_local] // #宠汪汪偷好友积分与狗粮 -// 0 0,6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +// 0 0-10/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true // Loon // [Script] -// cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 +// cron "0 0-10/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 // Surge -// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0,6 * * *",wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js const $ = new Env('宠汪汪偷好友积分与狗粮'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; @@ -73,6 +74,8 @@ if ($.isNode() && process.env.jdJoyStealCoin) { $.index = i + 1; $.isLogin = true; $.nickName = ''; + $.HelpFeed = ctrTemp; + if (!ctrTemp) $.HelpFeed = true await TotalBean(); console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); if (!$.isLogin) { @@ -148,7 +151,7 @@ async function jdJoySteal() { console.log('帮好友喂食失败,狗粮不足10g 跳出\n'); break } - if (!ctrTemp) { + if (!$.HelpFeed) { console.log('您已设置不为好友喂食,现在跳过喂食,如需为好友喂食请在BoxJs打开喂食开关或者更改脚本 jdJoyHelpFeed 处'); break } @@ -217,7 +220,7 @@ async function stealFriendCoinFun() { //给好友喂食 async function helpFriendsFeed() { if ($.help_feed !== 200) { - if (ctrTemp) { + if ($.HelpFeed) { console.log(`\n开始给好友喂食`); for (let friends of $.allFriends) { const { friendPin, status, stealStatus } = friends; @@ -228,6 +231,11 @@ async function helpFriendsFeed() { $.helpFeedStatus = helpFeedRes.errorCode; if (helpFeedRes && helpFeedRes.errorCode === 'help_ok' && helpFeedRes.success) { console.log(`帮好友[${friendPin}]喂食10g狗粮成功,你获得10积分\n`); + if (!ctrTemp) { + $.log('为完成为好友单独喂食一次的任务,故此处进行喂食一次') + $.HelpFeed = false; + break + } $.helpFood += 10; } else if (helpFeedRes && helpFeedRes.errorCode === 'chance_full') { console.log('喂食已达上限,不再喂食\n') @@ -486,13 +494,13 @@ function showMsg() { message += $.stealFriendCoin; message += $.stealFood; message += $.helpFood; - let ctrTemp; + let flag; if ($.getdata('jdJoyStealNotify')) { - ctrTemp = `${$.getdata('jdJoyStealNotify')}` === 'false'; + flag = `${$.getdata('jdJoyStealNotify')}` === 'false'; } else { - ctrTemp = `${jdNotify}` === 'false'; + flag = `${jdNotify}` === 'false'; } - if (ctrTemp) { + if (flag) { $.msg($.name, '', message); } else { $.log(`\n${message}\n`); From c237665a6333e38ea48e7f0114fa78fe1e33071d Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Tue, 19 Jan 2021 20:25:17 +0800 Subject: [PATCH 0862/1259] Update jd_dreamFactory.js --- jd_dreamFactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index aae57c17..df28553f 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2021-1-17 +更新时间:2021-1-19 活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -894,7 +894,7 @@ async function tuanActivity() { const QueryTuanRes = await QueryTuan(activeId, tuanId); if (QueryTuanRes && QueryTuanRes.ret === 0) { const { tuanInfo } = QueryTuanRes.data; - if ((tuanInfo && tuanInfo[0]['endTime']) <= QueryTuanRes['nowTime']) { + if ((tuanInfo && tuanInfo[0]['endTime']) <= QueryTuanRes['nowTime'] && surplusOpenTuanNum > 0) { $.log(`之前的团已过期,准备重新开团\n`) await CreateTuan(); } From f1761e5802ee42d25b8029b47b8908c0a0ab7771 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 09:23:33 +0800 Subject: [PATCH 0863/1259] update --- Env.min.js | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Env.min.js b/Env.min.js index e478632d..32cd5dc6 100644 --- a/Env.min.js +++ b/Env.min.js @@ -1 +1 @@ -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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index f5c54e5a..f95e89d5 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -73,10 +73,10 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip #京东家庭号 京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js #京东口袋书城 -口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js +口袋书店 = type=cron,cronexp="12 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js #京喜签到 京喜签到 = type=cron,cronexp="5 8 * * *",wake-system=1,timeout=1220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js #以为为短期活动 #京东年货节 -京东年货节 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js +京东年货节 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js From f56f26f05cf28ac4e42d6eb125a57b2c8dbe086d Mon Sep 17 00:00:00 2001 From: star <869728223@qq.com> Date: Wed, 20 Jan 2021 10:03:15 +0800 Subject: [PATCH 0864/1259] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E6=89=80=E4=BB=A5?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BA=95=E9=83=A8function=20Env(t,e)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JD_extra_cookie.js | 2 +- activity/jd_818.js | 2 +- activity/jd_apple_live.js | 2 +- activity/jd_digital_floor.js | 2 +- activity/jd_ds.js | 2 +- activity/jd_health.js | 2 +- activity/jd_jdh.js | 2 +- activity/jd_jxstory.js | 2 +- activity/jd_live_redrain.js | 2 +- activity/jd_live_redrain2.js | 2 +- activity/jd_mohe.js | 2 +- activity/jd_ms_redrain.js | 2 +- activity/jd_pubg.js | 2 +- activity/jd_split.js | 2 +- activity/jd_watch.js | 2 +- activity/jd_xtg.js | 2 +- activity/jr_sign.js | 2 +- backUp/iOS_Weather_AQI_Standard.js | 2 +- backUp/jd_Goods.js | 2 +- backUp/jd_pet_double.js | 2 +- backUp/jd_plantBean_double.js | 2 +- backUp/qqread.js | 2 +- backUp/webhook.js | 2 +- backUp/xmSports.js | 2 +- backUp/xmly_speed_ccokie.js | 2 +- getJDCookie.js | 2 +- jd_bean_change.js | 2 +- jd_bean_home.js | 2 +- jd_bean_sign.js | 2 +- jd_blueCoin.js | 2 +- jd_bookshop.js | 2 +- jd_car.js | 2 +- jd_car_exchange.js | 2 +- jd_cash.js | 2 +- jd_club_lottery.js | 2 +- jd_crazy_joy.js | 2 +- jd_crazy_joy_coin.js | 2 +- jd_daily_egg.js | 2 +- jd_dreamFactory.js | 2 +- jd_family.js | 2 +- jd_fruit.js | 2 +- jd_get_share_code.js | 2 +- jd_jdfactory.js | 2 +- jd_jdzz.js | 2 +- jd_joy.js | 2 +- jd_joy_feedPets.js | 2 +- jd_joy_reward.js | 2 +- jd_joy_run.js | 2 +- jd_joy_steal.js | 2 +- jd_jxnc.js | 273 +---------------------------- jd_kd.js | 2 +- jd_live.js | 2 +- jd_lotteryMachine.js | 3 +- jd_moneyTree.js | 2 +- jd_necklace.js | 2 +- jd_nh.js | 2 +- jd_nian.js | 2 +- jd_nianCollect.js | 3 +- jd_pet.js | 2 +- jd_pigPet.js | 2 +- jd_plantBean.js | 2 +- jd_rankingList.js | 4 +- jd_redPacket.js | 2 +- jd_shop.js | 2 +- jd_small_home.js | 2 +- jd_speed.js | 2 +- jd_syj.js | 2 +- jd_unbind.js | 2 +- jd_unsubscribe.js | 2 +- jx_sign.js | 2 +- sendNotify.js | 2 +- 71 files changed, 71 insertions(+), 346 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index e0a69f1b..beeaaa83 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -116,7 +116,7 @@ function GetCookie() { } // prettier-ignore -function ENV(){const isQX=typeof $task!=="undefined";const isLoon=typeof $loon!=="undefined";const isSurge=typeof $httpClient!=="undefined"&&!isLoon;const isJSBox=typeof require=="function"&&typeof $jsbox!="undefined";const isNode=typeof require=="function"&&!isJSBox;const isRequest=typeof $request!=="undefined";const isScriptable=typeof importModule!=="undefined";return{isQX,isLoon,isSurge,isNode,isJSBox,isRequest,isScriptable}} +function Env(t,e){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("@"),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,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)} // prettier-ignore function HTTP(baseURL,defaultOptions={}){const{isQX,isLoon,isSurge,isScriptable,isNode}=ENV();const methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"];function send(method,options){options=typeof options==="string"?{url:options}:options;options.url=baseURL?baseURL+options.url:options.url;options={...defaultOptions,...options};const timeout=options.timeout;const events={...{onRequest:()=>{},onResponse:(resp)=>resp,onTimeout:()=>{},},...options.events,};events.onRequest(method,options);let worker;if(isQX){worker=$task.fetch({method,...options})}else if(isLoon||isSurge||isNode){worker=new Promise((resolve,reject)=>{const request=isNode?require("request"):$httpClient;request[method.toLowerCase()](options,(err,response,body)=>{if(err)reject(err);else resolve({statusCode:response.status||response.statusCode,headers:response.headers,body,})})})}else if(isScriptable){const request=new Request(options.url);request.method=method;request.headers=options.headers;request.body=options.body;worker=new Promise((resolve,reject)=>{request.loadString().then((body)=>{resolve({statusCode:request.response.statusCode,headers:request.response.headers,body,})}).catch((err)=>reject(err))})}let timeoutid;const timer=timeout?new Promise((_,reject)=>{timeoutid=setTimeout(()=>{events.onTimeout();return reject(`${method}URL:${options.url}exceeds the timeout ${timeout}ms`)},timeout)}):null;return(timer?Promise.race([timer,worker]).then((res)=>{clearTimeout(timeoutid);return res}):worker).then((resp)=>events.onResponse(resp))}const http={};methods.forEach((method)=>(http[method.toLowerCase()]=(options)=>send(method,options)));return http} // prettier-ignore diff --git a/activity/jd_818.js b/activity/jd_818.js index 777b4072..592a11e4 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -932,4 +932,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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 index 681e5068..e99d50e7 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -416,4 +416,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_digital_floor.js b/activity/jd_digital_floor.js index 37db5343..0682435e 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -423,4 +423,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_ds.js b/activity/jd_ds.js index 2245c64e..73bcf644 100644 --- a/activity/jd_ds.js +++ b/activity/jd_ds.js @@ -217,4 +217,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_health.js b/activity/jd_health.js index 827e941e..98d4dd8f 100644 --- a/activity/jd_health.js +++ b/activity/jd_health.js @@ -398,4 +398,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_jdh.js b/activity/jd_jdh.js index 0d8c11ae..30b7432a 100644 --- a/activity/jd_jdh.js +++ b/activity/jd_jdh.js @@ -432,4 +432,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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 index bec14c83..c6ff8da1 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -666,4 +666,4 @@ function jsonParse(str) { } } // 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();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)} +function Env(t,e){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("@"),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,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 index 18db6765..36abc329 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -279,4 +279,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_redrain2.js b/activity/jd_live_redrain2.js index 2985bc6f..311cc895 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -243,4 +243,4 @@ function safeGet(data) { } // 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)} +function Env(t,e){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("@"),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,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_mohe.js b/activity/jd_mohe.js index 8ad49d43..254a94f1 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -419,4 +419,4 @@ function taskurl(url) { } } // 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)} +function Env(t,e){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("@"),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,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_ms_redrain.js b/activity/jd_ms_redrain.js index 0fd8dbcb..feb8e5d3 100644 --- a/activity/jd_ms_redrain.js +++ b/activity/jd_ms_redrain.js @@ -205,4 +205,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_pubg.js b/activity/jd_pubg.js index 8523722e..99887cb8 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -513,4 +513,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_split.js b/activity/jd_split.js index 9537b0a1..b3935095 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -311,4 +311,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_watch.js b/activity/jd_watch.js index 3f314cd0..6806e18a 100644 --- a/activity/jd_watch.js +++ b/activity/jd_watch.js @@ -415,4 +415,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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_xtg.js b/activity/jd_xtg.js index fb3478cd..7df58fb4 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -416,4 +416,4 @@ function taskUrl(function_id) { } } // 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)} +function Env(t,e){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("@"),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,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/jr_sign.js b/activity/jr_sign.js index 34506658..c4b5083f 100644 --- a/activity/jr_sign.js +++ b/activity/jr_sign.js @@ -196,4 +196,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/iOS_Weather_AQI_Standard.js b/backUp/iOS_Weather_AQI_Standard.js index dfb22941..add761fc 100644 --- a/backUp/iOS_Weather_AQI_Standard.js +++ b/backUp/iOS_Weather_AQI_Standard.js @@ -135,4 +135,4 @@ $.get({ url: `https://api.waqi.info/feed/geo:${lat};${lng}/?token=${aqicnToken}` $.done(); } }); -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)} \ No newline at end of file +function Env(t,e){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("@"),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,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_Goods.js b/backUp/jd_Goods.js index 5c33eaf9..a31ddeba 100644 --- a/backUp/jd_Goods.js +++ b/backUp/jd_Goods.js @@ -8,4 +8,4 @@ $.msg($.name, "领50京豆啦", "https://h5.m.jd.com/babelDiy/Zeus/3mTNcpWt5JYh3 $.done(); // 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 +function Env(t,e){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("@"),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,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_pet_double.js b/backUp/jd_pet_double.js index 4cd1dcca..8bb49cf4 100644 --- a/backUp/jd_pet_double.js +++ b/backUp/jd_pet_double.js @@ -527,4 +527,4 @@ function taskurl(function_id, body = {}) { } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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_plantBean_double.js b/backUp/jd_plantBean_double.js index d5d24cdf..e549afc3 100644 --- a/backUp/jd_plantBean_double.js +++ b/backUp/jd_plantBean_double.js @@ -592,4 +592,4 @@ function getParam(url, name) { return null; } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/qqread.js b/backUp/qqread.js index f9673021..3014b47f 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -640,4 +640,4 @@ function qqreadpick() { // 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)} +function Env(t,e){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("@"),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,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/webhook.js b/backUp/webhook.js index de3398ab..d440fe3d 100644 --- a/backUp/webhook.js +++ b/backUp/webhook.js @@ -79,4 +79,4 @@ function hook(key) { }) } // 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 +function Env(t,e){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("@"),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,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/xmSports.js b/backUp/xmSports.js index e8300097..83c2c5df 100644 --- a/backUp/xmSports.js +++ b/backUp/xmSports.js @@ -172,4 +172,4 @@ function randomFriendPin(m,n) { } isRequest ? getToken() : start(); // 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)} +function Env(t,e){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("@"),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,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/xmly_speed_ccokie.js b/backUp/xmly_speed_ccokie.js index 29d67997..650bd8ed 100644 --- a/backUp/xmly_speed_ccokie.js +++ b/backUp/xmly_speed_ccokie.js @@ -31,4 +31,4 @@ function GetCookie() { $.done(); } } -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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/getJDCookie.js b/getJDCookie.js index a2ea7d1b..b8ce69a2 100644 --- a/getJDCookie.js +++ b/getJDCookie.js @@ -188,4 +188,4 @@ function taskPostUrl() { } // 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();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)} \ No newline at end of file +function Env(t,e){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("@"),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,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/jd_bean_change.js b/jd_bean_change.js index 81634293..b6faf6e2 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -263,4 +263,4 @@ function jsonParse(str) { } } // 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 +function Env(t,e){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("@"),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,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/jd_bean_home.js b/jd_bean_home.js index bb519491..b8d2bba7 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -512,4 +512,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_bean_sign.js b/jd_bean_sign.js index dda14051..9c26d6ef 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -238,4 +238,4 @@ function timeFormat(time) { } return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); } -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)} +function Env(t,e){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("@"),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,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/jd_blueCoin.js b/jd_blueCoin.js index 4fb91213..457f72e9 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -432,4 +432,4 @@ function jsonParse(str) { } } } -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)} +function Env(t,e){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("@"),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,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/jd_bookshop.js b/jd_bookshop.js index 972f4d83..cc05b230 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -741,4 +741,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_car.js b/jd_car.js index 0c583467..11bc4d59 100644 --- a/jd_car.js +++ b/jd_car.js @@ -356,4 +356,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_car_exchange.js b/jd_car_exchange.js index 44de94e5..0faeba74 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -192,4 +192,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_cash.js b/jd_cash.js index 285a863b..1bfee642 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -445,4 +445,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_club_lottery.js b/jd_club_lottery.js index 642ab546..11be3c6c 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -403,4 +403,4 @@ function taskUrl(function_id, body = {}, appId = 'vip_h5') { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/jd_crazy_joy.js b/jd_crazy_joy.js index 84364601..3898191e 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -808,4 +808,4 @@ function randomNumber(min = 0, max = 100) { return Math.min(Math.floor(min + Math.random() * (max - min)), max); } // 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();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)} +function Env(t,e){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("@"),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,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/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index fc0e89d4..4740a52d 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -724,4 +724,4 @@ function jsonParse(str) { } } // 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();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)} +function Env(t,e){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("@"),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,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/jd_daily_egg.js b/jd_daily_egg.js index 8664140f..d28d8721 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -237,4 +237,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/jd_dreamFactory.js b/jd_dreamFactory.js index 1d1175e6..f3afe082 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1503,4 +1503,4 @@ function jsonParse(str) { } } // 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();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)} +function Env(t,e){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("@"),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,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/jd_family.js b/jd_family.js index 6f29ca09..7d2a9178 100644 --- a/jd_family.js +++ b/jd_family.js @@ -284,4 +284,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_fruit.js b/jd_fruit.js index ccc90176..9766ef57 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1453,4 +1453,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_get_share_code.js b/jd_get_share_code.js index 2daaabdd..922ea188 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -751,4 +751,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_jdfactory.js b/jd_jdfactory.js index 5c56b1c0..728ff2cc 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -769,4 +769,4 @@ function jsonParse(str) { } } // 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 +function Env(t,e){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("@"),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,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/jd_jdzz.js b/jd_jdzz.js index f2b01ce2..7e99d99e 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -516,4 +516,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_joy.js b/jd_joy.js index b5b53d26..1d164907 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -872,4 +872,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_joy_feedPets.js b/jd_joy_feedPets.js index fe46fafa..bb154b89 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -237,4 +237,4 @@ function TotalBean() { }) } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_joy_reward.js b/jd_joy_reward.js index c39fe96b..0a77a86a 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -328,4 +328,4 @@ function safeGet(data) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_joy_run.js b/jd_joy_run.js index 696c6ff0..67cef874 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -452,4 +452,4 @@ function getRandomArrayElements(arr, count) { } isRequest ? getToken() : main(); -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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_joy_steal.js b/jd_joy_steal.js index 63fec0f9..e490137f 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -576,4 +576,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/jd_jxnc.js b/jd_jxnc.js index e6c83d45..2040d55d 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -581,275 +581,4 @@ async function showMsg() { } // 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, o) => { - 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.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 o = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - o = o ? 1 * o : 20, o = e && e.timeout ? e.timeout : o; - const [r, h] = i.split("@"), a = { - url: `http://${h}/v1/scripting/evaluate`, - body: {script_text: t, mock_type: "cron", timeout: o}, - headers: {"X-Key": r, 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), o = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, o) : i ? this.fs.writeFileSync(e, o) : this.fs.writeFileSync(t, o) - } - } - - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let o = t; - for (const t of i) if (o = Object(o)[t], void 0 === o) return s; - return o - } - - 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), o = s ? this.getval(s) : ""; - if (o) try { - const t = JSON.parse(o); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, o] = /^@(.*?)\.(.*?)$/.exec(e), r = this.getval(i), - h = i ? "null" === r ? null : r || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, o, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const r = {}; - this.lodash_set(r, o, t), s = this.setval(JSON.stringify(r), 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() ? $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }) : this.isQuanX() ? $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t)) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - 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: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t))) - } - - 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()) $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", $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, 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: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t)) - } - } - - 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 = "", o) { - const r = t => { - if (!t || !this.isLoon() && this.isSurge()) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t["open-url"], s = t.mediaUrl || t["media-url"]; - return {openUrl: e, mediaUrl: s} - } - if (this.isQuanX()) { - let e = t["open-url"] || t.openUrl, s = t["media-url"] || t.mediaUrl; - return {"open-url": e, "media-url": s} - } - } - }; - this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, r(o)) : this.isQuanX() && $notify(e, s, i, r(o))); - 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) -} +function Env(t,e){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("@"),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,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/jd_kd.js b/jd_kd.js index ba4cb9f7..3e2731bb 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -209,4 +209,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_live.js b/jd_live.js index 89f3fef5..2376e934 100644 --- a/jd_live.js +++ b/jd_live.js @@ -308,4 +308,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_lotteryMachine.js b/jd_lotteryMachine.js index 34012781..02bf5b92 100644 --- a/jd_lotteryMachine.js +++ b/jd_lotteryMachine.js @@ -69,5 +69,4 @@ function updateShareCodesCDN(url = 'https://raw.fastgit.org/yangtingxiao/Quantum }) } - -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)} +function Env(t,e){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("@"),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,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/jd_moneyTree.js b/jd_moneyTree.js index 03bdcf37..e829abb1 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -661,4 +661,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/jd_necklace.js b/jd_necklace.js index 5735f1ec..7e474ed7 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -362,4 +362,4 @@ function jsonParse(str) { } } // 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 +function Env(t,e){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("@"),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,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/jd_nh.js b/jd_nh.js index 39118094..62d78843 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -542,4 +542,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_nian.js b/jd_nian.js index b27f6da5..78e85b8d 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -621,4 +621,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_nianCollect.js b/jd_nianCollect.js index da35d1de..87212e27 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -150,5 +150,4 @@ function jsonParse(str) { } } } - -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) } +function Env(t,e){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("@"),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,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/jd_pet.js b/jd_pet.js index e75e569d..f333768a 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -649,4 +649,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_pigPet.js b/jd_pigPet.js index 82f9fe30..ded92d13 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -681,4 +681,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/jd_plantBean.js b/jd_plantBean.js index 6cb9fc68..a63a45ec 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -763,4 +763,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_rankingList.js b/jd_rankingList.js index 24f2ce8f..43eb04f4 100644 --- a/jd_rankingList.js +++ b/jd_rankingList.js @@ -66,6 +66,4 @@ function scriptsCDN(url = 'https://raw.fastgit.org/yangtingxiao/QuantumultX/mast }) }) } - - -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 +function Env(t,e){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("@"),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,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/jd_redPacket.js b/jd_redPacket.js index a63bd24e..316bd5ac 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -331,4 +331,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/jd_shop.js b/jd_shop.js index 0e2ad153..2bdaaf84 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -216,4 +216,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/jd_small_home.js b/jd_small_home.js index 7f294200..8111b5c4 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -919,4 +919,4 @@ function jsonParse(str) { } } // 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 +function Env(t,e){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("@"),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,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/jd_speed.js b/jd_speed.js index 909231bc..4d44b30c 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -624,4 +624,4 @@ function safeGet(data) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +function Env(t,e){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("@"),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,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/jd_syj.js b/jd_syj.js index 13745cee..1e1fdd45 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -218,4 +218,4 @@ function jsonParse(str) { } } // 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 +function Env(t,e){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("@"),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,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/jd_unbind.js b/jd_unbind.js index 5a8666f9..21d8c5bd 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -263,4 +263,4 @@ function safeGet(data) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jd_unsubscribe.js b/jd_unsubscribe.js index c020b818..6886fd54 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -347,4 +347,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +function Env(t,e){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("@"),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,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/jx_sign.js b/jx_sign.js index 1955c3ed..5e731199 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -314,4 +314,4 @@ function jsonParse(str) { } } // 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)} +function Env(t,e){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("@"),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,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/sendNotify.js b/sendNotify.js index 742bd37b..24631eb1 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -627,4 +627,4 @@ module.exports = { BARK_PUSH } // 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;$.isMute||(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)} +function Env(t,e){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("@"),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,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 From 59ea29500381194ec8a4aa74c5da705bf379d05d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 10:12:35 +0800 Subject: [PATCH 0865/1259] update --- sendNotify.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sendNotify.js b/sendNotify.js index 24631eb1..b33a7f6e 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -627,4 +627,4 @@ module.exports = { BARK_PUSH } // prettier-ignore -function Env(t,e){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("@"),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,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 +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;$.isMute||(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 From 7876194210c7a69ca2814b2191bed4703a83ed54 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 10:26:10 +0800 Subject: [PATCH 0866/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=A0=E6=B1=AA?= =?UTF-8?q?=E6=B1=AA=E5=85=91=E6=8D=A2=E4=BA=AC=E8=B1=86=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=20jd=5Fjoy=5Freward.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_reward.js | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 0a77a86a..32198864 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -1,6 +1,6 @@ /* 宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 -更新时间:2021-1-13 +更新时间:2021-1-20 兑换规则:一个账号一天只能兑换一次京豆。 兑换奖品成功后才会有系统弹窗通知 每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 @@ -198,9 +198,30 @@ function getExchangeRewards() { } function exchange(saleInfoId, orderSource) { return new Promise((resolve) => { + const body = { + "buyParam": { saleInfoId, orderSource }, + "deviceInfo": { + "eid": "", + "fp": "", + "deviceType": "", + "macAddress": "", + "imei": "", + "os": "", + "osVersion": "", + "ip": "", + "appId": "", + "openUUID": "", + "idfa": "", + "uuid": "", + "clientVersion": "", + "networkType": "", + "appType": "", + "sdkToken": "" + } + } const option = { - url: `${JD_API_HOST}/gift/exchange`, - body: `${JSON.stringify({ saleInfoId, orderSource })}`, + url: `${JD_API_HOST}/gift/new/exchange?reqSource=h5`, + body: `${JSON.stringify(body)}`, headers: { "Host": "jdjoy.jd.com", "Accept": "*/*", From 99cffc27d571c07e117c257da38e25cccfb4194e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 10:37:43 +0800 Subject: [PATCH 0867/1259] =?UTF-8?q?Revert=20"=E6=9B=BF=E6=8D=A2=E6=89=80?= =?UTF-8?q?=E4=BB=A5=E4=BB=A3=E7=A0=81=E5=BA=95=E9=83=A8function=20Env(t,e?= =?UTF-8?q?)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 87ea6d59 --- JD_extra_cookie.js | 2 +- activity/jd_818.js | 2 +- activity/jd_apple_live.js | 2 +- activity/jd_digital_floor.js | 2 +- activity/jd_ds.js | 2 +- activity/jd_health.js | 2 +- activity/jd_jdh.js | 2 +- activity/jd_jxstory.js | 2 +- activity/jd_live_redrain.js | 2 +- activity/jd_live_redrain2.js | 2 +- activity/jd_mohe.js | 2 +- activity/jd_ms_redrain.js | 2 +- activity/jd_pubg.js | 2 +- activity/jd_split.js | 2 +- activity/jd_watch.js | 2 +- activity/jd_xtg.js | 2 +- activity/jr_sign.js | 2 +- backUp/iOS_Weather_AQI_Standard.js | 2 +- backUp/jd_Goods.js | 2 +- backUp/jd_pet_double.js | 2 +- backUp/jd_plantBean_double.js | 2 +- backUp/qqread.js | 2 +- backUp/webhook.js | 2 +- backUp/xmSports.js | 2 +- backUp/xmly_speed_ccokie.js | 2 +- getJDCookie.js | 2 +- jd_bean_change.js | 2 +- jd_bean_home.js | 2 +- jd_bean_sign.js | 3 +- jd_blueCoin.js | 2 +- jd_bookshop.js | 2 +- jd_car.js | 2 +- jd_car_exchange.js | 2 +- jd_cash.js | 2 +- jd_club_lottery.js | 2 +- jd_crazy_joy.js | 2 +- jd_crazy_joy_coin.js | 2 +- jd_daily_egg.js | 2 +- jd_dreamFactory.js | 2 +- jd_family.js | 2 +- jd_fruit.js | 2 +- jd_get_share_code.js | 2 +- jd_jdfactory.js | 2 +- jd_jdzz.js | 2 +- jd_joy.js | 2 +- jd_joy_feedPets.js | 2 +- jd_joy_reward.js | 2 +- jd_joy_run.js | 2 +- jd_joy_steal.js | 2 +- jd_jxnc.js | 273 ++++++++++++++++++++++++++++- jd_kd.js | 2 +- jd_live.js | 2 +- jd_lotteryMachine.js | 3 +- jd_moneyTree.js | 2 +- jd_necklace.js | 2 +- jd_nh.js | 2 +- jd_nian.js | 2 +- jd_nianCollect.js | 2 +- jd_pet.js | 2 +- jd_pigPet.js | 2 +- jd_plantBean.js | 2 +- jd_rankingList.js | 4 +- jd_redPacket.js | 2 +- jd_shop.js | 2 +- jd_small_home.js | 2 +- jd_speed.js | 2 +- jd_syj.js | 2 +- jd_unbind.js | 2 +- jd_unsubscribe.js | 2 +- jx_sign.js | 2 +- sendNotify.js | 2 +- 71 files changed, 345 insertions(+), 72 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index beeaaa83..e0a69f1b 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -116,7 +116,7 @@ function GetCookie() { } // prettier-ignore -function Env(t,e){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("@"),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,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 ENV(){const isQX=typeof $task!=="undefined";const isLoon=typeof $loon!=="undefined";const isSurge=typeof $httpClient!=="undefined"&&!isLoon;const isJSBox=typeof require=="function"&&typeof $jsbox!="undefined";const isNode=typeof require=="function"&&!isJSBox;const isRequest=typeof $request!=="undefined";const isScriptable=typeof importModule!=="undefined";return{isQX,isLoon,isSurge,isNode,isJSBox,isRequest,isScriptable}} // prettier-ignore function HTTP(baseURL,defaultOptions={}){const{isQX,isLoon,isSurge,isScriptable,isNode}=ENV();const methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"];function send(method,options){options=typeof options==="string"?{url:options}:options;options.url=baseURL?baseURL+options.url:options.url;options={...defaultOptions,...options};const timeout=options.timeout;const events={...{onRequest:()=>{},onResponse:(resp)=>resp,onTimeout:()=>{},},...options.events,};events.onRequest(method,options);let worker;if(isQX){worker=$task.fetch({method,...options})}else if(isLoon||isSurge||isNode){worker=new Promise((resolve,reject)=>{const request=isNode?require("request"):$httpClient;request[method.toLowerCase()](options,(err,response,body)=>{if(err)reject(err);else resolve({statusCode:response.status||response.statusCode,headers:response.headers,body,})})})}else if(isScriptable){const request=new Request(options.url);request.method=method;request.headers=options.headers;request.body=options.body;worker=new Promise((resolve,reject)=>{request.loadString().then((body)=>{resolve({statusCode:request.response.statusCode,headers:request.response.headers,body,})}).catch((err)=>reject(err))})}let timeoutid;const timer=timeout?new Promise((_,reject)=>{timeoutid=setTimeout(()=>{events.onTimeout();return reject(`${method}URL:${options.url}exceeds the timeout ${timeout}ms`)},timeout)}):null;return(timer?Promise.race([timer,worker]).then((res)=>{clearTimeout(timeoutid);return res}):worker).then((resp)=>events.onResponse(resp))}const http={};methods.forEach((method)=>(http[method.toLowerCase()]=(options)=>send(method,options)));return http} // prettier-ignore diff --git a/activity/jd_818.js b/activity/jd_818.js index 592a11e4..777b4072 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -932,4 +932,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_apple_live.js b/activity/jd_apple_live.js index e99d50e7..681e5068 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -416,4 +416,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index 0682435e..37db5343 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -423,4 +423,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_ds.js b/activity/jd_ds.js index 73bcf644..2245c64e 100644 --- a/activity/jd_ds.js +++ b/activity/jd_ds.js @@ -217,4 +217,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_health.js b/activity/jd_health.js index 98d4dd8f..827e941e 100644 --- a/activity/jd_health.js +++ b/activity/jd_health.js @@ -398,4 +398,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_jdh.js b/activity/jd_jdh.js index 30b7432a..0d8c11ae 100644 --- a/activity/jd_jdh.js +++ b/activity/jd_jdh.js @@ -432,4 +432,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_jxstory.js b/activity/jd_jxstory.js index c6ff8da1..bec14c83 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -666,4 +666,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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_live_redrain.js b/activity/jd_live_redrain.js index 36abc329..18db6765 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -279,4 +279,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js index 311cc895..2985bc6f 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -243,4 +243,4 @@ function safeGet(data) { } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_mohe.js b/activity/jd_mohe.js index 254a94f1..8ad49d43 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -419,4 +419,4 @@ function taskurl(url) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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)} diff --git a/activity/jd_ms_redrain.js b/activity/jd_ms_redrain.js index feb8e5d3..0fd8dbcb 100644 --- a/activity/jd_ms_redrain.js +++ b/activity/jd_ms_redrain.js @@ -205,4 +205,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_pubg.js b/activity/jd_pubg.js index 99887cb8..8523722e 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -513,4 +513,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_split.js b/activity/jd_split.js index b3935095..9537b0a1 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -311,4 +311,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_watch.js b/activity/jd_watch.js index 6806e18a..3f314cd0 100644 --- a/activity/jd_watch.js +++ b/activity/jd_watch.js @@ -415,4 +415,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jd_xtg.js b/activity/jd_xtg.js index 7df58fb4..fb3478cd 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -416,4 +416,4 @@ function taskUrl(function_id) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/activity/jr_sign.js b/activity/jr_sign.js index c4b5083f..34506658 100644 --- a/activity/jr_sign.js +++ b/activity/jr_sign.js @@ -196,4 +196,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/iOS_Weather_AQI_Standard.js b/backUp/iOS_Weather_AQI_Standard.js index add761fc..dfb22941 100644 --- a/backUp/iOS_Weather_AQI_Standard.js +++ b/backUp/iOS_Weather_AQI_Standard.js @@ -135,4 +135,4 @@ $.get({ url: `https://api.waqi.info/feed/geo:${lat};${lng}/?token=${aqicnToken}` $.done(); } }); -function Env(t,e){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("@"),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,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 +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)} \ No newline at end of file diff --git a/backUp/jd_Goods.js b/backUp/jd_Goods.js index a31ddeba..5c33eaf9 100644 --- a/backUp/jd_Goods.js +++ b/backUp/jd_Goods.js @@ -8,4 +8,4 @@ $.msg($.name, "领50京豆啦", "https://h5.m.jd.com/babelDiy/Zeus/3mTNcpWt5JYh3 $.done(); // prettier-ignore -function Env(t,e){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("@"),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,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 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_pet_double.js b/backUp/jd_pet_double.js index 8bb49cf4..4cd1dcca 100644 --- a/backUp/jd_pet_double.js +++ b/backUp/jd_pet_double.js @@ -527,4 +527,4 @@ function taskurl(function_id, body = {}) { } // prettier-ignore -function Env(t,e){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("@"),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,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 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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_plantBean_double.js b/backUp/jd_plantBean_double.js index e549afc3..d5d24cdf 100644 --- a/backUp/jd_plantBean_double.js +++ b/backUp/jd_plantBean_double.js @@ -592,4 +592,4 @@ function getParam(url, name) { return null; } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/qqread.js b/backUp/qqread.js index 3014b47f..f9673021 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -640,4 +640,4 @@ function qqreadpick() { // prettier-ignore -function Env(t,e){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("@"),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,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 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/webhook.js b/backUp/webhook.js index d440fe3d..de3398ab 100644 --- a/backUp/webhook.js +++ b/backUp/webhook.js @@ -79,4 +79,4 @@ function hook(key) { }) } // prettier-ignore -function Env(t,e){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("@"),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,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 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/xmSports.js b/backUp/xmSports.js index 83c2c5df..e8300097 100644 --- a/backUp/xmSports.js +++ b/backUp/xmSports.js @@ -172,4 +172,4 @@ function randomFriendPin(m,n) { } isRequest ? getToken() : start(); // prettier-ignore -function Env(t,e){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("@"),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,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 +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/xmly_speed_ccokie.js b/backUp/xmly_speed_ccokie.js index 650bd8ed..29d67997 100644 --- a/backUp/xmly_speed_ccokie.js +++ b/backUp/xmly_speed_ccokie.js @@ -31,4 +31,4 @@ function GetCookie() { $.done(); } } -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/getJDCookie.js b/getJDCookie.js index b8ce69a2..a2ea7d1b 100644 --- a/getJDCookie.js +++ b/getJDCookie.js @@ -188,4 +188,4 @@ function taskPostUrl() { } // prettier-ignore -function Env(t,e){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("@"),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,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 +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)} \ No newline at end of file diff --git a/jd_bean_change.js b/jd_bean_change.js index b6faf6e2..81634293 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -263,4 +263,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_bean_home.js b/jd_bean_home.js index b8d2bba7..bb519491 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -512,4 +512,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_bean_sign.js b/jd_bean_sign.js index a06b2d3b..8f831ddd 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -264,5 +264,4 @@ function timeFormat(time) { } return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); } - -function Env(t,e){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("@"),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,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 +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)} diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 457f72e9..4fb91213 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -432,4 +432,4 @@ function jsonParse(str) { } } } -function Env(t,e){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("@"),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,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 +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)} diff --git a/jd_bookshop.js b/jd_bookshop.js index cc05b230..972f4d83 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -741,4 +741,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_car.js b/jd_car.js index 11bc4d59..0c583467 100644 --- a/jd_car.js +++ b/jd_car.js @@ -356,4 +356,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_car_exchange.js b/jd_car_exchange.js index 0faeba74..44de94e5 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -192,4 +192,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_cash.js b/jd_cash.js index 1bfee642..285a863b 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -445,4 +445,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_club_lottery.js b/jd_club_lottery.js index 11be3c6c..642ab546 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -403,4 +403,4 @@ function taskUrl(function_id, body = {}, appId = 'vip_h5') { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_crazy_joy.js b/jd_crazy_joy.js index 3898191e..84364601 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -808,4 +808,4 @@ function randomNumber(min = 0, max = 100) { return Math.min(Math.floor(min + Math.random() * (max - min)), max); } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 4740a52d..fc0e89d4 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -724,4 +724,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_daily_egg.js b/jd_daily_egg.js index d28d8721..8664140f 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -237,4 +237,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_dreamFactory.js b/jd_dreamFactory.js index 149ae051..df28553f 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1508,4 +1508,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_family.js b/jd_family.js index 7d2a9178..6f29ca09 100644 --- a/jd_family.js +++ b/jd_family.js @@ -284,4 +284,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_fruit.js b/jd_fruit.js index 9766ef57..ccc90176 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1453,4 +1453,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_get_share_code.js b/jd_get_share_code.js index 922ea188..2daaabdd 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -751,4 +751,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_jdfactory.js b/jd_jdfactory.js index 728ff2cc..5c56b1c0 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -769,4 +769,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_jdzz.js b/jd_jdzz.js index 7e99d99e..f2b01ce2 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -516,4 +516,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_joy.js b/jd_joy.js index 035051f3..5c89902f 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -909,4 +909,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_joy_feedPets.js b/jd_joy_feedPets.js index bb154b89..fe46fafa 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -237,4 +237,4 @@ function TotalBean() { }) } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_joy_reward.js b/jd_joy_reward.js index 32198864..57b7188c 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -349,4 +349,4 @@ function safeGet(data) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_joy_run.js b/jd_joy_run.js index 67cef874..696c6ff0 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -452,4 +452,4 @@ function getRandomArrayElements(arr, count) { } isRequest ? getToken() : main(); -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_joy_steal.js b/jd_joy_steal.js index 34fb9594..ccb6b587 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -585,4 +585,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_jxnc.js b/jd_jxnc.js index 6c978c81..b485e3f2 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -582,4 +582,275 @@ async function showMsg() { } // prettier-ignore -function Env(t,e){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("@"),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,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 +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, o) => { + 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.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 o = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); + o = o ? 1 * o : 20, o = e && e.timeout ? e.timeout : o; + const [r, h] = i.split("@"), a = { + url: `http://${h}/v1/scripting/evaluate`, + body: {script_text: t, mock_type: "cron", timeout: o}, + headers: {"X-Key": r, 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), o = JSON.stringify(this.data); + s ? this.fs.writeFileSync(t, o) : i ? this.fs.writeFileSync(e, o) : this.fs.writeFileSync(t, o) + } + } + + lodash_get(t, e, s) { + const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); + let o = t; + for (const t of i) if (o = Object(o)[t], void 0 === o) return s; + return o + } + + 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), o = s ? this.getval(s) : ""; + if (o) try { + const t = JSON.parse(o); + e = t ? this.lodash_get(t, i, "") : e + } catch (t) { + e = "" + } + } + return e + } + + setdata(t, e) { + let s = !1; + if (/^@/.test(e)) { + const [, i, o] = /^@(.*?)\.(.*?)$/.exec(e), r = this.getval(i), + h = i ? "null" === r ? null : r || "{}" : "{}"; + try { + const e = JSON.parse(h); + this.lodash_set(e, o, t), s = this.setval(JSON.stringify(e), i) + } catch (e) { + const r = {}; + this.lodash_set(r, o, t), s = this.setval(JSON.stringify(r), 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() ? $httpClient.get(t, (t, s, i) => { + !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) + }) : this.isQuanX() ? $task.fetch(t).then(t => { + const {statusCode: s, statusCode: i, headers: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t)) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { + try { + 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: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t))) + } + + 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()) $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", $task.fetch(t).then(t => { + const {statusCode: s, statusCode: i, headers: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, 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: o, body: r} = t; + e(null, {status: s, statusCode: i, headers: o, body: r}, r) + }, t => e(t)) + } + } + + 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 = "", o) { + const r = t => { + if (!t || !this.isLoon() && this.isSurge()) return t; + if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : void 0; + if ("object" == typeof t) { + if (this.isLoon()) { + let e = t.openUrl || t["open-url"], s = t.mediaUrl || t["media-url"]; + return {openUrl: e, mediaUrl: s} + } + if (this.isQuanX()) { + let e = t["open-url"] || t.openUrl, s = t["media-url"] || t.mediaUrl; + return {"open-url": e, "media-url": s} + } + } + }; + this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, r(o)) : this.isQuanX() && $notify(e, s, i, r(o))); + 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/jd_kd.js b/jd_kd.js index 3e2731bb..ba4cb9f7 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -209,4 +209,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_live.js b/jd_live.js index 2376e934..89f3fef5 100644 --- a/jd_live.js +++ b/jd_live.js @@ -308,4 +308,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_lotteryMachine.js b/jd_lotteryMachine.js index 02bf5b92..34012781 100644 --- a/jd_lotteryMachine.js +++ b/jd_lotteryMachine.js @@ -69,4 +69,5 @@ function updateShareCodesCDN(url = 'https://raw.fastgit.org/yangtingxiao/Quantum }) } -function Env(t,e){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("@"),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,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 + +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/jd_moneyTree.js b/jd_moneyTree.js index e829abb1..03bdcf37 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -661,4 +661,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_necklace.js b/jd_necklace.js index 7e474ed7..5735f1ec 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -362,4 +362,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_nh.js b/jd_nh.js index 62d78843..39118094 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -542,4 +542,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_nian.js b/jd_nian.js index 62cbb546..6d3e6495 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -967,4 +967,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_nianCollect.js b/jd_nianCollect.js index 9e659cba..5a5e5ef1 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -210,4 +210,4 @@ function jsonParse(str) { } } -function Env(t,e){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("@"),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,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 +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) } diff --git a/jd_pet.js b/jd_pet.js index 6dace592..8925cc2a 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -651,4 +651,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_pigPet.js b/jd_pigPet.js index ded92d13..82f9fe30 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -681,4 +681,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_plantBean.js b/jd_plantBean.js index a63a45ec..6cb9fc68 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -763,4 +763,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_rankingList.js b/jd_rankingList.js index 43eb04f4..24f2ce8f 100644 --- a/jd_rankingList.js +++ b/jd_rankingList.js @@ -66,4 +66,6 @@ function scriptsCDN(url = 'https://raw.fastgit.org/yangtingxiao/QuantumultX/mast }) }) } -function Env(t,e){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("@"),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,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 + + +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/jd_redPacket.js b/jd_redPacket.js index 316bd5ac..a63bd24e 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -331,4 +331,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_shop.js b/jd_shop.js index 2bdaaf84..0e2ad153 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -216,4 +216,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_small_home.js b/jd_small_home.js index 8111b5c4..7f294200 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -919,4 +919,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_speed.js b/jd_speed.js index 4d44b30c..909231bc 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -624,4 +624,4 @@ function safeGet(data) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_syj.js b/jd_syj.js index 1e1fdd45..13745cee 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -218,4 +218,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/jd_unbind.js b/jd_unbind.js index 21d8c5bd..5a8666f9 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -263,4 +263,4 @@ function safeGet(data) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jd_unsubscribe.js b/jd_unsubscribe.js index 6886fd54..c020b818 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -347,4 +347,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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/jx_sign.js b/jx_sign.js index 5e731199..1955c3ed 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -314,4 +314,4 @@ function jsonParse(str) { } } // prettier-ignore -function Env(t,e){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("@"),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,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 +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/sendNotify.js b/sendNotify.js index b33a7f6e..742bd37b 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -627,4 +627,4 @@ module.exports = { BARK_PUSH } // 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;$.isMute||(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 +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;$.isMute||(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)} From 96663b21f5ac6012d15d9d26fddabc9ef6148c50 Mon Sep 17 00:00:00 2001 From: hongyunfei <34985241+hongyunfei@users.noreply.github.com> Date: Wed, 20 Jan 2021 10:41:22 +0800 Subject: [PATCH 0868/1259] Update USER_AGENTS.js --- USER_AGENTS.js | 1 + 1 file changed, 1 insertion(+) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 81c33f92..fd1cda2c 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -4,6 +4,7 @@ const USER_AGENTS = [ "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", "jdapp;android;9.3.4;9;D266436653462-6665326466626;network/4g;model/Mi Note 3;addressid/137888479;aid/15225879b8538ee7;oaid/f3157082db9da676;osVer/28;appBuild/86388;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" + "jdapp;android;9.3.6;9;8363538313830343131373538363-93D2134313639356631333737346;network/wifi;model/16T;addressid/1312262776;aid/afba6ae53ef2cece;oaid/;osVer/28;appBuild/86560;partner/meizu;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36" ] /** * 生成随机数字 From edea9bc999022b940974c1a621bc9ede43c96d45 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 10:46:14 +0800 Subject: [PATCH 0869/1259] debug --- Env.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Env.min.js b/Env.min.js index 32cd5dc6..fe866e9e 100644 --- a/Env.min.js +++ b/Env.min.js @@ -1 +1 @@ -function Env(t,e){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("@"),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,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 +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 From ff640416bef05812c7495b780e4362c897d8f9ee Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 10:57:26 +0800 Subject: [PATCH 0870/1259] debug --- test.js | 352 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 352 insertions(+) create mode 100644 test.js diff --git a/test.js b/test.js new file mode 100644 index 00000000..c3f7b272 --- /dev/null +++ b/test.js @@ -0,0 +1,352 @@ +/* +宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 +更新时间:2021-1-20 +兑换规则:一个账号一天只能兑换一次京豆。 +兑换奖品成功后才会有系统弹窗通知 +每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 +支持京东双账号 +脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js +// Quantumult X +[task_local] +#宠汪汪积分兑换奖品 +0 0-16/8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +// Loon +[Script] +cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 +// Surge +宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js + */ +const $ = new Env('宠汪汪积分兑换奖品'); +let joyRewardName = 20;//是否兑换京豆,默认开启兑换功能,其中20为兑换20京豆,500为兑换500京豆,0为不兑换京豆.数量有限先到先得 +//Node.js用户请在jdCookie.js处填写京东ck; +const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +const notify = $.isNode() ? require('./sendNotify') : ''; +let jdNotify = false;//是否开启静默运行,默认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 { + 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); +} +const JD_API_HOST = 'https://jdjoy.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"}); + } + 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 + } + console.log(`本地时间与京东服务器时间差(毫秒):${await get_diff_time()}`); + await joyReward(); + // $.msg($.name, '兑换脚本暂不能使用', `请停止使用,等待后期更新\n如果新版本兑换您有兑换机会,请抓包兑换\n再把抓包数据发送telegram用户@LXK9301`); + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function joyReward() { + 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`); + console.log(`京东昵称 ${$.nickName}\n`); + let saleInfoId = '', giftValue = '', extInfo = '', leftStock = 0, salePrice = 0; + let rewardNum = 0; + if ($.isNode() && process.env.JD_JOY_REWARD_NAME) { + rewardNum = process.env.JD_JOY_REWARD_NAME * 1; + } else if ($.getdata('joyRewardName')) { + if ($.getdata('joyRewardName') * 1 === 1) { + //兼容之前的BoxJs设置 + rewardNum = 20; + } else { + rewardNum = $.getdata('joyRewardName') * 1; + } + } else { + rewardNum = joyRewardName; + } + for (let item of giftSaleInfos) { + if (item.giftType === 'jd_bean' && item['giftValue'] === rewardNum) { + saleInfoId = item.id; + leftStock = item.leftStock; + salePrice = item.salePrice; + giftValue = item.giftValue; + } + } + console.log(`当前京豆库存:${leftStock}`) + console.log(`saleInfoId:${saleInfoId}`) + // 兼容之前BoxJs兑换设置的数据 + if (rewardNum && (rewardNum === 1 || rewardNum === 20 || rewardNum === 50 || rewardNum === 100 || rewardNum === 500 || rewardNum === 1000)) { + //开始兑换 + if (data.coin >= salePrice) { + if (leftStock) { + if (!saleInfoId) return + console.log(`当前账户积分:${data.coin}\n当前京豆库存:${leftStock}\n满足兑换条件,开始为您兑换京豆\n`); + await exchange(saleInfoId, 'pet'); + if ($.exchangeRes && $.exchangeRes.success) { + if ($.exchangeRes.errorCode === 'buy_success') { + console.log(`兑换${giftValue}成功,【宠物等级】${data.level}\n【消耗积分】${salePrice}个\n【剩余积分】${data.coin - salePrice}个\n`) + let ctrTemp; + 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【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); + if ($.isNode()) { + await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】 ${$.nickName}\n【${giftValue}京豆】兑换成功\n【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); + } + } + // 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(`兑换${rewardNum}京豆失败,原因:兑换京豆已达上限,请把机会留给更多的小伙伴~\n`) + //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n兑换京豆已达上限\n请把机会留给更多的小伙伴~\n`) + } else if ($.exchangeRes && $.exchangeRes.errorCode === 'stock_empty'){ + console.log(`兑换${rewardNum}京豆失败,原因:当前京豆库存为空\n`) + } else { + console.log(`兑奖异常:${JSON.stringify($.exchangeRes)}`) + } + } else { + console.log(`兑换京豆异常:${JSON.stringify($.exchangeRes)}`) + } + } else { + console.log(`兑换${rewardNum}京豆失败,原因:京豆库存不足,已抢完,请下一场再兑换`) + } + } else { + console.log(`兑换${rewardNum}京豆失败,原因:您目前只有${data.coin}积分,已不足兑换${giftValue}京豆所需的${salePrice}积分\n`) + //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n目前只有${data.coin}积分\n已不足兑换${giftName}所需的${salePrice}积分\n`) + } + } else { + console.log('您设置了不兑换京豆,如需兑换京豆,请去BoxJs重新设置或修改第20行代码') + } + } else { + console.log(`${$.name}getExchangeRewards异常,${JSON.stringify($.getExchangeRewardsRes)}`) + } +} +function getExchangeRewards() { + return new Promise((resolve) => { + const option = { + url: `${JD_API_HOST}/gift/getHomeInfo`, + 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "Referer": "https://jdjoy.jd.com/pet/index", + "Accept-Language": "zh-cn", + "Accept-Encoding": "gzip, deflate, br" + }, + } + $.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) { + return new Promise((resolve) => { + const body = { + "buyParam": { saleInfoId, orderSource }, + "deviceInfo": { + "eid": "", + "fp": "", + "deviceType": "", + "macAddress": "", + "imei": "", + "os": "", + "osVersion": "", + "ip": "", + "appId": "", + "openUUID": "", + "idfa": "", + "uuid": "", + "clientVersion": "", + "networkType": "", + "appType": "", + "sdkToken": "" + } + } + const option = { + url: `${JD_API_HOST}/gift/new/exchange?reqSource=h5`, + 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "Referer": "https://jdjoy.jd.com/pet/index", + "Content-Length": "10", + "Cookie": cookie + }, + } + $.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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; + } +} +// 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)} From 476dc6ea0f1a230990a16d8015d64bfd9e526456 Mon Sep 17 00:00:00 2001 From: star <869728223@qq.com> Date: Wed, 20 Jan 2021 11:35:26 +0800 Subject: [PATCH 0871/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=80=E6=9C=89?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E5=BA=95=E9=83=A8Env?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JD_extra_cookie.js | 2 +- activity/jd_818.js | 2 +- activity/jd_apple_live.js | 2 +- activity/jd_digital_floor.js | 2 +- activity/jd_ds.js | 2 +- activity/jd_health.js | 2 +- activity/jd_jdh.js | 2 +- activity/jd_jxstory.js | 2 +- activity/jd_live_redrain.js | 2 +- activity/jd_live_redrain2.js | 2 +- activity/jd_mohe.js | 2 +- activity/jd_ms_redrain.js | 2 +- activity/jd_pubg.js | 2 +- activity/jd_split.js | 2 +- activity/jd_watch.js | 2 +- activity/jd_xtg.js | 2 +- activity/jr_sign.js | 2 +- backUp/iOS_Weather_AQI_Standard.js | 2 +- backUp/jd_Goods.js | 2 +- backUp/jd_pet_double.js | 2 +- backUp/jd_plantBean_double.js | 2 +- backUp/qqread.js | 2 +- backUp/webhook.js | 2 +- backUp/xmSports.js | 2 +- backUp/xmly_speed_ccokie.js | 2 +- getJDCookie.js | 2 +- jd_bean_change.js | 2 +- jd_bean_home.js | 2 +- jd_bean_sign.js | 2 +- jd_blueCoin.js | 2 +- jd_bookshop.js | 2 +- jd_car.js | 2 +- jd_car_exchange.js | 2 +- jd_cash.js | 2 +- jd_club_lottery.js | 2 +- jd_crazy_joy.js | 2 +- jd_crazy_joy_coin.js | 2 +- jd_daily_egg.js | 2 +- jd_dreamFactory.js | 2 +- jd_family.js | 2 +- jd_fruit.js | 2 +- jd_get_share_code.js | 2 +- jd_jdfactory.js | 2 +- jd_jdzz.js | 2 +- jd_joy.js | 2 +- jd_joy_feedPets.js | 2 +- jd_joy_reward.js | 2 +- jd_joy_run.js | 2 +- jd_joy_steal.js | 2 +- jd_jxnc.js | 273 +---------------------------- jd_kd.js | 2 +- jd_live.js | 2 +- jd_lotteryMachine.js | 2 +- jd_moneyTree.js | 2 +- jd_necklace.js | 2 +- jd_nh.js | 2 +- jd_nian.js | 2 +- jd_nianCollect.js | 2 +- jd_pet.js | 2 +- jd_pigPet.js | 2 +- jd_plantBean.js | 2 +- jd_rankingList.js | 2 +- jd_redPacket.js | 2 +- jd_shop.js | 2 +- jd_small_home.js | 2 +- jd_speed.js | 2 +- jd_syj.js | 2 +- jd_unbind.js | 2 +- jd_unsubscribe.js | 2 +- jx_sign.js | 2 +- 70 files changed, 70 insertions(+), 341 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index e0a69f1b..f9d6be21 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -116,7 +116,7 @@ function GetCookie() { } // prettier-ignore -function ENV(){const isQX=typeof $task!=="undefined";const isLoon=typeof $loon!=="undefined";const isSurge=typeof $httpClient!=="undefined"&&!isLoon;const isJSBox=typeof require=="function"&&typeof $jsbox!="undefined";const isNode=typeof require=="function"&&!isJSBox;const isRequest=typeof $request!=="undefined";const isScriptable=typeof importModule!=="undefined";return{isQX,isLoon,isSurge,isNode,isJSBox,isRequest,isScriptable}} +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)} // prettier-ignore function HTTP(baseURL,defaultOptions={}){const{isQX,isLoon,isSurge,isScriptable,isNode}=ENV();const methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"];function send(method,options){options=typeof options==="string"?{url:options}:options;options.url=baseURL?baseURL+options.url:options.url;options={...defaultOptions,...options};const timeout=options.timeout;const events={...{onRequest:()=>{},onResponse:(resp)=>resp,onTimeout:()=>{},},...options.events,};events.onRequest(method,options);let worker;if(isQX){worker=$task.fetch({method,...options})}else if(isLoon||isSurge||isNode){worker=new Promise((resolve,reject)=>{const request=isNode?require("request"):$httpClient;request[method.toLowerCase()](options,(err,response,body)=>{if(err)reject(err);else resolve({statusCode:response.status||response.statusCode,headers:response.headers,body,})})})}else if(isScriptable){const request=new Request(options.url);request.method=method;request.headers=options.headers;request.body=options.body;worker=new Promise((resolve,reject)=>{request.loadString().then((body)=>{resolve({statusCode:request.response.statusCode,headers:request.response.headers,body,})}).catch((err)=>reject(err))})}let timeoutid;const timer=timeout?new Promise((_,reject)=>{timeoutid=setTimeout(()=>{events.onTimeout();return reject(`${method}URL:${options.url}exceeds the timeout ${timeout}ms`)},timeout)}):null;return(timer?Promise.race([timer,worker]).then((res)=>{clearTimeout(timeoutid);return res}):worker).then((resp)=>events.onResponse(resp))}const http={};methods.forEach((method)=>(http[method.toLowerCase()]=(options)=>send(method,options)));return http} // prettier-ignore diff --git a/activity/jd_818.js b/activity/jd_818.js index 777b4072..b01f95ff 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -932,4 +932,4 @@ function jsonParse(str) { } } // 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)} +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_apple_live.js b/activity/jd_apple_live.js index 681e5068..b191435e 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -416,4 +416,4 @@ function jsonParse(str) { } } // 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)} +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 index 37db5343..d2085fe9 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -423,4 +423,4 @@ function jsonParse(str) { } } // 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)} +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 index 2245c64e..1520b720 100644 --- a/activity/jd_ds.js +++ b/activity/jd_ds.js @@ -217,4 +217,4 @@ function jsonParse(str) { } } // 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)} +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 index 827e941e..307a6f95 100644 --- a/activity/jd_health.js +++ b/activity/jd_health.js @@ -398,4 +398,4 @@ function jsonParse(str) { } } // 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)} +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 index 0d8c11ae..dcd4e9ca 100644 --- a/activity/jd_jdh.js +++ b/activity/jd_jdh.js @@ -432,4 +432,4 @@ function jsonParse(str) { } } // 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)} +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_jxstory.js b/activity/jd_jxstory.js index bec14c83..81ed3d0a 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -666,4 +666,4 @@ function jsonParse(str) { } } // 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();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)} +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 index 18db6765..bfd8b777 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -279,4 +279,4 @@ function jsonParse(str) { } } // 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)} +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 index 2985bc6f..7a07dbae 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -243,4 +243,4 @@ function safeGet(data) { } // 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)} +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_mohe.js b/activity/jd_mohe.js index 8ad49d43..483ff4af 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -419,4 +419,4 @@ function taskurl(url) { } } // 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)} +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_ms_redrain.js b/activity/jd_ms_redrain.js index 0fd8dbcb..e747cf88 100644 --- a/activity/jd_ms_redrain.js +++ b/activity/jd_ms_redrain.js @@ -205,4 +205,4 @@ function jsonParse(str) { } } // 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)} +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_pubg.js b/activity/jd_pubg.js index 8523722e..0166ff42 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -513,4 +513,4 @@ function jsonParse(str) { } } // 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)} +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 index 9537b0a1..3acc43ca 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -311,4 +311,4 @@ function jsonParse(str) { } } // 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)} +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_watch.js b/activity/jd_watch.js index 3f314cd0..fd265b44 100644 --- a/activity/jd_watch.js +++ b/activity/jd_watch.js @@ -415,4 +415,4 @@ function jsonParse(str) { } } // 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)} +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_xtg.js b/activity/jd_xtg.js index fb3478cd..bedd4126 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -416,4 +416,4 @@ function taskUrl(function_id) { } } // 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)} +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 index 34506658..e94ecb12 100644 --- a/activity/jr_sign.js +++ b/activity/jr_sign.js @@ -196,4 +196,4 @@ function jsonParse(str) { } } // 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)} +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/iOS_Weather_AQI_Standard.js b/backUp/iOS_Weather_AQI_Standard.js index dfb22941..a460036b 100644 --- a/backUp/iOS_Weather_AQI_Standard.js +++ b/backUp/iOS_Weather_AQI_Standard.js @@ -135,4 +135,4 @@ $.get({ url: `https://api.waqi.info/feed/geo:${lat};${lng}/?token=${aqicnToken}` $.done(); } }); -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)} \ No newline at end of file +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_Goods.js b/backUp/jd_Goods.js index 5c33eaf9..60d6c6ea 100644 --- a/backUp/jd_Goods.js +++ b/backUp/jd_Goods.js @@ -8,4 +8,4 @@ $.msg($.name, "领50京豆啦", "https://h5.m.jd.com/babelDiy/Zeus/3mTNcpWt5JYh3 $.done(); // 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 +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_pet_double.js b/backUp/jd_pet_double.js index 4cd1dcca..c51efb98 100644 --- a/backUp/jd_pet_double.js +++ b/backUp/jd_pet_double.js @@ -527,4 +527,4 @@ function taskurl(function_id, body = {}) { } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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_plantBean_double.js b/backUp/jd_plantBean_double.js index d5d24cdf..50675bbf 100644 --- a/backUp/jd_plantBean_double.js +++ b/backUp/jd_plantBean_double.js @@ -592,4 +592,4 @@ function getParam(url, name) { return null; } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/qqread.js b/backUp/qqread.js index f9673021..855a0780 100644 --- a/backUp/qqread.js +++ b/backUp/qqread.js @@ -640,4 +640,4 @@ function qqreadpick() { // 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)} +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/webhook.js b/backUp/webhook.js index de3398ab..20dc601a 100644 --- a/backUp/webhook.js +++ b/backUp/webhook.js @@ -79,4 +79,4 @@ function hook(key) { }) } // 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 +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/xmSports.js b/backUp/xmSports.js index e8300097..b0b605e2 100644 --- a/backUp/xmSports.js +++ b/backUp/xmSports.js @@ -172,4 +172,4 @@ function randomFriendPin(m,n) { } isRequest ? getToken() : start(); // 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)} +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/xmly_speed_ccokie.js b/backUp/xmly_speed_ccokie.js index 29d67997..6f8232d8 100644 --- a/backUp/xmly_speed_ccokie.js +++ b/backUp/xmly_speed_ccokie.js @@ -31,4 +31,4 @@ function GetCookie() { $.done(); } } -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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/getJDCookie.js b/getJDCookie.js index a2ea7d1b..70b99bfb 100644 --- a/getJDCookie.js +++ b/getJDCookie.js @@ -188,4 +188,4 @@ function taskPostUrl() { } // 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();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)} \ No newline at end of file +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/jd_bean_change.js b/jd_bean_change.js index 81634293..517a9995 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -263,4 +263,4 @@ function jsonParse(str) { } } // 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 +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/jd_bean_home.js b/jd_bean_home.js index bb519491..60747046 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -512,4 +512,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_bean_sign.js b/jd_bean_sign.js index 8f831ddd..d75d1448 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -264,4 +264,4 @@ function timeFormat(time) { } return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); } -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)} +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/jd_blueCoin.js b/jd_blueCoin.js index 4fb91213..d7fb7eb0 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -432,4 +432,4 @@ function jsonParse(str) { } } } -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)} +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/jd_bookshop.js b/jd_bookshop.js index 972f4d83..07373b2f 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -741,4 +741,4 @@ function jsonParse(str) { } } // 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)} +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/jd_car.js b/jd_car.js index 0c583467..7fe87b78 100644 --- a/jd_car.js +++ b/jd_car.js @@ -356,4 +356,4 @@ function jsonParse(str) { } } // 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)} +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/jd_car_exchange.js b/jd_car_exchange.js index 44de94e5..fb2f9521 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -192,4 +192,4 @@ function jsonParse(str) { } } // 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)} +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/jd_cash.js b/jd_cash.js index 285a863b..43868747 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -445,4 +445,4 @@ function jsonParse(str) { } } // 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)} +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/jd_club_lottery.js b/jd_club_lottery.js index 642ab546..258d6e97 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -403,4 +403,4 @@ function taskUrl(function_id, body = {}, appId = 'vip_h5') { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/jd_crazy_joy.js b/jd_crazy_joy.js index 84364601..f007363f 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -808,4 +808,4 @@ function randomNumber(min = 0, max = 100) { return Math.min(Math.floor(min + Math.random() * (max - min)), max); } // 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();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)} +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/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index fc0e89d4..21dd8a59 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -724,4 +724,4 @@ function jsonParse(str) { } } // 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();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)} +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/jd_daily_egg.js b/jd_daily_egg.js index 8664140f..cd98b1f6 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -237,4 +237,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/jd_dreamFactory.js b/jd_dreamFactory.js index df28553f..074f577b 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1508,4 +1508,4 @@ function jsonParse(str) { } } // 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();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)} +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/jd_family.js b/jd_family.js index 6f29ca09..30f8a244 100644 --- a/jd_family.js +++ b/jd_family.js @@ -284,4 +284,4 @@ function jsonParse(str) { } } // 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)} +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/jd_fruit.js b/jd_fruit.js index ccc90176..bd4da01b 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1453,4 +1453,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_get_share_code.js b/jd_get_share_code.js index 2daaabdd..b22e8314 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -751,4 +751,4 @@ function jsonParse(str) { } } // 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)} +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/jd_jdfactory.js b/jd_jdfactory.js index 5c56b1c0..c3de644d 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -769,4 +769,4 @@ function jsonParse(str) { } } // 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 +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/jd_jdzz.js b/jd_jdzz.js index f2b01ce2..f86049f4 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -516,4 +516,4 @@ function jsonParse(str) { } } // 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)} +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/jd_joy.js b/jd_joy.js index 5c89902f..fb0ea781 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -909,4 +909,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_joy_feedPets.js b/jd_joy_feedPets.js index fe46fafa..b0ff1063 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -237,4 +237,4 @@ function TotalBean() { }) } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_joy_reward.js b/jd_joy_reward.js index 57b7188c..5941c6f7 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -349,4 +349,4 @@ function safeGet(data) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_joy_run.js b/jd_joy_run.js index 696c6ff0..24e4fba0 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -452,4 +452,4 @@ function getRandomArrayElements(arr, count) { } isRequest ? getToken() : main(); -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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_joy_steal.js b/jd_joy_steal.js index ccb6b587..1776fe00 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -585,4 +585,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/jd_jxnc.js b/jd_jxnc.js index b485e3f2..7f969220 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -582,275 +582,4 @@ async function showMsg() { } // 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, o) => { - 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.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 o = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - o = o ? 1 * o : 20, o = e && e.timeout ? e.timeout : o; - const [r, h] = i.split("@"), a = { - url: `http://${h}/v1/scripting/evaluate`, - body: {script_text: t, mock_type: "cron", timeout: o}, - headers: {"X-Key": r, 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), o = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, o) : i ? this.fs.writeFileSync(e, o) : this.fs.writeFileSync(t, o) - } - } - - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let o = t; - for (const t of i) if (o = Object(o)[t], void 0 === o) return s; - return o - } - - 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), o = s ? this.getval(s) : ""; - if (o) try { - const t = JSON.parse(o); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, o] = /^@(.*?)\.(.*?)$/.exec(e), r = this.getval(i), - h = i ? "null" === r ? null : r || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, o, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const r = {}; - this.lodash_set(r, o, t), s = this.setval(JSON.stringify(r), 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() ? $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }) : this.isQuanX() ? $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t)) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - 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: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t))) - } - - 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()) $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", $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, 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: o, body: r} = t; - e(null, {status: s, statusCode: i, headers: o, body: r}, r) - }, t => e(t)) - } - } - - 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 = "", o) { - const r = t => { - if (!t || !this.isLoon() && this.isSurge()) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t["open-url"], s = t.mediaUrl || t["media-url"]; - return {openUrl: e, mediaUrl: s} - } - if (this.isQuanX()) { - let e = t["open-url"] || t.openUrl, s = t["media-url"] || t.mediaUrl; - return {"open-url": e, "media-url": s} - } - } - }; - this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, r(o)) : this.isQuanX() && $notify(e, s, i, r(o))); - 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) -} +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/jd_kd.js b/jd_kd.js index ba4cb9f7..23af25f6 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -209,4 +209,4 @@ function jsonParse(str) { } } // 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)} +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/jd_live.js b/jd_live.js index 89f3fef5..fdff8871 100644 --- a/jd_live.js +++ b/jd_live.js @@ -308,4 +308,4 @@ function jsonParse(str) { } } // 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)} +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/jd_lotteryMachine.js b/jd_lotteryMachine.js index 34012781..d2e1f14f 100644 --- a/jd_lotteryMachine.js +++ b/jd_lotteryMachine.js @@ -70,4 +70,4 @@ function updateShareCodesCDN(url = 'https://raw.fastgit.org/yangtingxiao/Quantum } -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)} +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/jd_moneyTree.js b/jd_moneyTree.js index 03bdcf37..3f31d6d9 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -661,4 +661,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/jd_necklace.js b/jd_necklace.js index 5735f1ec..b3b5607c 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -362,4 +362,4 @@ function jsonParse(str) { } } // 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 +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/jd_nh.js b/jd_nh.js index 39118094..008c86bd 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -542,4 +542,4 @@ function jsonParse(str) { } } // 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)} +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/jd_nian.js b/jd_nian.js index 6d3e6495..f385b7c4 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -967,4 +967,4 @@ function jsonParse(str) { } } // 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)} +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/jd_nianCollect.js b/jd_nianCollect.js index 5a5e5ef1..24d60f62 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -210,4 +210,4 @@ function jsonParse(str) { } } -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) } +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/jd_pet.js b/jd_pet.js index 8925cc2a..2515613a 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -651,4 +651,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_pigPet.js b/jd_pigPet.js index 82f9fe30..459f9d55 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -681,4 +681,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/jd_plantBean.js b/jd_plantBean.js index 6cb9fc68..3bdaa923 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -763,4 +763,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_rankingList.js b/jd_rankingList.js index 24f2ce8f..39714a99 100644 --- a/jd_rankingList.js +++ b/jd_rankingList.js @@ -68,4 +68,4 @@ function scriptsCDN(url = 'https://raw.fastgit.org/yangtingxiao/QuantumultX/mast } -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 +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/jd_redPacket.js b/jd_redPacket.js index a63bd24e..32859284 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -331,4 +331,4 @@ function jsonParse(str) { } } // 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)} +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/jd_shop.js b/jd_shop.js index 0e2ad153..c3af18c7 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -216,4 +216,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/jd_small_home.js b/jd_small_home.js index 7f294200..c8fda731 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -919,4 +919,4 @@ function jsonParse(str) { } } // 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 +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/jd_speed.js b/jd_speed.js index 909231bc..f6b8e26c 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -624,4 +624,4 @@ function safeGet(data) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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 +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/jd_syj.js b/jd_syj.js index 13745cee..a1fc1bb4 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -218,4 +218,4 @@ function jsonParse(str) { } } // 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 +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/jd_unbind.js b/jd_unbind.js index 5a8666f9..75a88cd0 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -263,4 +263,4 @@ function safeGet(data) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jd_unsubscribe.js b/jd_unsubscribe.js index c020b818..6ef457d8 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -347,4 +347,4 @@ function jsonParse(str) { } } // 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)} +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/jx_sign.js b/jx_sign.js index 1955c3ed..b5c17550 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -314,4 +314,4 @@ function jsonParse(str) { } } // 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)} +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)} From 2798dc76ea96634cb0f2745532186c51aef3922f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 12:37:11 +0800 Subject: [PATCH 0872/1259] update --- JD_extra_cookie.js | 2 +- test.js | 352 --------------------------------------------- 2 files changed, 1 insertion(+), 353 deletions(-) delete mode 100644 test.js diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index f9d6be21..e0a69f1b 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -116,7 +116,7 @@ function GetCookie() { } // 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)} +function ENV(){const isQX=typeof $task!=="undefined";const isLoon=typeof $loon!=="undefined";const isSurge=typeof $httpClient!=="undefined"&&!isLoon;const isJSBox=typeof require=="function"&&typeof $jsbox!="undefined";const isNode=typeof require=="function"&&!isJSBox;const isRequest=typeof $request!=="undefined";const isScriptable=typeof importModule!=="undefined";return{isQX,isLoon,isSurge,isNode,isJSBox,isRequest,isScriptable}} // prettier-ignore function HTTP(baseURL,defaultOptions={}){const{isQX,isLoon,isSurge,isScriptable,isNode}=ENV();const methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"];function send(method,options){options=typeof options==="string"?{url:options}:options;options.url=baseURL?baseURL+options.url:options.url;options={...defaultOptions,...options};const timeout=options.timeout;const events={...{onRequest:()=>{},onResponse:(resp)=>resp,onTimeout:()=>{},},...options.events,};events.onRequest(method,options);let worker;if(isQX){worker=$task.fetch({method,...options})}else if(isLoon||isSurge||isNode){worker=new Promise((resolve,reject)=>{const request=isNode?require("request"):$httpClient;request[method.toLowerCase()](options,(err,response,body)=>{if(err)reject(err);else resolve({statusCode:response.status||response.statusCode,headers:response.headers,body,})})})}else if(isScriptable){const request=new Request(options.url);request.method=method;request.headers=options.headers;request.body=options.body;worker=new Promise((resolve,reject)=>{request.loadString().then((body)=>{resolve({statusCode:request.response.statusCode,headers:request.response.headers,body,})}).catch((err)=>reject(err))})}let timeoutid;const timer=timeout?new Promise((_,reject)=>{timeoutid=setTimeout(()=>{events.onTimeout();return reject(`${method}URL:${options.url}exceeds the timeout ${timeout}ms`)},timeout)}):null;return(timer?Promise.race([timer,worker]).then((res)=>{clearTimeout(timeoutid);return res}):worker).then((resp)=>events.onResponse(resp))}const http={};methods.forEach((method)=>(http[method.toLowerCase()]=(options)=>send(method,options)));return http} // prettier-ignore diff --git a/test.js b/test.js deleted file mode 100644 index c3f7b272..00000000 --- a/test.js +++ /dev/null @@ -1,352 +0,0 @@ -/* -宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 -更新时间:2021-1-20 -兑换规则:一个账号一天只能兑换一次京豆。 -兑换奖品成功后才会有系统弹窗通知 -每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 -支持京东双账号 -脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js -// Quantumult X -[task_local] -#宠汪汪积分兑换奖品 -0 0-16/8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true -// Loon -[Script] -cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 -// Surge -宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js - */ -const $ = new Env('宠汪汪积分兑换奖品'); -let joyRewardName = 20;//是否兑换京豆,默认开启兑换功能,其中20为兑换20京豆,500为兑换500京豆,0为不兑换京豆.数量有限先到先得 -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let jdNotify = false;//是否开启静默运行,默认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 { - 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); -} -const JD_API_HOST = 'https://jdjoy.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"}); - } - 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 - } - console.log(`本地时间与京东服务器时间差(毫秒):${await get_diff_time()}`); - await joyReward(); - // $.msg($.name, '兑换脚本暂不能使用', `请停止使用,等待后期更新\n如果新版本兑换您有兑换机会,请抓包兑换\n再把抓包数据发送telegram用户@LXK9301`); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function joyReward() { - 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`); - console.log(`京东昵称 ${$.nickName}\n`); - let saleInfoId = '', giftValue = '', extInfo = '', leftStock = 0, salePrice = 0; - let rewardNum = 0; - if ($.isNode() && process.env.JD_JOY_REWARD_NAME) { - rewardNum = process.env.JD_JOY_REWARD_NAME * 1; - } else if ($.getdata('joyRewardName')) { - if ($.getdata('joyRewardName') * 1 === 1) { - //兼容之前的BoxJs设置 - rewardNum = 20; - } else { - rewardNum = $.getdata('joyRewardName') * 1; - } - } else { - rewardNum = joyRewardName; - } - for (let item of giftSaleInfos) { - if (item.giftType === 'jd_bean' && item['giftValue'] === rewardNum) { - saleInfoId = item.id; - leftStock = item.leftStock; - salePrice = item.salePrice; - giftValue = item.giftValue; - } - } - console.log(`当前京豆库存:${leftStock}`) - console.log(`saleInfoId:${saleInfoId}`) - // 兼容之前BoxJs兑换设置的数据 - if (rewardNum && (rewardNum === 1 || rewardNum === 20 || rewardNum === 50 || rewardNum === 100 || rewardNum === 500 || rewardNum === 1000)) { - //开始兑换 - if (data.coin >= salePrice) { - if (leftStock) { - if (!saleInfoId) return - console.log(`当前账户积分:${data.coin}\n当前京豆库存:${leftStock}\n满足兑换条件,开始为您兑换京豆\n`); - await exchange(saleInfoId, 'pet'); - if ($.exchangeRes && $.exchangeRes.success) { - if ($.exchangeRes.errorCode === 'buy_success') { - console.log(`兑换${giftValue}成功,【宠物等级】${data.level}\n【消耗积分】${salePrice}个\n【剩余积分】${data.coin - salePrice}个\n`) - let ctrTemp; - 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【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】 ${$.nickName}\n【${giftValue}京豆】兑换成功\n【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); - } - } - // 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(`兑换${rewardNum}京豆失败,原因:兑换京豆已达上限,请把机会留给更多的小伙伴~\n`) - //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n兑换京豆已达上限\n请把机会留给更多的小伙伴~\n`) - } else if ($.exchangeRes && $.exchangeRes.errorCode === 'stock_empty'){ - console.log(`兑换${rewardNum}京豆失败,原因:当前京豆库存为空\n`) - } else { - console.log(`兑奖异常:${JSON.stringify($.exchangeRes)}`) - } - } else { - console.log(`兑换京豆异常:${JSON.stringify($.exchangeRes)}`) - } - } else { - console.log(`兑换${rewardNum}京豆失败,原因:京豆库存不足,已抢完,请下一场再兑换`) - } - } else { - console.log(`兑换${rewardNum}京豆失败,原因:您目前只有${data.coin}积分,已不足兑换${giftValue}京豆所需的${salePrice}积分\n`) - //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n目前只有${data.coin}积分\n已不足兑换${giftName}所需的${salePrice}积分\n`) - } - } else { - console.log('您设置了不兑换京豆,如需兑换京豆,请去BoxJs重新设置或修改第20行代码') - } - } else { - console.log(`${$.name}getExchangeRewards异常,${JSON.stringify($.getExchangeRewardsRes)}`) - } -} -function getExchangeRewards() { - return new Promise((resolve) => { - const option = { - url: `${JD_API_HOST}/gift/getHomeInfo`, - 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "Referer": "https://jdjoy.jd.com/pet/index", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br" - }, - } - $.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) { - return new Promise((resolve) => { - const body = { - "buyParam": { saleInfoId, orderSource }, - "deviceInfo": { - "eid": "", - "fp": "", - "deviceType": "", - "macAddress": "", - "imei": "", - "os": "", - "osVersion": "", - "ip": "", - "appId": "", - "openUUID": "", - "idfa": "", - "uuid": "", - "clientVersion": "", - "networkType": "", - "appType": "", - "sdkToken": "" - } - } - const option = { - url: `${JD_API_HOST}/gift/new/exchange?reqSource=h5`, - 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), - "Referer": "https://jdjoy.jd.com/pet/index", - "Content-Length": "10", - "Cookie": cookie - }, - } - $.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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; - } -} -// 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)} From 3bd8197e82a5320cdc4a7280a35c943c6486ab9a Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 12:45:11 +0800 Subject: [PATCH 0873/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E9=99=A4?= =?UTF-8?q?=E5=8E=BB=E4=BA=AC=E4=B8=9C=E5=AE=B6=E5=BA=AD=EF=BC=8C=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E9=BB=91=E5=8F=B7=E9=A3=8E=E9=99=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数去除京东家庭,减少黑号风险 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index b565a9f2..36c255ce 100644 --- a/serverless.yml +++ b/serverless.yml @@ -58,12 +58,12 @@ inputs: cronExpression: "0 8 */3 * * * *" enable: true argument: jd_speed&jd_daily_egg&jd_nian - - timer: #东东超市 #京东家庭号 + - timer: #东东超市 parameters: - name: superMarket_family + name: superMarket cronExpression: "0 15 * * * * *" enable: true - argument: jd_superMarket&jd_family + argument: jd_superMarket - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 parameters: name: bean_change_crazy_joy_rankingList_bean_home_nh From 483e27695505f85e46f8b3c14ee7f3ef9d671074 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 12:46:44 +0800 Subject: [PATCH 0874/1259] =?UTF-8?q?=E5=81=9C=E6=8E=89=E5=AE=B6=E5=BA=AD?= =?UTF-8?q?=E5=8F=B7=E8=84=9A=E6=9C=AC=EF=BC=8C=E9=9C=80=E8=A6=81=E7=9A=84?= =?UTF-8?q?=E8=87=AA=E5=B7=B1=E5=8F=A6=E5=A4=96=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index f95e89d5..75ff4a2c 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -71,7 +71,7 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip #签到领现金 签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js #京东家庭号 -京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js +#京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js #京东口袋书城 口袋书店 = type=cron,cronexp="12 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js #京喜签到 From 780d1a1a15b0f8112ebafd4cb32f7be3f3087c6f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 12:49:17 +0800 Subject: [PATCH 0875/1259] update --- docker/crontab_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 803e1b17..07f71013 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -92,4 +92,4 @@ # 京喜app签到 39 7 * * * node /scripts/jx_sign.js >> /scripts/logs/jx_sign.log 2>&1 #京东家庭号(暂不知最佳cron) -*/20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 +#*/20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 From 9e7869144a33bd51b621defdf51a80afaa6e3385 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 20 Jan 2021 14:27:08 +0800 Subject: [PATCH 0876/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 441 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 441 insertions(+) create mode 100644 jd_immortal.js diff --git a/jd_immortal.js b/jd_immortal.js new file mode 100644 index 00000000..912b863b --- /dev/null +++ b/jd_immortal.js @@ -0,0 +1,441 @@ +/* +京东神仙书院 +活动时间:2021-1-20至2021-2-5 +暂不加入品牌会员,需要自行填写坐标,用于做逛身边好店任务 +环境变量JD_IMMORTAL_LATLON +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] +#京东神仙书院 +0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, enabled=true + +================Loon============== +[Script] +cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 + +===============Surge================= +京东神仙书院 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=2000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js + +============小火箭========= +京东神仙书院 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, cronexpr="0 8 * * *", timeout=2000, 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 { + 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); +} +const JD_API_HOST = 'https://api.m.jd.com/client.action'; +const inviteCodes = [ + `39xIs4YwE5Z7CPQQ0baz9jNWO6PSZHsNWqfOwWyqScbJBGhg4v7HbuBg63TJ4@27xIs4YwE5Z7FGzJqrMmavC_vWKtbEaJxbz0Vahw@43xIs4YwE5Z7DsWOzDSP_N6WTDnbA0wBjjof6cA9FzcbHMcZB9wE1R3ToSluCgxAzEXQ@43xIs4YwE5Z7DsWOzDSEuRWEOROpnDjMx_VvSs5ikYQ8XgcZB9whEHjDmPKQoL16TZ8w`, + `39xIs4YwE5Z7CPQQ0baz9jNWO6PSZHsNWqfOwWyqScbJBGhg4v7HbuBg63TJ4@27xIs4YwE5Z7FGzJqrMmavC_vWKtbEaJxbz0Vahw@43xIs4YwE5Z7DsWOzDSP_N6WTDnbA0wBjjof6cA9FzcbHMcZB9wE1R3ToSluCgxAzEXQ@43xIs4YwE5Z7DsWOzDSEuRWEOROpnDjMx_VvSs5ikYQ8XgcZB9whEHjDmPKQoL16TZ8w` +]; +!(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() { + try { + 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} = 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 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==="1" || 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: `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 = 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; + 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]) + } + }) + $.cor = process.env.JD_IMMORTAL_LATLON?JSON.parse(process.env.JD_IMMORTAL_LATLON):{} + }else{ + $.cor = $.getdata("IMMORTAL_LATLON")?JSON.parse($.getdata("IMMORTAL_LATLON")):{} + } + console.log(`您提供的地理位置信息为${$.cor}`) + 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}`; + } + 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From e7e499e2ae52f49724c4b8dc9440c34ab21a6d0b Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 20 Jan 2021 14:27:18 +0800 Subject: [PATCH 0877/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index 912b863b..10e534c4 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -92,7 +92,7 @@ async function jdNian() { if($.risk) return await getTaskList($.cor) await $.wait(2000) - // await helpFriends() + await helpFriends() await $.wait(2000) await getHomeData(true) await showMsg() From a54a2cdf9bad11be0376cec3bec06dbc0c39b48b Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 14:40:06 +0800 Subject: [PATCH 0878/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东神仙书院 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 36c255ce..0370a3e6 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 #京东神仙书院 parameters: - name: bean_change_crazy_joy_rankingList_bean_home_nh + name: bean_change_crazy_joy_rankingList_bean_home_nh_immortal cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 parameters: name: pigPet_syj_kd_jdzz_cash_sign From d42a204cf241b0af7fb7d0df3957838a32e083f8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 14:41:12 +0800 Subject: [PATCH 0879/1259] update --- docker/crontab_list.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 07f71013..31f1e941 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -10,6 +10,8 @@ 0 * * * * node /scripts/jd_nian.js >> /scripts/logs/jd_nian.log 2>&1 #专门收集每秒产生的爆竹(1小时运行一次) 30 * * * * node /scripts/jd_nianCollect.js >> /scripts/logs/jd_nianCollect.log 2>&1 +#京东神仙书院(活动时间:2021-1-20至2021-2-5) +30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 From 33e9067c617804786886c9a383678939961cedd2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 14:45:19 +0800 Subject: [PATCH 0880/1259] update --- jd_immortal.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index 10e534c4..219dc57f 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -2,7 +2,8 @@ 京东神仙书院 活动时间:2021-1-20至2021-2-5 暂不加入品牌会员,需要自行填写坐标,用于做逛身边好店任务 -环境变量JD_IMMORTAL_LATLON +环境变量JD_IMMORTAL_LATLON(经纬度) +示例:D_IMMORTAL_LATLON={"lat":33.1"lng":118.1} boxjs IMMORTAL_LATLON 活动入口: 京东app-我的-神仙书院 活动地址:https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 From a9000cd93e742fe1f37b3e2e1fbe177efffcbe01 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 14:54:09 +0800 Subject: [PATCH 0881/1259] update --- jd_immortal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index 219dc57f..83695169 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -3,7 +3,7 @@ 活动时间:2021-1-20至2021-2-5 暂不加入品牌会员,需要自行填写坐标,用于做逛身边好店任务 环境变量JD_IMMORTAL_LATLON(经纬度) -示例:D_IMMORTAL_LATLON={"lat":33.1"lng":118.1} +示例:D_IMMORTAL_LATLON={"lat":33.1, "lng":118.1} boxjs IMMORTAL_LATLON 活动入口: 京东app-我的-神仙书院 活动地址:https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 From 7ced1ac1b4201b311c4dcd54fbd2739b2dab51fa Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 15:17:45 +0800 Subject: [PATCH 0882/1259] =?UTF-8?q?BoxJs=E5=A2=9E=E5=8A=A0=E7=A5=9E?= =?UTF-8?q?=E4=BB=99=E4=B9=A6=E9=99=A2=E7=9A=84=E5=9C=B0=E7=90=86=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E5=A1=AB=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lxk0301.boxjs.json | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 4e02b154..aab52002 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -898,6 +898,33 @@ "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png" ] + }, + { + "id": "jd_immortal", + "name": "神仙书院", + "keys": [ + "IMMORTAL_LATLON" + ], + "descs_html": [ + "地理位置示例如下", + "{'lat':33.1, 'lng':118.1}" + ], + "settings": [ + { + "id": "IMMORTAL_LATLON", + "name": "地理位置", + "val": "", + "type": "text", + "desc": "示例:{'lat':33.1, 'lng':118.1}" + } + ], + "author": "@LXK9301", + "repo": "https://github.com/LXK9301/jd_scripts", + "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js", + "icons": [ + "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory_mini.png", + "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png" + ] } ] } From 33a839e32049d6dc1a300526c9c2f10387d5b7d9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 15:26:33 +0800 Subject: [PATCH 0883/1259] update --- jd_immortal.js | 2 +- lxk0301.boxjs.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index 83695169..7bb7b6bc 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -335,7 +335,7 @@ function requireConfig() { }else{ $.cor = $.getdata("IMMORTAL_LATLON")?JSON.parse($.getdata("IMMORTAL_LATLON")):{} } - console.log(`您提供的地理位置信息为${$.cor}`) + console.log(`您提供的地理位置信息为${JSON.stringify($.cor)}`) console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); resolve() }) diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index aab52002..cfb244b4 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -907,7 +907,7 @@ ], "descs_html": [ "地理位置示例如下", - "{'lat':33.1, 'lng':118.1}" + "{\"lat\":33.1, \"lng\":118.1}" ], "settings": [ { @@ -915,7 +915,7 @@ "name": "地理位置", "val": "", "type": "text", - "desc": "示例:{'lat':33.1, 'lng':118.1}" + "desc": "示例:{\"lat\":33.1, \"lng\":118.1}" } ], "author": "@LXK9301", From 482254440a4de2e2912dcc6a13de72eb28bf8681 Mon Sep 17 00:00:00 2001 From: JDHelloWorld <77717629+JDHelloWorld@users.noreply.github.com> Date: Wed, 20 Jan 2021 15:27:05 +0800 Subject: [PATCH 0884/1259] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E4=B9=A6=E9=99=A2i?= =?UTF-8?q?con?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lxk0301.boxjs.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index aab52002..b95de23b 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -922,8 +922,8 @@ "repo": "https://github.com/LXK9301/jd_scripts", "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js", "icons": [ - "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory_mini.png", - "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png" + "https://m.360buyimg.com/babel/jfs/t1/165970/14/3741/2184/600585feE6fb250f8/77db4ca560e006be.png", + "https://m.360buyimg.com/babel/jfs/t1/165970/14/3741/2184/600585feE6fb250f8/77db4ca560e006be.png" ] } ] From 0541003495559de5a73de5df860c4b3a84e7ca43 Mon Sep 17 00:00:00 2001 From: an0na <913314010@qq.com> Date: Wed, 20 Jan 2021 15:35:14 +0800 Subject: [PATCH 0885/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2=E7=9A=84=E5=8A=A9=E5=8A=9B=E7=A0=81=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E4=B8=BA=EF=BC=9AJDSXSY=5FSHARECODES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index 7bb7b6bc..313dcae8 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -2,8 +2,8 @@ 京东神仙书院 活动时间:2021-1-20至2021-2-5 暂不加入品牌会员,需要自行填写坐标,用于做逛身边好店任务 -环境变量JD_IMMORTAL_LATLON(经纬度) -示例:D_IMMORTAL_LATLON={"lat":33.1, "lng":118.1} +环境变量: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 @@ -317,11 +317,11 @@ function requireConfig() { //Node.js用户请在jdCookie.js处填写京东ck; let shareCodes = [] console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDNIAN_SHARECODES) { + if ($.isNode() && process.env.JDSXSY_SHARECODES) { if (process.env.JDNIAN_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDNIAN_SHARECODES.split('\n'); + shareCodes = process.env.JDSXSY_SHARECODES.split('\n'); } else { - shareCodes = process.env.JDNIAN_SHARECODES.split('&'); + shareCodes = process.env.JDSXSY_SHARECODES.split('&'); } } $.shareCodesArr = []; From cb2042c8fef5b8096aadc6bc7caf4f8f19da0b3d Mon Sep 17 00:00:00 2001 From: an0na <913314010@qq.com> Date: Wed, 20 Jan 2021 15:38:17 +0800 Subject: [PATCH 0886/1259] Update jd_immortal.js --- jd_immortal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index 313dcae8..5c8e731b 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -318,7 +318,7 @@ function requireConfig() { let shareCodes = [] console.log(`共${cookiesArr.length}个京东账号\n`); if ($.isNode() && process.env.JDSXSY_SHARECODES) { - if (process.env.JDNIAN_SHARECODES.indexOf('\n') > -1) { + if (process.env.JDSXSY_SHARECODES.indexOf('\n') > -1) { shareCodes = process.env.JDSXSY_SHARECODES.split('\n'); } else { shareCodes = process.env.JDSXSY_SHARECODES.split('&'); From a9a642713a8648abd282b7a0ee79c6bdfc7aa195 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 16:07:03 +0800 Subject: [PATCH 0887/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2?= =?UTF-8?q?=E5=9C=B0=E7=90=86=E4=BD=8D=E7=BD=AEsecret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数增加京东神仙书院地理位置secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 883e53fa..6bd91120 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -83,6 +83,7 @@ jobs: if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; if [ $FACTORAY_WANTPRODUCT_NAME ]; then sed -i "/variables/a\ FACTORAY_WANTPRODUCT_NAME: $FACTORAY_WANTPRODUCT_NAME" serverless.yml; fi; if [ $JXNCTOKENS ]; then sed -i "/variables/a\ JXNCTOKENS: $JXNCTOKENS" serverless.yml; fi; + if [ $JD_IMMORTAL_LATLON ]; then sed -i "/variables/a\ JD_IMMORTAL_LATLON: $JD_IMMORTAL_LATLON" serverless.yml; fi; cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 @@ -144,6 +145,7 @@ jobs: MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} FACTORAY_WANTPRODUCT_NAME: ${{ secrets.FACTORAY_WANTPRODUCT_NAME}} JXNCTOKENS: ${{ secrets.JXNCTOKENS}} + JD_IMMORTAL_LATLON: ${{ secrets.JD_IMMORTAL_LATLON}} - name: "部署到腾讯云函数" run: serverless deploy From 92ca14dba9124e589c46bbd3709a5dab4735497d Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 16:22:28 +0800 Subject: [PATCH 0888/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2=E5=9C=B0=E7=90=86=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E4=BB=A5=E5=8F=8A=E4=BA=92=E5=8A=A9=E7=A0=81=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新京东神仙书院地理位置以及互助码说明 --- githubAction.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/githubAction.md b/githubAction.md index 19f4656b..13ad4667 100644 --- a/githubAction.md +++ b/githubAction.md @@ -49,6 +49,7 @@ | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDSXSY_SHARECODES` | 京东神仙书院 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 @@ -82,6 +83,7 @@ | `MONEY_TREE_SELL_FRUIT` | 摇钱树
是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂
心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,
如不提供则会兑换当前所选商品 | | `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账单间使用`&`或换行分开。 | +| `JD_IMMORTAL_LATLON` | 京东神仙书院
地理位置变量 | 非必须 | 京东神仙书院地理位置,示例格式:{"lat":33.1, "lng":118.1} | ##### 互助码的填写规则 From f144b0e72d7b6aedf5660b0d9271a787d0aa4141 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Wed, 20 Jan 2021 16:25:48 +0800 Subject: [PATCH 0889/1259] =?UTF-8?q?[=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2]=20=E8=87=AA=E5=8A=A8=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=BB=8F=E7=BA=AC=E5=BA=A6=20lng=20lat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index 7bb7b6bc..608bc8c1 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -312,7 +312,7 @@ function shareCodesFormat() { }) } function requireConfig() { - return new Promise(resolve => { + return new Promise(async resolve => { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; let shareCodes = [] @@ -331,7 +331,7 @@ function requireConfig() { $.shareCodesArr.push(shareCodes[item]) } }) - $.cor = process.env.JD_IMMORTAL_LATLON?JSON.parse(process.env.JD_IMMORTAL_LATLON):{} + $.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")):{} } @@ -341,6 +341,39 @@ function requireConfig() { }) } +// 自动获取经纬度 +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) { From cc99f7f618209052eb66ad3f76698c30a0bfcd2c Mon Sep 17 00:00:00 2001 From: TGhoul <649269913@qq.com> Date: Wed, 20 Jan 2021 16:53:41 +0800 Subject: [PATCH 0890/1259] Update lxk0301_gallery.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加 quanx 年兽相关任务 --- QuantumultX/lxk0301_gallery.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 0f174d4a..c4cb5ada 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -36,6 +36,8 @@ "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", "2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png" + "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收炮竹, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true" ] } From a50795c17e328f9327debe2203b560594169f6a2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 16:54:07 +0800 Subject: [PATCH 0891/1259] fix --- USER_AGENTS.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index fd1cda2c..e012bcde 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -3,7 +3,7 @@ const USER_AGENTS = [ "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", "jdapp;android;9.3.4;9;D266436653462-6665326466626;network/4g;model/Mi Note 3;addressid/137888479;aid/15225879b8538ee7;oaid/f3157082db9da676;osVer/28;appBuild/86388;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", - "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" + "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "jdapp;android;9.3.6;9;8363538313830343131373538363-93D2134313639356631333737346;network/wifi;model/16T;addressid/1312262776;aid/afba6ae53ef2cece;oaid/;osVer/28;appBuild/86560;partner/meizu;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36" ] /** From a270ee315a5a2a07f3cdd3e76d5aa5ef06aa7d34 Mon Sep 17 00:00:00 2001 From: JDHelloWorld <77717629+JDHelloWorld@users.noreply.github.com> Date: Wed, 20 Jan 2021 15:27:05 +0800 Subject: [PATCH 0892/1259] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E4=B9=A6=E9=99=A2i?= =?UTF-8?q?con?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lxk0301.boxjs.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index cfb244b4..6eddcfeb 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -922,8 +922,8 @@ "repo": "https://github.com/LXK9301/jd_scripts", "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js", "icons": [ - "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory_mini.png", - "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png" + "https://m.360buyimg.com/babel/jfs/t1/165970/14/3741/2184/600585feE6fb250f8/77db4ca560e006be.png", + "https://m.360buyimg.com/babel/jfs/t1/165970/14/3741/2184/600585feE6fb250f8/77db4ca560e006be.png" ] } ] From 72e4bdd8b8c06a3efda387d2afd44925a68adffa Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 14:40:06 +0800 Subject: [PATCH 0893/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东神仙书院 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 36c255ce..0370a3e6 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 #京东神仙书院 parameters: - name: bean_change_crazy_joy_rankingList_bean_home_nh + name: bean_change_crazy_joy_rankingList_bean_home_nh_immortal cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 parameters: name: pigPet_syj_kd_jdzz_cash_sign From 2d9cc9d39af9e1f5bf33ffc83f56406718baa23f Mon Sep 17 00:00:00 2001 From: hongyunfei <34985241+hongyunfei@users.noreply.github.com> Date: Wed, 20 Jan 2021 10:41:22 +0800 Subject: [PATCH 0894/1259] Update USER_AGENTS.js --- USER_AGENTS.js | 1 + 1 file changed, 1 insertion(+) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 81c33f92..fd1cda2c 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -4,6 +4,7 @@ const USER_AGENTS = [ "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", "jdapp;android;9.3.4;9;D266436653462-6665326466626;network/4g;model/Mi Note 3;addressid/137888479;aid/15225879b8538ee7;oaid/f3157082db9da676;osVer/28;appBuild/86388;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" + "jdapp;android;9.3.6;9;8363538313830343131373538363-93D2134313639356631333737346;network/wifi;model/16T;addressid/1312262776;aid/afba6ae53ef2cece;oaid/;osVer/28;appBuild/86560;partner/meizu;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36" ] /** * 生成随机数字 From b44cfc15a75205be4472bc720c2a7d1c3cbd79b5 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 16:07:03 +0800 Subject: [PATCH 0895/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2?= =?UTF-8?q?=E5=9C=B0=E7=90=86=E4=BD=8D=E7=BD=AEsecret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数增加京东神仙书院地理位置secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 883e53fa..6bd91120 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -83,6 +83,7 @@ jobs: if [ $MONEY_TREE_SELL_FRUIT ]; then sed -i "/variables/a\ MONEY_TREE_SELL_FRUIT: $MONEY_TREE_SELL_FRUIT" serverless.yml; fi; if [ $FACTORAY_WANTPRODUCT_NAME ]; then sed -i "/variables/a\ FACTORAY_WANTPRODUCT_NAME: $FACTORAY_WANTPRODUCT_NAME" serverless.yml; fi; if [ $JXNCTOKENS ]; then sed -i "/variables/a\ JXNCTOKENS: $JXNCTOKENS" serverless.yml; fi; + if [ $JD_IMMORTAL_LATLON ]; then sed -i "/variables/a\ JD_IMMORTAL_LATLON: $JD_IMMORTAL_LATLON" serverless.yml; fi; cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 @@ -144,6 +145,7 @@ jobs: MONEY_TREE_SELL_FRUIT: ${{ secrets.MONEY_TREE_SELL_FRUIT}} FACTORAY_WANTPRODUCT_NAME: ${{ secrets.FACTORAY_WANTPRODUCT_NAME}} JXNCTOKENS: ${{ secrets.JXNCTOKENS}} + JD_IMMORTAL_LATLON: ${{ secrets.JD_IMMORTAL_LATLON}} - name: "部署到腾讯云函数" run: serverless deploy From bc359cddfee276d9c9df4bf42c8c4a813ad722b3 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 16:22:28 +0800 Subject: [PATCH 0896/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2=E5=9C=B0=E7=90=86=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E4=BB=A5=E5=8F=8A=E4=BA=92=E5=8A=A9=E7=A0=81=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新京东神仙书院地理位置以及互助码说明 --- githubAction.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/githubAction.md b/githubAction.md index 19f4656b..13ad4667 100644 --- a/githubAction.md +++ b/githubAction.md @@ -49,6 +49,7 @@ | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDSXSY_SHARECODES` | 京东神仙书院 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 @@ -82,6 +83,7 @@ | `MONEY_TREE_SELL_FRUIT` | 摇钱树
是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂
心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,
如不提供则会兑换当前所选商品 | | `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账单间使用`&`或换行分开。 | +| `JD_IMMORTAL_LATLON` | 京东神仙书院
地理位置变量 | 非必须 | 京东神仙书院地理位置,示例格式:{"lat":33.1, "lng":118.1} | ##### 互助码的填写规则 From b3f6940cdb4b2de36da6209b2af3bef9d0054631 Mon Sep 17 00:00:00 2001 From: an0na <913314010@qq.com> Date: Wed, 20 Jan 2021 15:35:14 +0800 Subject: [PATCH 0897/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2=E7=9A=84=E5=8A=A9=E5=8A=9B=E7=A0=81=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E4=B8=BA=EF=BC=9AJDSXSY=5FSHARECODES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index 608bc8c1..3d8aec58 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -2,8 +2,8 @@ 京东神仙书院 活动时间:2021-1-20至2021-2-5 暂不加入品牌会员,需要自行填写坐标,用于做逛身边好店任务 -环境变量JD_IMMORTAL_LATLON(经纬度) -示例:D_IMMORTAL_LATLON={"lat":33.1, "lng":118.1} +环境变量: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 @@ -317,11 +317,11 @@ function requireConfig() { //Node.js用户请在jdCookie.js处填写京东ck; let shareCodes = [] console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDNIAN_SHARECODES) { + if ($.isNode() && process.env.JDSXSY_SHARECODES) { if (process.env.JDNIAN_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDNIAN_SHARECODES.split('\n'); + shareCodes = process.env.JDSXSY_SHARECODES.split('\n'); } else { - shareCodes = process.env.JDNIAN_SHARECODES.split('&'); + shareCodes = process.env.JDSXSY_SHARECODES.split('&'); } } $.shareCodesArr = []; From 158b0a68de292fd32c5cceb857b8d5deb0b9f42b Mon Sep 17 00:00:00 2001 From: an0na <913314010@qq.com> Date: Wed, 20 Jan 2021 15:38:17 +0800 Subject: [PATCH 0898/1259] Update jd_immortal.js --- jd_immortal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index 3d8aec58..b44ac339 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -318,7 +318,7 @@ function requireConfig() { let shareCodes = [] console.log(`共${cookiesArr.length}个京东账号\n`); if ($.isNode() && process.env.JDSXSY_SHARECODES) { - if (process.env.JDNIAN_SHARECODES.indexOf('\n') > -1) { + if (process.env.JDSXSY_SHARECODES.indexOf('\n') > -1) { shareCodes = process.env.JDSXSY_SHARECODES.split('\n'); } else { shareCodes = process.env.JDSXSY_SHARECODES.split('&'); From ff95efce2b23fc7aa74844a5d0eb97383e89661f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 16:54:07 +0800 Subject: [PATCH 0899/1259] fix --- USER_AGENTS.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index fd1cda2c..e012bcde 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -3,7 +3,7 @@ const USER_AGENTS = [ "jdapp;android;9.3.5;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/138709979;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/86390;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "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", "jdapp;android;9.3.4;9;D266436653462-6665326466626;network/4g;model/Mi Note 3;addressid/137888479;aid/15225879b8538ee7;oaid/f3157082db9da676;osVer/28;appBuild/86388;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", - "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" + "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "jdapp;android;9.3.6;9;8363538313830343131373538363-93D2134313639356631333737346;network/wifi;model/16T;addressid/1312262776;aid/afba6ae53ef2cece;oaid/;osVer/28;appBuild/86560;partner/meizu;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36" ] /** From fa7c3fb0a098f5b0b5aed592230e2073ea226a86 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 17:11:41 +0800 Subject: [PATCH 0900/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2?= =?UTF-8?q?=E4=BA=92=E5=8A=A9=E7=A0=81secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东神仙书院互助码secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 6bd91120..92e73b22 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -56,6 +56,7 @@ jobs: if [ $JD_CASH_SHARECODES ]; then sed -i "/variables/a\ JD_CASH_SHARECODES: $JD_CASH_SHARECODES" serverless.yml; fi; if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; if [ $JDNIAN_SHARECODES ]; then sed -i "/variables/a\ JDNIAN_SHARECODES: $JDNIAN_SHARECODES" serverless.yml; fi; + if [ $JDSXSY_SHARECODES ]; then sed -i "/variables/a\ JDSXSY_SHARECODES: $JDSXSY_SHARECODES" serverless.yml; fi; if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; if [ $JD_BEAN_SIGN_STOP_NOTIFY ]; then sed -i "/variables/a\ JD_BEAN_SIGN_STOP_NOTIFY: $JD_BEAN_SIGN_STOP_NOTIFY" serverless.yml; fi; if [ $JD_BEAN_SIGN_NOTIFY_SIMPLE ]; then sed -i "/variables/a\ JD_BEAN_SIGN_NOTIFY_SIMPLE: $JD_BEAN_SIGN_NOTIFY_SIMPLE" serverless.yml; fi; @@ -118,6 +119,7 @@ jobs: JD_CASH_SHARECODES: ${{ secrets.JD_CASH_SHARECODES}} JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} JDNIAN_SHARECODES: ${{ secrets.JDNIAN_SHARECODES}} + JDSXSY_SHARECODES: ${{ secrets.JDSXSY_SHARECODES}} JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} JD_BEAN_SIGN_STOP_NOTIFY: ${{ secrets.JD_BEAN_SIGN_STOP_NOTIFY}} JD_BEAN_SIGN_NOTIFY_SIMPLE: ${{ secrets.JD_BEAN_SIGN_NOTIFY_SIMPLE}} From 416f50850edcc270d7db32c8f569d6dedfed4984 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 17:13:35 +0800 Subject: [PATCH 0901/1259] update update --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 13ad4667..d0d97188 100644 --- a/githubAction.md +++ b/githubAction.md @@ -49,7 +49,7 @@ | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JDSXSY_SHARECODES` | 京东神仙书院 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JDSXSY_SHARECODES` | 京东神仙书院
互助码 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 From 868e41f0e3a436d7055049b7f054812848e44503 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 17:35:57 +0800 Subject: [PATCH 0902/1259] update --- USER_AGENTS.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index e012bcde..416e0b2c 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -4,7 +4,16 @@ const USER_AGENTS = [ "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", "jdapp;android;9.3.4;9;D266436653462-6665326466626;network/4g;model/Mi Note 3;addressid/137888479;aid/15225879b8538ee7;oaid/f3157082db9da676;osVer/28;appBuild/86388;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", - "jdapp;android;9.3.6;9;8363538313830343131373538363-93D2134313639356631333737346;network/wifi;model/16T;addressid/1312262776;aid/afba6ae53ef2cece;oaid/;osVer/28;appBuild/86560;partner/meizu;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36" + "jdapp;android;9.3.6;9;8363538313830343131373538363-93D2134313639356631333737346;network/wifi;model/16T;addressid/1312262776;aid/afba6ae53ef2cece;oaid/;osVer/28;appBuild/86560;partner/meizu;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36", + "jdapp;iPhone;9.3.1;13.6;4be30ed80cc93279b20b3511b0e6f6e2d41d8cd9;network/wifi;ADID/82EBC38A-22C9-7832-2854-ECD760EFDF03;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/7326117e0c;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/4be30ed80cc93279b20b3511b0e6f6e2d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|94238f5e91534eff26963c550a0844a9|1611133787;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.6;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.1;13.6;c6da5a938942c27b2634d3a6e090a97fd41d8cd9;network/wifi;ADID/5A517546-F045-7A96-18EC-7317E0C421AF;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/be6eafa49d;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/c6da5a938942c27b2634d3a6e090a97fd41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|54d27456fc7f2bd400e62be20379cf7f|1611133813;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.6;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.1;13.5;ee2a7f972ca063afcad4a5f72fcfab08d41d8cd9;network/wifi;ADID/DF67F172-D6E8-5902-2632-3E15BF5750B9;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/6149dbfa94;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/ee2a7f972ca063afcad4a5f72fcfab08d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|a51546972a7bb617fdc68eb06fee5741|1611133838;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.1;14.1;25b72f51edbd1ffd2a44851e43e701ddd41d8cd9;network/wifi;ADID/AA9A9C35-145C-F479-5E79-B90BE7575387;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/eef38d6f5a;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/25b72f51edbd1ffd2a44851e43e701ddd41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|23aadc6f6678b717e3074c2e18216e4b|1611133863;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 14.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.1;13.3;8fa5153535d8162d149576903ef83f60d41d8cd9;network/wifi;ADID/6BD621BD-56D2-8D41-5992-612C9B47AE31;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/6ef0458b3e;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/8fa5153535d8162d149576903ef83f60d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|7c7cccc08e3ad1133fab7a5d55594778|1611133878;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.3;Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.1;13.7;570e3fe0ac1f9ec37594db4150defda8d41d8cd9;network/wifi;ADID/81259E93-4BD6-EEE0-5940-38488EE9CD8C;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/0c7e39ea95;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/570e3fe0ac1f9ec37594db4150defda8d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|6af58e2b8306030829a2c7263dde5fbf|1611133889;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.7;Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.1;14.1;ee5c7a30c9ecf6403d3a51e21256b0a3d41d8cd9;network/wifi;ADID/FD2E3F22-568C-1272-BB67-337E9ADA87A9;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/bd62f241d6;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/ee5c7a30c9ecf6403d3a51e21256b0a3d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|8b7418a46668301083f645ee8cfd1665|1611133902;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 14.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.1;13.3;bab8095131dce3fce92e517b3768f656d41d8cd9;network/wifi;ADID/29357F7E-E207-8125-5230-618217D502FB;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/c6f851e123;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/bab8095131dce3fce92e517b3768f656d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|9049d276d487231ca48418fb1c065568|1611135259;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.3;Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.1;13.4;bccf1a9e60a5387006a7a429c1da737bd41d8cd9;network/wifi;ADID/66286A8A-AC77-621C-0FC3-DD50D883F335;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/0260059994;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/bccf1a9e60a5387006a7a429c1da737bd41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|6e5caa6534e7e568e0d805a892e465e3|1611135309;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.4;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" ] /** * 生成随机数字 From 622b78e146c544a709d7f9cbf9d2653616e5dd46 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 20 Jan 2021 18:11:01 +0800 Subject: [PATCH 0903/1259] update --- USER_AGENTS.js | 1 - 1 file changed, 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 56872aa8..416e0b2c 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -4,7 +4,6 @@ const USER_AGENTS = [ "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", "jdapp;android;9.3.4;9;D266436653462-6665326466626;network/4g;model/Mi Note 3;addressid/137888479;aid/15225879b8538ee7;oaid/f3157082db9da676;osVer/28;appBuild/86388;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", "jdapp;android;9.3.4;10;5353235373364666-4693734373436656;network/wifi;model/GM1910;addressid/993893557;aid/55257cdfd97474fe;oaid/;osVer/29;appBuild/86388;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", - "jdapp;android;9.3.6;9;8363538313830343131373538363-93D2134313639356631333737346;network/wifi;model/16T;addressid/1312262776;aid/afba6ae53ef2cece;oaid/;osVer/28;appBuild/86560;partner/meizu;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36" "jdapp;android;9.3.6;9;8363538313830343131373538363-93D2134313639356631333737346;network/wifi;model/16T;addressid/1312262776;aid/afba6ae53ef2cece;oaid/;osVer/28;appBuild/86560;partner/meizu;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36", "jdapp;iPhone;9.3.1;13.6;4be30ed80cc93279b20b3511b0e6f6e2d41d8cd9;network/wifi;ADID/82EBC38A-22C9-7832-2854-ECD760EFDF03;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/7326117e0c;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/4be30ed80cc93279b20b3511b0e6f6e2d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|94238f5e91534eff26963c550a0844a9|1611133787;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.6;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", "jdapp;iPhone;9.3.1;13.6;c6da5a938942c27b2634d3a6e090a97fd41d8cd9;network/wifi;ADID/5A517546-F045-7A96-18EC-7317E0C421AF;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/be6eafa49d;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/c6da5a938942c27b2634d3a6e090a97fd41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|54d27456fc7f2bd400e62be20379cf7f|1611133813;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.6;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", From c054198fd95458b5e1b7fe7da6eb441632926160 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 20 Jan 2021 19:09:50 +0800 Subject: [PATCH 0904/1259] Update jd_immortal.js --- jd_immortal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index b44ac339..f35ce438 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -49,7 +49,7 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `39xIs4YwE5Z7CPQQ0baz9jNWO6PSZHsNWqfOwWyqScbJBGhg4v7HbuBg63TJ4@27xIs4YwE5Z7FGzJqrMmavC_vWKtbEaJxbz0Vahw@43xIs4YwE5Z7DsWOzDSP_N6WTDnbA0wBjjof6cA9FzcbHMcZB9wE1R3ToSluCgxAzEXQ@43xIs4YwE5Z7DsWOzDSEuRWEOROpnDjMx_VvSs5ikYQ8XgcZB9whEHjDmPKQoL16TZ8w`, + `39xIs4YwE5Z7CPQQ0baz9jNWO6PSZHsNWqfOwWyqScbJBGhg4v7HbuBg63TJ4@27xIs4YwE5Z7FGzJqrMmavC_vWKtbEaJxbz0Vahw@43xIs4YwE5Z7DsWOzDSP_N6WTDnbA0wBjjof6cA9FzcbHMcZB9wE1R3ToSluCgxAzEXQ@43xIs4YwE5Z7DsWOzDSEuRWEOROpnDjMx_VvSs5ikYQ8XgcZB9whEHjDmPKQoL16TZ8w@50xIs4YwE5Z7FTId9W-KibDgxxx6AEa7189V1zSxSf2HP6681IXPQ81aJEP77WoHXLcK7QzlxGqsGqfU@43xIs4YwE5Z7DsWOzDSPKFWdkRe2Ae6h0jAdlhuSmuwcfUcZB9wBcHhj0_zyZDNK4Rhg`, `39xIs4YwE5Z7CPQQ0baz9jNWO6PSZHsNWqfOwWyqScbJBGhg4v7HbuBg63TJ4@27xIs4YwE5Z7FGzJqrMmavC_vWKtbEaJxbz0Vahw@43xIs4YwE5Z7DsWOzDSP_N6WTDnbA0wBjjof6cA9FzcbHMcZB9wE1R3ToSluCgxAzEXQ@43xIs4YwE5Z7DsWOzDSEuRWEOROpnDjMx_VvSs5ikYQ8XgcZB9whEHjDmPKQoL16TZ8w` ]; !(async () => { From 647647751616607c2d683b3f8f01969c3894ad50 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 20 Jan 2021 19:49:06 +0800 Subject: [PATCH 0905/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E3=80=81=E5=8A=A0=E5=85=A5=E4=BA=92=E5=8A=A9=E6=B1=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index f35ce438..f35cd15e 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -50,7 +50,7 @@ if ($.isNode()) { 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` + `39xIs4YwE5Z7CPQQ0baz9jNWO6PSZHsNWqfOwWyqScbJBGhg4v7HbuBg63TJ4@27xIs4YwE5Z7FGzJqrMmavC_vWKtbEaJxbz0Vahw@43xIs4YwE5Z7DsWOzDSP_N6WTDnbA0wBjjof6cA9FzcbHMcZB9wE1R3ToSluCgxAzEXQ@43xIs4YwE5Z7DsWOzDSEuRWEOROpnDjMx_VvSs5ikYQ8XgcZB9whEHjDmPKQoL16TZ8w@43xIs4YwE5Z7DsWOzDSFehRRs_UaNcqkiU7BrrzDTKHScMcZB9wkYC2z6K-QOsQy1S3A@43xIs4YwE5Z7DsWOzDSFcl8RjNxfrQquzeGQQtkQOUbyqscZB9wkxX2jw2HhM7TczeqA` ]; !(async () => { await requireConfig(); @@ -89,6 +89,7 @@ const inviteCodes = [ }) async function jdNian() { try { + $.risk = false await getHomeData() if($.risk) return await getTaskList($.cor) @@ -270,7 +271,7 @@ function getTaskList(body={}) { 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) => { + $.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)}`) @@ -303,7 +304,7 @@ function shareCodesFormat() { const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); $.newShareCodes = inviteCodes[tempIndex].split('@'); } - const readShareCodeRes = null // await readShareCode(); + const readShareCodeRes = await readShareCode(); if (readShareCodeRes && readShareCodeRes.code === 200) { $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; } From 3180f0a7b982a416a58ab6cd56173b923948d9f3 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 20 Jan 2021 21:28:51 +0800 Subject: [PATCH 0906/1259] =?UTF-8?q?=E9=9B=86=E9=9E=AD=E7=82=AE=E8=B5=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_firecrackers.js | 283 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 jd_firecrackers.js diff --git a/jd_firecrackers.js b/jd_firecrackers.js new file mode 100644 index 00000000..c7478105 --- /dev/null +++ b/jd_firecrackers.js @@ -0,0 +1,283 @@ +/* + * @Author: shylocks https://github.com/shylocks + * @Date: 2021-01-20 13:27:41 + * @Last Modified by: shylocks + * @Last Modified time: 2021-01-20 21:27:41 + */ +/* +集鞭炮赢京豆 +活动入口: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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, enabled=true + +================Loon============== +[Script] +cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 + +===============Surge================= +集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js + +============小火箭========= +集鞭炮赢京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, cronexpr="10 8,21 * * *", timeout=2200, 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 = () => { + }; +} 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 = ''; + $.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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空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(resolve => { + message += `本次运行获得鞭炮${$.earn},共计${$.total}🧨` + $.log($.name, '', `京东账号${$.index}${$.nickName}\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']}`) + await doTask(task['_id']) + 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 { + data = JSON.parse(data.match(/query\((.*)\n/)[1]) + if (data.ret === 0) { + 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From f76a40c59bd33ab1d403757f9b9533f6e8ec1b56 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 21:47:44 +0800 Subject: [PATCH 0907/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=9B=86=E9=9E=AD=E7=82=AE=E8=B5=A2=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增集鞭炮赢京豆 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 0370a3e6..15848352 100644 --- a/serverless.yml +++ b/serverless.yml @@ -40,12 +40,12 @@ inputs: cronExpression: "0 3 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory&jd_nianCollect - - timer: # 宠汪汪积分兑换奖品# 宠汪汪偷好友积分与狗# 点点券# 京东直播18豆 + - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗 #点点券 #京东直播18豆 #集鞭炮赢京豆 parameters: - name: joy_reward_joy_steal_necklace_live + name: joy_reward_joy_steal_necklace_live_firecrackers cronExpression: "0 0 0-16/8,20 * * * *" enable: true - argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live + argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live&jd_firecrackers - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 parameters: name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home From 72889bd2ab882c49f00b892bae6222d3e1984669 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 20 Jan 2021 22:07:56 +0800 Subject: [PATCH 0908/1259] Fix --- jd_immortal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index f35cd15e..df04b39e 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -473,4 +473,4 @@ function jsonParse(str) { } } // 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)} +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)} From 5a00c15e74e253da5ef7f62f5c1b2aaaa667be14 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 20 Jan 2021 22:24:39 +0800 Subject: [PATCH 0909/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4?= =?UTF-8?q?=E5=85=BD=E7=AD=BE=E5=88=B0=E4=BB=BB=E5=8A=A1=F0=9F=A7=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian_sign.js | 508 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 508 insertions(+) create mode 100644 jd_nian_sign.js diff --git a/jd_nian_sign.js b/jd_nian_sign.js new file mode 100644 index 00000000..ba730768 --- /dev/null +++ b/jd_nian_sign.js @@ -0,0 +1,508 @@ +/* +京东炸年兽签到任务🧨 +活动时间: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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, enabled=true + +================Loon============== +[Script] +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 + +===============Surge================= +京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js + +============小火箭========= +京东炸年兽签到任务🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, cronexpr="30 8 * * *", timeout=200, 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 { + 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); +} +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}🧨`) + } + 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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){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)} From bc5d7a6e477d902d06040b2dd977e054a842c710 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 20 Jan 2021 22:28:00 +0800 Subject: [PATCH 0910/1259] debug --- jd_nian_sign.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian_sign.js b/jd_nian_sign.js index ba730768..1fc63904 100644 --- a/jd_nian_sign.js +++ b/jd_nian_sign.js @@ -505,4 +505,4 @@ function jsonParse(str) { } } // 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)} +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)} From 81991f1259d2204fd67a580e80611d087c38dbbe Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 20 Jan 2021 22:31:08 +0800 Subject: [PATCH 0911/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4=E5=85=BD=E7=AD=BE?= =?UTF-8?q?=E5=88=B0=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东炸年兽签到任务 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 15848352..e0d3f762 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 #京东神仙书院 + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 #京东神仙书院 #京东炸年兽签到任务 parameters: - name: bean_change_crazy_joy_rankingList_bean_home_nh_immortal + name: bean_change_crazy_joy_rankingList_bean_home_nh_immortal_nian_sign cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal&jd_nian_sign - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 parameters: name: pigPet_syj_kd_jdzz_cash_sign From c89962e8ef4717155ea74f9ae704e629189b0799 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 20 Jan 2021 22:42:41 +0800 Subject: [PATCH 0912/1259] Update jd_lotteryMachine.js --- jd_lotteryMachine.js | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/jd_lotteryMachine.js b/jd_lotteryMachine.js index d2e1f14f..83f0c3db 100644 --- a/jd_lotteryMachine.js +++ b/jd_lotteryMachine.js @@ -1,20 +1,10 @@ /* -自用于github action + +京东抽奖机 + +自用 author:yangtingxiao github: https://github.com/yangtingxiao -京东抽奖机 -更新时间:2020-11-07 11:09 -脚本说明:五个抽奖活动,【东东抽奖机】【新店福利】【东东福利屋】【东东生活】【闪购盲盒】,点通知只能跳转一个,入口在京东APP玩一玩里面可以看到 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -// quantumultx -[task_local] -#京东抽奖机 -11 1 * * * https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_lotteryMachine.js, tag=京东抽奖机, img-url=https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/image/jd.png, enabled=true -// Loon -[Script] -cron "11 1 * * *" script-path=https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_lotteryMachine.js,tag=京东抽奖机 -// Surge -京东抽奖机 = type=cron,cronexp=11 1 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_lotteryMachine.js */ const $ = new Env('京东抽奖机'); main(); From a6fa7b17117704424c0a37d7bf1864d92a96662e Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 20 Jan 2021 22:44:09 +0800 Subject: [PATCH 0913/1259] Update jd_rankingList.js --- jd_rankingList.js | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/jd_rankingList.js b/jd_rankingList.js index 39714a99..235fa991 100644 --- a/jd_rankingList.js +++ b/jd_rankingList.js @@ -1,21 +1,10 @@ /* -自用于github action + +京东排行榜 + +自用 author:yangtingxiao github: https://github.com/yangtingxiao -京东排行榜 -更新时间:2020-11-05 16:07 -脚本说明:京东排行榜签到得京豆 -活动入口:找不着了,点击脚本通知进入吧 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -// quantumultx -[task_local] -#京东排行榜 -11 9 * * * https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_rankingList.js, tag=京东排行榜, img-url=https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/image/jd.png, enabled=true -// Loon -[Script] -cron "11 9 * * *" script-path=https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_rankingList.js,tag=京东排行榜 -// Surge -京东排行榜 = type=cron,cronexp=11 9 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_rankingList.js */ const $ = new Env('京东排行榜'); main(); @@ -68,4 +57,4 @@ function scriptsCDN(url = 'https://raw.fastgit.org/yangtingxiao/QuantumultX/mast } -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 +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)} From 4a62b6720197189a3e788b3f0bf918aae0d4fde4 Mon Sep 17 00:00:00 2001 From: YaoYufeng Date: Wed, 20 Jan 2021 23:23:25 +0800 Subject: [PATCH 0914/1259] Update USER_AGENTS.js update agent --- USER_AGENTS.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 416e0b2c..0f186ba3 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -13,7 +13,8 @@ const USER_AGENTS = [ "jdapp;iPhone;9.3.1;13.7;570e3fe0ac1f9ec37594db4150defda8d41d8cd9;network/wifi;ADID/81259E93-4BD6-EEE0-5940-38488EE9CD8C;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/0c7e39ea95;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/570e3fe0ac1f9ec37594db4150defda8d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|6af58e2b8306030829a2c7263dde5fbf|1611133889;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.7;Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", "jdapp;iPhone;9.3.1;14.1;ee5c7a30c9ecf6403d3a51e21256b0a3d41d8cd9;network/wifi;ADID/FD2E3F22-568C-1272-BB67-337E9ADA87A9;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/bd62f241d6;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/ee5c7a30c9ecf6403d3a51e21256b0a3d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|8b7418a46668301083f645ee8cfd1665|1611133902;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 14.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", "jdapp;iPhone;9.3.1;13.3;bab8095131dce3fce92e517b3768f656d41d8cd9;network/wifi;ADID/29357F7E-E207-8125-5230-618217D502FB;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/c6f851e123;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/bab8095131dce3fce92e517b3768f656d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|9049d276d487231ca48418fb1c065568|1611135259;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.3;Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "jdapp;iPhone;9.3.1;13.4;bccf1a9e60a5387006a7a429c1da737bd41d8cd9;network/wifi;ADID/66286A8A-AC77-621C-0FC3-DD50D883F335;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/0260059994;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/bccf1a9e60a5387006a7a429c1da737bd41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|6e5caa6534e7e568e0d805a892e465e3|1611135309;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.4;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" + "jdapp;iPhone;9.3.1;13.4;bccf1a9e60a5387006a7a429c1da737bd41d8cd9;network/wifi;ADID/66286A8A-AC77-621C-0FC3-DD50D883F335;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/0260059994;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/bccf1a9e60a5387006a7a429c1da737bd41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|6e5caa6534e7e568e0d805a892e465e3|1611135309;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.4;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.5;14.3;4c1eb8becaa1ac13148d8e1ae757b095f3897035;network/wifi;ADID/0AEFEAA4-D39D-44C9-9C0C-0BE23F8F71AA;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone12,3;addressid/902369124;supportBestPay/0;appBuild/167515;jdSupportDarkMode/1;pv/545.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/4c1eb8becaa1ac13148d8e1ae757b095f3897035|1273;jdv/0|kong|t_1000089893_157_0_184__0615da2400ad7955|tuiguang|15fa9ecbea21461d924d3dae0e870cf5|1611139506;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|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" ] /** * 生成随机数字 From 55131e8f22a71ce3f56ff08a300e8881282c279b Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 21 Jan 2021 01:01:32 +0800 Subject: [PATCH 0915/1259] =?UTF-8?q?fix=20=E5=AD=97=E7=AC=A6=E8=BF=87?= =?UTF-8?q?=E9=95=BF=E5=AF=BC=E8=87=B4=E4=BA=91=E5=87=BD=E6=95=B0=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix 字符过长导致云函数部署失败的问题 --- serverless.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/serverless.yml b/serverless.yml index e0d3f762..9665153a 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,18 +64,18 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 #京东神仙书院 #京东炸年兽签到任务 + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 #京东神仙书院 parameters: - name: bean_change_crazy_joy_rankingList_bean_home_nh_immortal_nian_sign + name: bean_change_crazy_joy_rankingList_bean_home_nh_immortal cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal&jd_nian_sign - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 parameters: - name: pigPet_syj_kd_jdzz_cash_sign + name: pigPet_syj_kd_jdzz_cash_sign_nian_sign cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From aad63c05653d969fc467bf3cfadadae4f4f9aff1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 09:22:03 +0800 Subject: [PATCH 0916/1259] =?UTF-8?q?add=20UA=EF=BC=8Cfix=20jd=5Fjoy=5Fste?= =?UTF-8?q?al.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- USER_AGENTS.js | 5 ++++- jd_joy_steal.js | 31 ++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 0f186ba3..dacf4fb9 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -14,7 +14,10 @@ const USER_AGENTS = [ "jdapp;iPhone;9.3.1;14.1;ee5c7a30c9ecf6403d3a51e21256b0a3d41d8cd9;network/wifi;ADID/FD2E3F22-568C-1272-BB67-337E9ADA87A9;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/bd62f241d6;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/ee5c7a30c9ecf6403d3a51e21256b0a3d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|8b7418a46668301083f645ee8cfd1665|1611133902;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 14.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", "jdapp;iPhone;9.3.1;13.3;bab8095131dce3fce92e517b3768f656d41d8cd9;network/wifi;ADID/29357F7E-E207-8125-5230-618217D502FB;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/c6f851e123;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/bab8095131dce3fce92e517b3768f656d41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|9049d276d487231ca48418fb1c065568|1611135259;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.3;Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", "jdapp;iPhone;9.3.1;13.4;bccf1a9e60a5387006a7a429c1da737bd41d8cd9;network/wifi;ADID/66286A8A-AC77-621C-0FC3-DD50D883F335;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/0260059994;supportBestPay/0;appBuild/167461;pushNoticeIsOpen/0;jdSupportDarkMode/1;pv/1430.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/bccf1a9e60a5387006a7a429c1da737bd41d8cd9|3880;jdv/0|kong|t_1000089893_|tuiguang|6e5caa6534e7e568e0d805a892e465e3|1611135309;adk/;app_device/IOS;pap/JA2015_311210|9.3.1|IOS 13.4;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "jdapp;iPhone;9.3.5;14.3;4c1eb8becaa1ac13148d8e1ae757b095f3897035;network/wifi;ADID/0AEFEAA4-D39D-44C9-9C0C-0BE23F8F71AA;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone12,3;addressid/902369124;supportBestPay/0;appBuild/167515;jdSupportDarkMode/1;pv/545.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/4c1eb8becaa1ac13148d8e1ae757b095f3897035|1273;jdv/0|kong|t_1000089893_157_0_184__0615da2400ad7955|tuiguang|15fa9ecbea21461d924d3dae0e870cf5|1611139506;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|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" + "jdapp;iPhone;9.3.5;14.3;4c1eb8becaa1ac13148d8e1ae757b095f3897035;network/wifi;ADID/0AEFEAA4-D39D-44C9-9C0C-0BE23F8F71AA;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone12,3;addressid/902369124;supportBestPay/0;appBuild/167515;jdSupportDarkMode/1;pv/545.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/4c1eb8becaa1ac13148d8e1ae757b095f3897035|1273;jdv/0|kong|t_1000089893_157_0_184__0615da2400ad7955|tuiguang|15fa9ecbea21461d924d3dae0e870cf5|1611139506;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|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", + "jdapp;android;9.3.6;9;D256434363461-6531383831656;network/wifi;model/MI 6;addressid/856540565;aid/f0ee06ebc7f6e98f;oaid/7fed3628fe652595;osVer/28;appBuild/86533;psn/V0yRdEdRydfYb9nackt2CQ==|3683;psq/0;adk/;ads/;pap/JA2015_311210|9.3.6|ANDROID 9;osv/9;pv/3513.0;jdv/0|kong|t_1000089893_|tuiguang|72e393e7b2474bc6a2369615f1b262e5|1610986845;ref/;partner/jingdong;apprpd/;eufv/1;Mozilla/5.0 (Linux; Android 9; MI 6 Build/PKQ1.190118.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36", + "jdapp;android;9.3.6;11;2353632303533303-4613731326261636;network/wifi;model/Redmi K30 5G;addressid/137593713;aid/25620530d171bbac;oaid/bfa9b0b7eca0475e;osVer/30;appBuild/86560;psn/oAPbHSW3fqrTmO6vGi1h73hJ0XCn9xEB|2846;psq/6;adk/;ads/;pap/JA2015_311210|9.3.6|ANDROID 11;osv/11;pv/2763.63;jdv/0|kong|t_1000089893_157_0_184__6fe1ce2ddf1f49a0|jingfen|249389d15ac843dbbbec52ce919891fb|1610851978;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/xiaomi001;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K30 5G Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045511 Mobile Safari/537.36", + "jdapp;iPhone;4.0.0;11.4;9ed0d69aaf190b5b4277868d2c0470fe1f787080;network/wifi;model/iPhone8,1;appBuild/100401;ADID/64199E21-4ECD-4217-BD79-0C4D82033FD8;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/73;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15F79" ] /** * 生成随机数字 diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 1776fe00..30f62be1 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -1,22 +1,29 @@ +/* + * @Author: LXK9301 https://github.com/LXK9301 + * @Date: 2020-07-16 18:54:16 + * @Last Modified by: LXK9301 + * @Last Modified time: 2021-1-21 21:22:37 + */ /* 最近经常出现给偷好友积分与狗粮失败的情况,故建议cron设置为多次 jd宠汪汪偷好友积分与狗粮,及给好友喂食 偷好友积分上限是20个好友(即获得100积分),帮好友喂食上限是20个好友(即获得200积分),偷好友狗粮上限也是20个好友(最多获得120g狗粮) IOS用户支持京东双账号,NodeJs用户支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -更新时间:2021-1-17 如果开启了给好友喂食功能,建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 -注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save +==========Quantumult X========== +[task_local] +#宠汪汪偷好友积分与狗粮 +0 0-10/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +=======Loon======== +[Script] +cron "0 0-10/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 +========Surge========== +宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=2200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +=======小火箭===== +宠汪汪偷好友积分与狗粮 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, cronexpr="0 0-10/2 * * *", timeout=2200, enable=true */ -// quantumultx -// [task_local] -// #宠汪汪偷好友积分与狗粮 -// 0 0-10/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true -// Loon -// [Script] -// cron "0 0-10/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 -// Surge -// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js + const $ = new Env('宠汪汪偷好友积分与狗粮'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; @@ -104,6 +111,8 @@ async function jdJoySteal() { $.helpFood = 0; $.stealFriendCoin = 0; $.stealFood = 0; + $.stealStatus = null; + $.helpFeedStatus = null; message += `【京东账号${$.index}】${$.nickName}\n`; await getFriends();//查询是否有好友 await getCoinChanges();//查询喂食好友和偷好友积分是否已达上限 From ce399fb54319788547267b567c017492ce719575 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 09:28:39 +0800 Subject: [PATCH 0917/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=AE=A0?= =?UTF-8?q?=E6=B1=AA=E6=B1=AA=E5=BC=BA=E5=88=B6=E5=8A=A9=E5=8A=9B=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_help.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/jd_joy_help.js b/jd_joy_help.js index a6aa2996..c595edaf 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -1,7 +1,7 @@ -/** +/* 宠汪汪强制为别人助力(助力一个好友你自己可以获得30积分,一天上限是帮助3个好友,自己获得90积分,不管助力是否成功,对方都会成为你的好友) 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js -更新时间:2021-1-17 +更新时间:2021-1-21 目前提供了304位好友的friendPin供使用。脚本随机从里面获取一个,助力成功后,退出小程序重新点击进去开始助力新的好友 欢迎大家使用 https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 (currentPage=1表示第一页好友,=2表示第二页好友) 提供各自账号列表的friendPin给我 @@ -15,21 +15,21 @@ hostname = draw.jdfcloud.com ======================Surge===================== [Script] -宠汪汪强制为别人助力= type=http-request,pattern= ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js +宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js -===================圈x===================== +===================Quantumult X===================== [rewrite_local] -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js +^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js - =====================LOON===================== +=====================Loon===================== [Script] -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 你也可从下面链接拿好友的friendPin(复制链接到有京东ck的浏览器打开即可) https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 -**/ +*/ let url = $request.url const friendsArr = ["jd_41345a6f96aa5", "jd_45a6b5953b15b", "jd_45a6b5953b15b", "jd_704a2e5e28a66", "jd_66f5cecc1efcd", "jd_sIhNpDXJehOr", "jd_5851f32d4a083", "yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] /** From a0ddc56afce2e2573348f7ae3a9c763ee3e3df02 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 09:41:28 +0800 Subject: [PATCH 0918/1259] update --- Loon/lxk0301_LoonTask.conf | 7 ++++--- Surge/lxk0301_Task.sgmodule.sgmodule | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 625416d1..48cf2a9f 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -5,7 +5,7 @@ # Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf # 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) -hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com # 东东农场 cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 @@ -82,14 +82,15 @@ http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?c http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token # 宠汪汪强制为别人助力 -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/enterRoom\/h5\?reqSource=weapp&invitePin=.*+(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 #聚宝盆投狗粮辅助(github@Zero-S1搬的) http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 # 小米运动获取Token http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token - +#获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, timeout=10, tag=获取多账号京东Cookie # 京东代属 # cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, tag=京东代属 diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 75ff4a2c..e2ed5a4d 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -1,7 +1,7 @@ -#!name=LXK9301 iOS Tasks Module -#!desc=iOS Tasks 模块配置 +#!name=LXK9301 iOS Tasks&Cookies Module +#!desc=iOS Tasks&Cookies 模块配置 -# Task模块配置 By LXK9301 +# Tasks&Cookies模块配置 By LXK9301 # GitHub主页(https://github.com/LXK9301/jd_scripts) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) @@ -80,3 +80,12 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip #京东年货节 京东年货节 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js +#以下为cookie配置 +#获取多账号京东Cookie +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 +#宠汪汪强制为别人助力 +宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js +#小米运动获取Token +小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +[MITM] +hostname = %APPEND% api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com From 4a18b2f8c2d89f163e6be5ef5467b7d4b0a68407 Mon Sep 17 00:00:00 2001 From: testonlys <67446694+testonlys@users.noreply.github.com> Date: Thu, 21 Jan 2021 09:58:46 +0800 Subject: [PATCH 0919/1259] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20QQ=20=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E6=95=8F=E6=84=9F=E8=AF=8D=E8=BF=87=E6=BB=A4=E5=8F=8A?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=8F=91=E9=80=81=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sendNotify.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sendNotify.js b/sendNotify.js index 742bd37b..844572cd 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -201,6 +201,12 @@ function CoolPush(text, desp) { } } + // 已知敏感词 + text = text.replace(/京豆/g, "豆豆"); + desp = desp.replace(/京豆/g, ""); + desp = desp.replace(/🐶/g, ""); + desp = desp.replace(/红包/g, "H包"); + switch (QQ_MODE) { case "email": options.json = { @@ -240,8 +246,10 @@ function CoolPush(text, desp) { console.log(`酷推发送${pushMode(QQ_MODE)}通知消息成功\n`) } else if (data.code === 400) { console.log(`QQ酷推(Cool Push)发送${pushMode(QQ_MODE)}推送失败:${data.msg}\n`) + } else if (data.code === 503) { + console.log(`QQ酷推出错,${data.message}:${data.data}\n`) }else{ - console.log(`酷推推送异常: ${data.msg}`); + console.log(`酷推推送异常: ${JSON.stringify(data)}`); } } } catch (e) { From f1e7604b5e355886fc44e600ba6a0e34095f862a Mon Sep 17 00:00:00 2001 From: AboutCXJ Date: Thu, 21 Jan 2021 10:17:05 +0800 Subject: [PATCH 0920/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=8D=E8=BF=90=E8=A1=8C=E6=9F=90=E4=BA=9B=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 63df090e..589700bd 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -80,14 +80,28 @@ else fi fi -echo "第6步增加 |ts 任务日志输出时间戳..." + + +echo "第6步删除不运行的脚本任务..." +if [ $DO_NOT_RUN_SCRIPTS ]; then + echo "您配置了不运行的脚本:$DO_NOT_RUN_SCRIPTS" + arr=${DO_NOT_RUN_SCRIPTS//&/ } + for item in $arr; do + sed -ie '/'"${item}"'/d' /1.txt + done + +fi + + + +echo "第7步增加 |ts 任务日志输出时间戳..." sed -i "/\( ts\| |ts\|| ts\)/!s/>>/\|ts >>/g" $mergedListFile -echo "第7步执行proc_file.sh脚本任务..." +echo "第8步执行proc_file.sh脚本任务..." sh -x /scripts/docker/proc_file.sh -echo "第8步加载最新的定时任务文件..." +echo "第9步加载最新的定时任务文件..." crontab $mergedListFile -echo "第9步将仓库的docker_entrypoint.sh脚本更新至系统/usr/local/bin/docker_entrypoint.sh内..." +echo "第10步将仓库的docker_entrypoint.sh脚本更新至系统/usr/local/bin/docker_entrypoint.sh内..." cat /scripts/docker/docker_entrypoint.sh >/usr/local/bin/docker_entrypoint.sh From 225c901fbe1ef809d4fc5318654908890a6ca581 Mon Sep 17 00:00:00 2001 From: AboutCXJ Date: Thu, 21 Jan 2021 10:20:18 +0800 Subject: [PATCH 0921/1259] =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=20DO=5FNOT=5FRU?= =?UTF-8?q?N=5FSCRIPTS=20=E5=8F=82=E6=95=B0=E9=85=8D=E7=BD=AE=E4=B8=8D?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=9A=84=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker/Readme.md b/docker/Readme.md index 48437d02..95739f08 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -1,6 +1,10 @@ ![Docker Pulls](https://img.shields.io/docker/pulls/lxk0301/jd_scripts?style=for-the-badge) ### Usage ```diff ++ 2021-01-21更新 增加 DO_NOT_RUN_SCRIPTS 参数配置不执行的脚本 ++ 例:DO_NOT_RUN_SCRIPTS=jd_family&jd_dreamFactory&jd_jxnc + + + 2021-01-03更新 增加 CUSTOM_SHELL_FILE 参数配置执行自定义shell脚本 + 例1:配置远程shell脚本, 我自己写了一个shell脚本https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh 内容很简单下载惊喜农场并添加定时任务 + CUSTOM_SHELL_FILE=https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh From 10bca24d8a392265a04b7b2cb0cb61b93eb47fc3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 10:53:43 +0800 Subject: [PATCH 0922/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9EquantumultX?= =?UTF-8?q?=E9=87=8D=E5=86=99=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=20https:?= =?UTF-8?q?//raw.githubusercontent.com/LXK9301/jd=5Fscripts/master/Quantum?= =?UTF-8?q?ultX/lxk0301=5Fcookies.conf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- .../3B3B3933-D53E-42BA-842F-2DA525FDEB18.jpeg | Bin 677932 -> 0 bytes QuantumultX/lxk0301_cookies.conf | 14 ++++++++++++++ Surge/lxk0301_Task.sgmodule.sgmodule | 4 +++- 4 files changed, 18 insertions(+), 2 deletions(-) delete mode 100644 QuantumultX/3B3B3933-D53E-42BA-842F-2DA525FDEB18.jpeg create mode 100644 QuantumultX/lxk0301_cookies.conf diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 48cf2a9f..d18b7e82 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -5,7 +5,7 @@ # Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf # 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) -hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +hostname = wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com # 东东农场 cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 diff --git a/QuantumultX/3B3B3933-D53E-42BA-842F-2DA525FDEB18.jpeg b/QuantumultX/3B3B3933-D53E-42BA-842F-2DA525FDEB18.jpeg deleted file mode 100644 index 754536f0a3ef5c80105dd556de10d0dace8fd7d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677932 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�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%0D}gNS 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

Qqp><%K`O0c$J^(4+*D5TT>7Y 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 Date: Thu, 21 Jan 2021 11:19:08 +0800 Subject: [PATCH 0923/1259] update --- JD_extra_cookie.js | 15 ++++----------- jd_joy_run.js | 6 +++--- jd_petTreasureBox.js | 14 +++++++------- lxk0301.boxjs.json | 2 +- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index e0a69f1b..768de33a 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -7,7 +7,7 @@ Github: https://github.com/dompling =================== 特别说明: -1.获取多个京东cookie的脚本,不和NobyDa的京东cookie冲突。 +1.获取多个京东cookie的脚本,不和NobyDa的京东cookie冲突。注:如与NobyDa的京东cookie重复,建议在此处删除重复的cookie =================== =================== 使用方式:在代理软件配置好下方配置后,复制 https://home.m.jd.com/myJd/newhome.action 到浏览器打开 ,在个人中心自动获取 cookie, @@ -18,22 +18,15 @@ Github: https://github.com/dompling [MITM] hostname = wq.jd.com -【Surge脚本配置】: -=================== +===================Surge=================== [Script] 获取京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 -=================== -【Loon脚本配置】: -=================== +===================Loon=================== [Script] http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion tag=获取京东Cookie, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js - -=================== -【 QX 脚本配置 】 : -=================== - +===================Quantumult X===================== [rewrite_local] https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js diff --git a/jd_joy_run.js b/jd_joy_run.js index 24e4fba0..39497677 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -12,13 +12,13 @@ token获取途径: [MITM] hostname = draw.jdfcloud.com -Surge +===========Surge================= [Script] 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js 宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -圈X +===================Quantumult X===================== [task_local] # 宠汪汪邀请助力与赛跑助力 15 10 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true @@ -28,7 +28,7 @@ Surge # 宠汪汪助力获取Token ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -*****Loon**** +=====================Loon===================== [Script] cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token diff --git a/jd_petTreasureBox.js b/jd_petTreasureBox.js index 17ac2f16..461e2059 100644 --- a/jd_petTreasureBox.js +++ b/jd_petTreasureBox.js @@ -1,6 +1,6 @@ -/** - 更新时间:2020-11-12 - 从github@Zero-S1搬的[https://github.com/Zero-S1/JD_tools/blob/master/jbp.js] +/* +更新时间:2020-11-12 +从github@Zero-S1搬的[https://github.com/Zero-S1/JD_tools/blob/master/jbp.js] 【宠汪汪聚宝盆辅助脚本】 1、进入聚宝盆,显示本轮狗粮池投入总数,方便估算 2、可能有两位数误差,影响不大 @@ -8,19 +8,19 @@ [MITM] hostname = jdjoy.jd.com,draw.jdfcloud.com -surge +==========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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js -Qx +===================Quantumult X===================== [rewrite_local] ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js -LOON: +=====================Loon===================== [Script] http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 -**/ +*/ let body = $response.body body = JSON.parse(body) food = body['data']['food'] diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 6eddcfeb..49741e28 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -13,7 +13,7 @@ "请勿随意在输入框修改内容,建议通过脚本去获取cookie,若要修改,请按照JSON 格式修改。", "脚本地址【京东多 CK获取】,并按照此脚本注释进行配置", "使用方式【个人中心】获取对应的数据Code", - "注:如与NobyDa的京东cookie出现重复,建议在此处删除重复的cookie" + "注:如与NobyDa的京东cookie重复,建议在此处删除重复的cookie" ], "settings": [ { From c120fb3841dbc1eab6f6573e2bc66f0339a05305 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 11:23:08 +0800 Subject: [PATCH 0924/1259] =?UTF-8?q?timeout=E5=85=A8=E9=83=A8=E6=94=B9?= =?UTF-8?q?=E6=88=903600?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JD_extra_cookie.js | 2 +- Loon/lxk0301_LoonTask.conf | 12 ++--- Surge/lxk0301_Task.sgmodule.sgmodule | 68 ++++++++++++++-------------- activity/jd_818.js | 2 +- activity/jd_apple_live.js | 4 +- activity/jd_digital_floor.js | 4 +- activity/jd_ds.js | 4 +- activity/jd_health.js | 4 +- activity/jd_jdh.js | 4 +- activity/jd_jxstory.js | 4 +- activity/jd_live_redrain.js | 4 +- activity/jd_live_redrain2.js | 4 +- activity/jd_mohe.js | 2 +- activity/jd_ms_redrain.js | 4 +- activity/jd_pubg.js | 4 +- activity/jd_split.js | 4 +- activity/jd_watch.js | 4 +- activity/jd_xtg.js | 2 +- activity/jr_sign.js | 4 +- backUp/jd_fruit_double.js | 2 +- backUp/jd_plantBean_double.js | 2 +- backUp/xmSports.js | 4 +- backUp/xmly_speed_ccokie.js | 2 +- jd_bean_change.js | 2 +- jd_bean_home.js | 4 +- jd_blueCoin.js | 2 +- jd_bookshop.js | 4 +- jd_car.js | 4 +- jd_car_exchange.js | 4 +- jd_cash.js | 4 +- jd_club_lottery.js | 2 +- jd_crazy_joy.js | 4 +- jd_crazy_joy_coin.js | 4 +- jd_dreamFactory.js | 4 +- jd_family.js | 4 +- jd_firecrackers.js | 4 +- jd_fruit.js | 4 +- jd_get_share_code.js | 4 +- jd_immortal.js | 4 +- jd_jdfactory.js | 4 +- jd_jdzz.js | 4 +- jd_joy.js | 2 +- jd_joy_feedPets.js | 2 +- jd_joy_help.js | 2 +- jd_joy_reward.js | 2 +- jd_joy_run.js | 6 +-- jd_joy_steal.js | 4 +- jd_jxnc.js | 8 ++-- jd_kd.js | 4 +- jd_live.js | 4 +- jd_moneyTree.js | 2 +- jd_necklace.js | 4 +- jd_nh.js | 4 +- jd_nian.js | 4 +- jd_nianCollect.js | 4 +- jd_nian_sign.js | 4 +- jd_pet.js | 4 +- jd_petTreasureBox.js | 2 +- jd_plantBean.js | 4 +- jd_redPacket.js | 2 +- jd_shop.js | 2 +- jd_small_home.js | 4 +- jd_speed.js | 2 +- jd_syj.js | 4 +- jd_unbind.js | 4 +- jd_unsubscribe.js | 2 +- jx_sign.js | 4 +- 67 files changed, 153 insertions(+), 153 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index 768de33a..fa93fc4e 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -111,6 +111,6 @@ function GetCookie() { // prettier-ignore function ENV(){const isQX=typeof $task!=="undefined";const isLoon=typeof $loon!=="undefined";const isSurge=typeof $httpClient!=="undefined"&&!isLoon;const isJSBox=typeof require=="function"&&typeof $jsbox!="undefined";const isNode=typeof require=="function"&&!isJSBox;const isRequest=typeof $request!=="undefined";const isScriptable=typeof importModule!=="undefined";return{isQX,isLoon,isSurge,isNode,isJSBox,isRequest,isScriptable}} // prettier-ignore -function HTTP(baseURL,defaultOptions={}){const{isQX,isLoon,isSurge,isScriptable,isNode}=ENV();const methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"];function send(method,options){options=typeof options==="string"?{url:options}:options;options.url=baseURL?baseURL+options.url:options.url;options={...defaultOptions,...options};const timeout=options.timeout;const events={...{onRequest:()=>{},onResponse:(resp)=>resp,onTimeout:()=>{},},...options.events,};events.onRequest(method,options);let worker;if(isQX){worker=$task.fetch({method,...options})}else if(isLoon||isSurge||isNode){worker=new Promise((resolve,reject)=>{const request=isNode?require("request"):$httpClient;request[method.toLowerCase()](options,(err,response,body)=>{if(err)reject(err);else resolve({statusCode:response.status||response.statusCode,headers:response.headers,body,})})})}else if(isScriptable){const request=new Request(options.url);request.method=method;request.headers=options.headers;request.body=options.body;worker=new Promise((resolve,reject)=>{request.loadString().then((body)=>{resolve({statusCode:request.response.statusCode,headers:request.response.headers,body,})}).catch((err)=>reject(err))})}let timeoutid;const timer=timeout?new Promise((_,reject)=>{timeoutid=setTimeout(()=>{events.onTimeout();return reject(`${method}URL:${options.url}exceeds the timeout ${timeout}ms`)},timeout)}):null;return(timer?Promise.race([timer,worker]).then((res)=>{clearTimeout(timeoutid);return res}):worker).then((resp)=>events.onResponse(resp))}const http={};methods.forEach((method)=>(http[method.toLowerCase()]=(options)=>send(method,options)));return http} +function HTTP(baseURL,defaultOptions={}){const{isQX,isLoon,isSurge,isScriptable,isNode}=ENV();const methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"];function send(method,options){options=typeof options==="string"?{url:options}:options;options.url=baseURL?baseURL+options.url:options.url;options={...defaultOptions,...options};const timeout=3600options.timeout;const events={...{onRequest:()=>{},onResponse:(resp)=>resp,onTimeout:()=>{},},...options.events,};events.onRequest(method,options);let worker;if(isQX){worker=$task.fetch({method,...options})}else if(isLoon||isSurge||isNode){worker=new Promise((resolve,reject)=>{const request=isNode?require("request"):$httpClient;request[method.toLowerCase()](options,(err,response,body)=>{if(err)reject(err);else resolve({statusCode:response.status||response.statusCode,headers:response.headers,body,})})})}else if(isScriptable){const request=new Request(options.url);request.method=method;request.headers=options.headers;request.body=options.body;worker=new Promise((resolve,reject)=>{request.loadString().then((body)=>{resolve({statusCode:request.response.statusCode,headers:request.response.headers,body,})}).catch((err)=>reject(err))})}let timeoutid;const timer=timeout?new Promise((_,reject)=>{timeoutid=setTimeout(()=>{events.onTimeout();return reject(`${method}URL:${options.url}exceeds the timeout ${timeout}ms`)},timeout)}):null;return(timer?Promise.race([timer,worker]).then((res)=>{clearTimeout(timeoutid);return res}):worker).then((resp)=>events.onResponse(resp))}const http={};methods.forEach((method)=>(http[method.toLowerCase()]=(options)=>send(method,options)));return http} // prettier-ignore function API(name="untitled",debug=false){const{isQX,isLoon,isSurge,isNode,isJSBox,isScriptable}=ENV();return new(class{constructor(name,debug){this.name=name;this.debug=debug;this.http=HTTP();this.env=ENV();this.node=(()=>{if(isNode){const fs=require("fs");return{fs}}else{return null}})();this.initCache();const delay=(t,v)=>new Promise(function(resolve){setTimeout(resolve.bind(null,v),t)});Promise.prototype.delay=function(t){return this.then(function(v){return delay(t,v)})}}initCache(){if(isQX)this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}");if(isLoon||isSurge)this.cache=JSON.parse($persistentStore.read(this.name)||"{}");if(isNode){let fpath="root.json";if(!this.node.fs.existsSync(fpath)){this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"wx"},(err)=>console.log(err))}this.root={};fpath=`${this.name}.json`;if(!this.node.fs.existsSync(fpath)){this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"wx"},(err)=>console.log(err));this.cache={}}else{this.cache=JSON.parse(this.node.fs.readFileSync(`${this.name}.json`))}}}persistCache(){const data=JSON.stringify(this.cache);if(isQX)$prefs.setValueForKey(data,this.name);if(isLoon||isSurge)$persistentStore.write(data,this.name);if(isNode){this.node.fs.writeFileSync(`${this.name}.json`,data,{flag:"w"},(err)=>console.log(err));this.node.fs.writeFileSync("root.json",JSON.stringify(this.root),{flag:"w"},(err)=>console.log(err))}}write(data,key){this.log(`SET ${key}`);if(key.indexOf("#")!==-1){key=key.substr(1);if(isSurge||isLoon){return $persistentStore.write(data,key)}if(isQX){return $prefs.setValueForKey(data,key)}if(isNode){this.root[key]=data}}else{this.cache[key]=data}this.persistCache()}read(key){this.log(`READ ${key}`);if(key.indexOf("#")!==-1){key=key.substr(1);if(isSurge||isLoon){return $persistentStore.read(key)}if(isQX){return $prefs.valueForKey(key)}if(isNode){return this.root[key]}}else{return this.cache[key]}}delete(key){this.log(`DELETE ${key}`);if(key.indexOf("#")!==-1){key=key.substr(1);if(isSurge||isLoon){$persistentStore.write(null,key)}if(isQX){$prefs.removeValueForKey(key)}if(isNode){delete this.root[key]}}else{delete this.cache[key]}this.persistCache()}notify(title,subtitle="",content="",options={}){const openURL=options["open-url"];const mediaURL=options["media-url"];if(isQX)$notify(title,subtitle,content,options);if(isSurge){$notification.post(title,subtitle,content+`${mediaURL?"\n多媒体:"+mediaURL:""}`,{url:openURL})}if(isLoon){let opts={};if(openURL)opts["openUrl"]=openURL;if(mediaURL)opts["mediaUrl"]=mediaURL;if(JSON.stringify(opts)=="{}"){$notification.post(title,subtitle,content)}else{$notification.post(title,subtitle,content,opts)}}if(isNode||isScriptable){const content_=content+(openURL?`\n点击跳转:${openURL}`:"")+(mediaURL?`\n多媒体:${mediaURL}`:"");if(isJSBox){const push=require("push");push.schedule({title:title,body:(subtitle?subtitle+"\n":"")+content_,})}else{console.log(`${title}\n${subtitle}\n${content_}\n\n`)}}}log(msg){if(this.debug)console.log(msg)}info(msg){console.log(msg)}error(msg){console.log("ERROR: "+msg)}wait(millisec){return new Promise((resolve)=>setTimeout(resolve,millisec))}done(value={}){if(isQX||isLoon||isSurge){$done(value)}else if(isNode&&!isJSBox){if(typeof $context!=="undefined"){$context.headers=value.headers;$context.statusCode=value.statusCode;$context.body=value.body}}}})(name,debug)} diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index d18b7e82..b1390d91 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -76,21 +76,21 @@ cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scri cron "25 17 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 #宠汪汪助力更新Token -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力更新Token #宠汪汪助力获取Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力获取Token # 宠汪汪强制为别人助力 -http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 #聚宝盆投狗粮辅助(github@Zero-S1搬的) -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 # 小米运动获取Token -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=3600, tag=小米运动获取Token #获取多账号京东Cookie -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, timeout=10, tag=获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, timeout=3600, tag=获取多账号京东Cookie # 京东代属 # cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, tag=京东代属 diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 723c570c..07f9e169 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -9,76 +9,76 @@ [Script] #东东农场 -cron "40 8-18/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,timeout=530, wake-system=1, tag=东东农场 +cron "40 8-18/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,timeout=3600, wake-system=1, tag=东东农场 #东东萌宠 -cron "20 8-18/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,timeout=530, wake-system=1, tag=东东萌宠 +cron "20 8-18/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,timeout=3600, wake-system=1, tag=东东萌宠 #京东种豆得豆 -cron "50 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,timeout=630, wake-system=1, tag=京东种豆得豆 +cron "50 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,timeout=3600, wake-system=1, tag=京东种豆得豆 #宠汪汪 -cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,timeout=330, wake-system=1, tag=宠汪汪 +cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,timeout=3600, wake-system=1, tag=宠汪汪 #宠汪汪喂食(仅喂食) -cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,timeout=30, wake-system=1, tag=宠汪汪喂食 +cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,timeout=3600, wake-system=1, tag=宠汪汪喂食 #宠汪汪偷好友积分与狗粮 -cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,timeout=1420, wake-system=1, tag=宠汪汪偷好友积分与狗粮 +cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,timeout=3600, wake-system=1, tag=宠汪汪偷好友积分与狗粮 #宠汪汪积分兑换奖品 -cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,timeout=130, wake-system=1, tag=宠汪汪积分兑换奖品 +cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,timeout=3600, wake-system=1, tag=宠汪汪积分兑换奖品 #京东天天加速 -cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,timeout=130, wake-system=1, tag=京东天天加速 +cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,timeout=3600, wake-system=1, tag=京东天天加速 #京东摇钱树 -cron "15 */5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,timeout=130, wake-system=1, tag=京东摇钱树 +cron "15 */5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,timeout=3600, wake-system=1, tag=京东摇钱树 #摇京豆 -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, timeout=1150, wake-system=1, tag=摇京豆 +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, timeout=3600, wake-system=1, tag=摇京豆 #京小超 -cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,timeout=530, wake-system=1, tag=京小超 +cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,timeout=3600, wake-system=1, tag=京小超 京小超兑换奖品 -cron "0,30 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,timeout=130, wake-system=1, tag=京小超兑换奖品 +cron "0,30 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,timeout=3600, wake-system=1, tag=京小超兑换奖品 #取关京东店铺商品 -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,timeout=250, wake-system=1, tag=取关京东店铺商品 +cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,timeout=3600, wake-system=1, tag=取关京东店铺商品 #进店领豆 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,timeout=130, wake-system=1, tag=进店领豆 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,timeout=3600, wake-system=1, tag=进店领豆 #宠汪汪邀请助力与赛跑助力 -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, timeout=230, wake-system=1, tag=宠汪汪邀请助力与赛跑助力 +cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, timeout=3600, wake-system=1, tag=宠汪汪邀请助力与赛跑助力 #京东全民开红包 cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, wake-system=1, tag=京东全民开红包 #京豆变动通知 -cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, timeout=650, wake-system=1, tag=京豆变动通知 +cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, timeout=3600, wake-system=1, tag=京豆变动通知 #点点券 -cron "30 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, timeout=650, wake-system=1, tag=点点券 +cron "30 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, timeout=3600, wake-system=1, tag=点点券 #京喜工厂 -cron "24 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, timeout=650, wake-system=1, tag=京喜工厂 +cron "24 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, timeout=3600, wake-system=1, tag=京喜工厂 #东东工厂 -cron "40 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, timeout=650, wake-system=1, tag=东东工厂 +cron "40 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, timeout=3600, wake-system=1, tag=东东工厂 #东东小窝 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, timeout=650, wake-system=1, tag=东东小窝 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, timeout=3600, wake-system=1, tag=东东小窝 #十元街 -cron "40 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, timeout=650, wake-system=1, tag=十元街 +cron "40 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, timeout=3600, wake-system=1, tag=十元街 #领京豆额外奖励 -cron "30 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, timeout=750, wake-system=1, tag=领京豆额外奖励 +cron "30 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, timeout=3600, wake-system=1, tag=领京豆额外奖励 #京东汽车 -cron "0 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, timeout=750, wake-system=1, tag=京东汽车 +cron "0 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, timeout=3600, wake-system=1, tag=京东汽车 #京东汽车积分兑换京豆 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, timeout=2750, wake-system=1, tag=京东汽车积分兑换京豆 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, timeout=3600, wake-system=1, tag=京东汽车积分兑换京豆 #京东快递签到 -cron "20 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, timeout=750, wake-system=1, tag=京东快递签到 +cron "20 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, timeout=3600, wake-system=1, tag=京东快递签到 #京东直播(活动结束时间未知) -cron "20 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, timeout=750, wake-system=1, tag=京东直播 +cron "20 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, timeout=3600, wake-system=1, tag=京东直播 #京东赚赚 -cron "20 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, timeout=750, wake-system=1, tag=京东赚赚 +cron "20 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, timeout=3600, wake-system=1, tag=京东赚赚 #注销京东店铺会员卡 -cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, timeout=750, wake-system=1, tag=注销京东店铺会员卡 +cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, timeout=3600, wake-system=1, tag=注销京东店铺会员卡 #疯狂的joy日常任务 -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, timeout=1750, wake-system=1, tag=疯狂的joy日常任务 +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, timeout=3600, wake-system=1, tag=疯狂的joy日常任务 #签到领现金 -签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js +签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js #京东家庭号 -#京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js +#京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js #京东口袋书城 -口袋书店 = type=cron,cronexp="12 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js +口袋书店 = type=cron,cronexp="12 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js #京喜签到 -京喜签到 = type=cron,cronexp="5 8 * * *",wake-system=1,timeout=1220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js +京喜签到 = type=cron,cronexp="5 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js #以为为短期活动 #京东年货节 -京东年货节 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js +京东年货节 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js #以下为cookie配置 #获取多账号京东Cookie diff --git a/activity/jd_818.js b/activity/jd_818.js index b01f95ff..969f7c3c 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -27,7 +27,7 @@ [Script] cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js,tag=京东手机狂欢城 // Surge -京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js +京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js */ const $ = new Env('京东手机狂欢城'); diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js index b191435e..95446f9b 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -15,10 +15,10 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js,tag=苹果抽奖机 ===============Surge================= -苹果抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js +苹果抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js ============小火箭========= -苹果抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js, cronexpr="10 0 * * *", timeout=200, enable=true +苹果抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('苹果抽奖机'); diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index d2085fe9..fc097e6e 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -17,10 +17,10 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆 ===============Surge================= -数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js +数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js ============小火箭========= -数码加购京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js, cronexpr="10 7 * * *", timeout=200, enable=true +数码加购京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('数码加购京豆'); diff --git a/activity/jd_ds.js b/activity/jd_ds.js index 1520b720..c6354377 100644 --- a/activity/jd_ds.js +++ b/activity/jd_ds.js @@ -22,10 +22,10 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, tag=京东代属 ===============Surge================= -京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js +京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js ============小火箭========= -京东代属 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, cronexpr="10 7 * * *", timeout=200, enable=true +京东代属 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('京东代属'); diff --git a/activity/jd_health.js b/activity/jd_health.js index 307a6f95..6259c081 100644 --- a/activity/jd_health.js +++ b/activity/jd_health.js @@ -14,10 +14,10 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js,tag=健康抽奖机 ===============Surge================= -健康抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js +健康抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js ============小火箭========= -健康抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js, cronexpr="10 0 * * *", timeout=200, enable=true +健康抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('健康抽奖机'); diff --git a/activity/jd_jdh.js b/activity/jd_jdh.js index dcd4e9ca..28389705 100644 --- a/activity/jd_jdh.js +++ b/activity/jd_jdh.js @@ -13,10 +13,10 @@ cron "10 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js,tag=京东健康 ===============Surge================= -京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js +京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js ============小火箭========= -京东健康 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js, cronexpr="10 8 * * *", timeout=200, enable=true +京东健康 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js, cronexpr="10 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东健康'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js index 81ed3d0a..f762ffcf 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -16,10 +16,10 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js,tag=京喜故事 ===============Surge================= -京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js +京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js ============小火箭========= -京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=200, enable=true +京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=3600, enable=true */ diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js index bfd8b777..0ae4d67d 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -15,10 +15,10 @@ cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 ===============Surge================= -直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js +直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js ============小火箭========= -直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=200, enable=true +直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 = { diff --git a/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js index 7a07dbae..fb8986d9 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -15,10 +15,10 @@ cron "30 20-23/1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨 ===============Surge================= -超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js +超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js ============小火箭========= -超级直播间红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js, cronexpr="30 20-23/1 * * *", timeout=200, enable=true +超级直播间红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js, cronexpr="30 20-23/1 * * *", timeout=3600, enable=true */ const $ = new Env('超级直播间红包雨'); diff --git a/activity/jd_mohe.js b/activity/jd_mohe.js index 483ff4af..0684cbb3 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -13,7 +13,7 @@ [Script] cron "1 0,1-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js,tag=热8超级盲盒 // Surge -热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js +热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js */ const $ = new Env('热8超级盲盒'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/activity/jd_ms_redrain.js b/activity/jd_ms_redrain.js index e747cf88..14137979 100644 --- a/activity/jd_ms_redrain.js +++ b/activity/jd_ms_redrain.js @@ -15,10 +15,10 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 ===============Surge================= -秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js +秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js ============小火箭========= -秒杀红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=200, enable=true +秒杀红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('秒杀红包雨'); diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index 0166ff42..d9a92c95 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -15,10 +15,10 @@ PUBG ,运行时间会比较久,Surge请加大timeout时间 cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js,tag=PUBG ===============Surge================= -PUBG = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js +PUBG = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js ============小火箭========= -PUBG = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js, cronexpr="10 0 * * *", timeout=200, enable=true +PUBG = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('PUBG'); !function(n) { diff --git a/activity/jd_split.js b/activity/jd_split.js index 3acc43ca..4e3defa0 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -15,10 +15,10 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js,tag=年终奖 ===============Surge================= -金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js +金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js ============小火箭========= -金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js, cronexpr="10 0 * * *", timeout=200, enable=true +金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('金榜年终奖'); diff --git a/activity/jd_watch.js b/activity/jd_watch.js index fd265b44..829f1a33 100644 --- a/activity/jd_watch.js +++ b/activity/jd_watch.js @@ -18,10 +18,10 @@ cron "10 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js,tag=京东看一看 ===============Surge================= -京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js +京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js ============小火箭========= -京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js, cronexpr="10 9 * * *", timeout=900, enable=true +京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js, cronexpr="10 9 * * *", timeout=3600, enable=true */ const $ = new Env('京东看一看'); let acceptBody = [ diff --git a/activity/jd_xtg.js b/activity/jd_xtg.js index bedd4126..457d428d 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -22,7 +22,7 @@ [Script] cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js,tag=京东星推官 // Surge - 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=320,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js + 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js */ const $ = new Env('京东星推官'); const activeEndTime = '2020/11/11 23:59:59+08:00';//活动结束时间 diff --git a/activity/jr_sign.js b/activity/jr_sign.js index e94ecb12..a3ebde39 100644 --- a/activity/jr_sign.js +++ b/activity/jr_sign.js @@ -14,10 +14,10 @@ cron "10 6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 ===============Surge================= -金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js +金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js ============小火箭========= -金融打卡领年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, cronexpr="10 6 * * *", timeout=200, enable=true +金融打卡领年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, cronexpr="10 6 * * *", timeout=3600, enable=true */ const $ = new Env('金融打卡领年终奖'); diff --git a/backUp/jd_fruit_double.js b/backUp/jd_fruit_double.js index de3ff380..997582d2 100644 --- a/backUp/jd_fruit_double.js +++ b/backUp/jd_fruit_double.js @@ -10,7 +10,7 @@ jd免费水果 搬的https://github.com/liuxiaoyucc/jd-helper/blob/a6f275d978574 [Script] cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 // Surge -// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js 互助码shareCode请先手动运行脚本查看打印可看到 一天只能帮助4个人。多出的助力码无效 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save diff --git a/backUp/jd_plantBean_double.js b/backUp/jd_plantBean_double.js index 50675bbf..fa5890b0 100644 --- a/backUp/jd_plantBean_double.js +++ b/backUp/jd_plantBean_double.js @@ -12,7 +12,7 @@ [Script] cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 // Surge -// 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +// 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js 一天只能帮助3个人。多出的助力码无效 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save */ diff --git a/backUp/xmSports.js b/backUp/xmSports.js index b0b605e2..62c3299e 100644 --- a/backUp/xmSports.js +++ b/backUp/xmSports.js @@ -14,7 +14,7 @@ APP Store下载小米运动APP hostname = account.huami.com Surge [Script] -小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js 小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js 圈X [task_local] @@ -26,7 +26,7 @@ Surge Loon [Script] cron "15 17 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=10, tag=小米运动获取Token +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=3600, tag=小米运动获取Token */ const $ = new Env('小米运动'); diff --git a/backUp/xmly_speed_ccokie.js b/backUp/xmly_speed_ccokie.js index 6f8232d8..687ef3a7 100644 --- a/backUp/xmly_speed_ccokie.js +++ b/backUp/xmly_speed_ccokie.js @@ -8,7 +8,7 @@ 喜马拉雅极速版Cookie = type=http-request,pattern=https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmly_speed_ccokie.js Loon: http-request https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmly_speed_ccokie.js - , requires-body=true, timeout=10, tag=喜马拉雅极速版Cookie + , requires-body=true, timeout=3600, tag=喜马拉雅极速版Cookie QX: [rewrite_local] # 喜马拉雅极速版Cookie diff --git a/jd_bean_change.js b/jd_bean_change.js index 517a9995..1706ec1b 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -18,7 +18,7 @@ Loon [Script] cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 Surge -京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=440,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js +京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js */ const $ = new Env('京豆变动通知'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_bean_home.js b/jd_bean_home.js index 60747046..0dd13931 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -15,10 +15,10 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 ===============Surge================= -领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js +领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js ============小火箭========= -领京豆额外奖励 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, cronexpr="10 7 * * *", timeout=200, enable=true +领京豆额外奖励 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('领京豆额外奖励'); diff --git a/jd_blueCoin.js b/jd_blueCoin.js index d7fb7eb0..7875be9a 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -12,7 +12,7 @@ [Script] cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 ===================Surge================== -京小超兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js +京小超兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js */ const $ = new Env('京小超兑换奖品'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_bookshop.js b/jd_bookshop.js index 07373b2f..95115625 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -13,10 +13,10 @@ cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 ===============Surge================= -口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js +口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js ============小火箭========= -口袋书店 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, cronexpr="1 8,12,18* * *", timeout=200, enable=true +口袋书店 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, cronexpr="1 8,12,18* * *", timeout=3600, enable=true */ const $ = new Env('口袋书店'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_car.js b/jd_car.js index 7fe87b78..26c0b2df 100644 --- a/jd_car.js +++ b/jd_car.js @@ -15,10 +15,10 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车 ===============Surge================= -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js ============小火箭========= -京东汽车 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, cronexpr="10 7 * * *", timeout=200, enable=true +京东汽车 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('京东汽车'); diff --git a/jd_car_exchange.js b/jd_car_exchange.js index fb2f9521..00084709 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -20,10 +20,10 @@ cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 ===============Surge================= -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=2000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js ============小火箭========= -京东汽车兑换 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, cronexpr="0 0 * * *", timeout=2000, enable=true +京东汽车兑换 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, cronexpr="0 0 * * *", timeout=3600, enable=true */ const $ = new Env('京东汽车兑换'); diff --git a/jd_cash.js b/jd_cash.js index 43868747..6dc6cc34 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -14,10 +14,10 @@ cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js,tag=签到领现金 ===============Surge================= -签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js +签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js ============小火箭========= -签到领现金 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, cronexpr="2 0 * * *", timeout=200, enable=true +签到领现金 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, cronexpr="2 0 * * *", timeout=3600, enable=true */ const $ = new Env('签到领现金'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 258d6e97..7bbc9e3e 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -16,7 +16,7 @@ [Script] cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 //Surge - 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js + 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js * */ const $ = new Env('摇京豆'); diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index f007363f..091cd15f 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -16,10 +16,10 @@ crazyJoy任务 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 ===============Surge================= -crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js +crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js ============小火箭========= -crazyJoy任务 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, cronexpr="10 7 * * *", timeout=200, enable=true +crazyJoy任务 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 21dd8a59..c2af7a0b 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -15,10 +15,10 @@ crazy joy cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js,tag=crazyJoy挂机 ===============Surge================= -crazyJoy挂机 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js +crazyJoy挂机 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js ============小火箭========= -crazyJoy挂机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js, cronexpr="10 * * * *", timeout=200, enable=true +crazyJoy挂机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js, cronexpr="10 * * * *", timeout=3600, enable=true */ diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 074f577b..1d75b4a4 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -17,10 +17,10 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 ===============Surge================= -京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js +京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js ============小火箭========= -京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=200, enable=true +京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=3600, enable=true */ diff --git a/jd_family.js b/jd_family.js index 30f8a244..19276e88 100644 --- a/jd_family.js +++ b/jd_family.js @@ -20,10 +20,10 @@ cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 ===============Surge================= -京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js +京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js ============小火箭========= -京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, cronexpr="1 * * * *", timeout=2200, enable=true +京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, cronexpr="1 * * * *", timeout=3600, enable=true */ const $ = new Env('京东家庭号'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_firecrackers.js b/jd_firecrackers.js index c7478105..64cbd4a1 100644 --- a/jd_firecrackers.js +++ b/jd_firecrackers.js @@ -19,10 +19,10 @@ cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 ===============Surge================= -集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=2220,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js +集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js ============小火箭========= -集鞭炮赢京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, cronexpr="10 8,21 * * *", timeout=2200, enable=true +集鞭炮赢京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, cronexpr="10 8,21 * * *", timeout=3600, enable=true */ const $ = new Env('集鞭炮赢京豆'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_fruit.js b/jd_fruit.js index bd4da01b..e4d4ea82 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -15,10 +15,10 @@ cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 =========================Surge============================ -东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js +东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js =========================小火箭=========================== -东东农场 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, cronexpr="5 6-18/6 * * *", timeout=200, enable=true +东东农场 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, cronexpr="5 6-18/6 * * *", timeout=3600, enable=true jd免费水果 搬的https://github.com/liuxiaoyucc/jd-helper/blob/a6f275d9785748014fc6cca821e58427162e9336/fruit/fruit.js */ diff --git a/jd_get_share_code.js b/jd_get_share_code.js index b22e8314..e8c1d9bd 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -15,10 +15,10 @@ cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码 ===============Surge================= -获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js +获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js ============小火箭========= -获取互助码 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, cronexpr="20 13 * * 6", timeout=200, enable=true +获取互助码 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, cronexpr="20 13 * * 6", timeout=3600, enable=true */ const $ = new Env("获取互助码"); const JD_API_HOST = "https://api.m.jd.com/client.action"; diff --git a/jd_immortal.js b/jd_immortal.js index df04b39e..a06f9a50 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -19,10 +19,10 @@ boxjs IMMORTAL_LATLON cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 ===============Surge================= -京东神仙书院 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=2000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js +京东神仙书院 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js ============小火箭========= -京东神仙书院 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, cronexpr="0 8 * * *", timeout=2000, enable=true +京东神仙书院 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, cronexpr="0 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东神仙书院'); diff --git a/jd_jdfactory.js b/jd_jdfactory.js index c3de644d..9f795b3f 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -23,10 +23,10 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 ===============Surge================= -东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js +东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js ============小火箭========= -东东工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, cronexpr="10 * * * *", timeout=200, enable=true +东东工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, cronexpr="10 * * * *", timeout=3600, enable=true */ const $ = new Env('东东工厂'); diff --git a/jd_jdzz.js b/jd_jdzz.js index f86049f4..be2aaac9 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -15,10 +15,10 @@ cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 ===============Surge================= -京东赚赚 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js +京东赚赚 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js ============小火箭========= -京东赚赚 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, cronexpr="0 0 * * *", timeout=200, enable=true +京东赚赚 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, cronexpr="0 0 * * *", timeout=3600, enable=true */ const $ = new Env('京东赚赚'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_joy.js b/jd_joy.js index fb0ea781..0f7e7872 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -16,7 +16,7 @@ Combine from Zero-S1/JD_tools(https://github.com/Zero-S1/JD_tools) // [Script] // cron "15 */2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 // Surge -// 京东宠汪汪 = type=cron,cronexp="15 */2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js +// 京东宠汪汪 = type=cron,cronexp="15 */2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js const $ = new Env('宠汪汪'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index b0ff1063..5cc8cf4b 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -12,7 +12,7 @@ // [Script] // cron "15 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 // Surge -// 京东宠汪汪喂食 = type=cron,cronexp="15 */1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js +// 京东宠汪汪喂食 = type=cron,cronexp="15 */1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js const $ = new Env('宠汪汪🐕喂食'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_joy_help.js b/jd_joy_help.js index c595edaf..5389f7e5 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -23,7 +23,7 @@ hostname = draw.jdfcloud.com =====================Loon===================== [Script] -http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=10, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 你也可从下面链接拿好友的friendPin(复制链接到有京东ck的浏览器打开即可) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 5941c6f7..f2edb8a6 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -14,7 +14,7 @@ [Script] cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 // Surge -宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js +宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js */ const $ = new Env('宠汪汪积分兑换奖品'); let joyRewardName = 20;//是否兑换京豆,默认开启兑换功能,其中20为兑换20京豆,500为兑换500京豆,0为不兑换京豆.数量有限先到先得 diff --git a/jd_joy_run.js b/jd_joy_run.js index 39497677..351d9da8 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -14,7 +14,7 @@ hostname = draw.jdfcloud.com ===========Surge================= [Script] -宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js +宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js 宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js @@ -31,8 +31,8 @@ hostname = draw.jdfcloud.com =====================Loon===================== [Script] cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力更新Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=10, tag=宠汪汪助力获取Token +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力更新Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力获取Token **/ const isRequest = typeof $request != "undefined" const $ = new Env('宠汪汪赛跑'); diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 30f62be1..ee8c0a51 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -19,9 +19,9 @@ IOS用户支持京东双账号,NodeJs用户支持N个京东账号 [Script] cron "0 0-10/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 ========Surge========== -宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=2200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js =======小火箭===== -宠汪汪偷好友积分与狗粮 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, cronexpr="0 0-10/2 * * *", timeout=2200, enable=true +宠汪汪偷好友积分与狗粮 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, cronexpr="0 0-10/2 * * *", timeout=3600, enable=true */ const $ = new Env('宠汪汪偷好友积分与狗粮'); diff --git a/jd_jxnc.js b/jd_jxnc.js index 7f969220..31424165 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -19,16 +19,16 @@ hostname = wq.jd.com ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================Loon============================= [Script] -http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js, requires-body=false, timeout=10, tag=京喜农场cookie +http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js, requires-body=false, timeout=3600, tag=京喜农场cookie cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js,tag=京喜农场 =========================Surge============================ -京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=60,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js +京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js 京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path= https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================小火箭=========================== -京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=200, enable=true -京喜农场APP种子cookie = type=http-request,script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,max-size=131072,timeout=110,enable=true +京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=3600, enable=true +京喜农场APP种子cookie = type=http-request,script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,max-size=131072,timeout=3600,enable=true 特别说明: 脚本运行必须填写种子token,iOS用户使用代理可以直接获取;Android用户需要抓包获取种子token,手动做京喜农场任意任务即可获取种子token,推荐使用elecV2P(使用设置类似iOS用户的代理软件)或者HttpCanary,搜索关键字"farm_jstoken",token按照{"farm_jstoken":"xxx","timestamp":"xxx","phoneid":"xxx-xxx"}格式填写即可 diff --git a/jd_kd.js b/jd_kd.js index 23af25f6..c83983fb 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -16,10 +16,10 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到 ===============Surge================= -京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js +京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js ============小火箭========= -京东快递签到 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, cronexpr="10 0 * * *", timeout=200, enable=true +京东快递签到 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('京东快递签到'); diff --git a/jd_live.js b/jd_live.js index fdff8871..beb479df 100644 --- a/jd_live.js +++ b/jd_live.js @@ -14,10 +14,10 @@ cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js,tag=京东直播 ===============Surge================= -京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js +京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js ============小火箭========= -京东直播 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, cronexpr="10-20/5 12 * * *", timeout=200, enable=true +京东直播 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, cronexpr="10-20/5 12 * * *", timeout=3600, enable=true */ const $ = new Env('京东直播'); diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 3f31d6d9..3b7a40c8 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -12,7 +12,7 @@ // [Script] // cron "3 */2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 // Surge -//京东摇钱树 = type=cron,cronexp="3 */2 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js +//京东摇钱树 = type=cron,cronexp="3 */2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js const $ = new Env('京东摇钱树'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_necklace.js b/jd_necklace.js index b3b5607c..a1c07cd9 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -20,10 +20,10 @@ APP活动入口:“最新版本京东APP >领券中心/券后9.9>领点点券 cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js,tag=点点券 ===============Surge================= -点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js +点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js ============小火箭========= -点点券 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, cronexpr="10 0,20 * * *", timeout=200, enable=true +点点券 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, cronexpr="10 0,20 * * *", timeout=3600, enable=true */ const $ = new Env('点点券'); diff --git a/jd_nh.js b/jd_nh.js index 008c86bd..f0946c1a 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -20,10 +20,10 @@ cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js,tag=京东年货节 ===============Surge================= -京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js +京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js ============小火箭========= -京东年货节 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, cronexpr="1 7 * * *", timeout=200, enable=true +京东年货节 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, cronexpr="1 7 * * *", timeout=3600, enable=true */ const $ = new Env('京东年货节'); diff --git a/jd_nian.js b/jd_nian.js index f385b7c4..e102dd1f 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -16,10 +16,10 @@ cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 ===============Surge================= -京东炸年兽🧨 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽🧨 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js ============小火箭========= -京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 8 * * *", timeout=200, enable=true +京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽🧨'); diff --git a/jd_nianCollect.js b/jd_nianCollect.js index 24d60f62..07f79189 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -13,10 +13,10 @@ cron "20 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 ===============Surge================= -京东收🧨 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js +京东收🧨 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js ============小火箭========= -京东收🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, cronexpr="20 * * * *", timeout=200, enable=true +京东收🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, cronexpr="20 * * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽领爆竹🧨'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_nian_sign.js b/jd_nian_sign.js index 1fc63904..326d4247 100644 --- a/jd_nian_sign.js +++ b/jd_nian_sign.js @@ -16,10 +16,10 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 ===============Surge================= -京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js +京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js ============小火箭========= -京东炸年兽签到任务🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, cronexpr="30 8 * * *", timeout=200, enable=true +京东炸年兽签到任务🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, cronexpr="30 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽签到任务🧨'); diff --git a/jd_pet.js b/jd_pet.js index 2515613a..d523a9cb 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -17,10 +17,10 @@ cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 ===================================Surge================================ -东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js +东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js ====================================小火箭============================= -东东萌宠 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, cronexpr="15 6-18/6 * * *", timeout=200, enable=true +东东萌宠 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, cronexpr="15 6-18/6 * * *", timeout=3600, enable=true */ const $ = new Env('东东萌宠'); diff --git a/jd_petTreasureBox.js b/jd_petTreasureBox.js index 461e2059..2da061d5 100644 --- a/jd_petTreasureBox.js +++ b/jd_petTreasureBox.js @@ -18,7 +18,7 @@ hostname = jdjoy.jd.com,draw.jdfcloud.com =====================Loon===================== [Script] -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=10, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 */ let body = $response.body diff --git a/jd_plantBean.js b/jd_plantBean.js index 3bdaa923..3ae02c8f 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -15,10 +15,10 @@ cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 ======================================Surge========================== -京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=120,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js +京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js ====================================小火箭============================= -京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=200, enable=true +京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=3600, enable=true 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_plantBean.js */ diff --git a/jd_redPacket.js b/jd_redPacket.js index 32859284..452a842e 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -23,7 +23,7 @@ Loon [Script] cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 Surge -京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js +京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js */ const $ = new Env('京东全民开红包'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_shop.js b/jd_shop.js index c3af18c7..ca71751f 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -11,7 +11,7 @@ [Script] cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 //Surge - 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js + 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js * */ const $ = new Env('进店领豆'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_small_home.js b/jd_small_home.js index c8fda731..3c0f7afa 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -32,10 +32,10 @@ https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html cron "16 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 ===============Surge================= -东东小窝 = type=cron,cronexp="16 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js +东东小窝 = type=cron,cronexp="16 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js ============小火箭========= -东东小窝 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, cronexpr="16 0 * * *", timeout=200, enable=true +东东小窝 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, cronexpr="16 0 * * *", timeout=3600, enable=true */ const $ = new Env('东东小窝'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_speed.js b/jd_speed.js index f6b8e26c..ae4f406c 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -15,7 +15,7 @@ // [Script] // cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 // Surge -//天天加速 = type=cron,cronexp="8 */3 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js +//天天加速 = type=cron,cronexp="8 */3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js const $ = new Env('✈️天天加速'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_syj.js b/jd_syj.js index a1fc1bb4..86ab7e00 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -20,10 +20,10 @@ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街 ===============Surge================= -十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js +十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js ============小火箭========= -十元街 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, cronexpr="10 7 * * *", timeout=200, enable=true +十元街 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('十元街'); diff --git a/jd_unbind.js b/jd_unbind.js index 75a88cd0..f08436da 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -11,9 +11,9 @@ [Script] cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 ========Surge========== -注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=620,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js +注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js =======小火箭===== -注销京东会员卡 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, cronexpr="10 23 * * *", timeout=200, enable=true +注销京东会员卡 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, cronexpr="10 23 * * *", timeout=3600, enable=true */ const $ = new Env('注销京东会员卡'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 6ef457d8..003f8885 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -14,7 +14,7 @@ [Script] cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 // Surge -取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js +取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js */ const $ = new Env('取关京东店铺和商品'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jx_sign.js b/jx_sign.js index b5c17550..46216570 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -12,10 +12,10 @@ cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js,tag=京喜签到 ===============Surge================= -京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js +京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js ============小火箭========= -京喜签到 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, cronexpr="5 0 * * *", timeout=200, enable=true +京喜签到 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, cronexpr="5 0 * * *", timeout=3600, enable=true */ const $ = new Env('京喜签到'); const notify = $.isNode() ? require('./sendNotify') : ''; From e292393ddba32a5006501cbbb0941ff7e202de61 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 11:40:54 +0800 Subject: [PATCH 0925/1259] fix --- JD_extra_cookie.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index fa93fc4e..b2c119e8 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -28,7 +28,7 @@ http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion tag=获 ===================Quantumult X===================== [rewrite_local] -https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js +https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js */ @@ -111,6 +111,6 @@ function GetCookie() { // prettier-ignore function ENV(){const isQX=typeof $task!=="undefined";const isLoon=typeof $loon!=="undefined";const isSurge=typeof $httpClient!=="undefined"&&!isLoon;const isJSBox=typeof require=="function"&&typeof $jsbox!="undefined";const isNode=typeof require=="function"&&!isJSBox;const isRequest=typeof $request!=="undefined";const isScriptable=typeof importModule!=="undefined";return{isQX,isLoon,isSurge,isNode,isJSBox,isRequest,isScriptable}} // prettier-ignore -function HTTP(baseURL,defaultOptions={}){const{isQX,isLoon,isSurge,isScriptable,isNode}=ENV();const methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"];function send(method,options){options=typeof options==="string"?{url:options}:options;options.url=baseURL?baseURL+options.url:options.url;options={...defaultOptions,...options};const timeout=3600options.timeout;const events={...{onRequest:()=>{},onResponse:(resp)=>resp,onTimeout:()=>{},},...options.events,};events.onRequest(method,options);let worker;if(isQX){worker=$task.fetch({method,...options})}else if(isLoon||isSurge||isNode){worker=new Promise((resolve,reject)=>{const request=isNode?require("request"):$httpClient;request[method.toLowerCase()](options,(err,response,body)=>{if(err)reject(err);else resolve({statusCode:response.status||response.statusCode,headers:response.headers,body,})})})}else if(isScriptable){const request=new Request(options.url);request.method=method;request.headers=options.headers;request.body=options.body;worker=new Promise((resolve,reject)=>{request.loadString().then((body)=>{resolve({statusCode:request.response.statusCode,headers:request.response.headers,body,})}).catch((err)=>reject(err))})}let timeoutid;const timer=timeout?new Promise((_,reject)=>{timeoutid=setTimeout(()=>{events.onTimeout();return reject(`${method}URL:${options.url}exceeds the timeout ${timeout}ms`)},timeout)}):null;return(timer?Promise.race([timer,worker]).then((res)=>{clearTimeout(timeoutid);return res}):worker).then((resp)=>events.onResponse(resp))}const http={};methods.forEach((method)=>(http[method.toLowerCase()]=(options)=>send(method,options)));return http} +function HTTP(baseURL,defaultOptions={}){const{isQX,isLoon,isSurge,isScriptable,isNode}=ENV();const methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"];function send(method,options){options=typeof options==="string"?{url:options}:options;options.url=baseURL?baseURL+options.url:options.url;options={...defaultOptions,...options};const timeout=options.timeout;const events={...{onRequest:()=>{},onResponse:(resp)=>resp,onTimeout:()=>{},},...options.events,};events.onRequest(method,options);let worker;if(isQX){worker=$task.fetch({method,...options})}else if(isLoon||isSurge||isNode){worker=new Promise((resolve,reject)=>{const request=isNode?require("request"):$httpClient;request[method.toLowerCase()](options,(err,response,body)=>{if(err)reject(err);else resolve({statusCode:response.status||response.statusCode,headers:response.headers,body,})})})}else if(isScriptable){const request=new Request(options.url);request.method=method;request.headers=options.headers;request.body=options.body;worker=new Promise((resolve,reject)=>{request.loadString().then((body)=>{resolve({statusCode:request.response.statusCode,headers:request.response.headers,body,})}).catch((err)=>reject(err))})}let timeoutid;const timer=timeout?new Promise((_,reject)=>{timeoutid=setTimeout(()=>{events.onTimeout();return reject(`${method}URL:${options.url}exceeds the timeout ${timeout}ms`)},timeout)}):null;return(timer?Promise.race([timer,worker]).then((res)=>{clearTimeout(timeoutid);return res}):worker).then((resp)=>events.onResponse(resp))}const http={};methods.forEach((method)=>(http[method.toLowerCase()]=(options)=>send(method,options)));return http} // prettier-ignore function API(name="untitled",debug=false){const{isQX,isLoon,isSurge,isNode,isJSBox,isScriptable}=ENV();return new(class{constructor(name,debug){this.name=name;this.debug=debug;this.http=HTTP();this.env=ENV();this.node=(()=>{if(isNode){const fs=require("fs");return{fs}}else{return null}})();this.initCache();const delay=(t,v)=>new Promise(function(resolve){setTimeout(resolve.bind(null,v),t)});Promise.prototype.delay=function(t){return this.then(function(v){return delay(t,v)})}}initCache(){if(isQX)this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}");if(isLoon||isSurge)this.cache=JSON.parse($persistentStore.read(this.name)||"{}");if(isNode){let fpath="root.json";if(!this.node.fs.existsSync(fpath)){this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"wx"},(err)=>console.log(err))}this.root={};fpath=`${this.name}.json`;if(!this.node.fs.existsSync(fpath)){this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"wx"},(err)=>console.log(err));this.cache={}}else{this.cache=JSON.parse(this.node.fs.readFileSync(`${this.name}.json`))}}}persistCache(){const data=JSON.stringify(this.cache);if(isQX)$prefs.setValueForKey(data,this.name);if(isLoon||isSurge)$persistentStore.write(data,this.name);if(isNode){this.node.fs.writeFileSync(`${this.name}.json`,data,{flag:"w"},(err)=>console.log(err));this.node.fs.writeFileSync("root.json",JSON.stringify(this.root),{flag:"w"},(err)=>console.log(err))}}write(data,key){this.log(`SET ${key}`);if(key.indexOf("#")!==-1){key=key.substr(1);if(isSurge||isLoon){return $persistentStore.write(data,key)}if(isQX){return $prefs.setValueForKey(data,key)}if(isNode){this.root[key]=data}}else{this.cache[key]=data}this.persistCache()}read(key){this.log(`READ ${key}`);if(key.indexOf("#")!==-1){key=key.substr(1);if(isSurge||isLoon){return $persistentStore.read(key)}if(isQX){return $prefs.valueForKey(key)}if(isNode){return this.root[key]}}else{return this.cache[key]}}delete(key){this.log(`DELETE ${key}`);if(key.indexOf("#")!==-1){key=key.substr(1);if(isSurge||isLoon){$persistentStore.write(null,key)}if(isQX){$prefs.removeValueForKey(key)}if(isNode){delete this.root[key]}}else{delete this.cache[key]}this.persistCache()}notify(title,subtitle="",content="",options={}){const openURL=options["open-url"];const mediaURL=options["media-url"];if(isQX)$notify(title,subtitle,content,options);if(isSurge){$notification.post(title,subtitle,content+`${mediaURL?"\n多媒体:"+mediaURL:""}`,{url:openURL})}if(isLoon){let opts={};if(openURL)opts["openUrl"]=openURL;if(mediaURL)opts["mediaUrl"]=mediaURL;if(JSON.stringify(opts)=="{}"){$notification.post(title,subtitle,content)}else{$notification.post(title,subtitle,content,opts)}}if(isNode||isScriptable){const content_=content+(openURL?`\n点击跳转:${openURL}`:"")+(mediaURL?`\n多媒体:${mediaURL}`:"");if(isJSBox){const push=require("push");push.schedule({title:title,body:(subtitle?subtitle+"\n":"")+content_,})}else{console.log(`${title}\n${subtitle}\n${content_}\n\n`)}}}log(msg){if(this.debug)console.log(msg)}info(msg){console.log(msg)}error(msg){console.log("ERROR: "+msg)}wait(millisec){return new Promise((resolve)=>setTimeout(resolve,millisec))}done(value={}){if(isQX||isLoon||isSurge){$done(value)}else if(isNode&&!isJSBox){if(typeof $context!=="undefined"){$context.headers=value.headers;$context.statusCode=value.statusCode;$context.body=value.body}}}})(name,debug)} From 408181bf2f8962d1b2a6f87942f36c01ae1fb6ea Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 11:53:53 +0800 Subject: [PATCH 0926/1259] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0i?= =?UTF-8?q?OS=E4=B8=89=E5=A4=A7=E8=BD=AF=E4=BB=B6task=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_task.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 update_task.sh diff --git a/update_task.sh b/update_task.sh new file mode 100644 index 00000000..c5283fad --- /dev/null +++ b/update_task.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +## Author: https://github.com/EvineDeng +## Modified: 2021-01-21 +## Version: v1.0.0 + +## 路径与清单 +WorkDir=$(cd $(dirname $0); pwd) +JsList=$(cd $WorkDir; ls *.js | grep -E "j[drx]_") +JsList="$JsList backUp/xmSports.js" +FileLoon=$WorkDir/Loon/lxk0301_LoonTask.conf +FileQx=$WorkDir/QuantumultX/lxk0301_gallery.json +FileQxRe=$WorkDir/QuantumultX/lxk0301_cookies.conf +FileSurge=$WorkDir/Surge/lxk0301_Task.sgmodule.sgmodule + +## task清单顶部内容 +CommentsLoon="# Loon软件Task配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf\n# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf)\n\nhostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" +CommentsQx='{\n "name": "LXK9301 task gallery",\n "description": "https://github.com/LXK9301/jd_scripts",\n "task": [' +CommentsQxRe="hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" +CommentsSurge="#!name=LXK9301 iOS Tasks Module\n#!desc=iOS Tasks 模块配置\n\n# Task模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]\n" + +## 执行写入 +cd $WorkDir +echo -e $CommentsLoon > $FileLoon +echo -e $CommentsQx > $FileQx +echo -e $CommentsQxRe > $FileQxRe +echo -e $CommentsSurge > $FileSurge +for file in $JsList +do + TaskName=$(grep "new Env" $file | awk -F "'|\"" '{print $2}') + if [[ -n $TaskName ]]; then + echo -e "\n# $TaskName" >> $FileLoon + grep -E "cron.+script-path.+https://raw\.githubusercontent\.com.+tag" $file >> $FileLoon + grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe '{s|^| \"|; s|$|\",|}' >> $FileQx + grep -E "type.+cronexp.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge + fi + grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|">> $FileLoon + grep -E "script-(request|response)-.+https://raw\.githubusercontent\.com" $file | perl -pe "s|(.+)|\n# \n\1|" >> $FileQxRe + grep -E "type=http-(request|response).+pattern.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge +done +echo -e " ]\n}" >> $FileQx +perl -0777 -i -pe "s|,(\n \])|\1|" $FileQx + From 3dfe6011500144a141bf583c10a6a6680f9726e8 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Thu, 21 Jan 2021 12:22:26 +0800 Subject: [PATCH 0927/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E4=BF=AE=E5=A4=8D=20iOS=20token=20=E9=94=99=E8=AF=AF=20&?= =?UTF-8?q?=20=E9=99=90=E5=88=B6=E9=9A=8F=E6=9C=BA=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E6=9C=80=E5=A4=A7=E4=B8=8A=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 31424165..0034ac55 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -57,10 +57,8 @@ $.allTask = []; // 任务列表 $.info = {}; // 用户信息 $.answer = 3; $.drip = 0; -$.maxHelpNum = $.isNode() ? 8 : 3; // 助力 ret 1011 错误最大计数 -$.helpNum = 0; // 当前账号 助力 ret 1011 次数 -$.maxHelpSelfNum = 3; // 助力 自身 ret 1021 cannot help self 最大次数限制(防止随机API不停返回自身 code 导致死循环) -$.helpSelfNum = 0; // 当前账号 助力 ret 1021 cannot help self 次数 +$.maxHelpNum = $.isNode() ? 8 : 4; // 随机助力最大执行次数 +$.helpNum = 0; // 当前账号 随机助力次数 let assistUserShareCode = 0; // 随机助力用户 share code !(async () => { @@ -92,7 +90,6 @@ let assistUserShareCode = 0; // 随机助力用户 share code option = {}; $.answer = 3; $.helpNum = 0; - $.helpSelfNum = 0; notifyBool = notifyLevel > 0; // 初始化是否推送 await tokenFormat(); // 处理当前账号 token await shareCodesFormat(); // 处理当前账号 助力码 @@ -137,7 +134,7 @@ function requireConfig() { tokenArr.push(jdTokenNode[item] ? JSON.parse(jdTokenNode[item]) : tokenNull) }) } else { - tokenArr.push(...[$.getdata('jxnc_token1') || tokenNull, $.getdata('jxnc_token2') || tokenNull]); + tokenArr.push(...[JSON.parse($.getdata('jxnc_token1')) || tokenNull, JSON.parse($.getdata('jxnc_token2')) || tokenNull]) } if ($.isNode()) { @@ -247,7 +244,8 @@ async function jdJXNC() { await $.wait(500); let next = await helpFriends(); if (next) { - while (true) { + while ($.helpNum < $.maxHelpNum) { + $.helpNum++; assistUserShareCode = await getAssistUser(); if (assistUserShareCode) { await $.wait(300); @@ -496,21 +494,12 @@ function helpShareCode(code) { const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; const {ret, retmsg = ''} = JSON.parse(res); $.log(`助力结果:ret=${ret} retmsg="${retmsg ? retmsg : 'OK'}"`); - if (ret === 0) { // 0 助力成功 + // ret=0 助力成功 + // ret=1021 cannot help self 不能助力自己 + // ret=1011 active 不同 + if (ret === 0 || ret === 1021 || ret === 1011) { // 0 助力成功 resolve(true); } - if (ret === 1021) { // 1021 cannot help self 不能助力自己 - $.helpSelfNum++; - if ($.helpSelfNum <= $.maxHelpSelfNum) { - resolve(true); - } - } - if (ret === 1011) { // 1011 active 不同 - $.helpNum++; - if ($.helpNum <= $.maxHelpNum) { - resolve(true); - } - } // ret 1016 助力上限 } catch (e) { $.logErr(e, resp); From dc22034800c34e9d3be7dcd7eba01c1776a37d69 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 13:58:50 +0800 Subject: [PATCH 0928/1259] update --- QuantumultX/lxk0301_gallery.json | 2 +- docker/crontab_list.sh | 2 ++ jd_bean_change.js | 10 +++++--- jd_bean_sign.js | 8 +++--- jd_blueCoin.js | 7 ++++- jd_bookshop.js | 2 +- jd_cash.js | 2 +- jd_club_lottery.js | 44 ++++++++++++++++++-------------- jd_crazy_joy.js | 2 +- jd_crazy_joy_coin.js | 20 ++------------- jd_daily_egg.js | 19 ++++++++++++-- jd_dreamFactory.js | 2 +- jd_family.js | 2 +- jd_firecrackers.js | 2 +- jd_immortal.js | 2 +- jd_jdfactory.js | 4 +-- jd_joy.js | 25 +++++++++++------- jd_joy_feedPets.js | 29 +++++++++++++-------- jd_joy_reward.js | 11 +++++--- jd_joy_steal.js | 3 +++ jd_live.js | 2 +- jd_moneyTree.js | 24 ++++++++++------- jd_necklace.js | 2 +- jd_nh.js | 2 +- jd_nian.js | 2 +- jd_nianCollect.js | 2 +- jd_nian_sign.js | 2 +- jd_pigPet.js | 17 +++++++++++- jd_redPacket.js | 7 ++--- jd_shop.js | 31 +++++++++++----------- jd_small_home.js | 2 +- jd_speed.js | 24 ++++++++++------- jd_unbind.js | 2 +- jd_unsubscribe.js | 12 +++++---- jx_sign.js | 2 +- 35 files changed, 199 insertions(+), 132 deletions(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index c4cb5ada..70a2a3b6 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -30,7 +30,7 @@ "10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", "14 11 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", "44 12 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", - "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", + "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png", "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 31f1e941..d97336cc 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -10,6 +10,8 @@ 0 * * * * node /scripts/jd_nian.js >> /scripts/logs/jd_nian.log 2>&1 #专门收集每秒产生的爆竹(1小时运行一次) 30 * * * * node /scripts/jd_nianCollect.js >> /scripts/logs/jd_nianCollect.log 2>&1 +#京东炸年兽签到任务🧨 +50 0,1 * * * node /scripts/jd_nian_sign.js >> /scripts/logs/jd_nian_sign.log 2>&1 #京东神仙书院(活动时间:2021-1-20至2021-2-5) 30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 ##############长期活动############## diff --git a/jd_bean_change.js b/jd_bean_change.js index 1706ec1b..6df682c8 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -10,15 +10,19 @@ 网页查看地址 : https://bean.m.jd.com/bean/signIndex.actionbeanDetail/index.action?resourceValue=bean 支持京东双账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -quantumultx +============QuantumultX============== [task_local] #京豆变动通知 2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, enabled=true -Loon +================Loon=============== [Script] cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 -Surge +=============Surge=========== +[Script] 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js + +============小火箭========= +京豆变动通知 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, cronexpr="2 9 * * *", timeout=3600, enable=true */ const $ = new Env('京豆变动通知'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_bean_sign.js b/jd_bean_sign.js index d75d1448..4a061fd8 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -2,13 +2,11 @@ * @Author: LXK9301 https://github.com/LXK9301 */ /* -京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js +京豆签到,自用,可N个京东账号 Node.JS专用 +IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js 更新时间:2021-1-19 -从 github @ruicky改写而来 -version v0.0.1 -create by ruicky -detail url: https://github.com/ruicky/jd_sign_bot +Modified From github https://github.com/ruicky/jd_sign_bot */ const $ = new Env('京豆签到'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 7875be9a..795fd8ca 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -4,15 +4,20 @@ 更新时间:2020-12-24 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -======================quantumultx=============== +============QuantumultX============== [task_local] #京小超兑换奖品 0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=京小超兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true + ====================Loon================= [Script] cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 + ===================Surge================== 京小超兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js + +============小火箭========= +京小超兑换奖品 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, cronexpr="0 0 0 * * *", timeout=3600, enable=true */ const $ = new Env('京小超兑换奖品'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_bookshop.js b/jd_bookshop.js index 95115625..d34fe643 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -6,7 +6,7 @@ ============Quantumultx=============== [task_local] #口袋书店 -1 8,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, enabled=true +1 8,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_cash.js b/jd_cash.js index 6dc6cc34..b10cce39 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -7,7 +7,7 @@ ============Quantumultx=============== [task_local] #签到领现金 -2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, enabled=true +2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 7bbc9e3e..71cf3d50 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -1,23 +1,29 @@ /* - * @Author: LXK9301 - * @Date: 2020-11-03 20:35:07 - * @Last Modified by: LXK9301 - * @Last Modified time: 2020-11-23 12:27:09 - 摇京豆(京东APP首页-领京豆-摇京豆) - 更新时间:2020-10-12 - Modified from https://github.com/Zero-S1/JD_tools/blob/master/JD_vvipclub.py - 已支持IOS双京东账号,Node.js支持N个京东账号 - 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js - // QuantumultX - [task_local] - #摇京豆 - 5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true - //Loon - [Script] - cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 - //Surge - 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js - * */ +* @Author: LXK9301 +* @Date: 2020-11-03 20:35:07 +* @Last Modified by: LXK9301 +* @Last Modified time: 2020-11-23 12:27:09 +*/ +/* +摇京豆(京东APP首页-领京豆-摇京豆) +更新时间:2020-10-12 +Modified from https://github.com/Zero-S1/JD_tools/blob/master/JD_vvipclub.py +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============QuantumultX============== +[task_local] +#摇京豆 +5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true +=================Loon=============== +[Script] +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 +=================Surge============== +[Script] +摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js + +============小火箭========= +摇京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, cronexpr="5 0 * * *", timeout=3600, enable=true +*/ const $ = new Env('摇京豆'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 091cd15f..2169ebc3 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -9,7 +9,7 @@ crazyJoy任务 ============Quantumultx=============== [task_local] #crazyJoy任务 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, enabled=true +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true ================Loon============== [Script] diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index c2af7a0b..8720d218 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -1,24 +1,8 @@ /* crazy joy 挂机领金币/宝箱专用 - - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#crazyJoy挂机 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js, tag=crazyJoy挂机, enabled=true - -================Loon============== -[Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js,tag=crazyJoy挂机 - -===============Surge================= -crazyJoy挂机 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js - -============小火箭========= -crazyJoy挂机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js, cronexpr="10 * * * *", timeout=3600, enable=true +⚠️建议云端使用。手机端不建议使用(会一直跑下去,永不停止) +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js */ diff --git a/jd_daily_egg.js b/jd_daily_egg.js index cd98b1f6..f4000c6d 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -5,11 +5,26 @@ * @Last Modified time: 2020-11-20 14:11:01 */ /* +TODO 京东金融-天天提鹅 定时收鹅蛋,兑换金币 -先这样子吧 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#天天提鹅 +10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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/LXK9301/jd_scripts/master/jd_daily_egg.js,tag=天天提鹅 + +===============Surge================= +天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js + +============小火箭========= +天天提鹅 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js, cronexpr="10 * * * *", timeout=3600, enable=true */ -//0 */3 * * * const $ = new Env('天天提鹅'); let cookiesArr = [], cookie = ''; const JD_API_HOST = 'https://ms.jr.jd.com/gw/generic/uc/h5/m'; diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 1d75b4a4..e8692844 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -10,7 +10,7 @@ ============Quantumultx=============== [task_local] #京喜工厂 -10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, enabled=true +10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true ================Loon============== [Script] diff --git a/jd_family.js b/jd_family.js index 19276e88..5159f922 100644 --- a/jd_family.js +++ b/jd_family.js @@ -13,7 +13,7 @@ ============Quantumultx=============== [task_local] #京东家庭号 -1 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, tag=京东家庭号, enabled=true +1 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, tag=京东家庭号, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_family.png, enabled=true ================Loon============== [Script] diff --git a/jd_firecrackers.js b/jd_firecrackers.js index 64cbd4a1..d5a67b79 100644 --- a/jd_firecrackers.js +++ b/jd_firecrackers.js @@ -12,7 +12,7 @@ ============Quantumultx=============== [task_local] #集鞭炮赢京豆 -10 8,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, enabled=true +10 8,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_immortal.js b/jd_immortal.js index a06f9a50..6ce7f75b 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -12,7 +12,7 @@ boxjs IMMORTAL_LATLON ============Quantumultx=============== [task_local] #京东神仙书院 -0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, enabled=true +0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 9f795b3f..d13417a4 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -15,8 +15,8 @@ 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== [task_local] -#京东工厂 -10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, enabled=true +#东东工厂 +10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true ================Loon============== [Script] diff --git a/jd_joy.js b/jd_joy.js index 0f7e7872..785a759b 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -7,16 +7,23 @@ IOS用户支持京东双账号,NodeJs用户支持N个京东账号 feedCount:自定义 每次喂养数量; 等级只和喂养次数有关,与数量无关 推荐每次投喂10个,积累狗粮,然后去玩聚宝盆赌 Combine from Zero-S1/JD_tools(https://github.com/Zero-S1/JD_tools) +==========Quantumult X========== +[task_local] +#京东宠汪汪 +15 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true + +============Loon=========== +[Script] +cron "15 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 + +============Surge========== +[Script] +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js + +===============小火箭========== +京东宠汪汪 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, cronexpr="15 0-23/2 * * *", timeout=3600, enable=true */ -// quantumultx -// [task_local] -// #京东宠汪汪 -// 15 */2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true -// Loon -// [Script] -// cron "15 */2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 -// Surge -// 京东宠汪汪 = type=cron,cronexp="15 */2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js + const $ = new Env('宠汪汪'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index 5cc8cf4b..91dc1d4a 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -1,18 +1,25 @@ -/***** +/* 宠汪汪喂食(如果喂食80g失败,降级一个档次喂食(40g),依次类推),三餐,建议一小时运行一次 更新时间:2020-11-03 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -****/ -// quantumultx -// [task_local] -// #京东宠汪汪喂食 -// 15 */1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true -// Loon -// [Script] -// cron "15 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 -// Surge -// 京东宠汪汪喂食 = type=cron,cronexp="15 */1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js +==============Quantumult X============== +[task_local] +#京东宠汪汪喂食 +15 0-23/1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true + +==============Loon=============== +[Script] +cron "15 0-23/1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 + +=========Surge============= +[Script] +京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js + +===============小火箭========== +京东宠汪汪喂食 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, cronexpr="15 0-23/1 * * *", timeout=3600, enable=true +*/ + const $ = new Env('宠汪汪🐕喂食'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_joy_reward.js b/jd_joy_reward.js index f2edb8a6..1644159a 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -6,15 +6,20 @@ 每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 支持京东双账号 脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js -// Quantumult X +==============Quantumult X============== [task_local] #宠汪汪积分兑换奖品 0 0-16/8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true -// Loon + +==============Loon============== [Script] cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 -// Surge + +================Surge=============== 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js + +===============小火箭========== +宠汪汪积分兑换奖品 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, cronexpr="0 0-16/8 * * *", timeout=3600, enable=true */ const $ = new Env('宠汪汪积分兑换奖品'); let joyRewardName = 20;//是否兑换京豆,默认开启兑换功能,其中20为兑换20京豆,500为兑换500京豆,0为不兑换京豆.数量有限先到先得 diff --git a/jd_joy_steal.js b/jd_joy_steal.js index ee8c0a51..6da84e92 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -15,11 +15,14 @@ IOS用户支持京东双账号,NodeJs用户支持N个京东账号 [task_local] #宠汪汪偷好友积分与狗粮 0 0-10/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true + =======Loon======== [Script] cron "0 0-10/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 + ========Surge========== 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js + =======小火箭===== 宠汪汪偷好友积分与狗粮 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, cronexpr="0 0-10/2 * * *", timeout=3600, enable=true */ diff --git a/jd_live.js b/jd_live.js index beb479df..a34e0d9b 100644 --- a/jd_live.js +++ b/jd_live.js @@ -7,7 +7,7 @@ ============Quantumultx=============== [task_local] #京东直播 -10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, enabled=true +10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 3b7a40c8..fe978e7b 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -3,16 +3,22 @@ 更新时间:2020-11-16 京东摇钱树支持京东双账号 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save +===============Quantumultx=============== +[task_local] +#京东摇钱树 +3 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true + +==============Loon=========== +[Script] +cron "3 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 + +===============Surge=========== +京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js + +============小火箭========= +京东摇钱树 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, cronexpr="3 0-23/2 * * *", timeout=3600, enable=true */ -// quantumultx -// [task_local] -// #京东摇钱树 -// 3 */2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true -// Loon -// [Script] -// cron "3 */2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 -// Surge -//京东摇钱树 = type=cron,cronexp="3 */2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js + const $ = new Env('京东摇钱树'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_necklace.js b/jd_necklace.js index a1c07cd9..31510529 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -13,7 +13,7 @@ APP活动入口:“最新版本京东APP >领券中心/券后9.9>领点点券 ===============Quantumultx=============== [task_local] #点点券 -10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, enabled=true +10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_nh.js b/jd_nh.js index f0946c1a..60bd997f 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -13,7 +13,7 @@ ============Quantumultx=============== [task_local] #京东年货节 -1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, enabled=true +1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_nian.js b/jd_nian.js index e102dd1f..5479f0eb 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -9,7 +9,7 @@ ============Quantumultx=============== [task_local] #京东炸年兽🧨 -0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, enabled=true +0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] diff --git a/jd_nianCollect.js b/jd_nianCollect.js index 07f79189..0b5b17e0 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -6,7 +6,7 @@ ============Quantumultx=============== [task_local] #京东炸年兽🧨 -20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, enabled=true +20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true ================Loon============== [Script] diff --git a/jd_nian_sign.js b/jd_nian_sign.js index 326d4247..37633930 100644 --- a/jd_nian_sign.js +++ b/jd_nian_sign.js @@ -9,7 +9,7 @@ ============Quantumultx=============== [task_local] #京东炸年兽签到任务🧨 -30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, enabled=true +30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] diff --git a/jd_pigPet.js b/jd_pigPet.js index 459f9d55..7c7ab558 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -11,7 +11,22 @@ 喂食 每日签到 完成分享任务得猪粮 -12 * * * * +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +===============Quantumultx=============== +[task_local] +#京东金融养猪猪 +12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true + +================Loon============== +[Script] +cron "12 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪 + +===============Surge================= +京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js + +============小火箭========= +京东金融养猪猪 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, cronexpr="12 * * * *", timeout=3600, enable=true */ const $ = new Env('金融养猪'); diff --git a/jd_redPacket.js b/jd_redPacket.js index 452a842e..0b67b540 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -15,14 +15,15 @@ 支持京东双账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -QuantumultX +================QuantumultX================== [task_local] #京东全民开红包 1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true -Loon +===================Loon============== [Script] cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 -Surge +===============Surge=============== +[Script] 京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js */ const $ = new Env('京东全民开红包'); diff --git a/jd_shop.js b/jd_shop.js index ca71751f..d77cf14e 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -1,18 +1,19 @@ -/** - 进店领豆(京东APP首页-领京豆-进店领豆),每天可拿四京豆 - 更新时间:2020-11-03 - 已支持IOS双京东账号,Node.js支持N个京东账号 - 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js - // quantumultx - [task_local] - #进店领豆 - 10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true - //Loon - [Script] - cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 - //Surge - 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js -* */ +/* +进店领豆(京东APP首页-领京豆-进店领豆),每天可拿四京豆 +更新时间:2020-11-03 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +===============Quantumultx=============== +[task_local] +#进店领豆 +10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true +================Loon============ +[Script] +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 +==============Surge=============== +[Script] +进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js +*/ const $ = new Env('进店领豆'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_small_home.js b/jd_small_home.js index 3c0f7afa..9811fe71 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -25,7 +25,7 @@ https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html ===============Quantumultx=============== [task_local] #东东小窝 -16 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png enabled=true +16 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true ================Loon============== [Script] diff --git a/jd_speed.js b/jd_speed.js index ae4f406c..1da835f2 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -6,16 +6,22 @@ 每天4京豆,再小的苍蝇也是肉 从 https://github.com/Zero-S1/JD_tools/blob/master/JD_speed.py 改写来的 建议3小时运行一次,打卡时间间隔是6小时 +=================QuantumultX============== +[task_local] +#天天加速 +8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true + +============Loon================ +[Script] +cron "8 0-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 + +===========Surge============ +天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js + +==============小火箭============= +天天加速 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, cronexpr="11 0-23/3 * * *", timeout=3600, enable=true */ -// quantumultx -// [task_local] -// #天天加速 -// 8 */3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true -// Loon -// [Script] -// cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 -// Surge -//天天加速 = type=cron,cronexp="8 */3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js + const $ = new Env('✈️天天加速'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_unbind.js b/jd_unbind.js index f08436da..15b3152d 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -6,7 +6,7 @@ ==========Quantumult X========== [task_local] #注销京东会员卡 -55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, enabled=true +55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true =======Loon======== [Script] cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index 003f8885..f7031f1b 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -5,16 +5,18 @@ 默认每运行一次脚本取消关注10个商品,10个店铺。可结合boxjs自定义取消多少个(目前测试通过最大数量是一次性取消300个商品无异常,大于300请自行测试,建议尽量不要一次性全部取消以免出现问题)。 建议此脚本运行时间在 种豆得豆和宠汪汪脚本运行之后 再执行 现有功能: 1、取关商品。2、取关店铺。3、匹配到boxjs输入的过滤关键词后,不再进行此商品/店铺后面(包含输入的关键词商品/店铺)的取关。4、支持京东双账号 -脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js -// Quantumult X +脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js, 小火箭 +==============Quantumult X=========== [task_local] #取关京东店铺商品 -55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, enabled=true -// Loon +55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +===========Loon============ [Script] cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 -// Surge +============Surge============= 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js +===========小火箭======== +取关京东店铺商品 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, cronexpr="55 23 * * *", timeout=3600, enable=true */ const $ = new Env('取关京东店铺和商品'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jx_sign.js b/jx_sign.js index 46216570..80062443 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -5,7 +5,7 @@ ============Quantumultx=============== [task_local] #京喜签到 -5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, enabled=true +5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] From d8fdd746fbdf277a050242e0c4d45f20c36441e7 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 14:13:54 +0800 Subject: [PATCH 0929/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4?= =?UTF-8?q?=E5=85=BDar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian_ar.js | 522 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 522 insertions(+) create mode 100644 jd_nian_ar.js diff --git a/jd_nian_ar.js b/jd_nian_ar.js new file mode 100644 index 00000000..9921e2c1 --- /dev/null +++ b/jd_nian_ar.js @@ -0,0 +1,522 @@ +/* +京东炸年兽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 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽AR, enabled=true + +================Loon============== +[Script] +cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽AR + +===============Surge================= +京东炸年兽AR = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js + +============小火箭========= +京东炸年兽AR = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 8 * * *", timeout=200, 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 { + 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); +} +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}🧨`) + + 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From ea9c7186623ff4f46e3c7589fdb8b4be13e16566 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 14:15:29 +0800 Subject: [PATCH 0930/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian_ar.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_nian_ar.js b/jd_nian_ar.js index 9921e2c1..1cb3ed88 100644 --- a/jd_nian_ar.js +++ b/jd_nian_ar.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽AR -0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽AR, enabled=true +0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, enabled=true ================Loon============== [Script] -cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽AR +cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR ===============Surge================= -京东炸年兽AR = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽AR = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js ============小火箭========= -京东炸年兽AR = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 8 * * *", timeout=200, enable=true +京东炸年兽AR = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, cronexpr="0 8 * * *", timeout=200, enable=true */ const $ = new Env('京东炸年兽AR'); From 0745fbef2d086de807ae2f9f1a052967bd6ba74b Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 14:20:40 +0800 Subject: [PATCH 0931/1259] =?UTF-8?q?Loon=20task=20=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E4=B8=AD=EF=BC=8C=E5=8E=BB=E9=99=A4=E6=9C=89=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E4=BD=86=E6=B2=A1=E6=9C=89task=E7=9A=84=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update_task.sh b/update_task.sh index c5283fad..13661923 100644 --- a/update_task.sh +++ b/update_task.sh @@ -40,4 +40,4 @@ do done echo -e " ]\n}" >> $FileQx perl -0777 -i -pe "s|,(\n \])|\1|" $FileQx - +perl -0777 -i -pe "s|# .+\n{2}(# .+)|\1|g" $FileLoon From 11b6045613c8b81988ee9453f7dec09990ca69cb Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 21 Jan 2021 14:23:52 +0800 Subject: [PATCH 0932/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4=E5=85=BDAR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东炸年兽AR --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 9665153a..586a87c5 100644 --- a/serverless.yml +++ b/serverless.yml @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR parameters: - name: pigPet_syj_kd_jdzz_cash_sign_nian_sign + name: pigPet_syj_kd_jdzz_cash_sign_nian_sign_nian_ar cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_nian_ar environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 5d5f8c65a19cca458439523f8aded33117782a30 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 14:27:37 +0800 Subject: [PATCH 0933/1259] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=B8=8D=E5=90=8C=E7=B3=BB=E7=BB=9F=E4=B8=8B=E7=94=9F=E6=88=90?= =?UTF-8?q?=20QX=20task=20=E6=B8=85=E5=8D=95=E6=97=B6=E7=9A=84=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update_task.sh b/update_task.sh index 13661923..e6eef5e2 100644 --- a/update_task.sh +++ b/update_task.sh @@ -31,7 +31,7 @@ do if [[ -n $TaskName ]]; then echo -e "\n# $TaskName" >> $FileLoon grep -E "cron.+script-path.+https://raw\.githubusercontent\.com.+tag" $file >> $FileLoon - grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe '{s|^| \"|; s|$|\",|}' >> $FileQx + grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe '{s|^| \"|; s|(.+)|\1\",|}' >> $FileQx grep -E "type.+cronexp.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge fi grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|">> $FileLoon From d852ad15a8956217c83cc19a782f06212087e850 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 14:50:18 +0800 Subject: [PATCH 0934/1259] update --- JD_extra_cookie.js | 1 + docker/crontab_list.sh | 2 ++ jd_bean_change.js | 2 +- jd_get_share_code.js | 2 +- jd_jxnc.js | 1 + jd_nian_ar.js | 2 +- update_task.sh | 4 ++-- 7 files changed, 9 insertions(+), 5 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index b2c119e8..21199b26 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -28,6 +28,7 @@ http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion tag=获 ===================Quantumult X===================== [rewrite_local] +# 获取多账号京东Cookie https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js */ diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index d97336cc..263b1358 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -12,6 +12,8 @@ 30 * * * * node /scripts/jd_nianCollect.js >> /scripts/logs/jd_nianCollect.log 2>&1 #京东炸年兽签到任务🧨 50 0,1 * * * node /scripts/jd_nian_sign.js >> /scripts/logs/jd_nian_sign.log 2>&1 +#京东炸年兽AR +50 0,1,8 * * * node /scripts/jd_nian_ar.js >> /scripts/logs/jd_nian_ar.log 2>&1 #京东神仙书院(活动时间:2021-1-20至2021-2-5) 30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 ##############长期活动############## diff --git a/jd_bean_change.js b/jd_bean_change.js index 6df682c8..495302db 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -13,7 +13,7 @@ ============QuantumultX============== [task_local] #京豆变动通知 -2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, enabled=true +2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon=============== [Script] cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 diff --git a/jd_get_share_code.js b/jd_get_share_code.js index e8c1d9bd..c3be8886 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -8,7 +8,7 @@ ============Quantumultx=============== [task_local] #获取互助码 -20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, enabled=true +20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_jxnc.js b/jd_jxnc.js index 0034ac55..ca06e0cb 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -16,6 +16,7 @@ hostname = wq.jd.com [task_local] 0 9,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true [rewrite_local] +# 京喜农场APP种子Token ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================Loon============================= [Script] diff --git a/jd_nian_ar.js b/jd_nian_ar.js index 1cb3ed88..737666fa 100644 --- a/jd_nian_ar.js +++ b/jd_nian_ar.js @@ -8,7 +8,7 @@ ============Quantumultx=============== [task_local] #京东炸年兽AR -0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, enabled=true +0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] diff --git a/update_task.sh b/update_task.sh index e6eef5e2..334c8631 100644 --- a/update_task.sh +++ b/update_task.sh @@ -14,10 +14,10 @@ FileQxRe=$WorkDir/QuantumultX/lxk0301_cookies.conf FileSurge=$WorkDir/Surge/lxk0301_Task.sgmodule.sgmodule ## task清单顶部内容 -CommentsLoon="# Loon软件Task配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf\n# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf)\n\nhostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" +CommentsLoon="# IOS Loon Task&Cookies配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Loon的Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf\n# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf)\n\nhostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" CommentsQx='{\n "name": "LXK9301 task gallery",\n "description": "https://github.com/LXK9301/jd_scripts",\n "task": [' CommentsQxRe="hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" -CommentsSurge="#!name=LXK9301 iOS Tasks Module\n#!desc=iOS Tasks 模块配置\n\n# Task模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]\n" +CommentsSurge="#!name=LXK9301 iOS Tasks Module\n#!desc=iOS Tasks&Cookies 模块配置\n\n# Task&Cookies模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]\n" ## 执行写入 cd $WorkDir From e891c7a27facb6093f6921acdd008ef7447384b0 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Thu, 21 Jan 2021 14:51:50 +0800 Subject: [PATCH 0935/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=B7=B2=E6=88=90=E7=86=9F=E6=97=B6=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1&=E5=8A=A9=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 64 +++++++++++++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 0034ac55..25aff7b3 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -37,7 +37,7 @@ cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_ const $ = new Env('京喜农场'); let notify = ''; // nodejs 发送通知脚本 -let notifyLevel = $.isNode() ? process.env.JXNC_NOTIFY_LEVEL || 3 : 3; // 通知级别 0=不通知;1=本次获得水滴>0;2=任务执行;3=任务执行+未种植种子; +let notifyLevel = $.isNode() ? process.env.JXNC_NOTIFY_LEVEL || 3 : 3; // 通知级别 0=只通知成熟;1=本次获得水滴>0;2=任务执行;3=任务执行+未种植种子; let notifyBool = true; // 代码内部使用,控制是否通知 let cookieArr = []; // 用户 cookie 数组 let currentCookie = ''; // 当前用户 cookie @@ -226,36 +226,39 @@ async function jdJXNC() { subTitle = `【京东账号${$.index}】${$.nickName}`; $.log(`获取用户信息 & 任务列表`); const startInfo = await getTaskList(); - if (startInfo.prizename) { - message += `【水果名称】${startInfo.prizename}\n`; - } if (startInfo) { - $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】 ${$.info.smp}`); - $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}种子active】 ${$.info.active}`); - await $.wait(500); - const isOk = await browserTask(); - if (isOk) { + message += `【水果名称】${startInfo.prizename}\n`; + if (startInfo.target <= startInfo.score) { + notifyBool = true; + message += `【成熟】水果已成熟请及时收取,deliverState:${startInfo.deliverState}\n`; + } else { + $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】 ${$.info.smp}`); + $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}种子active】 ${$.info.active}`); 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++; - assistUserShareCode = await getAssistUser(); - if (assistUserShareCode) { - await $.wait(300); - next = await helpShareCode(assistUserShareCode); - if (next) { - await $.wait(200); - continue; + 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++; + assistUserShareCode = await getAssistUser(); + if (assistUserShareCode) { + await $.wait(500); + next = await helpShareCode(assistUserShareCode); + if (next) { + await $.wait(1000); + continue; + } } + break; } - break; } } } @@ -355,7 +358,9 @@ function answerTask() { if (ret === 0 && right === 1) { $.drip += eachtimeget; } - if (ret === 1017) { // ret:1017 retmsg:"score full" 水滴已满,果实成熟,跳过答题 + // ret:1017 retmsg:"score full" 水滴已满,果实成熟,跳过答题 + // ret:1012 retmsg:"has complte" 已完成,跳过答题 + if (ret === 1017 || ret === 1012) { resolve(); return; } @@ -390,7 +395,7 @@ function getMessage(endInfo, startInfo) { message += `【水滴】本次获得${get} 离线获得${leaveGet} 今日获得${dayGet} 还需水滴${need}\n`; if (need <= 0) { notifyBool = true; - message += `【成熟】水果已成熟请及时收取\n`; + message += `【成熟】水果已成熟请及时收取,deliverState:${endInfo.deliverState}\n`; return; } if (get > 0 || leaveGet > 0 || dayGet > 0) { @@ -475,6 +480,7 @@ async function helpFriends() { if (!next) { return false; } + await $.wait(1000); } return true; } From bb8ec83231eb9155f2f0f68f88d160dc7265d200 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 14:52:40 +0800 Subject: [PATCH 0936/1259] =?UTF-8?q?1.=20QX=20Rewrite=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=B8=A6=E4=B8=8A=E6=B3=A8=E9=87=8A=EF=BC=9B2.=20QX=20Task=20?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D=E5=A4=9A=E6=8D=A2=E8=A1=8C?= =?UTF-8?q?=E7=AC=A6=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_task.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/update_task.sh b/update_task.sh index e6eef5e2..d3dd3135 100644 --- a/update_task.sh +++ b/update_task.sh @@ -31,11 +31,12 @@ do if [[ -n $TaskName ]]; then echo -e "\n# $TaskName" >> $FileLoon grep -E "cron.+script-path.+https://raw\.githubusercontent\.com.+tag" $file >> $FileLoon - grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe '{s|^| \"|; s|(.+)|\1\",|}' >> $FileQx + grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe '{s|(.+)|\1\",|; s|^| \"|}' >> $FileQx grep -E "type.+cronexp.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge fi grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|">> $FileLoon - grep -E "script-(request|response)-.+https://raw\.githubusercontent\.com" $file | perl -pe "s|(.+)|\n# \n\1|" >> $FileQxRe + grep -E "script-(request|response)-.+https://raw\.githubusercontent\.com" $file | perl -pe "s|(.+)|\n# $TaskName\n\1|" >> $FileQxRe + tmp=$(grep -E "script-(request|response)-.+https://raw\.githubusercontent\.com" $file) grep -E "type=http-(request|response).+pattern.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge done echo -e " ]\n}" >> $FileQx From 86254ea56f4a4a390bb5b6ce5f9fd4a95ae64728 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 14:53:35 +0800 Subject: [PATCH 0937/1259] =?UTF-8?q?1.=20QX=20Rewrite=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=B8=A6=E4=B8=8A=E6=B3=A8=E9=87=8A=EF=BC=9B2.=20QX=20Task=20?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D=E5=A4=9A=E6=8D=A2=E8=A1=8C?= =?UTF-8?q?=E7=AC=A6=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_task.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/update_task.sh b/update_task.sh index d3dd3135..b5cc36b1 100644 --- a/update_task.sh +++ b/update_task.sh @@ -36,7 +36,6 @@ do fi grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|">> $FileLoon grep -E "script-(request|response)-.+https://raw\.githubusercontent\.com" $file | perl -pe "s|(.+)|\n# $TaskName\n\1|" >> $FileQxRe - tmp=$(grep -E "script-(request|response)-.+https://raw\.githubusercontent\.com" $file) grep -E "type=http-(request|response).+pattern.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge done echo -e " ]\n}" >> $FileQx From 13ed7d93ed07b1bce4ea328cd2fdd2b2ffda1a8d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 14:54:21 +0800 Subject: [PATCH 0938/1259] update --- jd_nian.js | 8 ++++---- jd_nianCollect.js | 8 ++++---- jd_nian_ar.js | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 5479f0eb..f07af431 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽🧨 -0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true +10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] -cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 ===============Surge================= -京东炸年兽🧨 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽🧨 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js ============小火箭========= -京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 8 * * *", timeout=3600, enable=true +京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="10 * * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽🧨'); diff --git a/jd_nianCollect.js b/jd_nianCollect.js index 0b5b17e0..45f301f3 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -6,17 +6,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽🧨 -20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true +50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true ================Loon============== [Script] -cron "20 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 +cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 ===============Surge================= -京东收🧨 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js ============小火箭========= -京东收🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, cronexpr="20 * * * *", timeout=3600, enable=true +京东收🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, cronexpr="50 * * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽领爆竹🧨'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_nian_ar.js b/jd_nian_ar.js index 737666fa..824f612f 100644 --- a/jd_nian_ar.js +++ b/jd_nian_ar.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽AR -0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true +0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] -cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR +cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR ===============Surge================= -京东炸年兽AR = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js ============小火箭========= -京东炸年兽AR = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, cronexpr="0 8 * * *", timeout=200, enable=true +京东炸年兽AR = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, cronexpr="0 9 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽AR'); From 033250ad8375bdc33fefc34fb3eca1be847a93c8 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 15:08:21 +0800 Subject: [PATCH 0939/1259] =?UTF-8?q?1.=20=E5=A2=9E=E5=8A=A0Surge=20task?= =?UTF-8?q?=E5=B0=BE=E9=83=A8=E5=86=85=E5=AE=B9=EF=BC=9B2.=20=E5=B0=9D?= =?UTF-8?q?=E8=AF=95=E4=BF=AE=E5=A4=8DQX=20task=E6=8D=A2=E8=A1=8C=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_task.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/update_task.sh b/update_task.sh index b5cc36b1..d0e7f173 100644 --- a/update_task.sh +++ b/update_task.sh @@ -17,21 +17,22 @@ FileSurge=$WorkDir/Surge/lxk0301_Task.sgmodule.sgmodule CommentsLoon="# Loon软件Task配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf\n# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf)\n\nhostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" CommentsQx='{\n "name": "LXK9301 task gallery",\n "description": "https://github.com/LXK9301/jd_scripts",\n "task": [' CommentsQxRe="hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" -CommentsSurge="#!name=LXK9301 iOS Tasks Module\n#!desc=iOS Tasks 模块配置\n\n# Task模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]\n" +CommentsSurgeHead="#!name=LXK9301 iOS Tasks Module\n#!desc=iOS Tasks 模块配置\n\n# Task模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]" +CommentsSurgeTail="\n[MITM]\nhostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com," ## 执行写入 cd $WorkDir echo -e $CommentsLoon > $FileLoon echo -e $CommentsQx > $FileQx echo -e $CommentsQxRe > $FileQxRe -echo -e $CommentsSurge > $FileSurge +echo -e $CommentsSurgeHead > $FileSurge for file in $JsList do TaskName=$(grep "new Env" $file | awk -F "'|\"" '{print $2}') if [[ -n $TaskName ]]; then echo -e "\n# $TaskName" >> $FileLoon grep -E "cron.+script-path.+https://raw\.githubusercontent\.com.+tag" $file >> $FileLoon - grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe '{s|(.+)|\1\",|; s|^| \"|}' >> $FileQx + grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe 's|(.+)|\1",|' | perl -pe 's|^| \"|' >> $FileQx grep -E "type.+cronexp.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge fi grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|">> $FileLoon @@ -39,5 +40,6 @@ do grep -E "type=http-(request|response).+pattern.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge done echo -e " ]\n}" >> $FileQx +echo -e $CommentsSurgeTail >> $FileSurge perl -0777 -i -pe "s|,(\n \])|\1|" $FileQx perl -0777 -i -pe "s|# .+\n{2}(# .+)|\1|g" $FileLoon From 4a7766910f80d4b925d895654a823ad1955444f1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 15:30:07 +0800 Subject: [PATCH 0940/1259] fix --- update_task.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/update_task.sh b/update_task.sh index 4b82a614..ccb43fa5 100644 --- a/update_task.sh +++ b/update_task.sh @@ -18,8 +18,8 @@ CommentsLoon="# IOS Loon Task&Cookies配置 By LXK9301\n# GitHub主页(https://g CommentsQx='{\n "name": "LXK9301 task gallery",\n "description": "https://github.com/LXK9301/jd_scripts",\n "task": [' CommentsQxRe="hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" -CommentsSurgeHead="#!name=LXK9301 iOS Tasks Module\n#!desc=iOS Tasks 模块配置\n\n# Task模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]" -CommentsSurgeTail="\n[MITM]\nhostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com," +CommentsSurgeHead="#!name=LXK9301 iOS Tasks&Cookies Module\n#!desc=iOS Tasks&Cookies 模块配置\n\n# Task&Cookies模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]" +CommentsSurgeTail="\n[MITM]\nhostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" ## 执行写入 @@ -34,7 +34,7 @@ do if [[ -n $TaskName ]]; then echo -e "\n# $TaskName" >> $FileLoon grep -E "cron.+script-path.+https://raw\.githubusercontent\.com.+tag" $file >> $FileLoon - grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe 's|(.+)|\1",|' | perl -pe 's|^| \"|' >> $FileQx + grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe 's|(.+\w)|\1",|' | perl -pe 's|^| \"|' >> $FileQx grep -E "type.+cronexp.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge fi grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|">> $FileLoon From 94e7e6487f080e944a353636c6927d3048dbce86 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 15:31:47 +0800 Subject: [PATCH 0941/1259] =?UTF-8?q?iOS=E7=AB=AF3=E5=A4=A7=E8=BD=AF?= =?UTF-8?q?=E4=BB=B6=E8=AE=A2=E9=98=85=E5=B7=B2=E6=A0=B9=E6=8D=AE=E6=9C=89?= =?UTF-8?q?=E6=95=88=E8=84=9A=E6=9C=AC=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90?= =?UTF-8?q?=E3=80=82=20=E6=84=9F=E8=B0=A2=20https://github.com/EvineDeng?= =?UTF-8?q?=20=E6=8F=90=E4=BE=9Bshell=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 270 +++++++++++++++------------ QuantumultX/lxk0301_cookies.conf | 21 ++- QuantumultX/lxk0301_gallery.json | 89 +++++---- Surge/lxk0301_Task.sgmodule.sgmodule | 132 ++++++------- 4 files changed, 263 insertions(+), 249 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index b1390d91..689428f9 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -1,136 +1,164 @@ -# Loon软件Task配置 By LXK9301 +# IOS Loon Task&Cookies配置 By LXK9301 # GitHub主页(https://github.com/LXK9301/jd_scripts) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) -# Loon的Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf +# Loon的Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf # 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) -hostname = wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# 东东农场 -cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 +hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# 东东萌宠 -cron "10 7-19/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 - -# 京东种豆得豆 -cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 - -# 宠汪汪(主要是日常任务,不过里面也有喂食和领取三餐狗粮) -cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=宠汪汪 - -# 宠汪汪喂食 -cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=宠汪汪喂食 - -# 宠汪汪偷好友积分与狗粮 -cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 - -# 宠汪汪积分兑换奖品 -cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 - -# 京东天天加速 -cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 - -# 京东摇钱树 -cron "3 */5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 - -# 京小超 -cron "11 1-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,tag=京小超 - -# 京小超兑换奖品 -cron "0,30 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 - -# 取关京东店铺商品 -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 - -# 进店领豆 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 - -#摇京豆 -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 - -#京东全民开红包 -cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 - -#京豆变动通知 +# 京豆变动通知 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 -#点点券 -cron "20 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券 - -#十元街 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街 - -#东东小窝 -cron "16 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 - -#京喜工厂 -cron "26 * * * *" script-path= https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂 - -#东东工厂 -cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 - -#宠汪汪邀请助力与赛跑助力 -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 - -#小米运动 -cron "25 17 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 - -#宠汪汪助力更新Token -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力更新Token - -#宠汪汪助力获取Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力获取Token - -# 宠汪汪强制为别人助力 -http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 - -#聚宝盆投狗粮辅助(github@Zero-S1搬的) -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 - -# 小米运动获取Token -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=3600, tag=小米运动获取Token -#获取多账号京东Cookie -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, timeout=3600, tag=获取多账号京东Cookie -# 京东代属 -# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, tag=京东代属 - -# 京东快递 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到 - -# 京东汽车 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车 - # 领京豆额外奖励 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 -# 京东健康 -#cron "3 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js,tag=京东健康 +# 京小超兑换奖品 +cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 + +# 口袋书店 +cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 + +# 京东汽车 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车 + +# 京东汽车兑换 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 + +# 签到领现金 +cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js,tag=签到领现金 + +# 摇京豆 +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 + +# crazyJoy任务 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 + +# 天天提鹅 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js,tag=天天提鹅 + +# 京喜工厂 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 + +# 京东家庭号 +cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 + +# 集鞭炮赢京豆 +cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 + +# 东东农场 +cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 + +# 获取互助码 +cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码 + +# 京东神仙书院 +cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 + +# 东东工厂 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 + # 京东赚赚 -cron "10 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚 -# 京东秒杀红包雨 -# cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 -#注销京东店铺会员卡 -cron "23 12 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 + +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 + +# 宠汪汪🐕喂食 +cron "15 0-23/1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 + +# 宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 + +# 宠汪汪积分兑换奖品 +cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 + +# 宠汪汪赛跑 +cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 + +# 宠汪汪助力更新Token +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力更新Token + +# 宠汪汪助力获取Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力获取Token + +# 宠汪汪偷好友积分与狗粮 +cron "0 0-10/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 + +# 京喜农场 +cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js,tag=京喜农场 + +# 京喜农场cookie +http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js, requires-body=false, timeout=3600, tag=京喜农场cookie + +# 京东快递签到 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到 # 京东直播 -cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播 -# 京东看一看 -# cron "40 9,10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js, tag=京东看一看 -#直播红包雨 -# cron "1 0,20,9-23/2 15-31 12 *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 -# 金融打卡领年终奖 -# cron "10 6 1-31 12 *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 -# 健康抽奖机 -#cron "10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js,tag=健康抽奖机 -# 疯狂的joy日常任务 -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=疯狂的joy日常任务 -#京喜签到 -cron "5 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js,tag=京喜签到 -#京东汽车兑换 -cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 -#京东家庭号 -cron "11 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 -#口袋书店 -cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店 -#京东年货节 +cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js,tag=京东直播 + +# 京东摇钱树 +cron "3 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 + +# 点点券 +cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js,tag=点点券 + +# 京东年货节 cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js,tag=京东年货节 + +# 京东炸年兽🧨 +cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 + +# 京东炸年兽AR +cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR + +# 京东炸年兽签到任务🧨 +cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 + +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 + +# 东东萌宠 +cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 + +# 聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 + +# 金融养猪 +cron "12 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪 + +# 京东种豆得豆 +cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 + +# 京东全民开红包 +cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 + +# 进店领豆 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 + +# 东东小窝 +cron "16 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 + +# ✈️天天加速 +cron "8 0-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 + +# 东东超市 +cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,tag=东东超市 + +# 十元街 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街 + +# 注销京东会员卡 +cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 + +# 取关京东店铺和商品 +cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 + +# 京喜签到 +cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js,tag=京喜签到 + +# 小米运动 +cron "15 17 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 + +# 小米运动获取Token +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=3600, tag=小米运动获取Token diff --git a/QuantumultX/lxk0301_cookies.conf b/QuantumultX/lxk0301_cookies.conf index aabf374b..5400edf4 100644 --- a/QuantumultX/lxk0301_cookies.conf +++ b/QuantumultX/lxk0301_cookies.conf @@ -1,14 +1,19 @@ -hostname = draw.jdfcloud.com, jdjoy.jd.com, wq.jd.com, account.huami.com +hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# 获取多账号京东Cookie -https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js -# 宠汪汪强制为别人助力 +# ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js -# 宠汪汪助力更新Token + +# 宠汪汪赛跑 ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -# 宠汪汪助力获取Token + +# 宠汪汪赛跑 ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -# 聚宝盆投狗粮辅助 + +# 京喜农场 +^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js + +# ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js -# 小米运动获取Token + +# 小米运动 ^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 70a2a3b6..09522a73 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -1,43 +1,52 @@ { - "name": "LXK9301 task gallery", - "description": "https://github.com/LXK9301/jd_scripts", - "task": [ - "5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png", - "20 7-19/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png", - "10 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=京东种豆得豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png", - "15 1,7,9,12,18,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "12 */1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=宠汪汪喂食 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "0 0,6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 0,8,12,16 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js , tag=宠汪汪积分兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "8 */3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js , tag=京东天天加速 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png", - "15 */5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js , tag=京东摇钱树 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png", - "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js , tag=摇京豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png", - "11 1-23/5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js , tag=京小超 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "0,30 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js , tag=京小超兑换奖品 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png", - "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js , tag=取关京东店铺商品 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js , tag=进店领豆 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png", - "15 10 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js , tag=宠汪汪邀请助力与赛跑助力 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png", - "1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js , tag=京东全民开红包 , img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js , tag=京豆变动通知 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "20 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js , tag=点点券 , img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png", - "13 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://github.com/58xinian/icon/raw/master/ddxw.png", - "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png", - "0 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://github.com/58xinian/icon/raw/master/jd_syj.png", - "10 6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png", - "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_car.png", - "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png", - "10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_live_redrain.png", - "14 11 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png", - "44 12 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东店铺会员卡, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png", - "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png", - "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png", - "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png", - "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png", - "20 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收炮竹, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", - "0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true" + "name": "LXK9301 task gallery", + "description": "https://github.com/LXK9301/jd_scripts", + "task": [ + "2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", + "0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=京小超兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", + "1 8,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", + "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true", + "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true", + "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true", + "1 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, tag=京东家庭号, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_family.png, enabled=true", + "10 8,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", + "20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", + "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", + "15 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "0 0-16/8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 10 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "0 0-10/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "0 9,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true", + "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true", + "10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "3 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true", + "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", + "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", + "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", + "1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", + "16 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", + "8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", + "11 1-23/5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", + "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", + "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", + "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true", ] } diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 07f9e169..ea111e70 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -1,93 +1,65 @@ #!name=LXK9301 iOS Tasks&Cookies Module #!desc=iOS Tasks&Cookies 模块配置 -# Tasks&Cookies模块配置 By LXK9301 +# Task&Cookies模块配置 By LXK9301 # GitHub主页(https://github.com/LXK9301/jd_scripts) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) -# Surge的Task脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule +# Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] -#东东农场 -cron "40 8-18/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,timeout=3600, wake-system=1, tag=东东农场 -#东东萌宠 -cron "20 8-18/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,timeout=3600, wake-system=1, tag=东东萌宠 -#京东种豆得豆 -cron "50 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,timeout=3600, wake-system=1, tag=京东种豆得豆 -#宠汪汪 -cron "15 1,7,9,12,18,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,timeout=3600, wake-system=1, tag=宠汪汪 -#宠汪汪喂食(仅喂食) -cron "12 */1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,timeout=3600, wake-system=1, tag=宠汪汪喂食 -#宠汪汪偷好友积分与狗粮 -cron "0 0,6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,timeout=3600, wake-system=1, tag=宠汪汪偷好友积分与狗粮 -#宠汪汪积分兑换奖品 -cron "0 0,8,12,16 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,timeout=3600, wake-system=1, tag=宠汪汪积分兑换奖品 -#京东天天加速 -cron "8 */3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,timeout=3600, wake-system=1, tag=京东天天加速 -#京东摇钱树 -cron "15 */5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,timeout=3600, wake-system=1, tag=京东摇钱树 -#摇京豆 -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, timeout=3600, wake-system=1, tag=摇京豆 -#京小超 -cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,timeout=3600, wake-system=1, tag=京小超 -京小超兑换奖品 -cron "0,30 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,timeout=3600, wake-system=1, tag=京小超兑换奖品 -#取关京东店铺商品 -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,timeout=3600, wake-system=1, tag=取关京东店铺商品 -#进店领豆 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,timeout=3600, wake-system=1, tag=进店领豆 -#宠汪汪邀请助力与赛跑助力 -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, timeout=3600, wake-system=1, tag=宠汪汪邀请助力与赛跑助力 -#京东全民开红包 -cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, wake-system=1, tag=京东全民开红包 -#京豆变动通知 -cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, timeout=3600, wake-system=1, tag=京豆变动通知 -#点点券 -cron "30 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, timeout=3600, wake-system=1, tag=点点券 -#京喜工厂 -cron "24 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, timeout=3600, wake-system=1, tag=京喜工厂 -#东东工厂 -cron "40 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, timeout=3600, wake-system=1, tag=东东工厂 -#东东小窝 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, timeout=3600, wake-system=1, tag=东东小窝 -#十元街 -cron "40 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, timeout=3600, wake-system=1, tag=十元街 -#领京豆额外奖励 -cron "30 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, timeout=3600, wake-system=1, tag=领京豆额外奖励 -#京东汽车 -cron "0 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, timeout=3600, wake-system=1, tag=京东汽车 -#京东汽车积分兑换京豆 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, timeout=3600, wake-system=1, tag=京东汽车积分兑换京豆 -#京东快递签到 -cron "20 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, timeout=3600, wake-system=1, tag=京东快递签到 -#京东直播(活动结束时间未知) -cron "20 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, timeout=3600, wake-system=1, tag=京东直播 -#京东赚赚 -cron "20 11 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, timeout=3600, wake-system=1, tag=京东赚赚 -#注销京东店铺会员卡 -cron "20 12 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, timeout=3600, wake-system=1, tag=注销京东店铺会员卡 -#疯狂的joy日常任务 -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, timeout=3600, wake-system=1, tag=疯狂的joy日常任务 -#签到领现金 -签到领现金 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js -#京东家庭号 -#京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js -#京东口袋书城 -口袋书店 = type=cron,cronexp="12 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js -#京喜签到 -京喜签到 = type=cron,cronexp="5 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js -#以为为短期活动 -#京东年货节 -京东年货节 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js - -#以下为cookie配置 -#获取多账号京东Cookie -获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 -#宠汪汪强制为别人助力 +京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js +领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js +京小超兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js +口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js +签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js +摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js +crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js +天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js +京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js +京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js +集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js +东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js +获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js +京东神仙书院 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js +东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js +京东赚赚 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js +京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js -#小米运动获取Token -小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js +宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js 宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js +宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js +京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path= https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js +京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js +京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js +京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js +点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js +京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js +京东炸年兽🧨 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js +京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js +东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js +聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js +京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js +京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js +京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js +进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js +东东小窝 = type=cron,cronexp="16 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js +天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js +东东超市 = type=cron,cronexp="11 1-23/5 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js +十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js +注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js +取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js +京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js +小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js + [MITM] hostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com From 6277ce71dd4813894688aaa4647d6fc68b955a86 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 15:40:03 +0800 Subject: [PATCH 0942/1259] update --- QuantumultX/lxk0301_gallery.json | 2 +- README.md | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 09522a73..f91a9e28 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -47,6 +47,6 @@ "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true", + "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true" ] } diff --git a/README.md b/README.md index 27c6f184..89062f04 100644 --- a/README.md +++ b/README.md @@ -125,8 +125,17 @@ ### 4. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) +##### 获取京东cookie - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js) +##### 订阅链接: +- Surge:Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule + +- Loon:Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf + +- QuantumultX Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_gallery.json + +- QuantumultX cookie脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_cookies.conf ## 赞赏码(开发维护不易,请赏杯茶水费)
From b6b056b5704a0bf65557606257833822469ce3b1 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 15:44:34 +0800 Subject: [PATCH 0943/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4?= =?UTF-8?q?=E5=85=BD=E5=B0=8F=E7=A8=8B=E5=BA=8F=F0=9F=A7=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian_wechat.js | 336 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 336 insertions(+) create mode 100644 jd_nian_wechat.js diff --git a/jd_nian_wechat.js b/jd_nian_wechat.js new file mode 100644 index 00000000..25b6696b --- /dev/null +++ b/jd_nian_wechat.js @@ -0,0 +1,336 @@ +/* +京东炸年兽小程序🧨 +强烈推荐使用自定义的小程序UA防止黑号 +活动时间:2021-1-18至2021-2-11 +暂不加入品牌会员 +活动入口: 京东小程序-炸年兽 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东炸年兽小程序🧨 +50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, enabled=true + +================Loon============== +[Script] +cron "50 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 + +===============Surge================= +京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js + +============小火箭========= +京东炸年兽小程序🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 { + 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); +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From fc14d6c65858aaadf67585d39d33e29d5dd40386 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 15:55:25 +0800 Subject: [PATCH 0944/1259] update --- update_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update_task.sh b/update_task.sh index ccb43fa5..950ade26 100644 --- a/update_task.sh +++ b/update_task.sh @@ -43,5 +43,5 @@ do done echo -e " ]\n}" >> $FileQx echo -e $CommentsSurgeTail >> $FileSurge -perl -0777 -i -pe "s|,(\n \])|\1|" $FileQx +perl -0777 -i -pe "s|,(\s{1,2} \])|\1|" $FileQx perl -0777 -i -pe "s|# .+\n{2}(# .+)|\1|g" $FileLoon From f0527f5055f85efd743ea439fe09e0d114728cd2 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 21 Jan 2021 15:56:33 +0800 Subject: [PATCH 0945/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4=E5=85=BD=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东炸年兽小程序 --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 586a87c5..9eb4f54f 100644 --- a/serverless.yml +++ b/serverless.yml @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR #京东炸年兽小程序 parameters: - name: pigPet_syj_kd_jdzz_cash_sign_nian_sign_nian_ar + name: pigPet_syj_kd_jdzz_cash_sign_nian_sign_nian_ar_nian_wechat cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_nian_ar + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_nian_ar&jd_nian_wechat environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 9e96cfde3a6a3a7129f498661ae66141b81840c5 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 21 Jan 2021 15:59:27 +0800 Subject: [PATCH 0946/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=82=B8=E5=B9=B4=E5=85=BD=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8Fsecret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东炸年兽小程序secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 92e73b22..b97bc1ad 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -85,6 +85,7 @@ jobs: if [ $FACTORAY_WANTPRODUCT_NAME ]; then sed -i "/variables/a\ FACTORAY_WANTPRODUCT_NAME: $FACTORAY_WANTPRODUCT_NAME" serverless.yml; fi; if [ $JXNCTOKENS ]; then sed -i "/variables/a\ JXNCTOKENS: $JXNCTOKENS" serverless.yml; fi; if [ $JD_IMMORTAL_LATLON ]; then sed -i "/variables/a\ JD_IMMORTAL_LATLON: $JD_IMMORTAL_LATLON" serverless.yml; fi; + if [ $JD_WECHAT_USER_AGENT ]; then sed -i "/variables/a\ JD_WECHAT_USER_AGENT: $JD_WECHAT_USER_AGENT" serverless.yml; fi; cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 @@ -148,6 +149,7 @@ jobs: FACTORAY_WANTPRODUCT_NAME: ${{ secrets.FACTORAY_WANTPRODUCT_NAME}} JXNCTOKENS: ${{ secrets.JXNCTOKENS}} JD_IMMORTAL_LATLON: ${{ secrets.JD_IMMORTAL_LATLON}} + JD_WECHAT_USER_AGENT: ${{ secrets.JD_WECHAT_USER_AGENT}} - name: "部署到腾讯云函数" run: serverless deploy From 809dd8b3e9dba15f34ffecdbc5d577d50b907bdb Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 21 Jan 2021 16:07:01 +0800 Subject: [PATCH 0947/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E7=82=B8=E5=B9=B4=E5=85=BD=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增京东炸年兽小程序环境变量说明 --- githubAction.md | 1 + 1 file changed, 1 insertion(+) diff --git a/githubAction.md b/githubAction.md index d0d97188..4e9f5830 100644 --- a/githubAction.md +++ b/githubAction.md @@ -84,6 +84,7 @@ | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂
心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,
如不提供则会兑换当前所选商品 | | `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账单间使用`&`或换行分开。 | | `JD_IMMORTAL_LATLON` | 京东神仙书院
地理位置变量 | 非必须 | 京东神仙书院地理位置,示例格式:{"lat":33.1, "lng":118.1} | +| `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | ##### 互助码的填写规则 From 2f874f1c0a242250706389b60f8641d3f6fb0066 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 17:13:05 +0800 Subject: [PATCH 0948/1259] update --- .github/workflows/update_ios_task.yml | 37 +++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/update_ios_task.yml diff --git a/.github/workflows/update_ios_task.yml b/.github/workflows/update_ios_task.yml new file mode 100644 index 00000000..ba9223a3 --- /dev/null +++ b/.github/workflows/update_ios_task.yml @@ -0,0 +1,37 @@ +name: update_ios_task + +on: + workflow_dispatch: + schedule: + - cron: '0 */6 * * *' + #push: + # branches: [ master ] +jobs: + build: + runs-on: ubuntu-latest + if: github.event.repository.owner.id == github.event.sender.id + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + repository: ${{ github.repository }} + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: "更新iOS端3大订阅软件订阅配置" + run: | + bash update_task.sh + - name: commit + run: | + git config --global user.email ${{ secrets.EMAIL }} + git config --global user.name lxk0301 + git add . + git commit -m "更新iOS端3大订阅软件订阅配置 by lxk0301 Github Action" -a || echo "Nothing to update" + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.TOKEN }} + branch: master \ No newline at end of file From bc5558910ea716940530934fa6d5c70ea7c786e9 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Thu, 21 Jan 2021 17:14:59 +0800 Subject: [PATCH 0949/1259] Update update_ios_task.yml --- .github/workflows/update_ios_task.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update_ios_task.yml b/.github/workflows/update_ios_task.yml index ba9223a3..9134cc4e 100644 --- a/.github/workflows/update_ios_task.yml +++ b/.github/workflows/update_ios_task.yml @@ -1,5 +1,6 @@ name: update_ios_task + on: workflow_dispatch: schedule: @@ -34,4 +35,4 @@ jobs: uses: ad-m/github-push-action@master with: github_token: ${{ secrets.TOKEN }} - branch: master \ No newline at end of file + branch: master From 2fe8e50e06a5c187de5ed02948e159d539d5e0bf Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Thu, 21 Jan 2021 09:15:29 +0000 Subject: [PATCH 0950/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=AE=A2=E9=98=85=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 7 +++++-- QuantumultX/lxk0301_gallery.json | 3 ++- Surge/lxk0301_Task.sgmodule.sgmodule | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 689428f9..4ff283c5 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -109,14 +109,17 @@ cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_script # 京东炸年兽🧨 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 + # 京东炸年兽AR cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 +# 京东炸年兽小程序🧨 +cron "50 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index f91a9e28..08f5ad83 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -32,9 +32,10 @@ "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, enabled=true", "15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index ea111e70..37456155 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -42,9 +42,10 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js 京东炸年兽🧨 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js +京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js From 2361534952d29e68845b51fa801d97c8632dbe19 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 17:26:16 +0800 Subject: [PATCH 0951/1259] update --- docker/crontab_list.sh | 2 ++ jd_nian_wechat.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 263b1358..3caa8229 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -14,6 +14,8 @@ 50 0,1 * * * node /scripts/jd_nian_sign.js >> /scripts/logs/jd_nian_sign.log 2>&1 #京东炸年兽AR 50 0,1,8 * * * node /scripts/jd_nian_ar.js >> /scripts/logs/jd_nian_ar.log 2>&1 +#京东炸年兽小程序 +50 0,1,8 * * * node /scripts/jd_nian_wechat.js >> /scripts/logs/jd_nian_wechat.log 2>&1 #京东神仙书院(活动时间:2021-1-20至2021-2-5) 30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 ##############长期活动############## diff --git a/jd_nian_wechat.js b/jd_nian_wechat.js index 25b6696b..0db09762 100644 --- a/jd_nian_wechat.js +++ b/jd_nian_wechat.js @@ -9,7 +9,7 @@ ============Quantumultx=============== [task_local] #京东炸年兽小程序🧨 -50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, enabled=true +50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] From d4c3bf565ca04f42192d42b88d57977b4f96460a Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Thu, 21 Jan 2021 09:27:18 +0000 Subject: [PATCH 0952/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=AE=A2=E9=98=85=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_gallery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 08f5ad83..5f47b98d 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -35,7 +35,7 @@ "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, enabled=true", + "50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", From 979ff126c913971c6075606e4a90bea8406a936a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 21 Jan 2021 17:46:09 +0800 Subject: [PATCH 0953/1259] update --- .github/workflows/update_ios_task.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/update_ios_task.yml b/.github/workflows/update_ios_task.yml index 9134cc4e..f34a294c 100644 --- a/.github/workflows/update_ios_task.yml +++ b/.github/workflows/update_ios_task.yml @@ -4,7 +4,7 @@ name: update_ios_task on: workflow_dispatch: schedule: - - cron: '0 */6 * * *' + - cron: '0 4,16 * * *' #push: # branches: [ master ] jobs: @@ -17,11 +17,6 @@ jobs: with: repository: ${{ github.repository }} - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - name: "更新iOS端3大订阅软件订阅配置" run: | bash update_task.sh From 2493b06eb8226fb1ce48555fde055ab0ccc15a49 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Thu, 21 Jan 2021 18:41:05 +0800 Subject: [PATCH 0954/1259] Update lxk0301_Task.sgmodule.sgmodule --- Surge/lxk0301_Task.sgmodule.sgmodule | 1 - 1 file changed, 1 deletion(-) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 37456155..4724ce81 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -19,7 +19,6 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js -京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js 集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js From f1fe8a771e645b82a77eaa8fc85fb3fc14836552 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Thu, 21 Jan 2021 18:41:55 +0800 Subject: [PATCH 0955/1259] Update lxk0301_LoonTask.conf --- Loon/lxk0301_LoonTask.conf | 3 --- 1 file changed, 3 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 4ff283c5..54ec32fd 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -40,9 +40,6 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京喜工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 -# 京东家庭号 -cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 - # 集鞭炮赢京豆 cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 From a0ec777b0784856e9eb50661014b38fbb6ead3ec Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 19:48:33 +0800 Subject: [PATCH 0956/1259] =?UTF-8?q?1.=20=E5=A2=9E=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=B8=AAUA=EF=BC=9B2.=20=E5=B0=86=E4=BA=AC=E5=B0=8F=E8=B6=85?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E6=9B=B4=E6=8D=A2=E4=B8=BA=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E8=B6=85=E5=B8=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- USER_AGENTS.js | 3 ++- backUp/iCloud.md | 2 +- docker/crontab_list.sh | 2 +- docker/example/custom-append.yml | 2 +- docker/example/custom-overwrite.yml | 2 +- docker/example/default.yml | 2 +- githubAction.md | 10 +++++----- jd_blueCoin.js | 16 ++++++++-------- lxk0301.boxjs.json | 10 +++++----- serverless.yml | 2 +- update_task.sh | 2 +- 11 files changed, 27 insertions(+), 26 deletions(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index dacf4fb9..433076fc 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -17,7 +17,8 @@ const USER_AGENTS = [ "jdapp;iPhone;9.3.5;14.3;4c1eb8becaa1ac13148d8e1ae757b095f3897035;network/wifi;ADID/0AEFEAA4-D39D-44C9-9C0C-0BE23F8F71AA;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone12,3;addressid/902369124;supportBestPay/0;appBuild/167515;jdSupportDarkMode/1;pv/545.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/4c1eb8becaa1ac13148d8e1ae757b095f3897035|1273;jdv/0|kong|t_1000089893_157_0_184__0615da2400ad7955|tuiguang|15fa9ecbea21461d924d3dae0e870cf5|1611139506;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|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", "jdapp;android;9.3.6;9;D256434363461-6531383831656;network/wifi;model/MI 6;addressid/856540565;aid/f0ee06ebc7f6e98f;oaid/7fed3628fe652595;osVer/28;appBuild/86533;psn/V0yRdEdRydfYb9nackt2CQ==|3683;psq/0;adk/;ads/;pap/JA2015_311210|9.3.6|ANDROID 9;osv/9;pv/3513.0;jdv/0|kong|t_1000089893_|tuiguang|72e393e7b2474bc6a2369615f1b262e5|1610986845;ref/;partner/jingdong;apprpd/;eufv/1;Mozilla/5.0 (Linux; Android 9; MI 6 Build/PKQ1.190118.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36", "jdapp;android;9.3.6;11;2353632303533303-4613731326261636;network/wifi;model/Redmi K30 5G;addressid/137593713;aid/25620530d171bbac;oaid/bfa9b0b7eca0475e;osVer/30;appBuild/86560;psn/oAPbHSW3fqrTmO6vGi1h73hJ0XCn9xEB|2846;psq/6;adk/;ads/;pap/JA2015_311210|9.3.6|ANDROID 11;osv/11;pv/2763.63;jdv/0|kong|t_1000089893_157_0_184__6fe1ce2ddf1f49a0|jingfen|249389d15ac843dbbbec52ce919891fb|1610851978;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/xiaomi001;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K30 5G Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045511 Mobile Safari/537.36", - "jdapp;iPhone;4.0.0;11.4;9ed0d69aaf190b5b4277868d2c0470fe1f787080;network/wifi;model/iPhone8,1;appBuild/100401;ADID/64199E21-4ECD-4217-BD79-0C4D82033FD8;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/73;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15F79" + "jdapp;iPhone;4.0.0;11.4;9ed0d69aaf190b5b4277868d2c0470fe1f787080;network/wifi;model/iPhone8,1;appBuild/100401;ADID/64199E21-4ECD-4217-BD79-0C4D82033FD8;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/73;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15F79", + "jdapp;android;9.3.0;10;3b78ecc3f490c7ba;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/85770;psn/3b78ecc3f490c7ba|599;psq/2;uid/3b78ecc3f490c7ba;adk/;ads/;pap/JA2015_311210|9.3.0|ANDROID 10;osv/10;pv/580.2;jdv/0|kong|t_1000089893_|tuiguang|e21138bd89c445d98a2cc2e375c37b4f|1606572739;ref/com.jd.lib.personal.view.fragment.JDPersonalFragment;partner/jingdong;apprpd/MyJD_Main;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" ] /** * 生成随机数字 diff --git a/backUp/iCloud.md b/backUp/iCloud.md index a2450aa0..9d410642 100644 --- a/backUp/iCloud.md +++ b/backUp/iCloud.md @@ -154,7 +154,7 @@ let CookieJDs = [ | `jd_bean_change` | 京豆变动通知 | 长期 | 0 2 * * * | 0 1 */1 * * | 30 7 * * * | | `jd_bean_home` | 领京豆额外奖励 | 长期 | / | 0 1 */1 * * | 30 7 * * * | | `jd_bean_sign` | 京豆签到 | 长期 | 0 16 * * * | 0 0 */1 * * | 0 0 * * * | -| `jd_blueCoin` | 京小超兑换奖品 | 长期 | 0 16 * * * | 0 1 */1 * * | 0 0 * * * | +| `jd_blueCoin` | 东东超市兑换奖品 | 长期 | 0 16 * * * | 0 1 */1 * * | 0 0 * * * | | `jd_bookshop` | 口袋书店 | 长期 | / | / | 5 6-18/6,8 * * * | | `jd_car` | 京东汽车 | 长期 | / | 0 0 */1 * * | 0 0 * * * | | `jd_car_exchange` | 京东汽车兑换 | 长期 | / | / | 0 0 * * * | diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 3caa8229..52e80e97 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -21,7 +21,7 @@ ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 -# 京小超兑换奖品 +# 东东超市兑换奖品 0,30 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1 # 摇京豆 0 0 * * * node /scripts/jd_club_lottery.js >> /scripts/logs/jd_club_lottery.log 2>&1 diff --git a/docker/example/custom-append.yml b/docker/example/custom-append.yml index fc3beea9..0811ed57 100644 --- a/docker/example/custom-append.yml +++ b/docker/example/custom-append.yml @@ -47,7 +47,7 @@ jd_scripts: - PETSHARECODES= # 宠汪汪的喂食数量 - JOY_FEED_COUNT= - #京小超 + #东东超市 # - SUPERMARKET_SHARECODES= #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) # 例: MARKET_COIN_TO_BEANS=1000 diff --git a/docker/example/custom-overwrite.yml b/docker/example/custom-overwrite.yml index 302528b7..ccbab602 100644 --- a/docker/example/custom-overwrite.yml +++ b/docker/example/custom-overwrite.yml @@ -47,7 +47,7 @@ jd_scripts: - PETSHARECODES= # 宠汪汪的喂食数量 - JOY_FEED_COUNT= - #京小超 + #东东超市 # - SUPERMARKET_SHARECODES= #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) # 例: MARKET_COIN_TO_BEANS=1000 diff --git a/docker/example/default.yml b/docker/example/default.yml index d4c31b62..eacc3a23 100644 --- a/docker/example/default.yml +++ b/docker/example/default.yml @@ -46,7 +46,7 @@ jd_scripts: - PETSHARECODES= # 宠汪汪的喂食数量 - JOY_FEED_COUNT= - #京小超 + #东东超市 # - SUPERMARKET_SHARECODES= #兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字) # 例: MARKET_COIN_TO_BEANS=1000 diff --git a/githubAction.md b/githubAction.md index 4e9f5830..f130b93e 100644 --- a/githubAction.md +++ b/githubAction.md @@ -68,11 +68,11 @@ | `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),
`false`为否,`true`为是,脚本默认是`true` | | `JOY_TEAM_LEVEL` | 宠汪汪
参加什么级别的赛跑 | 非必须 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,
其中2代表参加双人PK赛,10代表参加10人突围赛,
50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),
如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | | `JD_JOY_REWARD_NAME` | 宠汪汪
积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | -| `MARKET_COIN_TO_BEANS` | 京小超
兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,
可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | -| `MARKET_REWARD_NOTIFY` | 京小超
兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `SUPERMARKET_UPGRADE` | 京小超自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | -| `BUSINESS_CIRCLE_JUMP` | 京小超
自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | -| `SUPERMARKET_LOTTERY` | 京小超抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | +| `MARKET_COIN_TO_BEANS` | 东东超市
兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,
可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | +| `MARKET_REWARD_NOTIFY` | 东东超市
兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | +| `SUPERMARKET_UPGRADE` | 东东超市自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | +| `BUSINESS_CIRCLE_JUMP` | 东东超市
自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | +| `SUPERMARKET_LOTTERY` | 东东超市抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | | `FRUIT_BEAN_CARD` | 农场
使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),
`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | | `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开.四个参数分别表示
`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`,`遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明) | | `UN_BIND_CARD_NUM` | jd_unbind.js | 非必须 | 注销京东已开的店铺会员,不是注销京东plus会员,个别店铺无法注销。
此参数控制每次运行脚本时注销多少个店铺会员,默认200。 | diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 795fd8ca..7fedbdcb 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -1,25 +1,25 @@ /* -京小超兑换奖品 脚本地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js +东东超市兑换奖品 脚本地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js 感谢@yangtingxiao提供PR 更新时间:2020-12-24 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============QuantumultX============== [task_local] -#京小超兑换奖品 -0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=京小超兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true +#东东超市兑换奖品 +0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true ====================Loon================= [Script] -cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 +cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=东东超市兑换奖品 ===================Surge================== -京小超兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js +东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js ============小火箭========= -京小超兑换奖品 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, cronexpr="0 0 0 * * *", timeout=3600, enable=true +东东超市兑换奖品 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, cronexpr="0 0 0 * * *", timeout=3600, enable=true */ -const $ = new Env('京小超兑换奖品'); +const $ = new Env('东东超市兑换奖品'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; @@ -317,7 +317,7 @@ function smtgHome() { $.get(taskUrl('smtg_home'), (err, resp, data) => { try { if (err) { - console.log('\n京小超兑换奖品: API查询请求失败 ‼️‼️') + console.log('\n东东超市兑换奖品: API查询请求失败 ‼️‼️') console.log(JSON.stringify(err)); } else { if (safeGet(data)) { diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 49741e28..0242389c 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -709,7 +709,7 @@ }, { "id": "jd_SuperMarket", - "name": "京小超", + "name": "东东超市", "keys": [], "settings": [ { @@ -745,7 +745,7 @@ "repo": "https://github.com/LXK9301/jd_scripts", "scripts":[ { - "name" : "京小超", + "name" : "东东超市", "script" : "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js" } ], @@ -756,11 +756,11 @@ }, { "id": "jd_SuperMarket_Reawrd", - "name": "京小超兑换奖品", + "name": "东东超市兑换奖品", "keys": [ "coinToBeans" ], - "desc": "默认不兑换奖品,例如:兑换20京豆输入20,兑换1000京豆输入1000,兑换 柠檬果香洗手液, 输入 柠檬果香洗手液。其他详细的奖品名称去京小超活动页面查看", + "desc": "默认不兑换奖品,例如:兑换20京豆输入20,兑换1000京豆输入1000,兑换 柠檬果香洗手液, 输入 柠檬果香洗手液。其他详细的奖品名称去东东超市活动页面查看", "settings": [ { "id": "jdSuperMarketRewardNotify", @@ -781,7 +781,7 @@ "repo": "https://github.com/LXK9301/jd_scripts", "scripts": [ { - "name" : "京小超兑换奖品", + "name" : "东东超市兑换奖品", "script" : "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js" } ], diff --git a/serverless.yml b/serverless.yml index 9eb4f54f..f75fa341 100644 --- a/serverless.yml +++ b/serverless.yml @@ -22,7 +22,7 @@ inputs: cronExpression: "0 0 0 * * * *" enable: true argument: jd_bean_sign - - timer: #京小超兑换奖品 #摇京豆 #京东汽车 #京东汽车兑换 + - timer: #东东超市兑换奖品 #摇京豆 #京东汽车 #京东汽车兑换 parameters: name: jd_blueCoin_jd_club_lottery_car_car_exchange cronExpression: "0 0 0 * * * *" diff --git a/update_task.sh b/update_task.sh index 950ade26..093c5409 100644 --- a/update_task.sh +++ b/update_task.sh @@ -37,7 +37,7 @@ do grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe 's|(.+\w)|\1",|' | perl -pe 's|^| \"|' >> $FileQx grep -E "type.+cronexp.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge fi - grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|">> $FileLoon + grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|" >> $FileLoon grep -E "script-(request|response)-.+https://raw\.githubusercontent\.com" $file | perl -pe "s|(.+)|\n# $TaskName\n\1|" >> $FileQxRe grep -E "type=http-(request|response).+pattern.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge done From ae9fa6b4c09c8c0d9d2e18cb84f703e95e87e6d3 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 21 Jan 2021 20:02:30 +0800 Subject: [PATCH 0957/1259] =?UTF-8?q?=E5=86=8D=E5=A2=9E=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=B8=AAUA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- USER_AGENTS.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 433076fc..29d3866c 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -18,7 +18,8 @@ const USER_AGENTS = [ "jdapp;android;9.3.6;9;D256434363461-6531383831656;network/wifi;model/MI 6;addressid/856540565;aid/f0ee06ebc7f6e98f;oaid/7fed3628fe652595;osVer/28;appBuild/86533;psn/V0yRdEdRydfYb9nackt2CQ==|3683;psq/0;adk/;ads/;pap/JA2015_311210|9.3.6|ANDROID 9;osv/9;pv/3513.0;jdv/0|kong|t_1000089893_|tuiguang|72e393e7b2474bc6a2369615f1b262e5|1610986845;ref/;partner/jingdong;apprpd/;eufv/1;Mozilla/5.0 (Linux; Android 9; MI 6 Build/PKQ1.190118.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36", "jdapp;android;9.3.6;11;2353632303533303-4613731326261636;network/wifi;model/Redmi K30 5G;addressid/137593713;aid/25620530d171bbac;oaid/bfa9b0b7eca0475e;osVer/30;appBuild/86560;psn/oAPbHSW3fqrTmO6vGi1h73hJ0XCn9xEB|2846;psq/6;adk/;ads/;pap/JA2015_311210|9.3.6|ANDROID 11;osv/11;pv/2763.63;jdv/0|kong|t_1000089893_157_0_184__6fe1ce2ddf1f49a0|jingfen|249389d15ac843dbbbec52ce919891fb|1610851978;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/xiaomi001;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K30 5G Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045511 Mobile Safari/537.36", "jdapp;iPhone;4.0.0;11.4;9ed0d69aaf190b5b4277868d2c0470fe1f787080;network/wifi;model/iPhone8,1;appBuild/100401;ADID/64199E21-4ECD-4217-BD79-0C4D82033FD8;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/73;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15F79", - "jdapp;android;9.3.0;10;3b78ecc3f490c7ba;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/85770;psn/3b78ecc3f490c7ba|599;psq/2;uid/3b78ecc3f490c7ba;adk/;ads/;pap/JA2015_311210|9.3.0|ANDROID 10;osv/10;pv/580.2;jdv/0|kong|t_1000089893_|tuiguang|e21138bd89c445d98a2cc2e375c37b4f|1606572739;ref/com.jd.lib.personal.view.fragment.JDPersonalFragment;partner/jingdong;apprpd/MyJD_Main;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" + "jdapp;android;9.3.0;10;3b78ecc3f490c7ba;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/85770;psn/3b78ecc3f490c7ba|599;psq/2;uid/3b78ecc3f490c7ba;adk/;ads/;pap/JA2015_311210|9.3.0|ANDROID 10;osv/10;pv/580.2;jdv/0|kong|t_1000089893_|tuiguang|e21138bd89c445d98a2cc2e375c37b4f|1606572739;ref/com.jd.lib.personal.view.fragment.JDPersonalFragment;partner/jingdong;apprpd/MyJD_Main;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", + "jdapp;android;9.3.5;10;3326738356363633-6643930336732616;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/86390;psn/+pXCRL9fJyKJUUyy3COtPXYNfar5tX5i|2154;psq/2;adk/;ads/;pap/JA2015_311210|9.3.5|ANDROID 10;osv/10;pv/1473.2;jdv/0|kong|t_1000170135|tuiguang|notset|1607913972208|1607913972;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/jingdong;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" ] /** * 生成随机数字 From 961509e728999af0698ec5333cf296d19f6d75e5 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Thu, 21 Jan 2021 20:11:01 +0800 Subject: [PATCH 0958/1259] Update update_ios_task.yml --- .github/workflows/update_ios_task.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/update_ios_task.yml b/.github/workflows/update_ios_task.yml index f34a294c..9c10234f 100644 --- a/.github/workflows/update_ios_task.yml +++ b/.github/workflows/update_ios_task.yml @@ -5,6 +5,8 @@ on: workflow_dispatch: schedule: - cron: '0 4,16 * * *' + repository_dispatch: + types: update_ios_task #push: # branches: [ master ] jobs: From ab72d3d011cc841dd4fe766da0952204225c4da7 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Thu, 21 Jan 2021 12:13:57 +0000 Subject: [PATCH 0959/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=AE=A2=E9=98=85=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 +++ Surge/lxk0301_Task.sgmodule.sgmodule | 1 + 2 files changed, 4 insertions(+) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 54ec32fd..4ff283c5 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -40,6 +40,9 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京喜工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 +# 京东家庭号 +cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 + # 集鞭炮赢京豆 cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 4724ce81..37456155 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -19,6 +19,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js +京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js 集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js From 9050a639fc141b30c01703628aa8172f5e17dee8 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Thu, 21 Jan 2021 13:19:42 +0000 Subject: [PATCH 0960/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=AE=A2=E9=98=85=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 4 ++-- QuantumultX/lxk0301_gallery.json | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 4ff283c5..1eaab8f8 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -13,8 +13,8 @@ cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_script # 领京豆额外奖励 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 -# 京小超兑换奖品 -cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=京小超兑换奖品 +# 东东超市兑换奖品 +cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=东东超市兑换奖品 # 口袋书店 cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 5f47b98d..829a257e 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -4,7 +4,7 @@ "task": [ "2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", - "0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=京小超兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", + "0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 37456155..931ad916 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -10,7 +10,7 @@ [Script] 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js -京小超兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js +东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js 京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js From 4385e8d92e6822e16db3efa2f764704022357a2e Mon Sep 17 00:00:00 2001 From: YaoYufeng Date: Thu, 21 Jan 2021 22:52:35 +0800 Subject: [PATCH 0961/1259] Update USER_AGENTS.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加useragent --- USER_AGENTS.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/USER_AGENTS.js b/USER_AGENTS.js index 29d3866c..f229320c 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -19,7 +19,8 @@ const USER_AGENTS = [ "jdapp;android;9.3.6;11;2353632303533303-4613731326261636;network/wifi;model/Redmi K30 5G;addressid/137593713;aid/25620530d171bbac;oaid/bfa9b0b7eca0475e;osVer/30;appBuild/86560;psn/oAPbHSW3fqrTmO6vGi1h73hJ0XCn9xEB|2846;psq/6;adk/;ads/;pap/JA2015_311210|9.3.6|ANDROID 11;osv/11;pv/2763.63;jdv/0|kong|t_1000089893_157_0_184__6fe1ce2ddf1f49a0|jingfen|249389d15ac843dbbbec52ce919891fb|1610851978;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/xiaomi001;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K30 5G Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045511 Mobile Safari/537.36", "jdapp;iPhone;4.0.0;11.4;9ed0d69aaf190b5b4277868d2c0470fe1f787080;network/wifi;model/iPhone8,1;appBuild/100401;ADID/64199E21-4ECD-4217-BD79-0C4D82033FD8;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/73;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15F79", "jdapp;android;9.3.0;10;3b78ecc3f490c7ba;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/85770;psn/3b78ecc3f490c7ba|599;psq/2;uid/3b78ecc3f490c7ba;adk/;ads/;pap/JA2015_311210|9.3.0|ANDROID 10;osv/10;pv/580.2;jdv/0|kong|t_1000089893_|tuiguang|e21138bd89c445d98a2cc2e375c37b4f|1606572739;ref/com.jd.lib.personal.view.fragment.JDPersonalFragment;partner/jingdong;apprpd/MyJD_Main;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", - "jdapp;android;9.3.5;10;3326738356363633-6643930336732616;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/86390;psn/+pXCRL9fJyKJUUyy3COtPXYNfar5tX5i|2154;psq/2;adk/;ads/;pap/JA2015_311210|9.3.5|ANDROID 10;osv/10;pv/1473.2;jdv/0|kong|t_1000170135|tuiguang|notset|1607913972208|1607913972;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/jingdong;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36" + "jdapp;android;9.3.5;10;3326738356363633-6643930336732616;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/86390;psn/+pXCRL9fJyKJUUyy3COtPXYNfar5tX5i|2154;psq/2;adk/;ads/;pap/JA2015_311210|9.3.5|ANDROID 10;osv/10;pv/1473.2;jdv/0|kong|t_1000170135|tuiguang|notset|1607913972208|1607913972;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/jingdong;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", + "jdapp;android;9.1.4;10;f0798926f10dc8d8;network/wifi;model/ONEPLUS A6000;addressid/2082421393;aid/f0798926f10dc8d8;oaid/;osVer/29;appBuild/84555;partner/oppo;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; ONEPLUS A6000 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045224 Mobile Safari/537.36" ] /** * 生成随机数字 From d532b9e2ed72edaa51e24b954f507dd960a3aea2 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Fri, 22 Jan 2021 07:49:12 +0800 Subject: [PATCH 0962/1259] Delete qqreadOpenBox.js --- backUp/qqreadOpenBox.js | 293 ---------------------------------------- 1 file changed, 293 deletions(-) delete mode 100644 backUp/qqreadOpenBox.js diff --git a/backUp/qqreadOpenBox.js b/backUp/qqreadOpenBox.js deleted file mode 100644 index 4b87601f..00000000 --- a/backUp/qqreadOpenBox.js +++ /dev/null @@ -1,293 +0,0 @@ -/* -LXK9301修改自用,单独开宝箱 -****************************************************************************** -本人github地址 https://github.com/ziye12/JavaScript -转载请备注个名字,谢谢 - -1.5 调整宝箱策略,20分钟运行一次就行 -*/ -const $ = Env(`企鹅读书开宝箱`) -const notify = $.isNode() ? require("../sendNotify") : ""; -const logs = 1; //0为关闭日志,1为开启 - -let task, tz = '', kz, config = '', CASH = '', COOKIES_SPLIT = '' ; -let dk,ljyd,sp,ydrw,wktime; - -let qqreadbodyVal = ``; -let qqreadtimeurlVal = ``; -let qqreadtimeheaderVal = ``; -let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); -//云函数使用在下面填写 -let QQ_READ_COOKIES = [ - { - "qqreadbodyVal": ``, - "qqreadtimeurlVal": ``, - "qqreadtimeheaderVal": `` - } -] - -!(async () => { - await getNodeCookie(); - await open_box(); -})() -.catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}) -.finally(() => { - $.done(); -}) - -async function open_box() { - for (let i = 0; i < QQ_READ_COOKIES.length; i++) { - $.log(`\n*************开始QQ账号${i + 1}**************\n`); - // tz = ''; - $.isLogin = true; - if (!QQ_READ_COOKIES[i]["qqreadbodyVal"] || !QQ_READ_COOKIES[i]['qqreadtimeurlVal'] || !QQ_READ_COOKIES[i]['qqreadtimeheaderVal']) { - $.log(`账号${i + 1}暂未提供脚本执行所需的cookie`); - continue - } - qqreadbodyVal = QQ_READ_COOKIES[i]['qqreadbodyVal']; - qqreadtimeurlVal = QQ_READ_COOKIES[i]['qqreadtimeurlVal']; - qqreadtimeheaderVal = QQ_READ_COOKIES[i]['qqreadtimeheaderVal']; - await qqreadinfo();//用户名 - if (!$.isLogin) { - $.log(`企鹅阅读账号${i + 1} cookie过期`); - if (nowTimes.getHours() % 12 === 0 && (nowTimes.getMinutes() > 0 && nowTimes.getMinutes() <= 15)) { - await notify.sendNotify(`企鹅阅读账号${i + 1} cookie过期`, '请及时更新 QQ_READ_TIME_HEADER_VAL') - } - continue - } - //单独开宝箱 - if (nowTimes.getHours() === 0 && (nowTimes.getMinutes() >= 0 && nowTimes.getMinutes() <= 59)) { - await qqreadtrack();//更新 - } - await qqreadtask();//任务列表 - if (task.data && ljyd.doneFlag == 0) { - await qqreaddayread();//阅读任务 - } - if (task.data && task.data.treasureBox.timeInterval <= 10000) { - await $.wait(task.data.treasureBox.timeInterval) - await qqreadbox();//宝箱 - } - if (task.data && task.data.treasureBox.timeInterval - 600000 <= 10000) { - await $.wait(task.data.treasureBox.timeInterval - 600000) - await qqreadbox2();//宝箱翻倍 - } - } - await showmsg();//通知 -} - - -function showmsg() { - return new Promise(async resolve => { - if (nowTimes.getHours() === 23 && (nowTimes.getMinutes() > 0 && nowTimes.getMinutes() <= 15)) { - await notify.sendNotify($.name, tz); - } - $.msg($.name, "", tz); - resolve() - }) -} - - -// 更新 -function qqreadtrack() { - return new Promise((resolve, reject) => { - const body = qqreadbodyVal.replace(new RegExp(/"dis":[0-9]{13}/), `"dis":${new Date().getTime()}`) - const toqqreadtrackurl = { - url: "https://mqqapi.reader.qq.com/log/v4/mqq/track", - headers: JSON.parse(qqreadtimeheaderVal), - body: body, - timeout: 60000, - }; - $.post(toqqreadtrackurl, (error, response, data) => { - if (logs) $.log(`更新: ${data}`); - let track = JSON.parse(data); - const date = new Date(JSON.parse(qqreadbodyVal).dataList[0].dis) - let Y = date.getFullYear() + '-'; - let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; - let D = date.getDate() + ' '; - let h = date.getHours() + ':'; - let m = date.getMinutes() + ':'; - let s = date.getSeconds(); - let time = Y + M + D + h + m + s; - tz += `【数据更新】:更新${track.msg},\n【cookie获取时间】${time}\n`; - kz += `【数据更新】:更新${track.msg},\n【cookie获取时间】${time}\n`; - resolve(); - }); - }); -} -// 用户名 -function qqreadinfo() { - return new Promise((resolve, reject) => { - const toqqreadinfourl = { - url: "https://mqqapi.reader.qq.com/mqq/user/init", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadinfourl, (error, response, data) => { - if (logs) $.log(`用户名: ${data}`); - const info = JSON.parse(data); - if (info.code === 0) { - $.isLogin = info.data['isLogin']; - if (!$.isLogin) { - resolve(); - return - } - } - kz += `\n========== 【${info.data.user.nickName}】 ==========\n`; - tz += `\n========== 【${info.data.user.nickName}】 ==========\n`; - - resolve(); - }); - }); -} -// 任务列表 -function qqreadtask() { - return new Promise((resolve, reject) => { - const toqqreadtaskurl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadtaskurl, (error, response, data) => { - if (logs) $.log(`任务列表: ${data}`); - task = JSON.parse(data); - dk = task.data.taskList.find(item => item.type === 200); - ljyd = task.data.taskList.find(item => item.type === 210); - ydrw = task.data.taskList.find(item => item.type === 220); - sp = task.data.taskList.find(item => item.type === 230); - - if (task.data.invite.nextInviteConfig) { - tz += - `【现金余额】:${(task.data.user.amount / 10000).toFixed(2)}元\n` + - `【第${task.data.invite.issue}期】:时间${task.data.invite.dayRange}\n` + - ` 已邀请${task.data.invite.inviteCount}人,再邀请${task.data.invite.nextInviteConfig.count}人获得${task.data.invite.nextInviteConfig.amount}金币\n` + - `【${dk.title}】:${dk.amount}金币,${dk.actionText}\n` + - `【${ljyd.title}】:${ljyd.amount}金币,${ljyd.actionText}\n` + - `【${ydrw.title}】:${ydrw.amount}金币,${ydrw.actionText}\n` + - `【${sp.title}】:${sp.amount}金币,${sp.actionText}\n` + - `【宝箱任务${task.data.treasureBox.count + 1}】:${task.data.treasureBox.timeInterval / 1000 - }秒后领取\n` + - `【${task.data.fans.title}】:${task.data.fans.fansCount}个好友,${task.data.fans.todayAmount}金币\n`; - } - - kz += - `【现金余额】:${(task.data.user.amount / 10000).toFixed(2)}元\n` + - `【宝箱任务${task.data.treasureBox.count + 1}】:${task.data.treasureBox.timeInterval / 1000 - }秒后领取\n` + - `【已开宝箱】:${task.data.treasureBox.count}个\n`; - - resolve(); - }); - }); -} -// 每日阅读 -function qqreaddayread() { - return new Promise((resolve, reject) => { - const toqqreaddayreadurl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreaddayreadurl, (error, response, data) => { - if (logs) $.log(`每日阅读: ${data}`); - let dayread = JSON.parse(data); - if (dayread.code == 0) { - tz += `【每日阅读】:获得${dayread.data.amount}金币\n`; - kz += `【每日阅读】:获得${dayread.data.amount}金币\n`; - } - resolve(); - }); - }); -} -// 宝箱奖励 -function qqreadbox() { - return new Promise((resolve, reject) => { - const toqqreadboxurl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadboxurl, (error, response, data) => { - if (logs) $.log(`宝箱奖励: ${data}`); - let box = JSON.parse(data); - if (box.code == 0 && box.data.amount) { - tz += `【宝箱奖励${box.data.count}】:获得${box.data.amount}金币\n`; - kz += `【宝箱奖励${box.data.count}】:获得${box.data.amount}金币\n`; - } - - resolve(); - }); - }); -} -// 宝箱奖励翻倍 -function qqreadbox2() { - return new Promise((resolve, reject) => { - const toqqreadbox2url = { - url: - "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadbox2url, (error, response, data) => { - if (logs) $.log(`宝箱奖励翻倍: ${data}`); - let box2 = JSON.parse(data); - if (box2.code == 0 && box2.data.amount) { - tz += `【宝箱翻倍】:获得${box2.data.amount}金币\n`; - kz += `【宝箱翻倍】:获得${box2.data.amount}金币\n`; - } - resolve(); - }); - }); -} -function getNodeCookie() { - if ($.isNode()) { - let QQ_READ_BODY_VAL = [], QQ_READ_TIME_URL_VAL = [], QQ_READ_TIME_HEADER_VAL = []; - if (process.env.QQ_READ_HEADER_VAL) { - if (process.env.QQ_READ_HEADER_VAL.indexOf('@') > -1) { - console.log(`您的QQ_READ_HEADER_VAL选择的是用@隔开\n`) - QQ_READ_BODY_VAL = process.env.QQ_READ_HEADER_VAL.split('@'); - } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { - console.log(`您的QQ_READ_HEADER_VAL选择的是用换行隔开\n`) - QQ_READ_BODY_VAL = process.env.QQ_READ_HEADER_VAL.split('\n'); - } else { - QQ_READ_BODY_VAL = [process.env.QQ_READ_HEADER_VAL]; - } - } - if (process.env.QQ_READ_TIME_URL_VAL) { - if (process.env.QQ_READ_TIME_URL_VAL.indexOf('@') > -1) { - console.log(`您的QQ_READ_TIME_URL_VAL选择的是用@隔开\n`) - QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('@'); - } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { - console.log(`您的QQ_READ_TIME_URL_VAL选择的是用换行隔开\n`) - QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('\n'); - } else { - QQ_READ_TIME_URL_VAL = [process.env.QQ_READ_TIME_URL_VAL]; - } - // QQ_READ_TIME_URL_VAL = [...new Set(QQ_READ_TIME_URL_VAL)] - } - if (process.env.QQ_READ_TIME_HEADER_VAL) { - if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('@') > -1) { - console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用@隔开\n`) - QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('@'); - } else if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('\n') > -1) { - console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用换行隔开\n`) - QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('\n'); - } else { - QQ_READ_TIME_HEADER_VAL = [process.env.QQ_READ_TIME_HEADER_VAL]; - } - // QQ_READ_TIME_HEADER_VAL = [...new Set(QQ_READ_TIME_HEADER_VAL)] - } - if (QQ_READ_BODY_VAL && QQ_READ_BODY_VAL.length > 0) QQ_READ_COOKIES = []; - for (let i = 0; i < QQ_READ_BODY_VAL.length; i ++) { - QQ_READ_COOKIES.push({ - "qqreadbodyVal": QQ_READ_BODY_VAL[i] || "", - "qqreadtimeurlVal": QQ_READ_TIME_URL_VAL[i] || "", - "qqreadtimeheaderVal": QQ_READ_TIME_HEADER_VAL[i] || "" - }) - } - // console.log(`${JSON.stringify(QQ_READ_COOKIES)}`) - } -} -// 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 From beba56bb6ff44f979830d08a82f08ea9c6f22ad9 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Fri, 22 Jan 2021 07:49:28 +0800 Subject: [PATCH 0963/1259] Delete qqread.js --- backUp/qqread.js | 643 ----------------------------------------------- 1 file changed, 643 deletions(-) delete mode 100644 backUp/qqread.js diff --git a/backUp/qqread.js b/backUp/qqread.js deleted file mode 100644 index 855a0780..00000000 --- a/backUp/qqread.js +++ /dev/null @@ -1,643 +0,0 @@ -/* -****************************************************************************** - 改用,nodejs云端专用。可N个账号。by;LXK9301 - 一个账号需三个环境变量/secret - 分别为 QQ_READ_HEADER_VAL QQ_READ_TIME_URL_VAL QQ_READ_TIME_HEADER_VAL - 多个账号 对应三个环境变量/secret 使用@符号或者换行隔开 - iOS可使用BoxJs可使用此订阅修改复制所需的环境变量 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/mySelf.boxjs.json - 环境变量与BoxJs里面对应关系 - QQ_READ_HEADER_VAL ------》 qqreadbodyVal - QQ_READ_TIME_URL_VAL ------》 qqreadtimeurl - QQ_READ_TIME_HEADER_VAL ------》 qqreadtimehd - ***************************************************************************************************************** -ziye -本人github地址 https://github.com/ziye12/JavaScript -转载请备注个名字,谢谢 - -⚠️宝箱奖励为20分钟一次,自己根据情况设置定时,建议设置11分钟一次 - -hostname=mqqapi.reader.qq.com -############## 圈x -#企鹅读书获取更新body -https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track url script-request-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js -#企鹅读书获取时长cookie -https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js -############## loon -#企鹅读书获取更新body -http-request https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js,requires-body=true, tag=企鹅读书获取更新body -#企鹅读书获取时长cookie -http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js, requires-header=true, tag=企鹅读书获取时长cookie -############## surge -#企鹅读书获取更新body -企鹅读书获取更新body = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js, script-update-interval=0 -#企鹅读书获取时长cookie -企鹅读书获取时长cookie = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/qqread.js - - - -*/ - -const jsname = '企鹅读书' -const $ = Env(jsname) -let task = '', config, ssr2 = '', wktime, day = 0; -console.log(`\n========= 脚本执行时间(TM):${new Date(new Date().getTime() + 0 * 60 * 60 * 1000).toLocaleString('zh', {hour12: false})} =========\n`) - -const notify = $.isNode() ? require('../sendNotify') : ''; - -const logs = 1; //0为关闭日志,1为开启 - -const TIME = 30//单次时长上传限制,默认5分钟 -const maxtime = 20//每日上传时长限制,默认20小时 -const wktimess = 1200//周奖励领取标准,默认1200分钟 -let tz = '',kz; -const qqreadbodyValKey = 'qqreadbodyVal' -let qqreadbodyVal = $.getdata(qqreadbodyValKey) - - -const qqreadtimeurlKey = 'qqreadtimeurl' -let qqreadtimeurlVal = $.getdata(qqreadtimeurlKey) - -const qqreadtimeheaderKey = 'qqreadtimehd' -let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey) -let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); -//云函数使用在下面填写 -let QQ_READ_COOKIES = [ - { - "qqreadbodyVal": ``, - "qqreadtimeurlVal": ``, - "qqreadtimeheaderVal": `` - } -] -function getNodeCookie() { - if ($.isNode()) { - let QQ_READ_BODY_VAL = [], QQ_READ_TIME_URL_VAL = [], QQ_READ_TIME_HEADER_VAL = []; - if (process.env.QQ_READ_HEADER_VAL) { - if (process.env.QQ_READ_HEADER_VAL.indexOf('@') > -1) { - console.log(`您的QQ_READ_HEADER_VAL选择的是用@隔开\n`) - QQ_READ_BODY_VAL = process.env.QQ_READ_HEADER_VAL.split('@'); - } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { - console.log(`您的QQ_READ_HEADER_VAL选择的是用换行隔开\n`) - QQ_READ_BODY_VAL = process.env.QQ_READ_HEADER_VAL.split('\n'); - } else { - QQ_READ_BODY_VAL = [process.env.QQ_READ_HEADER_VAL]; - } - // QQ_READ_HEADER_VAL = [...new Set(QQ_READ_HEADER_VAL)] - // $.log(QQ_READ_HEADER_VAL) - } - if (process.env.QQ_READ_TIME_URL_VAL) { - if (process.env.QQ_READ_TIME_URL_VAL.indexOf('@') > -1) { - console.log(`您的QQ_READ_TIME_URL_VAL选择的是用@隔开\n`) - QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('@'); - } else if (process.env.QQ_READ_HEADER_VAL.indexOf('\n') > -1) { - console.log(`您的QQ_READ_TIME_URL_VAL选择的是用换行隔开\n`) - QQ_READ_TIME_URL_VAL = process.env.QQ_READ_TIME_URL_VAL.split('\n'); - } else { - QQ_READ_TIME_URL_VAL = [process.env.QQ_READ_TIME_URL_VAL]; - } - // QQ_READ_TIME_URL_VAL = [...new Set(QQ_READ_TIME_URL_VAL)] - } - if (process.env.QQ_READ_TIME_HEADER_VAL) { - if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('@') > -1) { - console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用@隔开\n`) - QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('@'); - } else if (process.env.QQ_READ_TIME_HEADER_VAL.indexOf('\n') > -1) { - console.log(`您的QQ_READ_TIME_HEADER_VAL选择的是用换行隔开\n`) - QQ_READ_TIME_HEADER_VAL = process.env.QQ_READ_TIME_HEADER_VAL.split('\n'); - } else { - QQ_READ_TIME_HEADER_VAL = [process.env.QQ_READ_TIME_HEADER_VAL]; - } - // QQ_READ_TIME_HEADER_VAL = [...new Set(QQ_READ_TIME_HEADER_VAL)] - } - if (QQ_READ_BODY_VAL && QQ_READ_BODY_VAL.length > 0) QQ_READ_COOKIES = []; - for (let i = 0; i < QQ_READ_BODY_VAL.length; i ++) { - QQ_READ_COOKIES.push({ - "qqreadbodyVal": QQ_READ_BODY_VAL[i] || "", - "qqreadtimeurlVal": QQ_READ_TIME_URL_VAL[i] || "", - "qqreadtimeheaderVal": QQ_READ_TIME_HEADER_VAL[i] || "" - }) - } - // console.log(`${JSON.stringify(QQ_READ_COOKIES)}`) - } -} -//CK运行 -let isGetCookie = typeof $request !== 'undefined' -if (isGetCookie) { - GetCookie() -} else { - !(async () => { - await getNodeCookie(); - await QQ_READ(); - // await all(); - })() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -} - -function GetCookie() { - if ($request.body && $request.body.indexOf("bookDetail_bottomBar_read_C") >= 0 && $request.body.indexOf("bookRead_show_I") >= 0 && $request.body.indexOf("topBar_left_back_C") < 0 && $request.body.indexOf("bookRead_dropOut_shelfYes_C") < 0) { - const qqreadbodyVal = $request.body; - if (qqreadbodyVal) $.setdata(qqreadbodyVal, qqreadbodyValKey); - $.log(`[${jsname}] 获取更新body: 成功,qqreadbodyVal: ${qqreadbodyVal}`); - $.msg(jsname, `获取更新body: 成功🎉`, ``); - } - if ($request && $request.url.indexOf("addReadTimeWithBid?") >= 0) { - const qqreadtimeurlVal = $request.url - if (qqreadtimeurlVal) $.setdata(qqreadtimeurlVal, qqreadtimeurlKey) - $.log(`[${jsname}] 获取阅读时长url: 成功,qqreadtimeurlVal: ${qqreadtimeurlVal}`) - - const qqreadtimeheaderVal = JSON.stringify($request.headers) - if (qqreadtimeheaderVal) $.setdata(qqreadtimeheaderVal, qqreadtimeheaderKey) - $.log(`[${jsname}] 获取时长header: 成功,qqreadtimeheaderVal: ${qqreadtimeheaderVal}`) - $.msg(qqreadtimeheaderKey, `获取阅读时长cookie: 成功🎉`, ``) - } - $.done(); -} -async function QQ_READ() { - for (let i = 0; i < QQ_READ_COOKIES.length; i++) { - $.log(`\n*************开始QQ账号${i + 1}**************\n`); - $.isLogin = true; - if (!QQ_READ_COOKIES[i]["qqreadbodyVal"] || !QQ_READ_COOKIES[i]['qqreadtimeurlVal'] || !QQ_READ_COOKIES[i]['qqreadtimeheaderVal']) { - $.log(`账号${i + 1}暂未提供脚本执行所需的cookie`); - continue - } - qqreadbodyVal = QQ_READ_COOKIES[i]['qqreadbodyVal']; - qqreadtimeurlVal = QQ_READ_COOKIES[i]['qqreadtimeurlVal']; - qqreadtimeheaderVal = QQ_READ_COOKIES[i]['qqreadtimeheaderVal']; - await qqreadinfo();//用户名 - if (!$.isLogin) { - $.log(`企鹅阅读账号${i + 1} cookie过期`); - if (nowTimes.getHours() % 12 === 0 && (nowTimes.getMinutes() > 0 && nowTimes.getMinutes() <= 15)) { - await notify.sendNotify(`企鹅阅读账号${i + 1} cookie过期`, '请及时更新 QQ_READ_TIME_HEADER_VAL') - } - continue - } - await qqreadwktime();//周时长查询 - await qqreadtrack(); - await qqreadconfig();//时长查询 - await qqreadtask();//任务列表 - if (config.data.pageParams.todayReadSeconds / 3600 <= maxtime) { - await qqreadtime();// 上传时长 - } - await qqreadpick();//领周时长奖励 - if (task.data.taskList[0].doneFlag == 0) { - await qqreaddayread();//阅读任务 - } - if (task.data.taskList[1].doneFlag == 0) { - await $.wait(5000) - await qqreadssr1();//阅读金币1 - } - if (task.data.taskList[2].doneFlag == 0) { - await qqreadsign();//金币签到 - await qqreadtake();//阅豆签到 - } - if (task.data.taskList[3].doneFlag == 0) { - await qqreadvideo();//视频奖励 - } - if (task.data.treasureBox.doneFlag == 0) { - await qqreadbox();//宝箱 - } - if (task.data.taskList[1].doneFlag == 0) { - await $.wait(5000) - await qqreadssr2();//阅读金币2 - } - if (task.data.taskList[2].doneFlag == 0) { - await qqreadsign2();//金币签到 - } - - if (task.data.treasureBox.videoDoneFlag == 0) { - await qqreadbox2();//宝箱翻倍 - } - if (task.data.taskList[1].doneFlag == 0) { - await $.wait(5000) - await qqreadssr3();//阅读金币3 - } - if (task.data.user.amount >= 100000) { - await qqreadwithdraw(); - } - } - await showmsg();//通知 -} -function showmsg() { - return new Promise(async resolve => { - if (nowTimes.getHours() === 22 && (nowTimes.getMinutes() > 45 && nowTimes.getMinutes() <= 59)) { - await notify.sendNotify(jsname, tz); - } - $.msg(jsname, "", tz); - resolve() - }) -} -//提现 -function qqreadwithdraw() { - return new Promise((resolve, reject) => { - const toqqreadwithdrawurl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/withdraw?amount=100000", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.post(toqqreadwithdrawurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 提现: ${data}`); - let withdraw = JSON.parse(data); - if (withdraw.data.code == 0) - tz += `【现金提现】:成功提现10元\n`; - kz += `【现金提现】:成功提现10元\n`; - resolve(); - }); - }); -} -// 任务列表 -function qqreadtask() { - return new Promise((resolve, reject) => { - const toqqreadtaskurl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=", - headers: JSON.parse(qqreadtimeheaderVal), - - timeout: 60000, - }; - $.get(toqqreadtaskurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 任务列表: ${data}`); - task = JSON.parse(data); - kz += - `【现金余额】:${(task.data.user.amount / 10000).toFixed(2)}元\n` + - `【已开宝箱】:${task.data.treasureBox.count}个\n`; - - tz += - `【现金余额】:${(task.data.user.amount / 10000).toFixed(2)}元\n` + - `【第${task.data.invite.issue}期】:时间${task.data.invite.dayRange}\n` + - ` 已邀请${task.data.invite.inviteCount}人,再邀请${task.data.invite.nextInviteConfig.count}人获得${task.data.invite.nextInviteConfig.amount}金币\n` + - `【${task.data.taskList[0].title}】:${task.data.taskList[0].amount}金币,${task.data.taskList[0].actionText}\n` + - `【${task.data.taskList[1].title}】:${task.data.taskList[1].amount}金币,${task.data.taskList[1].actionText}\n` + - `【${task.data.taskList[2].title}】:${task.data.taskList[2].amount}金币,${task.data.taskList[2].actionText}\n` + - `【${task.data.taskList[3].title}】:${task.data.taskList[3].amount}金币,${task.data.taskList[3].actionText}\n` + - `【宝箱任务${task.data.treasureBox.count + 1}】:${ - task.data.treasureBox.tipText - }\n` + - `【${task.data.fans.title}】:${task.data.fans.fansCount}个好友,${task.data.fans.todayAmount}金币\n`; - - resolve(); - }); - }); -} - - -// 更新 -function qqreadtrack() { - return new Promise((resolve, reject) => { - const body = qqreadbodyVal.replace(new RegExp(/"dis":[0-9]{13}/), `"dis":${new Date().getTime()}`) - const toqqreadtrackurl = { - url: "https://mqqapi.reader.qq.com/log/v4/mqq/track", - headers: JSON.parse(qqreadtimeheaderVal), - body: body, - timeout: 60000, - }; - $.post(toqqreadtrackurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 更新: ${data}`); - let track = JSON.parse(data); - tz += `【数据更新】:更新${track.msg}\n`; - resolve(); - }); - }); -} - - -// 用户名 -function qqreadinfo() { - return new Promise((resolve, reject) => { - const toqqreadinfourl = { - url: "https://mqqapi.reader.qq.com/mqq/user/init", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadinfourl, (error, response, data) => { - if (logs) $.log(`${jsname}, 用户名: ${data}`); - let info = JSON.parse(data); - if (info.code === 0) { - $.isLogin = info.data['isLogin']; - if (!$.isLogin) { - resolve(); - return - } - } - kz += `\n========== 【${info.data.user.nickName}】 ==========\n`; - tz += `\n========== 【${info.data.user.nickName}】 ==========\n`; - - resolve(); - }); - }); -} - -// 阅豆签到 -function qqreadtake() { - return new Promise((resolve, reject) => { - const toqqreadtakeurl = { - url: "https://mqqapi.reader.qq.com/mqq/sign_in/user", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.post(toqqreadtakeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅豆签到: ${data}`); - let take = JSON.parse(data); - if (take.data.takeTicket > 0) { - tz += `【阅豆签到】:获得${take.data.takeTicket}豆\n`; - } - - resolve(); - }); - }); -} - -// 阅读时长任务 -function qqreadconfig() { - return new Promise((resolve, reject) => { - const toqqreadconfigurl = { - url: - "https://mqqapi.reader.qq.com/mqq/page/config?router=%2Fpages%2Fbook-read%2Findex&options=", - headers: JSON.parse(qqreadtimeheaderVal), - }; - $.get(toqqreadconfigurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅读时长查询: ${data}`); - config = JSON.parse(data); - if (config.code == 0) - tz += `【时长查询】:今日阅读${( - config.data.pageParams.todayReadSeconds / 60 - ).toFixed(0)}分钟\n`; - - resolve(); - }); - }); -} - -// 阅读时长 -function qqreadtime() { - return new Promise((resolve, reject) => { - const toqqreadtimeurl = { - url: qqreadtimeurlVal.replace(/readTime=/g, `readTime=${TIME}`), - headers: JSON.parse(qqreadtimeheaderVal), - }; - $.get(toqqreadtimeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅读时长qqreadtime: ${data}`); - let time = JSON.parse(data); - if (time.code == 0) tz += `【阅读时长】:上传${TIME / 6}分钟\n`; - - resolve(); - }); - }); -} - -// 阅读金币1 -function qqreadssr1() { - return new Promise((resolve, reject) => { - const toqqreadssr1url = { - url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=30`, - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - if (config.data && config.data.pageParams.todayReadSeconds / 60 >= 1) { - $.get(toqqreadssr1url, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币奖励1: ${data}`); - let ssr1 = JSON.parse(data); - if (ssr1.data.amount > 0) - tz += `【阅读金币1】获得${ssr1.data.amount}金币\n`; - }); - } - resolve(); - }); -} - -// 阅读金币2 -function qqreadssr2() { - return new Promise((resolve, reject) => { - const toqqreadssr2url = { - url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=300`, - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - if (config.data && config.data.pageParams.todayReadSeconds / 60 >= 5) { - $.get(toqqreadssr2url, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币奖励2: ${data}`); - ssr2 = JSON.parse(data); - if (ssr2.data.amount > 0) - tz += `【阅读金币2】获得${ssr2.data.amount}金币\n`; - - - }); - } - resolve(); - }); -} - -// 阅读金币3 -function qqreadssr3() { - return new Promise((resolve, reject) => { - const toqqreadssr3url = { - url: `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=1800`, - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - if (config.data && config.data.pageParams.todayReadSeconds / 60 >= 30) { - $.get(toqqreadssr3url, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币奖励3: ${data}`); - let ssr3 = JSON.parse(data); - if (ssr3.data.amount > 0) - tz += `【阅读金币3】获得${ssr3.data.amount}金币\n`; - - - }); - } - resolve(); - }); -} - -// 金币签到 -function qqreadsign() { - return new Promise((resolve, reject) => { - const toqqreadsignurl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in/page", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadsignurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币签到: ${data}`); - sign = JSON.parse(data); - if (sign.data.videoDoneFlag) { - tz += `【金币签到】:获得${sign.data.todayAmount}金币\n`; - } - resolve(); - }); - }); -} - -// 金币签到翻倍 -function qqreadsign2() { - return new Promise((resolve, reject) => { - const toqqreadsign2url = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in_video", - - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadsign2url, (error, response, data) => { - if (logs) $.log(`${jsname}, 金币签到翻倍: ${data}`); - let sign2 = JSON.parse(data); - if (sign2.code == 0) { - tz += `【签到翻倍】:获得${sign2.data.amount}金币\n`; - } - - resolve(); - }); - }); -} - -// 每日阅读 -function qqreaddayread() { - return new Promise((resolve, reject) => { - const toqqreaddayreadurl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book", - - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreaddayreadurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 每日阅读: ${data}`); - let dayread = JSON.parse(data); - if (dayread.code == 0) { - tz += `【每日阅读】:获得${dayread.data.amount}金币\n`; - } - - resolve(); - }); - }); -} - -// 视频奖励 -function qqreadvideo() { - return new Promise((resolve, reject) => { - const toqqreadvideourl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/watch_video", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadvideourl, (error, response, data) => { - if (logs) $.log(`${jsname}, 视频奖励: ${data}`); - let video = JSON.parse(data); - if (video.code == 0) { - tz += `【视频奖励】:获得${video.data.amount}金币\n`; - } - - resolve(); - }); - }); -} - -// 宝箱奖励 -function qqreadbox() { - return new Promise((resolve, reject) => { - const toqqreadboxurl = { - url: "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box", - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadboxurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 宝箱奖励: ${data}`); - let box = JSON.parse(data); - if (box.data.count >= 0) { - tz += `【宝箱奖励${box.data.count}】:获得${box.data.amount}金币\n`; - } - - resolve(); - }); - }); -} - -// 宝箱奖励翻倍 -function qqreadbox2() { - return new Promise((resolve, reject) => { - const toqqreadbox2url = { - url: - "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video", - - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadbox2url, (error, response, data) => { - if (logs) $.log(`${jsname}, 宝箱奖励翻倍: ${data}`); - let box2 = JSON.parse(data); - if (box2.code == 0) { - tz += `【宝箱翻倍】:获得${box2.data.amount}金币\n`; - } - - resolve(); - }); - }); -} - -// 本周阅读时长 -function qqreadwktime() { - return new Promise((resolve, reject) => { - const toqqreadwktimeurl = { - url: `https://mqqapi.reader.qq.com/mqq/v1/bookShelfInit`, - headers: JSON.parse(qqreadtimeheaderVal), - }; - $.get(toqqreadwktimeurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 阅读时长: ${data}`); - wktime = JSON.parse(data); - if (wktime.code == 0) - tz += `【本周阅读时长】:${wktime.data.readTime}分钟\n`; - - resolve(); - }); - }); -} - -// 本周阅读时长奖励任务 -function qqreadpick() { - return new Promise((resolve, reject) => { - const toqqreadpickurl = { - url: `https://mqqapi.reader.qq.com/mqq/pickPackageInit`, - headers: JSON.parse(qqreadtimeheaderVal), - }; - if (wktime.data.readTime >= wktimess && wktime.data.readTime <= 1250) { - $.get(toqqreadpickurl, (error, response, data) => { - if (logs) $.log(`${jsname},周阅读时长奖励任务: ${data}`); - let pick = JSON.parse(data); - if (pick.data[7].isPick == true) tz += "【周时长奖励】:已全部领取\n"; - - for (let i = 0; i < pick.data.length; i++) { - setTimeout(() => { - const pickid = pick.data[i].readTime; - const Packageid = [ - "10", - "10", - "20", - "30", - "50", - "80", - "100", - "120", - ]; - const toqqreadPackageurl = { - url: `https://mqqapi.reader.qq.com/mqq/pickPackage?readTime=${pickid}`, - headers: JSON.parse(qqreadtimeheaderVal), - timeout: 60000, - }; - $.get(toqqreadPackageurl, (error, response, data) => { - if (logs) $.log(`${jsname}, 领周阅读时长: ${data}`); - Package = JSON.parse(data); - if (Package.code == 0) - tz += `【周时长奖励${i + 1}】:领取${Packageid[i]}阅豆\n`; - }); - }, i * 100); - } - }); - resolve(); - } - 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)} From f4c6af20b18ddaed395c0b40add586587aadb3eb Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 22 Jan 2021 08:43:00 +0800 Subject: [PATCH 0964/1259] =?UTF-8?q?=E5=BF=BD=E7=95=A5=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_task.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/update_task.sh b/update_task.sh index 093c5409..d808d2a4 100644 --- a/update_task.sh +++ b/update_task.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash ## Author: https://github.com/EvineDeng -## Modified: 2021-01-21 -## Version: v1.0.0 +## Modified: 2021-01-22 +## Version: v1.0.1 ## 路径与清单 WorkDir=$(cd $(dirname $0); pwd) -JsList=$(cd $WorkDir; ls *.js | grep -E "j[drx]_") +JsList=$(cd $WorkDir; ls *.js | grep -Ei "j[drx]_") JsList="$JsList backUp/xmSports.js" FileLoon=$WorkDir/Loon/lxk0301_LoonTask.conf FileQx=$WorkDir/QuantumultX/lxk0301_gallery.json From 5ea5461809710d50a43e8a4cf1c6a204b031f38b Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Fri, 22 Jan 2021 00:57:35 +0000 Subject: [PATCH 0965/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=AE=A2=E9=98=85=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QuantumultX/lxk0301_cookies.conf | 3 +++ Surge/lxk0301_Task.sgmodule.sgmodule | 1 + 2 files changed, 4 insertions(+) diff --git a/QuantumultX/lxk0301_cookies.conf b/QuantumultX/lxk0301_cookies.conf index 5400edf4..b3cbde72 100644 --- a/QuantumultX/lxk0301_cookies.conf +++ b/QuantumultX/lxk0301_cookies.conf @@ -1,5 +1,8 @@ hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +# +https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js + # ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 931ad916..2d00d1eb 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,6 +8,7 @@ # Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] +获取京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js From a7bcce9fd256f5661dad1314965076b19d8e1143 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 22 Jan 2021 09:24:01 +0800 Subject: [PATCH 0966/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=AF=8F=E6=AC=A1?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E9=83=BD=E4=BC=9A=E7=BB=99=E5=A5=BD=E5=8F=8B?= =?UTF-8?q?=E5=96=82=E9=A3=9F=E4=B8=80=E6=AC=A1=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JD_extra_cookie.js | 17 ++++++++--------- jd_joy_help.js | 1 + jd_joy_steal.js | 11 ++++++----- jd_petTreasureBox.js | 41 ++++++++++++++++++++++++----------------- 4 files changed, 39 insertions(+), 31 deletions(-) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index 21199b26..891099cf 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -13,24 +13,23 @@ Github: https://github.com/dompling 使用方式:在代理软件配置好下方配置后,复制 https://home.m.jd.com/myJd/newhome.action 到浏览器打开 ,在个人中心自动获取 cookie, 若弹出成功则正常使用。否则继续再此页面继续刷新一下试试 =================== - +new Env('获取多账号京东Cookie');//此处忽略即可,为自动生成iOS端软件配置文件所需 =================== [MITM] hostname = wq.jd.com -===================Surge=================== -[Script] -获取京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 - -===================Loon=================== -[Script] -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion tag=获取京东Cookie, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js - ===================Quantumult X===================== [rewrite_local] # 获取多账号京东Cookie https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js +===================Loon=================== +[Script] +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie + +===================Surge=================== +[Script] +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 */ const APIKey = "CookiesJD"; diff --git a/jd_joy_help.js b/jd_joy_help.js index 5389f7e5..fe6525f0 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -11,6 +11,7 @@ ①设置好相应软件的重写 ②从京东APP宠汪汪->领狗粮->邀请好友助力,分享给你小号微信或者微信的文件传输助手。 自己再打开刚才的分享,助力成功后,返回到此小程序首页重新进去宠汪汪即可助力下一位好友 ③如提示好友人气旺,说明此好友已满了三人助力,需重新进出小程序,重新进入来客有礼-宠汪汪。 +new Env('宠汪汪强制为别人助力');//此处忽略即可,为自动生成iOS端软件配置文件所需 [MITM] hostname = draw.jdfcloud.com ======================Surge===================== diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 6da84e92..82da18db 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -84,8 +84,8 @@ if ($.isNode() && process.env.jdJoyStealCoin) { $.index = i + 1; $.isLogin = true; $.nickName = ''; - $.HelpFeed = ctrTemp; - if (!ctrTemp) $.HelpFeed = true + $.HelpFeedFlag = ctrTemp; + if (!ctrTemp) $.HelpFeedFlag = true await TotalBean(); console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); if (!$.isLogin) { @@ -163,7 +163,8 @@ async function jdJoySteal() { console.log('帮好友喂食失败,狗粮不足10g 跳出\n'); break } - if (!$.HelpFeed) { + if ($.help_feed >= 10) $.HelpFeedFlag = false;//修复每次运行都会给好友喂食一次的bug + if (!$.HelpFeedFlag) { console.log('您已设置不为好友喂食,现在跳过喂食,如需为好友喂食请在BoxJs打开喂食开关或者更改脚本 jdJoyHelpFeed 处'); break } @@ -232,7 +233,7 @@ async function stealFriendCoinFun() { //给好友喂食 async function helpFriendsFeed() { if ($.help_feed !== 200) { - if ($.HelpFeed) { + if ($.HelpFeedFlag) { console.log(`\n开始给好友喂食`); for (let friends of $.allFriends) { const { friendPin, status, stealStatus } = friends; @@ -245,7 +246,7 @@ async function helpFriendsFeed() { console.log(`帮好友[${friendPin}]喂食10g狗粮成功,你获得10积分\n`); if (!ctrTemp) { $.log('为完成为好友单独喂食一次的任务,故此处进行喂食一次') - $.HelpFeed = false; + $.HelpFeedFlag = false; break } $.helpFood += 10; diff --git a/jd_petTreasureBox.js b/jd_petTreasureBox.js index 2da061d5..026bd94f 100644 --- a/jd_petTreasureBox.js +++ b/jd_petTreasureBox.js @@ -5,6 +5,7 @@ 1、进入聚宝盆,显示本轮狗粮池投入总数,方便估算 2、可能有两位数误差,影响不大 3、聚宝盆最下方显示上轮前六名的投入狗粮,收入积分,以及纯收益(即:收入积分 - 投入狗粮) +new Env('聚宝盆投狗粮辅助');//此处忽略即可,为自动生成iOS端软件配置文件所需 [MITM] hostname = jdjoy.jd.com,draw.jdfcloud.com @@ -21,22 +22,23 @@ hostname = jdjoy.jd.com,draw.jdfcloud.com http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 */ -let body = $response.body -body = JSON.parse(body) -food = body['data']['food'] -function f(v) { +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) { + } + var sum = 0 + lastHourWinInfos = body["data"]["lastHourWinInfos"] + for (var i in lastHourWinInfos) { sum += lastHourWinInfos[i]["petCoin"] -} -for (var i in lastHourWinInfos) { + } + 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({ + body["data"]["lastHourWinInfos"].unshift({ 'pin': "", 'nickName': '', 'investHour': lastHourWinInfos[0]['investHour'], @@ -47,8 +49,13 @@ body["data"]["lastHourWinInfos"].unshift({ 'petCoin': '{投} [收入] (纯收入)', 'userTag': "", 'win': true -}) -lastTurnFood = parseInt(sum / 0.09 * 0.91) -body['data']['food'] = `${food} (+${food - lastTurnFood})` -body = JSON.stringify(body) -$done({ body }) + }) + 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 }) +} + From b2dc26f2f9978b95d3e78592bb4da23f54b1df3f Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Fri, 22 Jan 2021 01:27:45 +0000 Subject: [PATCH 0967/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=AE=A2=E9=98=85=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 +++ QuantumultX/lxk0301_cookies.conf | 6 +++--- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 1eaab8f8..49cfd384 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -7,6 +7,9 @@ hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +# 获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie + # 京豆变动通知 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 diff --git a/QuantumultX/lxk0301_cookies.conf b/QuantumultX/lxk0301_cookies.conf index b3cbde72..31a3b77a 100644 --- a/QuantumultX/lxk0301_cookies.conf +++ b/QuantumultX/lxk0301_cookies.conf @@ -1,9 +1,9 @@ hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# +# 获取多账号京东Cookie https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js -# +# 宠汪汪强制为别人助力 ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js # 宠汪汪赛跑 @@ -15,7 +15,7 @@ https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-hea # 京喜农场 ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js -# +# 聚宝盆投狗粮辅助 ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js # 小米运动 diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 2d00d1eb..fc06d5ff 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,7 +8,7 @@ # Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] -获取京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js From 89f237d22aea19a1d823169d85cda7f203c7a317 Mon Sep 17 00:00:00 2001 From: AboutCXJ Date: Fri, 22 Jan 2021 09:30:01 +0800 Subject: [PATCH 0968/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 589700bd..6b6bc8fe 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -87,7 +87,7 @@ if [ $DO_NOT_RUN_SCRIPTS ]; then echo "您配置了不运行的脚本:$DO_NOT_RUN_SCRIPTS" arr=${DO_NOT_RUN_SCRIPTS//&/ } for item in $arr; do - sed -ie '/'"${item}"'/d' /1.txt + sed -ie '/'"${item}"'/d' ${mergedListFile} done fi From 21a48be5921a62a725064313dbf62a6168ff17a3 Mon Sep 17 00:00:00 2001 From: Xinglin Qiang Date: Fri, 22 Jan 2021 11:29:36 +0800 Subject: [PATCH 0969/1259] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index 589700bd..5220e00c 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -4,10 +4,6 @@ set -e echo "定义定时任务合并处理用到的文件路径..." defaultListFile="/scripts/docker/$DEFAULT_LIST_FILE" echo "默认文件定时任务文件路径为 ${defaultListFile}" -if [ $CUSTOM_LIST_FILE ]; then - customListFile="/scripts/docker/$CUSTOM_LIST_FILE" - echo "自定义定时任务文件路径为 ${customListFile}" -fi mergedListFile="/scripts/docker/merged_list_file.sh" echo "合并后定时任务文件路径为 ${mergedListFile}" @@ -17,6 +13,18 @@ cat $defaultListFile >$mergedListFile echo "第2步判断是否存在自定义任务任务列表并追加..." if [ $CUSTOM_LIST_FILE ]; then echo "您配置了自定义任务文件:$CUSTOM_LIST_FILE,自定义任务类型为:$CUSTOM_LIST_MERGE_TYPE..." + # 无论远程还是本地挂载, 均复制到 $customListFile + customListFile="/scripts/docker/custom_list_file.sh" + echo "自定义定时任务文件临时工作路径为 ${customListFile}" + if expr "$CUSTOM_LIST_FILE" : 'http.*' &>/dev/null; then + echo "自定义任务文件为远程脚本,开始下载自定义远程任务。" + wget -O $customListFile $CUSTOM_LIST_FILE + echo "下载完成..." + elif [ -f /scripts/docker/$CUSTOM_LIST_FILE ]; then + echo "自定义任务文件为本地挂载。" + cp /scripts/docker/$CUSTOM_LIST_FILE $customListFile + fi + if [ -f "$customListFile" ]; then if [ $CUSTOM_LIST_MERGE_TYPE == "append" ]; then echo "合并默认定时任务文件:$DEFAULT_LIST_FILE 和 自定义定时任务文件:$CUSTOM_LIST_FILE" @@ -62,7 +70,7 @@ if [ 0"$CUSTOM_SHELL_FILE" = "0" ]; then echo "未配置自定shell脚本文件,跳过执行。" else if expr "$CUSTOM_SHELL_FILE" : 'http.*' &>/dev/null; then - echo "自定义shell脚本为远程脚本,开始下在自定义远程脚本。" + echo "自定义shell脚本为远程脚本,开始下载自定义远程脚本。" wget -O /scripts/docker/shell_script_mod.sh $CUSTOM_SHELL_FILE echo "下载完成,开始执行..." echo "#远程自定义shell脚本追加定时任务" >>$mergedListFile From 8418d6d6d69798327d6328519dbc454c0d4de552 Mon Sep 17 00:00:00 2001 From: Jone2008 <70353049+Jone2008@users.noreply.github.com> Date: Fri, 22 Jan 2021 11:48:49 +0800 Subject: [PATCH 0970/1259] Update githubAction.md --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index f130b93e..88463f80 100644 --- a/githubAction.md +++ b/githubAction.md @@ -82,7 +82,7 @@ | `BUY_JOY_LEVEL` | 疯狂的JOY
购买joy等级 | 非必须 | 疯狂的JOY自动购买什么等级的JOY | | `MONEY_TREE_SELL_FRUIT` | 摇钱树
是否卖出金果 | 非必须 | 控制摇钱树脚本是否自动卖出金果兑换成金币,`true`卖出,`false`不卖出,默认`false` | | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂
心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,
如不提供则会兑换当前所选商品 | -| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账单间使用`&`或换行分开。 | +| `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账号间使用`&`或换行分开。 | | `JD_IMMORTAL_LATLON` | 京东神仙书院
地理位置变量 | 非必须 | 京东神仙书院地理位置,示例格式:{"lat":33.1, "lng":118.1} | | `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | From 1d01ed8997d1fb68d0fd24f6d041830eab3426d0 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Fri, 22 Jan 2021 13:06:10 +0800 Subject: [PATCH 0971/1259] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89062f04..fc6ea14a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## 请勿使用github action、滥用github资源会封我仓库以及账号,[详见](https://github.com/LXK9301/jd_scripts/issues/3) +## 请勿使用github action、滥用github资源会封我仓库以及账号,如再被封,则金盆洗手。[详见](https://github.com/LXK9301/jd_scripts/issues/3) ## 特别声明: From bc4580669ae2dad1fbf6c6e6ba8dd424ea30499e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 22 Jan 2021 13:43:46 +0800 Subject: [PATCH 0972/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=9A=84cron=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 18 +++++++++--------- QuantumultX/lxk0301_gallery.json | 8 ++++---- Surge/lxk0301_Task.sgmodule.sgmodule | 10 +++++----- jd_immortal.js | 8 ++++---- jd_jdzz.js | 8 ++++---- jd_unbind.js | 8 ++++---- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 49cfd384..61e718e4 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -7,9 +7,6 @@ hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# 获取多账号京东Cookie -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie - # 京豆变动通知 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 @@ -43,6 +40,9 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京喜工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 +# 获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie + # 京东家庭号 cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 @@ -56,13 +56,13 @@ cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_s cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码 # 京东神仙书院 -cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 +cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 # 东东工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 # 宠汪汪 cron "15 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 @@ -112,9 +112,6 @@ cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_script # 京东炸年兽🧨 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 - # 京东炸年兽AR cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR @@ -124,6 +121,9 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 + # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 @@ -155,7 +155,7 @@ cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_ cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街 # 注销京东会员卡 -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 +cron "55 23 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 # 取关京东店铺和商品 cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 829a257e..ed72af2e 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -17,9 +17,9 @@ "10 8,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", - "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", + "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", "15 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -32,10 +32,10 @@ "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", @@ -45,7 +45,7 @@ "8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", "11 1-23/5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", - "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", + "55 23 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true" diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index fc06d5ff..ba5d3188 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,7 +8,6 @@ # Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] -获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js @@ -20,13 +19,14 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js 集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js +京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js -京东赚赚 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js +京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js 京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js @@ -43,10 +43,10 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js 京东炸年兽🧨 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js @@ -57,7 +57,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js 东东超市 = type=cron,cronexp="11 1-23/5 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js 十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js -注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js +注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js 京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js 小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js diff --git a/jd_immortal.js b/jd_immortal.js index 6ce7f75b..0630db56 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -12,17 +12,17 @@ boxjs IMMORTAL_LATLON ============Quantumultx=============== [task_local] #京东神仙书院 -0 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "0 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 +cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 ===============Surge================= -京东神仙书院 = type=cron,cronexp="0 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js +京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js ============小火箭========= -京东神仙书院 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, cronexpr="0 8 * * *", timeout=3600, enable=true +京东神仙书院 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, cronexpr="20 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东神仙书院'); diff --git a/jd_jdzz.js b/jd_jdzz.js index be2aaac9..8424f451 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] # 京东赚赚 -0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true +10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true ================Loon============== [Script] -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 +cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 ===============Surge================= -京东赚赚 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js +京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js ============小火箭========= -京东赚赚 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, cronexpr="0 0 * * *", timeout=3600, enable=true +京东赚赚 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('京东赚赚'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_unbind.js b/jd_unbind.js index 15b3152d..b8ae9236 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -6,14 +6,14 @@ ==========Quantumult X========== [task_local] #注销京东会员卡 -55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true +55 23 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true =======Loon======== [Script] -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 +cron "55 23 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 ========Surge========== -注销京东会员卡 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js +注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js =======小火箭===== -注销京东会员卡 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, cronexpr="10 23 * * *", timeout=3600, enable=true +注销京东会员卡 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, cronexpr="10 23 * * 6", timeout=3600, enable=true */ const $ = new Env('注销京东会员卡'); //Node.js用户请在jdCookie.js处填写京东ck; From 431b3276235fbca03896ea50ff4688d4a6d923e0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 22 Jan 2021 14:05:05 +0800 Subject: [PATCH 0973/1259] fix --- jd_bookshop.js | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/jd_bookshop.js b/jd_bookshop.js index d34fe643..0385becf 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -131,7 +131,6 @@ function getIsvToken() { $.post(jdUrl('genToken', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -155,7 +154,6 @@ function getIsvToken2() { $.post(jdUrl('isvObfuscator', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -178,7 +176,6 @@ function getActCk() { $.get(taskUrl("dingzhi/book/develop/activity", `activityId=${ACT_ID}`), (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if($.isNode()) @@ -206,7 +203,6 @@ function getActInfo() { $.post(taskPostUrl('dz/common/getSimpleActInfoVo', `activityId=${ACT_ID}`), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -232,7 +228,6 @@ function getToken() { $.post(taskPostUrl('customer/getMyPing', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -256,7 +251,6 @@ function getUserInfo() { $.post(taskPostUrl('wxActionCommon/getUserInfo', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -285,7 +279,6 @@ function getActContent(info = false, shareUuid = '') { $.post(taskPostUrl('dingzhi/book/develop/activityContent', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -351,7 +344,6 @@ function doHelpList(taskType, value) { $.post(taskPostUrl('dingzhi/taskact/common/getDayShareRecord', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -375,7 +367,6 @@ function doTask(taskType, value) { $.post(taskPostUrl('dingzhi/book/develop/saveTask', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -405,7 +396,6 @@ function draw() { $.post(taskPostUrl('dingzhi/book/develop/startDraw', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -437,7 +427,6 @@ function getAllBook() { $.post(taskPostUrl('dingzhi/book/develop/getAllBook', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -469,7 +458,6 @@ function buyBook(bookUuid, num) { $.post(taskPostUrl('dingzhi/book/develop/buyBook', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -494,7 +482,6 @@ function getMyBook() { $.post(taskPostUrl('dingzhi/book/develop/getMyBook', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -524,7 +511,6 @@ function upBook(bookUuid) { $.post(taskPostUrl('dingzhi/book/develop/upBook', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { @@ -551,7 +537,6 @@ function chargeGold() { $.post(taskPostUrl('dingzhi/book/develop/chargeGold', body), async (err, resp, data) => { try { if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { if (safeGet(data)) { From 55cde3bc6aa2b2064059f20931143a583f7f1a37 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 22 Jan 2021 14:12:55 +0800 Subject: [PATCH 0974/1259] update --- jd_nh.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_nh.js b/jd_nh.js index 60bd997f..b9cf4232 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -6,6 +6,7 @@ */ /* 京东年货节 +活动入口: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个京东账号 From 330a022d775d7c2e194d764849f6ee1c5cf0b8bf Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 22 Jan 2021 14:20:49 +0800 Subject: [PATCH 0975/1259] =?UTF-8?q?fix=20=E5=AD=97=E7=AC=A6=E8=BF=87?= =?UTF-8?q?=E9=95=BF=E5=8F=AF=E8=83=BD=E5=AF=BC=E8=87=B4=E7=9A=84=E4=BA=91?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E9=83=A8=E7=BD=B2=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix 字符过长可能导致的云函数部署失败 --- serverless.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/serverless.yml b/serverless.yml index f75fa341..e3acc374 100644 --- a/serverless.yml +++ b/serverless.yml @@ -24,37 +24,37 @@ inputs: argument: jd_bean_sign - timer: #东东超市兑换奖品 #摇京豆 #京东汽车 #京东汽车兑换 parameters: - name: jd_blueCoin_jd_club_lottery_car_car_exchange + name: blueCoin_clublottery_car_carexchange cronExpression: "0 0 0 * * * *" enable: true argument: jd_blueCoin&jd_club_lottery&jd_car&jd_car_exchange - timer: #东东农场 #东东萌宠 #口袋书店 #京喜农场 parameters: - name: jd_fruit_jd_pet_bookshop_jxnc + name: fruit_pet_bookshop_jxnc cronExpression: "0 5 6-18/6,8 * * * *" enable: true argument: jd_fruit&jd_pet&jd_bookshop&jd_jxnc - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 #京东炸年兽领爆竹 parameters: - name: joy_feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory_nianCollect + name: feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory_nC cronExpression: "0 3 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory&jd_nianCollect - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗 #点点券 #京东直播18豆 #集鞭炮赢京豆 parameters: - name: joy_reward_joy_steal_necklace_live_firecrackers + name: joyreward_joysteal_necklace_live_firecrackers cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live&jd_firecrackers - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 parameters: - name: redPacket_shop_unsubscribe_unbind_lotteryMachine_small_home + name: redPacket_shop_unsubscribe_unbind_lotteryMachine_smallhome cronExpression: "0 10 0 * * * *" enable: true argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home - timer: #京东天天加速 #天天提鹅 #京东炸年兽 parameters: - name: jd_speed_jd_daily_egg_nian + name: speed_daily_egg_nian cronExpression: "0 8 */3 * * * *" enable: true argument: jd_speed&jd_daily_egg&jd_nian @@ -66,13 +66,13 @@ inputs: argument: jd_superMarket - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 #京东神仙书院 parameters: - name: bean_change_crazy_joy_rankingList_bean_home_nh_immortal + name: beanchange_crazyjoy_rankingList_beanhome_nh_immortal cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR #京东炸年兽小程序 parameters: - name: pigPet_syj_kd_jdzz_cash_sign_nian_sign_nian_ar_nian_wechat + name: pigPet_syj_kd_jdzz_cash_sign_niansign_nianar_nianwechat cronExpression: "0 3 1 * * * *" enable: true argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_nian_ar&jd_nian_wechat From 3246d415d4a5a46592c96b7bab95e6dd370f191a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 22 Jan 2021 15:40:39 +0800 Subject: [PATCH 0976/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E8=B6=85=E5=B8=82?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E6=98=AF=E5=90=A6=E5=8F=82=E5=8A=A0=E4=BD=9C=E8=80=85?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9A=84PK=E9=98=9F=E4=BC=8D=E3=80=82?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E5=90=8D=E4=B8=BA=20JOIN?= =?UTF-8?q?=5FPK=5FTEAM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 3 +-- jd_nian.js | 2 +- lxk0301.boxjs.json | 13 +++---------- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/githubAction.md b/githubAction.md index 88463f80..a34554ec 100644 --- a/githubAction.md +++ b/githubAction.md @@ -70,8 +70,7 @@ | `JD_JOY_REWARD_NAME` | 宠汪汪
积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | | `MARKET_COIN_TO_BEANS` | 东东超市
兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,
可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | | `MARKET_REWARD_NOTIFY` | 东东超市
兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `SUPERMARKET_UPGRADE` | 东东超市自动升级 | 非必须 | 自动升级,顺序:解锁升级商品、升级货架,`true`表示自动升级,`false`表示关闭自动升级 | -| `BUSINESS_CIRCLE_JUMP` | 东东超市
自动更换商圈 | 非必须 | 小于对方300热力值自动更换商圈队伍,`true`表示运行,`false`表示禁止 | +| `JOIN_PK_TEAM` | 东东超市
自动参加PK队伍 | 非必须 | 每次pk活动参加作者创建的pk队伍,`true`表示参加,`false`表示不参加 | | `SUPERMARKET_LOTTERY` | 东东超市抽奖 | 非必须 | 每天运行脚本是否使用金币去抽奖,`true`表示抽奖,`false`表示不抽奖 | | `FRUIT_BEAN_CARD` | 农场
使用水滴换豆卡 | 非必须 | 农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),
`true`表示换豆(不浇水),`false`表示不换豆(继续浇水),脚本默认是浇水 | | `UN_SUBSCRIBES` | jd_unsubscribe.js | 非必须 | 共四个参数,换行隔开.四个参数分别表示
`取关商品数量`,`取关店铺数量`,`遇到此商品不再进行取关`,`遇到此店铺不再进行取关`,[具体使用往下看](#取关店铺secret的说明) | diff --git a/jd_nian.js b/jd_nian.js index f07af431..2cc533e2 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -837,7 +837,7 @@ function readShareCode() { resolve(data); } }) - await $.wait(2000); + await $.wait(10000); resolve() }) } diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 0242389c..6f1a722f 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -720,18 +720,11 @@ "desc": "运行此脚本时不发出系统弹窗通知" }, { - "id": "jdSuperMarketUpgrade", - "name": "自动升级(商品/货架)", + "id": "JOIN_PK_TEAM", + "name": "自动参加作者PK队伍", "val": true, "type": "boolean", - "desc": "自动升级,顺序:解锁升级商品、升级货架" - }, - { - "id": "jdBusinessCircleJump", - "name": "自动更换商圈", - "val": true, - "type": "boolean", - "desc": "小于对方300热力值自动更换商圈队伍" + "desc": "每次pk活动自动参加作者PK队伍,默认参加" }, { "id": "jdSuperMarketLottery", From b7d517492b4b1160e825625ae7b7aca015936ff0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 22 Jan 2021 15:50:03 +0800 Subject: [PATCH 0977/1259] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=BA=AC=E4=B8=9C8?= =?UTF-8?q?18=E6=B4=BB=E5=8A=A8=E4=B8=8A=E8=BD=A6=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 - 1 file changed, 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index a34554ec..5a7cbef4 100644 --- a/githubAction.md +++ b/githubAction.md @@ -62,7 +62,6 @@ | `PET_NOTIFY_CONTROL` | 东东萌宠
推送开关 | 非必须 | 控制京东萌宠是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `FRUIT_NOTIFY_CONTROL` | 东东农场
推送开关 | 非必须 | 控制京东农场是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | | `JD_JOY_REWARD_NOTIFY` | 宠汪汪
兑换京豆推送开关 | 非必须 | 控制`jd_joy_reward.js`脚本是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | -| `JD_818_SHAREID_NOTIFY` | 京东818互助码
通知开关 | 非必须 | 控制`jd_818.js`脚本是否在获取互助码后通知,
`true`为是(发送推送通知消息),`false`为否(即:不发送推送通知消息) | | `JOY_FEED_COUNT` | 宠汪汪喂食数量 | 非必须 | 控制`jd_joy_feedPets.js`脚本喂食数量,可以填的数字10,20,40,80,其他数字不可. | | `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | | `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),
`false`为否,`true`为是,脚本默认是`true` | From fabc4aa96a5b77cc64a2bd2150c7fddb6f2db62d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 22 Jan 2021 15:53:35 +0800 Subject: [PATCH 0978/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E6=8E=A7=E5=88=B6=20=E5=AE=A0=E6=B1=AA?= =?UTF-8?q?=E6=B1=AA=E8=B5=9B=E8=B7=91=E8=8E=B7=E8=83=9C=E5=90=8E=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E6=8E=A8=E9=80=81=E9=80=9A=E7=9F=A5=EF=BC=8C=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F=E5=90=8D=E4=B8=BA=20JOY=5FRUN=5FNOT?= =?UTF-8?q?IFY?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + jd_joy.js | 4 +++- lxk0301.boxjs.json | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 5a7cbef4..186cd349 100644 --- a/githubAction.md +++ b/githubAction.md @@ -66,6 +66,7 @@ | `JOY_HELP_FEED` | 宠汪汪帮好友喂食 | 非必须 | 控制`jd_joy_steal.js`脚本是否给好友喂食,`false`为否,`true`为是(给好友喂食) | | `JOY_RUN_FLAG` | 宠汪汪是否赛跑 | 非必须 | 控制`jd_joy.js`脚本是否参加赛跑(默认参加双人赛跑),
`false`为否,`true`为是,脚本默认是`true` | | `JOY_TEAM_LEVEL` | 宠汪汪
参加什么级别的赛跑 | 非必须 | 控制`jd_joy.js`脚本参加几人的赛跑,可选数字为`2`,`10`,`50`,
其中2代表参加双人PK赛,10代表参加10人突围赛,
50代表参加50人挑战赛(注:此项功能在`JOY_RUN_FLAG`为true的时候才生效),
如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:`2&10&50`) | +| `JOY_RUN_NOTIFY` | 宠汪汪
宠汪汪赛跑获胜后是否推送通知 | 非必须 | 控制`jd_joy.js`脚本宠汪汪赛跑获胜后是否推送通知,
`false`为否(不推送通知消息),`true`为是(即:发送推送通知消息)
| | `JD_JOY_REWARD_NAME` | 宠汪汪
积分兑换多少京豆 | 非必须 | 目前可填值为`20`或者`500`,脚本默认`20`,`0`表示不兑换京豆 | | `MARKET_COIN_TO_BEANS` | 东东超市
兑换京豆数量 | 非必须 | 控制`jd_blueCoin.js`兑换京豆数量,
可输入值为`20`或者`1000`的数字或者其他商品的名称,例如`碧浪洗衣凝珠` | | `MARKET_REWARD_NOTIFY` | 东东超市
兑换奖品推送开关 | 非必须 | 控制`jd_blueCoin.js`兑换奖品成功后是否静默运行,
`false`为否(发送推送通知消息),`true`为是(即:不发送推送通知消息) | diff --git a/jd_joy.js b/jd_joy.js index 785a759b..3986558d 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -2,7 +2,7 @@ jd宠汪汪 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_joy.js 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js IOS用户支持京东双账号,NodeJs用户支持N个京东账号 -更新时间:2020-12-24 +更新时间:2021-1-22 建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 feedCount:自定义 每次喂养数量; 等级只和喂养次数有关,与数量无关 推荐每次投喂10个,积累狗粮,然后去玩聚宝盆赌 @@ -52,6 +52,7 @@ let teamLevel = `2`;//参加多少人的赛跑比赛,默认是双人赛跑, // 默认 'true' 参加双人赛跑,如需关闭 ,请改成 'false'; let joyRunFlag = true; let jdNotify = true;//是否开启静默运行,默认true开启 +let joyRunNotify = true;//宠汪汪赛跑获胜后是否推送通知,true推送,false不推送通知 const JD_API_HOST = 'https://jdjoy.jd.com/pet' const weAppUrl = 'https://draw.jdfcloud.com//pet'; !(async () => { @@ -178,6 +179,7 @@ async function joinTwoPeopleRun() { await receiveJoyRunAward(); console.log(`领取赛跑奖励结果:${JSON.stringify($.receiveJoyRunAwardRes)}`) if ($.receiveJoyRunAwardRes.success) { + joyRunNotify = $.isNode() ? (process.env.JOY_RUN_NOTIFY ? process.env.JOY_RUN_NOTIFY : `${joyRunNotify}`) : ($.getdata('joyRunNotify') ? $.getdata('joyRunNotify') : `${joyRunNotify}`); $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${$.name}赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n太棒了,${$.name}赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) } diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 6f1a722f..c8db08b3 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -517,6 +517,13 @@ "type": "text", "desc": "参加多少人的赛跑比赛,其中2代表参加双人PK赛,10代表参加10人突围赛,50代表参加50人挑战赛,多账号参加不同级别的赛跑用&符号隔开,例如2&10&50" }, + { + "id": "joyRunNotify", + "name": "宠汪汪赛跑获胜是否通知", + "val": true, + "type": "boolean", + "desc": "宠汪汪赛跑获胜是否通知,默认通知" + }, { "id": "jd_joy_run_name", "name": "京东账号一昵称", From 93520737312a13f8c3b6e57ecad031b3bbf1274a Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 22 Jan 2021 16:11:51 +0800 Subject: [PATCH 0979/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=AE=A0=E6=B1=AA=E6=B1=AA=E8=B5=9B=E8=B7=91=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E5=92=8C=E4=B8=9C=E4=B8=9C=E8=B6=85=E5=B8=82=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=8F=82=E5=8A=A0=E4=BD=9C=E8=80=85PK=E9=98=9F?= =?UTF-8?q?=E4=BC=8D=E7=9A=84secret=E3=80=81=E5=8F=96=E6=B6=88818=E7=9A=84?= =?UTF-8?q?secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增宠汪汪赛跑通知和东东超市是否参加作者PK队伍的secret、取消818的secret --- .github/workflows/deploy_tencent_scf.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index b97bc1ad..f1b21aa6 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -63,14 +63,15 @@ jobs: if [ $PET_NOTIFY_CONTROL ]; then sed -i "/variables/a\ PET_NOTIFY_CONTROL: $PET_NOTIFY_CONTROL" serverless.yml; fi; if [ $FRUIT_NOTIFY_CONTROL ]; then sed -i "/variables/a\ FRUIT_NOTIFY_CONTROL: $FRUIT_NOTIFY_CONTROL" serverless.yml; fi; if [ $JD_JOY_REWARD_NOTIFY ]; then sed -i "/variables/a\ JD_JOY_REWARD_NOTIFY: $JD_JOY_REWARD_NOTIFY" serverless.yml; fi; - if [ $JD_818_SHAREID_NOTIFY ]; then sed -i "/variables/a\ JD_818_SHAREID_NOTIFY: $JD_818_SHAREID_NOTIFY" serverless.yml; fi; if [ $JOY_FEED_COUNT ]; then sed -i "/variables/a\ JOY_FEED_COUNT: $JOY_FEED_COUNT" serverless.yml; fi; if [ $JOY_HELP_FEED ]; then sed -i "/variables/a\ JOY_HELP_FEED: $JOY_HELP_FEED" serverless.yml; fi; if [ $JOY_RUN_FLAG ]; then sed -i "/variables/a\ JOY_RUN_FLAG: $JOY_RUN_FLAG" serverless.yml; fi; if [ $JOY_TEAM_LEVEL ]; then sed -i "/variables/a\ JOY_TEAM_LEVEL: $JOY_TEAM_LEVEL" serverless.yml; fi; + if [ $JOY_RUN_NOTIFY ]; then sed -i "/variables/a\ JOY_RUN_NOTIFY: $JOY_RUN_NOTIFY" serverless.yml; fi; if [ $JD_JOY_REWARD_NAME ]; then sed -i "/variables/a\ JD_JOY_REWARD_NAME: $JD_JOY_REWARD_NAME" serverless.yml; fi; if [ $MARKET_COIN_TO_BEANS ]; then sed -i "/variables/a\ MARKET_COIN_TO_BEANS: $MARKET_COIN_TO_BEANS" serverless.yml; fi; if [ $MARKET_REWARD_NOTIFY ]; then sed -i "/variables/a\ MARKET_REWARD_NOTIFY: $MARKET_REWARD_NOTIFY" serverless.yml; fi; + if [ $JOIN_PK_TEAM ]; then sed -i "/variables/a\ JOIN_PK_TEAM: $JOIN_PK_TEAM" serverless.yml; fi; if [ $SUPERMARKET_UPGRADE ]; then sed -i "/variables/a\ SUPERMARKET_UPGRADE: $SUPERMARKET_UPGRADE" serverless.yml; fi; if [ $BUSINESS_CIRCLE_JUMP ]; then sed -i "/variables/a\ BUSINESS_CIRCLE_JUMP: $BUSINESS_CIRCLE_JUMP" serverless.yml; fi; if [ $SUPERMARKET_LOTTERY ]; then sed -i "/variables/a\ SUPERMARKET_LOTTERY: $SUPERMARKET_LOTTERY" serverless.yml; fi; @@ -127,14 +128,15 @@ jobs: PET_NOTIFY_CONTROL: ${{ secrets.PET_NOTIFY_CONTROL}} FRUIT_NOTIFY_CONTROL: ${{ secrets.FRUIT_NOTIFY_CONTROL}} JD_JOY_REWARD_NOTIFY: ${{ secrets.JD_JOY_REWARD_NOTIFY}} - JD_818_SHAREID_NOTIFY: ${{ secrets.JD_818_SHAREID_NOTIFY}} JOY_FEED_COUNT: ${{ secrets.JOY_FEED_COUNT}} JOY_HELP_FEED: ${{ secrets.JOY_HELP_FEED}} JOY_RUN_FLAG: ${{ secrets.JOY_RUN_FLAG}} JOY_TEAM_LEVEL: ${{ secrets.JOY_TEAM_LEVEL}} + JOY_RUN_NOTIFY: ${{ secrets.JOY_RUN_NOTIFY}} JD_JOY_REWARD_NAME: ${{ secrets.JD_JOY_REWARD_NAME}} MARKET_COIN_TO_BEANS: ${{ secrets.MARKET_COIN_TO_BEANS}} MARKET_REWARD_NOTIFY: ${{ secrets.MARKET_REWARD_NOTIFY}} + JOIN_PK_TEAM: ${{ secrets.JOIN_PK_TEAM}} SUPERMARKET_UPGRADE: ${{ secrets.SUPERMARKET_UPGRADE}} BUSINESS_CIRCLE_JUMP: ${{ secrets.BUSINESS_CIRCLE_JUMP}} SUPERMARKET_LOTTERY: ${{ secrets.SUPERMARKET_LOTTERY}} From 65cd6c1cfba622ee61e89e4df0a8a86cb0057d77 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Fri, 22 Jan 2021 17:12:24 +0800 Subject: [PATCH 0980/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=8F=98=E6=9B=B4=20=E9=9A=8F=E6=9C=BA=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=20API=20=E4=B8=8A=E6=8A=A5=E5=8F=82=E6=95=B0=20=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=20=E5=8A=A9=E5=8A=9B=20API=20=E5=8F=82=E6=95=B0?= =?UTF-8?q?=EF=BC=88=E4=BF=AE=E5=A4=8D=20ret=3D1011=20=E9=94=99=E8=AF=AF?= =?UTF-8?q?=EF=BC=89=20=E5=8F=98=E6=9B=B4=20=E5=8A=A9=E5=8A=9B=E7=A0=81?= =?UTF-8?q?=E4=B8=BA=20JSON=20=E6=A0=BC=E5=BC=8F=EF=BC=88=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F=E5=90=8D=E6=9C=AA=E6=94=B9=E5=8F=98?= =?UTF-8?q?=EF=BC=8C=E5=8F=AA=E6=98=AF=E6=A0=BC=E5=BC=8F=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E4=B8=BA=20JSON=20=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_get_share_code.js | 11 +++-- jd_jxnc.js | 108 +++++++++++++++++++++++++++++++++++-------- 2 files changed, 96 insertions(+), 23 deletions(-) diff --git a/jd_get_share_code.js b/jd_get_share_code.js index c3be8886..09e11ce2 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -321,12 +321,15 @@ function getJxNc(){ if (safeGet(data)) { data = JSON.parse(data); if (data["ret"] === 0) { - console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场助力码】${data.smp}`); - if (data.active) { - console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场active】${data.active}`); + let shareCodeJson = { + 'smp': data.smp, + 'active': data.active, + 'joinnum': data.joinnum, + }; + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场】` + JSON.stringify(shareCodeJson)); } else { - console.log( `【账号${$.index}(${$.nickName || $.UserName})京喜农场】未选择种子,请先去京喜农场选择种子`); + console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场】未选择种子,请先去京喜农场选择种子`); } } } else { diff --git a/jd_jxnc.js b/jd_jxnc.js index a1c3de79..88ed51fd 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -45,7 +45,7 @@ let currentCookie = ''; // 当前用户 cookie let tokenNull = {'farm_jstoken': '', 'phoneid': '', 'timestamp': ''}; // 内置一份空的 token let tokenArr = []; // 用户 token 数组 let currentToken = {}; // 当前用户 token -const shareCode = '22bd6fbbabbaa770a45ab2607e7a1e8a@197c6094e965fdf3d33621b47719e0b1'; // 内置助力码 +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"}',)}`; // 打开京喜农场 @@ -106,9 +106,20 @@ let assistUserShareCode = 0; // 随机助力用户 share code $.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(resolve => { + return new Promise(async resolve => { $.log('开始获取配置文件\n') notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; @@ -142,13 +153,52 @@ function requireConfig() { Object.keys(jdJxncShareCodeNode).forEach((item) => { if (jdJxncShareCodeNode[item]) { jxncShareCodeArr.push(jdJxncShareCodeNode[item]) + } else { + jxncShareCodeArr.push(''); } }) } - // console.log(`jdFruitShareArr::${JSON.stringify(jdFruitShareArr)}`) - // console.log(`jdFruitShareArr账号长度::${jdFruitShareArr.length}`) + // 检查互助码是否为 json [smp,active,joinnum] 格式,否则进行通知 + for (let i = 0; i < jxncShareCodeArr.length; i++) { + if (jxncShareCodeArr[i]) { + let tmpjsonShareCodeArr = jxncShareCodeArr.splice('@'); + 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://gitee.com/guyuexuan/jd_share_code/raw/master/share_code/jxnc.json`, + "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() }) } @@ -233,8 +283,12 @@ async function jdJXNC() { notifyBool = true; message += `【成熟】水果已成熟请及时收取,deliverState:${startInfo.deliverState}\n`; } else { - $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】 ${$.info.smp}`); - $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}种子active】 ${$.info.active}`); + let shareCodeJson = { + "smp": $.info.smp, + "active": $.info.active, + "joinnum": $.info.joinnum, + }; + $.log(`【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】` + JSON.stringify(shareCodeJson)); await $.wait(500); const isOk = await browserTask(); if (isOk) { @@ -249,10 +303,10 @@ async function jdJXNC() { if (next) { while ($.helpNum < $.maxHelpNum) { $.helpNum++; - assistUserShareCode = await getAssistUser(); - if (assistUserShareCode) { + assistUserShareCodeJson = await getAssistUser(); + if (assistUserShareCodeJson) { await $.wait(500); - next = await helpShareCode(assistUserShareCode); + next = await helpShareCode(assistUserShareCodeJson['smp'], assistUserShareCodeJson['active'], assistUserShareCodeJson['joinnum']); if (next) { await $.wait(1000); continue; @@ -420,7 +474,7 @@ function submitInviteId(userName) { try { $.post( { - url: `https://api.ninesix.cc/api/jx-nc/${$.info.smp}/${encodeURIComponent(userName)}?active=${$.info.active}`, + url: `https://api.ninesix.cc/api/jx-nc/${$.info.smp}/${encodeURIComponent(userName)}?active=${$.info.active}&joinnum=${$.info.joinnum}`, timeout: 10000 }, (err, resp, _data) => { @@ -450,10 +504,16 @@ function getAssistUser() { try { $.get({url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`, timeout: 10000}, async (err, resp, _data) => { try { - const {code, data = {}} = JSON.parse(_data); - if (data.value) { - $.log(`获取随机助力码成功 ${code} ${data.value}`); - resolve(data.value); + 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}`); } @@ -477,7 +537,12 @@ async function helpFriends() { if (!code) { continue } - const next = await helpShareCode(code); + let tmpShareCodeJson = changeShareCodeJson(code); + if (!tmpShareCodeJson) { //非 json 格式跳过 + console.log('助力码非 json 格式,跳过') + continue; + } + const next = await helpShareCode(tmpShareCodeJson['smp'], tmpShareCodeJson['active'], tmpShareCodeJson['joinnum']); if (!next) { return false; } @@ -487,15 +552,15 @@ async function helpFriends() { } // 执行助力 return true 继续助力 false 助力结束 -function helpShareCode(code) { +function helpShareCode(smp, active, joinnum) { return new Promise(async resolve => { - if (code === $.info.smp) { // 自己的助力码,跳过,继续执行 + if (smp === $.info.smp) { // 自己的助力码,跳过,继续执行 $.log('助力码与当前账号相同,跳过助力。准备进行下一个助力'); resolve(true); } - $.log(`即将助力 share code:${code}`); + $.log(`即将助力 share {"smp":"${smp}","active":"${active}","joinnum":"${joinnum}"}`); $.get( - taskUrl('help', `active=${$.info.active}&joinnum=${$.info.joinnum}&smp=${code}`), + taskUrl('help', `active=${active}&joinnum=${joinnum}&smp=${smp}`), async (err, resp, data) => { try { const res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/)[1]; @@ -506,8 +571,13 @@ function helpShareCode(code) { // ret=1011 active 不同 if (ret === 0 || ret === 1021 || ret === 1011) { // 0 助力成功 resolve(true); + return; } // ret 1016 助力上限 + // ret 147 filter 当前账号黑号了 + if (ret === 147) { + $.log(`\n\n !!!!!!!! 当前账号黑号了 !!!!!!!! \n\n`); + } } catch (e) { $.logErr(e, resp); } finally { From 968e52745ab2c42f52ddfd5e44657cb2fd9b4112 Mon Sep 17 00:00:00 2001 From: Yesupday <77186018+Yesupday@users.noreply.github.com> Date: Fri, 22 Jan 2021 17:28:30 +0800 Subject: [PATCH 0981/1259] Update jd_joy_run.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加两个friendPin --- jd_joy_run.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 351d9da8..1cd14d38 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -44,7 +44,7 @@ let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45 let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_41345a6f96aa5,jd_704a2e5e28a66,zooooo58"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); // $.LKYLToken = $.getdata('jdJoyRunToken'); -const friendsArr = ["yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"]; +const friendsArr = ["jd_DcDTMOblJHiM", "jd_553ea3a6ef2f4", "yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"]; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; @@ -452,4 +452,4 @@ function getRandomArrayElements(arr, count) { } isRequest ? getToken() : main(); -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 +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)} From 33be01dec5f067fb6563e8a05bb12d6a3f5d2983 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Fri, 22 Jan 2021 17:45:57 +0800 Subject: [PATCH 0982/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=85=BC=E5=AE=B9=E5=8A=A9=E5=8A=9B=E7=BB=93=E6=9E=9C=20//?= =?UTF-8?q?=20ret=3D1009=20retmsg=3D"today=20has=20help=20p2p"=20=E4=BB=8A?= =?UTF-8?q?=E5=A4=A9=E5=B7=B2=E5=8A=A9=E5=8A=9B=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 88ed51fd..adb19e69 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -569,7 +569,8 @@ function helpShareCode(smp, active, joinnum) { // ret=0 助力成功 // ret=1021 cannot help self 不能助力自己 // ret=1011 active 不同 - if (ret === 0 || ret === 1021 || ret === 1011) { // 0 助力成功 + // ret=1009 retmsg="today has help p2p" 今天已助力过 + if (ret === 0 || ret === 1009 || ret === 1021 || ret === 1011) { // 0 助力成功 resolve(true); return; } From 35eb7ae79371744172d141ec4b0d43dca250e787 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 22 Jan 2021 18:27:35 +0800 Subject: [PATCH 0983/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=20DREAMFACTORY=5FFORBID=5FACCOUNT=EF=BC=8C?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E6=8E=A7=E5=88=B6=E5=93=AA=E4=B8=AA=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E8=B4=A6=E5=8F=B7=E4=B8=8D=E8=BF=90=E8=A1=8C=E4=BA=AC?= =?UTF-8?q?=E5=96=9C=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=EF=BC=8C1?= =?UTF-8?q?=E4=BB=A3=E8=A1=A8=E7=AC=AC=E4=B8=80=E4=B8=AA=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E4=B8=8D=E8=BF=90=E8=A1=8C=EF=BC=8C=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E4=BD=BF=E7=94=A8&=E8=BF=9E=E6=8E=A5=EF=BC=8C?= =?UTF-8?q?=E4=BE=8B=EF=BC=9A1&3=E4=BB=A3=E8=A1=A8=E8=B4=A6=E5=8F=B71?= =?UTF-8?q?=E5=92=8C=E8=B4=A6=E5=8F=B73=E4=B8=8D=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E6=B3=A8=EF=BC=9A=E6=95=B0=E5=AD=970=EF=BC=8C=E4=BB=A3?= =?UTF-8?q?=E8=A1=A8=E5=85=A8=E9=83=A8=E8=B4=A6=E5=8F=B7=E4=B8=8D=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 4 ++-- jd_dreamFactory.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/githubAction.md b/githubAction.md index 186cd349..7481540b 100644 --- a/githubAction.md +++ b/githubAction.md @@ -83,8 +83,8 @@ | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂
心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,
如不提供则会兑换当前所选商品 | | `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账号间使用`&`或换行分开。 | | `JD_IMMORTAL_LATLON` | 京东神仙书院
地理位置变量 | 非必须 | 京东神仙书院地理位置,示例格式:{"lat":33.1, "lng":118.1} | -| `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | - +| `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | +| `DREAMFACTORY_FORBID_ACCOUNT`| 京喜工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行京喜工厂脚本,注:输入`0`,代表全部账号不运行京喜工厂脚本 | ##### 互助码的填写规则 diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index e8692844..b76591d6 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -46,8 +46,8 @@ 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_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 { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); From 5ea5519e7d640b89f050d8bdbf095320ff324750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A1=BE=E9=A3=8E?= <51695264+q4w5e6@users.noreply.github.com> Date: Fri, 22 Jan 2021 19:18:35 +0800 Subject: [PATCH 0984/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=20JDFACTORY=5FFORBID=5FACCOUNT=EF=BC=8C?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E6=8E=A7=E5=88=B6=E5=93=AA=E4=B8=AA=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E8=B4=A6=E5=8F=B7=E4=B8=8D=E8=BF=90=E8=A1=8C=E4=B8=9C?= =?UTF-8?q?=E4=B8=9C=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=EF=BC=8C1?= =?UTF-8?q?=E4=BB=A3=E8=A1=A8=E7=AC=AC=E4=B8=80=E4=B8=AA=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E4=B8=8D=E8=BF=90=E8=A1=8C=EF=BC=8C=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E4=BD=BF=E7=94=A8&=E8=BF=9E=E6=8E=A5=EF=BC=8C?= =?UTF-8?q?=E4=BE=8B=EF=BC=9A1&3=E4=BB=A3=E8=A1=A8=E8=B4=A6=E5=8F=B71?= =?UTF-8?q?=E5=92=8C=E8=B4=A6=E5=8F=B73=E4=B8=8D=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E6=B3=A8=EF=BC=9A=E6=95=B0=E5=AD=970=EF=BC=8C=E4=BB=A3?= =?UTF-8?q?=E8=A1=A8=E5=85=A8=E9=83=A8=E8=B4=A6=E5=8F=B7=E4=B8=8D=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E4=B8=9C=E4=B8=9C=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + jd_jdfactory.js | 1 + 2 files changed, 2 insertions(+) diff --git a/githubAction.md b/githubAction.md index 7481540b..6cd31647 100644 --- a/githubAction.md +++ b/githubAction.md @@ -85,6 +85,7 @@ | `JD_IMMORTAL_LATLON` | 京东神仙书院
地理位置变量 | 非必须 | 京东神仙书院地理位置,示例格式:{"lat":33.1, "lng":118.1} | | `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | | `DREAMFACTORY_FORBID_ACCOUNT`| 京喜工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行京喜工厂脚本,注:输入`0`,代表全部账号不运行京喜工厂脚本 | +| `JDFACTORY_FORBID_ACCOUNT`| 东东工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行东东工厂脚本,注:输入`0`,代表全部账号不运行东东工厂脚本 | ##### 互助码的填写规则 diff --git a/jd_jdfactory.js b/jd_jdfactory.js index d13417a4..c5fefd44 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -42,6 +42,7 @@ if ($.isNode()) { cookiesArr.push(jdCookieNode[item]) }) if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; + if (process.env.JDFACTORY_FORBID_ACCOUNT) process.env.JDFACTORY_FORBID_ACCOUNT.split('&').map((item, index) => Number(item) === 0 ? cookiesArr = [] : cookiesArr.splice(Number(item) - 1 - index, 1)) } else { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); From 83d6785b4b13b5415529ff4f35e4fcb4f6cea4a0 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Fri, 22 Jan 2021 19:22:42 +0800 Subject: [PATCH 0985/1259] Update jd_joy_feedPets.js --- jd_joy_feedPets.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index 91dc1d4a..bd67c524 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -96,7 +96,7 @@ function showMsg() { $.log(`\n${message}\n`); jdNotify = $.getdata('jdJoyNotify') ? $.getdata('jdJoyNotify') : jdNotify; if (!jdNotify || jdNotify === 'false') { - $.msg($.name, subTitle, `【京东账号${$.index}】${$.UserName}\n` + message); + //$.msg($.name, subTitle, `【京东账号${$.index}】${$.UserName}\n` + message); } } function feedPets(feedNum) { @@ -244,4 +244,4 @@ function TotalBean() { }) } // 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 +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)} From 5e825fd3a00899f99a8f528babc9658ea8dcbc6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A1=BE=E9=A3=8E?= <51695264+q4w5e6@users.noreply.github.com> Date: Fri, 22 Jan 2021 19:24:45 +0800 Subject: [PATCH 0986/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8FDREAMFACTORY=5FFOR?= =?UTF-8?q?BID=5FACCOUNT=E5=92=8CJDFACTORY=5FFORBID=5FACCOUNT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index b97bc1ad..22ee08d2 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -86,6 +86,8 @@ jobs: if [ $JXNCTOKENS ]; then sed -i "/variables/a\ JXNCTOKENS: $JXNCTOKENS" serverless.yml; fi; if [ $JD_IMMORTAL_LATLON ]; then sed -i "/variables/a\ JD_IMMORTAL_LATLON: $JD_IMMORTAL_LATLON" serverless.yml; fi; if [ $JD_WECHAT_USER_AGENT ]; then sed -i "/variables/a\ JD_WECHAT_USER_AGENT: $JD_WECHAT_USER_AGENT" serverless.yml; fi; + if [ $DREAMFACTORY_FORBID_ACCOUNT ]; then sed -i "/variables/a\ DREAMFACTORY_FORBID_ACCOUNT: $DREAMFACTORY_FORBID_ACCOUNT" serverless.yml; fi; + if [ $JDFACTORY_FORBID_ACCOUNT ]; then sed -i "/variables/a\ JDFACTORY_FORBID_ACCOUNT: $JDFACTORY_FORBID_ACCOUNT" serverless.yml; fi; cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 @@ -150,6 +152,8 @@ jobs: JXNCTOKENS: ${{ secrets.JXNCTOKENS}} JD_IMMORTAL_LATLON: ${{ secrets.JD_IMMORTAL_LATLON}} JD_WECHAT_USER_AGENT: ${{ secrets.JD_WECHAT_USER_AGENT}} + DREAMFACTORY_FORBID_ACCOUNT: ${{ secrets.DREAMFACTORY_FORBID_ACCOUNT}} + JDFACTORY_FORBID_ACCOUNT: ${{ secrets.JDFACTORY_FORBID_ACCOUNT}} - name: "部署到腾讯云函数" run: serverless deploy From 9c199c4096b631a5edb718504db869069ad0b349 Mon Sep 17 00:00:00 2001 From: Xinglin Qiang Date: Fri, 22 Jan 2021 19:46:27 +0800 Subject: [PATCH 0987/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8=E6=8C=82=E8=BD=BD=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Readme.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docker/Readme.md b/docker/Readme.md index 95739f08..e3eb1953 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -1,6 +1,17 @@ ![Docker Pulls](https://img.shields.io/docker/pulls/lxk0301/jd_scripts?style=for-the-badge) ### Usage ```diff ++ 2021-01-22更新 CUSTOM_LIST_FILE 参数支持远程定时任务列表 (⚠️务必确认列表中的任务在仓库里存在) ++ 例1:配置远程crontab_list.sh, 此处借用 shylocks 大佬的定时任务列表, 本仓库不包含列表中的任务代码, 仅作示范 ++ CUSTOM_LIST_FILE=https://raw.githubusercontent.com/shylocks/Loon/main/docker/crontab_list.sh ++ ++ 例2:配置docker挂载本地定时任务列表, 用法不变, 注意volumes挂载 ++ volumes: ++ - ./my_crontab_list.sh:/scripts/docker/my_crontab_list.sh ++ environment: ++ - CUSTOM_LIST_FILE=my_crontab_list.sh + + + 2021-01-21更新 增加 DO_NOT_RUN_SCRIPTS 参数配置不执行的脚本 + 例:DO_NOT_RUN_SCRIPTS=jd_family&jd_dreamFactory&jd_jxnc @@ -13,8 +24,8 @@ + CUSTOM_SHELL_FILE=/scripts/docker/shell_script_mod.sh + + tip:如果使用远程自定义,请保证网络畅通或者选择合适的国内仓库,例如有部分人的容器里面就下载不到github的raw文件,那就可以把自己的自定义shell写在gitee上,或者换本地挂载 -+ 如果是 docker 挂载本地,请保重文件挂载进去了,并且配置的是绝对路径。 -+ 自定义 shell 脚本里面如果要加 crontab 任务请使用 echo 追加到 /scripts/docker/merged_list_file.sh 里面否者不生效 ++ 如果是 docker 挂载本地,请保证文件挂载进去了,并且配置的是绝对路径。 ++ 自定义 shell 脚本里面如果要加 crontab 任务请使用 echo 追加到 /scripts/docker/merged_list_file.sh 里面否则不生效 + 注⚠️ 建议无shell能力的不要轻易使用,当然你可以找别人写好适配了这个docker镜像的脚本直接远程配置 + 上面写了这么多如果还看不懂,不建议使用该变量功能。 _____ From c14e41105d649cc18ab3d0a32c41e9f5961a4eb8 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Fri, 22 Jan 2021 20:09:00 +0800 Subject: [PATCH 0988/1259] Update jd_small_home.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改cron 有时候早上没有任务可做,晚上才出现任务列表 --- jd_small_home.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jd_small_home.js b/jd_small_home.js index 9811fe71..e50a3ef6 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -2,7 +2,7 @@ * @Author: LXK9301 https://github.com/LXK9301 * @Date: 2020-11-12 11:42:12 * @Last Modified by: LXK9301 - * @Last Modified time: 2021-1-4 14:27:20 + * @Last Modified time: 2021-1-22 14:27:20 */ /* 东东小窝 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js @@ -25,17 +25,17 @@ https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html ===============Quantumultx=============== [task_local] #东东小窝 -16 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true +16 22 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true ================Loon============== [Script] -cron "16 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 +cron "16 22 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 ===============Surge================= -东东小窝 = type=cron,cronexp="16 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js +东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js ============小火箭========= -东东小窝 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, cronexpr="16 0 * * *", timeout=3600, enable=true +东东小窝 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, cronexpr="16 22 * * *", timeout=3600, enable=true */ const $ = new Env('东东小窝'); const notify = $.isNode() ? require('./sendNotify') : ''; @@ -919,4 +919,4 @@ function jsonParse(str) { } } // 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 +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)} From 2edd66ddb11dc67fed464363a0e2f9f03cd930e5 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Fri, 22 Jan 2021 20:10:35 +0800 Subject: [PATCH 0989/1259] Update crontab_list.sh --- docker/crontab_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 52e80e97..2b097535 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -66,7 +66,7 @@ # 京喜工厂 20 * * * * node /scripts/jd_dreamFactory.js >> /scripts/logs/jd_dreamFactory.log 2>&1 # 东东小窝 -16 6 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 +16 6,23 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1 # 东东工厂 36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1 # 十元街 From 7d01abf9345bee455bebdb2d57d7bc664696f626 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Fri, 22 Jan 2021 20:15:52 +0800 Subject: [PATCH 0990/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E4=BF=AE=E6=94=B9=20JXNC=5FSHARECODES=20=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 +- jdJxncShareCodes.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index f130b93e..61fc877e 100644 --- a/githubAction.md +++ b/githubAction.md @@ -47,7 +47,7 @@ | `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 6/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | +| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 每个账号 shareCode 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"}',多账单间使用`&`或换行分开。 | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDSXSY_SHARECODES` | 京东神仙书院
互助码 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | diff --git a/jdJxncShareCodes.js b/jdJxncShareCodes.js index 6ca30334..59a2bb5f 100644 --- a/jdJxncShareCodes.js +++ b/jdJxncShareCodes.js @@ -7,6 +7,8 @@ //云服务器腾讯云函数等NOde.js用户在此处填写京京喜农场的好友码。 // 同一个京东账号的好友助力码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 +// 每个账号 shareCdoe 是一个 json,示例如下 +// {"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"} let JxncShareCodes = [ '',//账号一的好友shareCode,不同好友中间用@符号隔开 '',//账号二的好友shareCode,不同好友中间用@符号隔开 From 53dd7f44cbc513b6898bfb342687c1e4406e72b9 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 22 Jan 2021 20:16:25 +0800 Subject: [PATCH 0991/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=B8=9C=E4=B8=9C=E5=B0=8F=E7=AA=9D=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数调整东东小窝运行时间 --- serverless.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/serverless.yml b/serverless.yml index e3acc374..e22ee946 100644 --- a/serverless.yml +++ b/serverless.yml @@ -40,18 +40,18 @@ inputs: cronExpression: "0 3 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory&jd_nianCollect - - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗 #点点券 #京东直播18豆 #集鞭炮赢京豆 + - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗 #点点券 #东东小窝 #京东直播18豆 #集鞭炮赢京豆 parameters: - name: joyreward_joysteal_necklace_live_firecrackers + name: joyreward_joysteal_necklace_smallhome_live_firecrackers cronExpression: "0 0 0-16/8,20 * * * *" enable: true - argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_live&jd_firecrackers - - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #东东小窝 + argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_small_home&jd_live&jd_firecrackers + - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 parameters: - name: redPacket_shop_unsubscribe_unbind_lotteryMachine_smallhome + name: redPacket_shop_unsubscribe_unbind_lotteryMachine cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_small_home + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine - timer: #京东天天加速 #天天提鹅 #京东炸年兽 parameters: name: speed_daily_egg_nian From cd12b2bdb84304b16e8aaaa8b6e34c21c7fcec81 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Fri, 22 Jan 2021 12:17:27 +0000 Subject: [PATCH 0992/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=AE=A2=E9=98=85=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 14 +++++++------- QuantumultX/lxk0301_gallery.json | 4 ++-- Surge/lxk0301_Task.sgmodule.sgmodule | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 61e718e4..8c5d6335 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -7,6 +7,9 @@ hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +# 获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie + # 京豆变动通知 cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 @@ -40,9 +43,6 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京喜工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 -# 获取多账号京东Cookie -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie - # 京东家庭号 cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 @@ -112,6 +112,9 @@ cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_script # 京东炸年兽🧨 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 + # 京东炸年兽AR cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR @@ -121,9 +124,6 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 @@ -143,7 +143,7 @@ cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_script cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 # 东东小窝 -cron "16 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 +cron "16 22 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 # ✈️天天加速 cron "8 0-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index ed72af2e..bf42f6b2 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -32,16 +32,16 @@ "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", "1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", - "16 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", + "16 22 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", "11 1-23/5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index ba5d3188..27035459 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,6 +8,7 @@ # Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js @@ -19,7 +20,6 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js -获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js 集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js @@ -43,17 +43,17 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js 京东炸年兽🧨 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js 京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js -东东小窝 = type=cron,cronexp="16 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js +东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js 天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js 东东超市 = type=cron,cronexp="11 1-23/5 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js 十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js From 9cafd3a41b3470d456f09daf0b1ae3f26158432f Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Fri, 22 Jan 2021 20:22:02 +0800 Subject: [PATCH 0993/1259] Update update_ios_task.yml --- .github/workflows/update_ios_task.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update_ios_task.yml b/.github/workflows/update_ios_task.yml index 9c10234f..e9fd2094 100644 --- a/.github/workflows/update_ios_task.yml +++ b/.github/workflows/update_ios_task.yml @@ -27,7 +27,7 @@ jobs: git config --global user.email ${{ secrets.EMAIL }} git config --global user.name lxk0301 git add . - git commit -m "更新iOS端3大订阅软件订阅配置 by lxk0301 Github Action" -a || echo "Nothing to update" + git commit -m "更新iOS端3大软件订阅配置 by lxk0301 Github Action" -a || echo "Nothing to update" - name: Push changes uses: ad-m/github-push-action@master with: From d6a58099b73e677a31c58862b0d57e0a200a112c Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Fri, 22 Jan 2021 20:24:06 +0800 Subject: [PATCH 0994/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E8=A1=A5=E5=85=85=E5=8A=A9=E5=8A=9B=E7=A0=81=E8=B7=9F?= =?UTF-8?q?=E9=9A=8F=E7=A7=8D=E5=AD=90=E5=8F=98=E5=8C=96=E7=9A=84=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 +- jdJxncShareCodes.js | 3 +++ jd_get_share_code.js | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 61fc877e..f30d52fe 100644 --- a/githubAction.md +++ b/githubAction.md @@ -47,7 +47,7 @@ | `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 6/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 每个账号 shareCode 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"}',多账单间使用`&`或换行分开。 | +| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 注意:京喜农场 种植种子发生变化的时候,互助码也会变!!
每个账号 shareCode 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"}',多账单间使用`&`或换行分开。 | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDSXSY_SHARECODES` | 京东神仙书院
互助码 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | diff --git a/jdJxncShareCodes.js b/jdJxncShareCodes.js index 59a2bb5f..ea3b97ed 100644 --- a/jdJxncShareCodes.js +++ b/jdJxncShareCodes.js @@ -7,6 +7,9 @@ //云服务器腾讯云函数等NOde.js用户在此处填写京京喜农场的好友码。 // 同一个京东账号的好友助力码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例 // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2 +// 注意:京喜农场 种植种子发生变化的时候,互助码也会变!! +// 注意:京喜农场 种植种子发生变化的时候,互助码也会变!! +// 注意:京喜农场 种植种子发生变化的时候,互助码也会变!! // 每个账号 shareCdoe 是一个 json,示例如下 // {"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"} let JxncShareCodes = [ diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 09e11ce2..98134298 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -327,6 +327,7 @@ function getJxNc(){ 'active': data.active, 'joinnum': data.joinnum, }; + console.log(`注意:京喜农场 种植种子发生变化的时候,互助码也会变!!`); console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场】` + JSON.stringify(shareCodeJson)); } else { console.log(`【账号${$.index}(${$.nickName || $.UserName})京喜农场】未选择种子,请先去京喜农场选择种子`); From 36a4074b1d857bb9dd3256dfa5decaee656c6a75 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Fri, 22 Jan 2021 20:34:48 +0800 Subject: [PATCH 0995/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0JXNC=5FSHARECODES?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加JXNC_SHARECODES详细说明 --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 95067f33..3d6d675d 100644 --- a/githubAction.md +++ b/githubAction.md @@ -47,7 +47,7 @@ | `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 6/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 注意:京喜农场 种植种子发生变化的时候,互助码也会变!!
每个账号 shareCode 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"}',多账单间使用`&`或换行分开。 | +| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 注意:京喜农场 种植种子发生变化的时候,互助码也会变!!
每个账号 shareCode 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"}',多账单间使用`&`或换行分开。详细说明参见[#Pr202](https://github.com/LXK9301/jd_scripts/pull/202) | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDSXSY_SHARECODES` | 京东神仙书院
互助码 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | From d61346a44d7a6a7d5353a9be127840b7fea9fee1 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Fri, 22 Jan 2021 21:24:25 +0800 Subject: [PATCH 0996/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E4=BF=AE=E5=A4=8D=20=E5=8A=A9=E5=8A=9B=E7=A0=81=20JSON=20?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E6=A3=80=E6=B5=8B=E9=94=99=E8=AF=AF=20?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=20=E5=85=BC=E5=AE=B9=20ret=3D1032=20?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=20APP=20=E4=B8=93=E5=B1=9E=E7=A7=8D=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index adb19e69..ac545113 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -162,7 +162,8 @@ function requireConfig() { // 检查互助码是否为 json [smp,active,joinnum] 格式,否则进行通知 for (let i = 0; i < jxncShareCodeArr.length; i++) { if (jxncShareCodeArr[i]) { - let tmpjsonShareCodeArr = jxncShareCodeArr.splice('@'); + let tmpJxncShareStr = jxncShareCodeArr[i]; + let tmpjsonShareCodeArr = tmpJxncShareStr.split('@'); if (!changeShareCodeJson(tmpjsonShareCodeArr[0])) { $.log('互助码格式已变更,请重新填写互助码'); $.msg($.name, '互助码格式变更通知', '互助码格式变更,请重新填写 ‼️‼️', option); @@ -570,7 +571,8 @@ function helpShareCode(smp, active, joinnum) { // ret=1021 cannot help self 不能助力自己 // ret=1011 active 不同 // ret=1009 retmsg="today has help p2p" 今天已助力过 - if (ret === 0 || ret === 1009 || ret === 1021 || ret === 1011) { // 0 助力成功 + // ret=1032 retmsg="err operate env" 被助力者为 APP 专属种子,当前助力账号未配置 TOKEN + if (ret === 0 || ret === 1009 || ret === 1011 || ret === 1021 || ret === 1032) { resolve(true); return; } From 193ca292f04c765cdf99fa1b96a5c5bb5e69b050 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Sat, 23 Jan 2021 08:35:37 +0800 Subject: [PATCH 0997/1259] Update jd_family.js --- jd_family.js | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/jd_family.js b/jd_family.js index 5159f922..93bd1d63 100644 --- a/jd_family.js +++ b/jd_family.js @@ -10,20 +10,10 @@ 8000幸福值可换100京豆,一天任务做完大概300幸福值,周期较长 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东家庭号 -1 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, tag=京东家庭号, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_family.png, enabled=true -================Loon============== -[Script] -cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 +易黑号,建议禁用 -===============Surge================= -京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js - -============小火箭========= -京东家庭号 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, cronexpr="1 * * * *", timeout=3600, enable=true +1 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js */ const $ = new Env('京东家庭号'); const notify = $.isNode() ? require('./sendNotify') : ''; From 1272ddc0e01e44126d67fd2047535881d0246434 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Sat, 23 Jan 2021 08:36:14 +0800 Subject: [PATCH 0998/1259] Update jd_family.js --- jd_family.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_family.js b/jd_family.js index 93bd1d63..73334a37 100644 --- a/jd_family.js +++ b/jd_family.js @@ -12,8 +12,8 @@ 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 易黑号,建议禁用 - -1 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js +cron如下 +1 * * * * */ const $ = new Env('京东家庭号'); const notify = $.isNode() ? require('./sendNotify') : ''; From d8141634bddec0594915bc6597ac478ee0411d46 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Sat, 23 Jan 2021 00:37:11 +0000 Subject: [PATCH 0999/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 --- QuantumultX/lxk0301_gallery.json | 1 - Surge/lxk0301_Task.sgmodule.sgmodule | 1 - 3 files changed, 5 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 8c5d6335..c02d9c93 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -43,9 +43,6 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京喜工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 -# 京东家庭号 -cron "1 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js,tag=京东家庭号 - # 集鞭炮赢京豆 cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index bf42f6b2..18995405 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -13,7 +13,6 @@ "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true", - "1 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js, tag=京东家庭号, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_family.png, enabled=true", "10 8,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 27035459..9079a8c4 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -20,7 +20,6 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js -京东家庭号 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js 集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js From bc15bce12d12645ca8606760a2eed0a57c4326fb Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 23 Jan 2021 10:39:45 +0800 Subject: [PATCH 1000/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B9=B4=E5=85=BD?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 2cc533e2..671abb12 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -190,6 +190,13 @@ async function doTask() { } 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}已做完`) + } } } } @@ -259,7 +266,7 @@ function getHomeData(info=false) { $.secretp = null return } - console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore}🧨`) + console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore-$.userInfo.raiseInfo.curLevelStartScore}🧨`) if(info) { message += `当前爆竹${$.userInfo.raiseInfo.remainScore}🧨\n` @@ -269,8 +276,8 @@ function getHomeData(info=false) { console.log(`可收取的爆竹大于0,去收取爆竹`) await collectProduceScore() } - if(parseInt($.userInfo.raiseInfo.remainScore) >= parseInt($.userInfo.raiseInfo.curLevelStartScore)){ - console.log(`去升级`) + if(parseInt($.userInfo.raiseInfo.remainScore) >= parseInt($.userInfo.raiseInfo.nextLevelScore-$.userInfo.raiseInfo.curLevelStartScore)){ + console.log(`当前爆竹🧨大于升级所需爆竹🧨,去升级`) await $.wait(2000) await raise() } From 63f8b3c1519c9352a17ae4d4793e94fa2d965b7c Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 23 Jan 2021 10:40:12 +0800 Subject: [PATCH 1001/1259] =?UTF-8?q?=E5=8A=A0=E5=A4=A7=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jd_nian.js b/jd_nian.js index 671abb12..c7d68880 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -161,6 +161,7 @@ async function doTask() { if (task.status === 1) { await collectScore(item.taskId, task.itemId); } + await $.wait(3000) } } else if (item.status === 2) { console.log(`${item.taskName}已做完`) @@ -174,6 +175,7 @@ async function doTask() { if (task.status === 1) { await collectScore(item.taskId, task.itemId, 1); } + await $.wait(3000) } } else if(item.status===2){ console.log(`${item.taskName}已做完`) From 0eb116f970f767546195958c1791b9e5ceb1ea6f Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Sat, 23 Jan 2021 14:43:13 +0800 Subject: [PATCH 1002/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=8A=A9=E5=8A=9B=E5=85=BC=E5=AE=B9=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=80=BC=20//=20ret=3D1012=20has=20complete=20=E5=B7=B2?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index ac545113..757dd2c3 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -568,11 +568,12 @@ function helpShareCode(smp, active, joinnum) { const {ret, retmsg = ''} = JSON.parse(res); $.log(`助力结果:ret=${ret} retmsg="${retmsg ? retmsg : 'OK'}"`); // ret=0 助力成功 - // ret=1021 cannot help self 不能助力自己 // ret=1011 active 不同 + // ret=1012 has complete 已完成 // 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 === 1021 || ret === 1032) { + if (ret === 0 || ret === 1009 || ret === 1011 || ret === 1012 || ret === 1021 || ret === 1032) { resolve(true); return; } From a987489ba6bd7fa2f25469e3e3698f0773e0122b Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Sat, 23 Jan 2021 18:18:41 +0800 Subject: [PATCH 1003/1259] =?UTF-8?q?[=E4=BA=AC=E5=96=9C=E5=86=9C=E5=9C=BA?= =?UTF-8?q?]=20=E5=8A=A9=E5=8A=9B=E4=BF=AE=E6=94=B9=E4=B8=BA=E9=BB=91?= =?UTF-8?q?=E5=90=8D=E5=8D=95=E6=A8=A1=E5=BC=8F=EF=BC=88ret=20=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E5=AE=9E=E5=9C=A8=E5=A4=AA=E5=A4=9A=E4=BA=86?= =?UTF-8?q?=EF=BC=8C=E5=85=BC=E5=AE=B9=E4=B8=8D=E8=BF=87=E6=9D=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jxnc.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/jd_jxnc.js b/jd_jxnc.js index 757dd2c3..8e343e85 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -570,18 +570,25 @@ function helpShareCode(smp, active, joinnum) { // 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); + // 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; } - // ret 1016 助力上限 - // ret 147 filter 当前账号黑号了 - if (ret === 147) { - $.log(`\n\n !!!!!!!! 当前账号黑号了 !!!!!!!! \n\n`); - } + resolve(true); + return; } catch (e) { $.logErr(e, resp); } finally { From a33f03f8af9fc39eb3e01321b649737b2bf24bb9 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 23 Jan 2021 22:40:24 +0800 Subject: [PATCH 1004/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E8=B5=9A=E8=B5=9A=E4=B8=8D=E5=81=9A=E4=BB=BB=E5=8A=A1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdzz.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jd_jdzz.js b/jd_jdzz.js index 8424f451..13fa4146 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -121,7 +121,10 @@ async function jdWish() { await doTask({"taskId": task['taskId']}) } else if (task['taskId'] !== 3 && task['status'] !== 2) { console.log(`去做任务:${task.taskName}`) - await doTask({"taskId": task['taskId']}) + if(task['itemId']) + await doTask({"itemId":task['itemId'],"taskId":task['taskId'],"mpVersion":"3.4.0"}) + else + await doTask({"taskId": task['taskId']}) } } await getTaskList(); @@ -330,7 +333,7 @@ function doTask(body, func = "doInteractTask") { async function helpFriends() { for (let code of $.newShareCodes) { if (!code) continue - await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.1.0"}, "doHelpTask") + await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.4.0"}, "doHelpTask") } } function readShareCode() { From e14cfefc620d103a08d3673eca6b05b952c7f628 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 23 Jan 2021 22:41:18 +0800 Subject: [PATCH 1005/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E8=B5=9A=E8=B5=9A=E4=B8=8D=E5=81=9A=E4=BB=BB=E5=8A=A1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdzz.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jd_jdzz.js b/jd_jdzz.js index 13fa4146..1d87f7e5 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -118,13 +118,14 @@ async function jdWish() { let task = $.taskList[i] if (task['taskId'] === 1 && task['status'] !== 2) { console.log(`去做任务:${task.taskName}`) - await doTask({"taskId": task['taskId']}) + await doTask({"taskId": task['taskId'],"mpVersion":"3.4.0"}) } else if (task['taskId'] !== 3 && task['status'] !== 2) { console.log(`去做任务:${task.taskName}`) if(task['itemId']) await doTask({"itemId":task['itemId'],"taskId":task['taskId'],"mpVersion":"3.4.0"}) else - await doTask({"taskId": task['taskId']}) + await doTask({"taskId": task['taskId'],"mpVersion":"3.4.0"}) + await $.wait(3000) } } await getTaskList(); From f7f30ed81b3dd049c81ce4f972646b74c4874568 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 23 Jan 2021 22:49:15 +0800 Subject: [PATCH 1006/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2=E4=B8=8D=E7=AD=BE=E5=88=B0=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 88 ++++++++++++++++++++++++++++---------------------- 1 file changed, 50 insertions(+), 38 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index 0630db56..9a50d59c 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -81,17 +81,18 @@ const inviteCodes = [ } } })() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + async function jdNian() { try { $.risk = false await getHomeData() - if($.risk) return + if ($.risk) return await getTaskList($.cor) await $.wait(2000) await helpFriends() @@ -102,6 +103,7 @@ async function jdNian() { $.logErr(e) } } + function showMsg() { return new Promise(resolve => { message += `本次运行获得${$.earn}金币,当前${$.coin}金币` @@ -113,6 +115,7 @@ function showMsg() { resolve() }) } + async function helpFriends() { for (let code of $.newShareCodes) { if (!code) continue @@ -120,9 +123,10 @@ async function helpFriends() { await $.wait(2000) } } + function doTask(itemToken) { return new Promise((resolve) => { - $.post(taskPostUrl('mcxhd_brandcity_doTask',{itemToken:itemToken},'mcxhd_brandcity_doTask'), async (err, resp, data) => { + $.post(taskPostUrl('mcxhd_brandcity_doTask', {itemToken: itemToken}, 'mcxhd_brandcity_doTask'), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -130,15 +134,14 @@ function doTask(itemToken) { } else { data = JSON.parse(data); if (data && data['retCode'] === "200") { - if(data.result.score) + if (data.result.score) console.log(`任务完成成功,获得${data.result.score}金币`) - else if(data.result.taskToken) + else if (data.result.taskToken) console.log(`任务请求成功,等待${$.duration}秒`) - else{ + else { console.log(`任务请求结果未知`) } - } - else{ + } else { console.log(data.retMessage) } } @@ -150,14 +153,15 @@ function doTask(itemToken) { }) }) } + function doTask2(taskToken) { let body = { - "dataSource":"newshortAward", - "method":"getTaskAward", - "reqParams":`{\"taskToken\":\"${taskToken}\"}` + "dataSource": "newshortAward", + "method": "getTaskAward", + "reqParams": `{\"taskToken\":\"${taskToken}\"}` } return new Promise(resolve => { - $.post(taskPostUrl2("qryViewkitCallbackResult", body, ), async (err, resp, data) => { + $.post(taskPostUrl2("qryViewkitCallbackResult", body,), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -167,8 +171,7 @@ function doTask2(taskToken) { data = JSON.parse(data); if (data.code === "0") { console.log(data.toast.subTitle) - } - else{ + } else { console.log(`任务完成失败,错误信息:${JSON.stringify(data)}`) } } @@ -181,7 +184,8 @@ function doTask2(taskToken) { }) }) } -function getHomeData(info=false) { + +function getHomeData(info = false) { return new Promise((resolve) => { $.post(taskPostUrl('mcxhd_brandcity_homePage'), async (err, resp, data) => { try { @@ -192,14 +196,13 @@ function getHomeData(info=false) { data = JSON.parse(data); if (data && data['retCode'] === "200") { const {userCoinNum} = data.result - if(info){ + if (info) { $.earn = userCoinNum - $.coin - }else { + } else { console.log(`当前用户金币${userCoinNum}`) } $.coin = userCoinNum - } - else{ + } else { $.risk = true console.log(`账号被风控,无法参与活动`) message += `账号被风控,无法参与活动\n` @@ -214,7 +217,7 @@ function getHomeData(info=false) { }) } -function getTaskList(body={}) { +function getTaskList(body = {}) { return new Promise(resolve => { $.post(taskPostUrl("mcxhd_brandcity_taskList", body, "mcxhd_brandcity_taskList"), async (err, resp, data) => { @@ -228,16 +231,16 @@ function getTaskList(body={}) { $.tasks = [] if (data.retCode === '200') { $.tasks = data.result.tasks - for(let vo of $.tasks){ - if(vo.taskType==="1" || vo.taskType==="2" || vo.taskType==="5" || vo.taskType==="3") { + 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) + await $.wait((vo.waitDuration ? vo.waitDuration : 5 + 1) * 1000) } - }else if(vo.taskType==="7" || vo.taskType==="9") { + } 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}`) @@ -247,11 +250,11 @@ function getTaskList(body={}) { await $.wait((vo.waitDuration + 1) * 1000) await doTask2(item['taskToken']) } - }else if(vo.taskType==="6") { + } else if (vo.taskType === "6") { // 邀请好友 - if (vo.subItem.length){ + if (vo.subItem.length) { console.log(`您的好友助力码为${vo.subItem[0].itemToken}`) - }else{ + } else { console.log(`无法查询您的好友助力码`) } } @@ -271,7 +274,10 @@ function getTaskList(body={}) { 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) => { + $.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)}`) @@ -292,6 +298,7 @@ function readShareCode() { resolve() }) } + //格式化助力码 function shareCodesFormat() { return new Promise(async resolve => { @@ -304,7 +311,7 @@ function shareCodesFormat() { const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); $.newShareCodes = inviteCodes[tempIndex].split('@'); } - const readShareCodeRes = await readShareCode(); + const readShareCodeRes = [] //await readShareCode(); if (readShareCodeRes && readShareCodeRes.code === 200) { $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; } @@ -312,6 +319,7 @@ function shareCodesFormat() { resolve(); }) } + function requireConfig() { return new Promise(async resolve => { console.log(`开始获取${$.name}配置文件\n`); @@ -332,9 +340,9 @@ function requireConfig() { $.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")):{} + $.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`); @@ -380,7 +388,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { if (function_id2) { url += `?functionId=${function_id2}`; } - body = {...body,"token":'jd17919499fb7031e5'} + body = {...body, "token": 'jd17919499fb7031e5'} return { url, body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=publicUseApi`, @@ -393,6 +401,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { } } } + function taskPostUrl2(function_id, body = {}, function_id2) { let url = `${JD_API_HOST}`; if (function_id2) { @@ -410,6 +419,7 @@ function taskPostUrl2(function_id, body = {}, function_id2) { } } } + function TotalBean() { return new Promise(async resolve => { const options = { @@ -450,6 +460,7 @@ function TotalBean() { }) }) } + function safeGet(data) { try { if (typeof JSON.parse(data) == "object") { @@ -461,6 +472,7 @@ function safeGet(data) { return false; } } + function jsonParse(str) { if (typeof str == "string") { try { From 3bb7837d1c29c1232a67aa427a3a0130aa5d46d2 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 23 Jan 2021 23:12:46 +0800 Subject: [PATCH 1007/1259] debug --- jd_immortal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index 9a50d59c..da6ec925 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -311,7 +311,7 @@ function shareCodesFormat() { const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); $.newShareCodes = inviteCodes[tempIndex].split('@'); } - const readShareCodeRes = [] //await readShareCode(); + const readShareCodeRes = await readShareCode(); if (readShareCodeRes && readShareCodeRes.code === 200) { $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; } From 02a626c28fed1563da3af888664a10d1531a53d7 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 24 Jan 2021 14:22:48 +0800 Subject: [PATCH 1008/1259] =?UTF-8?q?=E9=97=AA=E8=B4=AD=E7=9B=B2=E7=9B=92?= =?UTF-8?q?=20=E9=95=BF=E6=9C=9F=E6=B4=BB=E5=8A=A8=EF=BC=8C=E4=B8=80?= =?UTF-8?q?=E4=BA=BA=E6=AF=8F=E5=A4=A95=E6=AC=A1=E5=8A=A9=E5=8A=9B?= =?UTF-8?q?=E6=9C=BA=E4=BC=9A=EF=BC=8C10=E6=AC=A1=E8=A2=AB=E5=8A=A9?= =?UTF-8?q?=E6=9C=BA=E4=BC=9A=EF=BC=8C=E8=A2=AB=E5=8A=A9=E5=8A=9B=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E8=8E=B7=E5=BE=97=E4=B8=80=E6=AC=A1=E6=8A=BD=E5=A5=96?= =?UTF-8?q?=E6=9C=BA=E4=BC=9A=EF=BC=8C=E5=89=8D=E5=87=A0=E6=AC=A1=E5=BF=85?= =?UTF-8?q?=E4=B8=AD=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_sgmh.js | 383 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 383 insertions(+) create mode 100644 jd_sgmh.js diff --git a/jd_sgmh.js b/jd_sgmh.js new file mode 100644 index 00000000..44340866 --- /dev/null +++ b/jd_sgmh.js @@ -0,0 +1,383 @@ +/* +闪购盲盒 +长期活动,一人每天5次助力机会,10次被助机会,被助力一次获得一次抽奖机会,前几次必中京豆 +修改自 @yangtingxiao 抽奖机脚本 +入口:首页-闪购-闪购盲盒 +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#闪购盲盒 +20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_sgmh.png, enabled=true + +================Loon============== +[Script] +cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒 + +===============Surge================= +闪购盲盒 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js + +============小火箭========= +闪购盲盒 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, cronexpr="20 8 * * *", timeout=3600, enable=true + + */ +const $ = new Env('闪购盲盒'); +//Node.js用户请在jdCookie.js处填写京东ck; +const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; +let appId = '1EFRRxA' , homeDataFunPrefix = 'interact_template', collectScoreFunPrefix = 'harmony', message = '' +let lotteryResultFunPrefix = homeDataFunPrefix, browseTime = 6 +const inviteCodes = [ + 'T019-aknAFRllhyoQlyI46gCjVWmIaW5kRrbA', + 'T019-aknAFRllhyoQlyI46gCjVWmIaW5kRrbA' +]; +const randomCount = $.isNode() ? 20 : 5; +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 { + 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); +} + +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; + } + await requireConfig(); + 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(); + await shareCodesFormat(); + 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 interact_template_getHomeData() + await showMsg(); + } + } +})() + .catch((e) => $.logErr(e)) + .finally(() => $.done()) +//获取活动信息 +function interact_template_getHomeData(timeout = 0) { + return new Promise((resolve) => { + setTimeout( ()=>{ + let url = { + url : `${JD_API_HOST}`, + 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 { + data = JSON.parse(data); + if (data.data.bizCode !== 0) { + console.log(data.data.bizMsg); + merge.jdBeans.fail++; + merge.jdBeans.notify = `${data.data.bizMsg}`; + return + } + scorePerLottery = data.data.result.userInfo.scorePerLottery||data.data.result.userInfo.lotteryMinusScore + if (data.data.result.raiseInfo&&data.data.result.raiseInfo.levelList) scorePerLottery = data.data.result.raiseInfo.levelList[data.data.result.raiseInfo.scoreLevel]; + //console.log(scorePerLottery) + for (let i = 0;i < data.data.result.taskVos.length;i ++) { + console.log("\n" + data.data.result.taskVos[i].taskType + '-' + data.data.result.taskVos[i].taskName + '-' + (data.data.result.taskVos[i].status === 1 ? `已完成${data.data.result.taskVos[i].times}-未完成${data.data.result.taskVos[i].maxTimes}` : "全部已完成")) + //签到 + if (data.data.result.taskVos[i].taskName === '邀人助力任务') { + console.log(`您的好友助力码为:${data.data.result.taskVos[i].assistTaskDetailVo.taskToken}`) + for (let code of $.newShareCodes) { + if (!code) continue + await harmony_collectScore(code, data.data.result.taskVos[i].taskId); + await $.wait(2000) + } + } + else if (data.data.result.taskVos[i].status === 3) { + console.log('开始抽奖') + await interact_template_getLotteryResult(data.data.result.taskVos[i].taskId); + } + else if ([0,13].includes(data.data.result.taskVos[i].taskType)) { + if (data.data.result.taskVos[i].status === 1) { + await harmony_collectScore(data.data.result.taskVos[i].simpleRecordInfoVo.taskToken,data.data.result.taskVos[i].taskId); + } + } + else if ([14,6].includes(data.data.result.taskVos[i].taskType)) { + //console.log(data.data.result.taskVos[i].assistTaskDetailVo.taskToken) + for (let j = 0;j <(data.data.result.userInfo.lotteryNum||0);j++) { + if (appId === "1EFRTxQ") { + await ts_smashGoldenEggs() + } else { + await interact_template_getLotteryResult(data.data.result.taskVos[i].taskId); + } + } + } + let list = data.data.result.taskVos[i].productInfoVos || data.data.result.taskVos[i].followShopVo || data.data.result.taskVos[i].shoppingActivityVos || data.data.result.taskVos[i].browseShopVo + for (let k = data.data.result.taskVos[i].times; k < data.data.result.taskVos[i].maxTimes; k++) { + for (let j in list) { + if (list[j].status === 1) { + //console.log(list[j].simpleRecordInfoVo||list[j].assistTaskDetailVo) + console.log("\n" + (list[j].title || list[j].shopName||list[j].skuName)) + //console.log(list[j].itemId) + if (list[j].itemId) { + await harmony_collectScore(list[j].taskToken,data.data.result.taskVos[i].taskId,list[j].itemId,1); + if (k === data.data.result.taskVos[i].maxTimes - 1) await interact_template_getLotteryResult(data.data.result.taskVos[i].taskId); + } else { + await harmony_collectScore(list[j].taskToken,data.data.result.taskVos[i].taskId) + } + list[j].status = 2; + break; + } + } + } + } + if (scorePerLottery) await interact_template_getLotteryResult(); + } catch (e) { + $.logErr(e, resp); + } finally { + resolve() + } + }) + },timeout) + }) +} +//做任务 +function harmony_collectScore(taskToken,taskId,itemId = "",actionType = 0,timeout = 0) { + return new Promise((resolve) => { + setTimeout( ()=>{ + let url = { + url : `${JD_API_HOST}`, + 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`,//?inviteId=P225KkcRx4b8lbWJU72wvZZcwCjVXmYaS5jQ P225KkcRx4b8lbWJU72wvZZcwCjVXmYaS5jQ?inviteId=${shareCode} + 'Host' : `api.m.jd.com`, + 'Accept-Encoding' : `gzip, deflate, br`, + 'Accept-Language' : `zh-cn` + }, + body : `functionId=${collectScoreFunPrefix}_collectScore&body={"appId":"${appId}","taskToken":"${taskToken}","taskId":${taskId}${itemId ? ',"itemId":"'+itemId+'"' : ''},"actionType":${actionType}&client=wh5&clientVersion=1.0.0` + } + //console.log(url.body) + //if (appId === "1EFRTxQ") url.body += "&appid=golden-egg" + $.post(url, async (err, resp, data) => { + try { + data = JSON.parse(data); + if (data.data.bizMsg === "任务领取成功") { + await harmony_collectScore(taskToken,taskId,itemId,0,parseInt(browseTime) * 1000); + } else{ + console.log(data.data.bizMsg) + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve() + } + }) + },timeout) + }) +} +//抽奖 +function interact_template_getLotteryResult(taskId,timeout = 0) { + return new Promise((resolve) => { + setTimeout( ()=>{ + let url = { + url : `${JD_API_HOST}`, + 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?inviteId=P04z54XCjVXmYaW5m9cZ2f433tIlGBj3JnLHD0`,//?inviteId=P225KkcRx4b8lbWJU72wvZZcwCjVXmYaS5jQ P225KkcRx4b8lbWJU72wvZZcwCjVXmYaS5jQ + 'Host' : `api.m.jd.com`, + 'Accept-Encoding' : `gzip, deflate, br`, + 'Accept-Language' : `zh-cn` + }, + body : `functionId=${lotteryResultFunPrefix}_getLotteryResult&body={"appId":"${appId}"${taskId ? ',"taskId":"'+taskId+'"' : ''}}&client=wh5&clientVersion=1.0.0` + } + //console.log(url.body) + //if (appId === "1EFRTxQ") url.body = `functionId=ts_getLottery&body={"appId":"${appId}"${taskId ? ',"taskId":"'+taskId+'"' : ''}}&client=wh5&clientVersion=1.0.0&appid=golden-egg` + $.post(url, async (err, resp, data) => { + try { + if (!timeout) console.log('\n开始抽奖') + data = JSON.parse(data); + if (data.data.bizCode === 0) { + if (data.data.result.userAwardsCacheDto.jBeanAwardVo) { + console.log('京豆:' + data.data.result.userAwardsCacheDto.jBeanAwardVo.quantity) + $.beans += parseInt(data.data.result.userAwardsCacheDto.jBeanAwardVo.quantity) + } + if (data.data.result.raiseInfo) scorePerLottery = parseInt(data.data.result.raiseInfo.nextLevelScore); + if (parseInt(data.data.result.userScore) >= scorePerLottery && scorePerLottery) { + await interact_template_getLotteryResult(1000) + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve() + } + }) + },timeout) + }) +} + + +//通知 +function showMsg() { + message += `任务已完成,本次运行获得京豆${$.beans}` + return new Promise(resolve => { + $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + 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.JDSGMH_SHARECODES) { + if (process.env.JDSGMH_SHARECODES.indexOf('\n') > -1) { + shareCodes = process.env.JDSGMH_SHARECODES.split('\n'); + } else { + shareCodes = process.env.JDSGMH_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 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(); + // console.log(readShareCodeRes) + 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/sgmh/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 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } else { + console.log(`京东服务器返回空数据`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} +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)} From e4c2934657d260e8d86ca7d8625ba7b09b10e5aa Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 24 Jan 2021 14:28:15 +0800 Subject: [PATCH 1009/1259] debug --- jd_sgmh.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/jd_sgmh.js b/jd_sgmh.js index 44340866..2bd8d4e9 100644 --- a/jd_sgmh.js +++ b/jd_sgmh.js @@ -380,4 +380,15 @@ function TotalBean() { }) }) } +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){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)} From 918d3333152b5fcf09de8ce4504ee0302dc567b8 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 24 Jan 2021 14:35:34 +0800 Subject: [PATCH 1010/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=97=AA=E8=B4=AD=E7=9B=B2=E7=9B=92=E3=80=81=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BA=AC=E4=B8=9C=E6=B1=BD=E8=BD=A6Cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增闪购盲盒、调整京东汽车Cron --- serverless.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/serverless.yml b/serverless.yml index e22ee946..a84b315a 100644 --- a/serverless.yml +++ b/serverless.yml @@ -22,12 +22,12 @@ inputs: cronExpression: "0 0 0 * * * *" enable: true argument: jd_bean_sign - - timer: #东东超市兑换奖品 #摇京豆 #京东汽车 #京东汽车兑换 + - timer: #东东超市兑换奖品 #摇京豆 #京东汽车兑换 parameters: name: blueCoin_clublottery_car_carexchange cronExpression: "0 0 0 * * * *" enable: true - argument: jd_blueCoin&jd_club_lottery&jd_car&jd_car_exchange + argument: jd_blueCoin&jd_club_lottery&jd_car_exchange - timer: #东东农场 #东东萌宠 #口袋书店 #京喜农场 parameters: name: fruit_pet_bookshop_jxnc @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_small_home&jd_live&jd_firecrackers - - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 + - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #京东汽车 parameters: - name: redPacket_shop_unsubscribe_unbind_lotteryMachine + name: redPacket_shop_unsubscribe_unbind_lotteryMachine_car cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_car - timer: #京东天天加速 #天天提鹅 #京东炸年兽 parameters: name: speed_daily_egg_nian @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #京东年货节 #京东神仙书院 + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #闪购盲盒 #京东年货节 #京东神仙书院 parameters: - name: beanchange_crazyjoy_rankingList_beanhome_nh_immortal + name: beanchange_crazyjoy_rankingList_beanhome_sgmh_nh_immortal cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_car&jd_nh&jd_immortal + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR #京东炸年兽小程序 parameters: name: pigPet_syj_kd_jdzz_cash_sign_niansign_nianar_nianwechat From 10587cca7b955abdf874831f2ed137a1c982890c Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 24 Jan 2021 14:37:48 +0800 Subject: [PATCH 1011/1259] Update serverless.yml --- serverless.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverless.yml b/serverless.yml index a84b315a..989aedb8 100644 --- a/serverless.yml +++ b/serverless.yml @@ -24,7 +24,7 @@ inputs: argument: jd_bean_sign - timer: #东东超市兑换奖品 #摇京豆 #京东汽车兑换 parameters: - name: blueCoin_clublottery_car_carexchange + name: blueCoin_clublottery_carexchange cronExpression: "0 0 0 * * * *" enable: true argument: jd_blueCoin&jd_club_lottery&jd_car_exchange From 6ba4dcf68a6a5d8a5a6610b3e9191ef95d79c4b9 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Sun, 24 Jan 2021 06:44:49 +0000 Subject: [PATCH 1012/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 +++ QuantumultX/lxk0301_gallery.json | 1 + Surge/lxk0301_Task.sgmodule.sgmodule | 1 + 3 files changed, 5 insertions(+) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index c02d9c93..ff4ad413 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -136,6 +136,9 @@ cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_s # 京东全民开红包 cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 +# 闪购盲盒 +cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒 + # 进店领豆 cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 18995405..47692b0e 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -39,6 +39,7 @@ "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", "1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_sgmh.png, enabled=true", "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", "16 22 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 9079a8c4..dd18bfb1 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -51,6 +51,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js 京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js +闪购盲盒 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js 东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js 天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js From 6286faf29337fc7042d514f10ccad43de9c3e736 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Sun, 24 Jan 2021 15:02:00 +0800 Subject: [PATCH 1013/1259] Update jd_joy.js --- jd_joy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_joy.js b/jd_joy.js index 3986558d..08eb0446 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -181,7 +181,7 @@ async function joinTwoPeopleRun() { if ($.receiveJoyRunAwardRes.success) { joyRunNotify = $.isNode() ? (process.env.JOY_RUN_NOTIFY ? process.env.JOY_RUN_NOTIFY : `${joyRunNotify}`) : ($.getdata('joyRunNotify') ? $.getdata('joyRunNotify') : `${joyRunNotify}`); $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n太棒了,${$.name}赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`); - if ($.isNode()) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n太棒了,${$.name}赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) + if ($.isNode() && joyRunNotify === 'true') await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index}${$.nickName}\n太棒了,${$.name}赛跑取得获胜\n恭喜您已获得${winCoin}积分奖励`) } } if (petRaceResult === 'participate') { @@ -918,4 +918,4 @@ function jsonParse(str) { } } // 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 +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)} From 497bdfa3cfe58f2297041295bdbfd2b7f5140d1e Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 24 Jan 2021 15:50:08 +0800 Subject: [PATCH 1014/1259] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=A6=96=E9=A1=B5Readme=E4=B8=AD=E7=9A=84=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=B8=85=E5=8D=95=EF=BC=8C=E6=97=A0=E9=9C=80?= =?UTF-8?q?=E5=86=8D=E4=BA=BA=E5=B7=A5=E4=BF=AE=E6=94=B9=EF=BC=8C=E8=AF=B7?= =?UTF-8?q?=E5=8B=BF=E5=88=A0=E9=99=A4Readme=E4=B8=AD=E9=9A=90=E8=97=8F?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=9A=84=E6=A0=87=E8=AE=B0=E8=A1=8C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/update_list.yml | 35 +++++++++++++++++++++++++++++++ README.md | 16 +++++++++----- update_list.sh | 26 +++++++++++++++++++++++ 3 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/update_list.yml create mode 100644 update_list.sh diff --git a/.github/workflows/update_list.yml b/.github/workflows/update_list.yml new file mode 100644 index 00000000..3256aeff --- /dev/null +++ b/.github/workflows/update_list.yml @@ -0,0 +1,35 @@ +name: update_list + + +on: + workflow_dispatch: + schedule: + - cron: '1 5,17 * * *' + repository_dispatch: + types: update_list + #push: + # branches: [ master ] +jobs: + build: + runs-on: ubuntu-latest + if: github.event.repository.owner.id == github.event.sender.id + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + repository: ${{ github.repository }} + + - name: "更新Readme中脚本清单列表" + run: | + bash update_list.sh + - name: commit + run: | + git config --global user.email ${{ secrets.EMAIL }} + git config --global user.name lxk0301 + git add . + git commit -m "更新Readme中脚本清单列表 by lxk0301 Github Action" -a || echo "Nothing to update" + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.TOKEN }} + branch: master diff --git a/README.md b/README.md index fc6ea14a..87d61f0c 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,9 @@ 2. 以字母排序。 + + + | 活动时长 | 名称 | 脚本 | | -------- | --------------------------------- | -------------------------------------------------------------------------------------------------------- | | 长期 | 京豆变动通知 | [jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js) | @@ -73,18 +76,18 @@ | 长期 | 注销京东会员卡 | [jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js) | | 长期 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js) | | 长期 | 京喜签到 | [jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js) | + + + + +#### 搬运脚本 -搬运脚本 1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)) 2. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)) **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** -**TODO** - -- [x] 所有活动互助码在一个脚本打印 - ## 邀请码互助 - [邀请码互助入口](https://github.com/LXK9301/jd_scripts/discussions) @@ -126,9 +129,11 @@ ### 4. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) ##### 获取京东cookie + - [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js) ##### 订阅链接: + - Surge:Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule - Loon:Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf @@ -136,6 +141,7 @@ - QuantumultX Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_gallery.json - QuantumultX cookie脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_cookies.conf + ## 赞赏码(开发维护不易,请赏杯茶水费)
diff --git a/update_list.sh b/update_list.sh new file mode 100644 index 00000000..42f7bab0 --- /dev/null +++ b/update_list.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +## 网址、路径、文件、标记信息以及表头 +WorkDir=$(cd $(dirname $0); pwd) +JsList=($(cd $WorkDir; ls *.js | grep -E "j[drx]_")) +FileReadme=$WorkDir/README.md +UrlBlob=https://github.com/LXK9301/jd_scripts/blob/master/ +UrlRaw=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/ +SheetHead="| 序号 | 名称 | blob文件链接 | raw文件链接 |\n| ---- | ------- | ------------ | ----------- |" + +## 删除标记行的内容 +StartLine=$(($(grep -n "标记开始" "$FileReadme" | awk -F ":" '{print $1}') + 1)) +EndLine=$(($(grep -n "标记结束" "$FileReadme" | awk -F ":" '{print $1}') - 1)) +Tail=$(perl -ne "$. > $EndLine && print" "$FileReadme") +perl -i -ne "{print unless $StartLine .. eof}" "$FileReadme" + +## 生成新的表格并写入Readme +cd $WorkDir +Sheet=$SheetHead +for ((i=0; i<${#JsList[*]}; i++)); do + Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') + Blob="$UrlBlob${JsList[i]}" + Raw="$UrlRaw${JsList[i]}" + Sheet="$Sheet\n| $(($i + 1)) | $Name | [${JsList[i]}]($Blob) | [${JsList[i]}]($Raw) |" +done +echo -e "$Sheet\n$Tail" >> $FileReadme \ No newline at end of file From eaee88c442da497a199b1821f42062d950e5c32f Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 24 Jan 2021 15:58:21 +0800 Subject: [PATCH 1015/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BD=9C=E8=80=85?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_list.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/update_list.sh b/update_list.sh index 42f7bab0..d56877cd 100644 --- a/update_list.sh +++ b/update_list.sh @@ -1,5 +1,9 @@ #!/usr/bin/env bash +## Author: https://github.com/EvineDeng +## Modified: 2021-01-24 +## Version: v1.0.0 + ## 网址、路径、文件、标记信息以及表头 WorkDir=$(cd $(dirname $0); pwd) JsList=($(cd $WorkDir; ls *.js | grep -E "j[drx]_")) From cb44f709343fca8d14c730aabd05c54d056b38ec Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 24 Jan 2021 16:13:39 +0800 Subject: [PATCH 1016/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Docker=E9=97=AA?= =?UTF-8?q?=E8=B4=AD=E7=9B=B2=E7=9B=92=E5=92=8C=E9=9B=86=E9=9E=AD=E7=82=AE?= =?UTF-8?q?=E8=B5=A2=E4=BA=AC=E8=B1=86=E7=9A=84cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 2b097535..ccceddd4 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -99,5 +99,9 @@ 27 7 * * * node /scripts/jd_cash.js >> /scripts/logs/jd_cash.log 2>&1 # 京喜app签到 39 7 * * * node /scripts/jx_sign.js >> /scripts/logs/jx_sign.log 2>&1 -#京东家庭号(暂不知最佳cron) -#*/20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 +# 京东家庭号(暂不知最佳cron) +# */20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 +# 闪购盲盒 +27 8 * * * node /scripts/jd_sgmh.js >> /scripts/logs/jd_sgmh.log 2>&1 +# 集鞭炮赢京豆 +38 8,21 * * * node /scripts/jd_firecrackers.js >> /scripts/logs/jd_firecrackers.log 2>&1 From 042dfd5b6e1685a6e2f5c64ee9c8909afaf6ecc1 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 24 Jan 2021 16:14:14 +0800 Subject: [PATCH 1017/1259] =?UTF-8?q?=E9=9B=86=E9=9E=AD=E7=82=AE=E8=B5=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86=E4=B8=BA=E7=9F=AD=E6=9C=9F=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index ccceddd4..f1476648 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -16,8 +16,11 @@ 50 0,1,8 * * * node /scripts/jd_nian_ar.js >> /scripts/logs/jd_nian_ar.log 2>&1 #京东炸年兽小程序 50 0,1,8 * * * node /scripts/jd_nian_wechat.js >> /scripts/logs/jd_nian_wechat.log 2>&1 +# 集鞭炮赢京豆 +38 8,21 * * * node /scripts/jd_firecrackers.js >> /scripts/logs/jd_firecrackers.log 2>&1 #京东神仙书院(活动时间:2021-1-20至2021-2-5) 30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 + ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 @@ -103,5 +106,3 @@ # */20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 # 闪购盲盒 27 8 * * * node /scripts/jd_sgmh.js >> /scripts/logs/jd_sgmh.log 2>&1 -# 集鞭炮赢京豆 -38 8,21 * * * node /scripts/jd_firecrackers.js >> /scripts/logs/jd_firecrackers.log 2>&1 From 706e4e469f8c780ecb4b0db01b2491a84a1a7ea7 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Sun, 24 Jan 2021 08:46:17 +0000 Subject: [PATCH 1018/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0Readme=E4=B8=AD?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=B8=85=E5=8D=95=E5=88=97=E8=A1=A8=20by=20l?= =?UTF-8?q?xk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 101 +++++++++++++++++++++++++++++------------------------- 1 file changed, 55 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 87d61f0c..2f43dd5e 100644 --- a/README.md +++ b/README.md @@ -30,52 +30,61 @@ -| 活动时长 | 名称 | 脚本 | -| -------- | --------------------------------- | -------------------------------------------------------------------------------------------------------- | -| 长期 | 京豆变动通知 | [jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js) | -| 长期 | 领京豆额外奖励&抢京豆 | [jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js) | -| 长期 | 京东多合一签到 | [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) | -| 长期 | 东东超市兑换奖品 | [jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js) | -| 长期 | 口袋书店 | [jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js) | -| 长期 | 京东汽车赛点兑换京豆 | [jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js) | -| 长期 | 签到领现金 | [jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js) | -| 长期 | 京东汽车签到 | [jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js) | -| 长期 | 摇京豆 | [jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js) | -| 长期 | 疯狂的JOY挂机 | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js) | -| 长期 | 疯狂的JOY日常任务 | [jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js) | -| 长期 | 京东金融-天天提鹅 | [jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js) | -| 长期 | 京喜工厂 | [jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js) | -| 长期 | 东东农场 | [jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js) | -| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js) | -| 长期 | 获取所有互助码 | [jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) | -| 长期 | 东东工厂 | [jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js) | -| 长期 | 京东赚赚 | [jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js) | -| 长期 | 宠汪汪单独喂食 | [jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js) | -| 长期 | 宠汪汪强制为好友助力(iOS端专用) | [jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js) | -| 长期 | 宠汪汪聚宝盆辅助脚本(iOS端专用) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js) | -| 长期 | 宠汪汪兑换奖品 | [jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js) | -| 长期 | 宠汪汪赛跑助力 | [jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js) | -| 长期 | 宠汪汪偷好友狗粮与积分 | [jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js) | -| 长期 | 宠汪汪 | [jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js) | -| 长期 | 京喜农场 | [jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js) | -| 长期 | 京东快递签到 | [jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js) | -| 长期 | 京东直播 | [jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js) | -| 长期 | 京东抽奖机 | [jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js) | -| 长期 | 摇钱树 | [jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js) | -| 长期 | 点点券 | [jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js) | -| 长期 | 东东萌宠 | [jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js) | -| 长期 | 金融养猪 | [jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js) | -| 长期 | 种豆得豆 | [jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js) | -| 长期 | 京东排行榜签到得京豆 | [jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js) | -| 长期 | 全民开红包 | [jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js) | -| 长期 | 进店领豆 | [jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js) | -| 长期 | 东东小窝 | [jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js) | -| 长期 | 天天加速 | [jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js) | -| 长期 | 东东超市 | [jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js) | -| 长期 | 十元街 | [jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js) | -| 长期 | 注销京东会员卡 | [jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js) | -| 长期 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js) | -| 长期 | 京喜签到 | [jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js) | +| 序号 | 名称 | blob文件链接 | raw文件链接 | +| ---- | ------- | ------------ | ----------- | +| 1 | 京豆变动通知 | [jd_bean_change.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_change.js) | [jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js) | +| 2 | 领京豆额外奖励 | [jd_bean_home.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_home.js) | [jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js) | +| 3 | 京豆签到 | [jd_bean_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_sign.js) | [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) | +| 4 | 东东超市兑换奖品 | [jd_blueCoin.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_blueCoin.js) | [jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js) | +| 5 | 口袋书店 | [jd_bookshop.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bookshop.js) | [jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js) | +| 6 | 京东汽车 | [jd_car.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_car.js) | [jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js) | +| 7 | 京东汽车兑换 | [jd_car_exchange.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_car_exchange.js) | [jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js) | +| 8 | 签到领现金 | [jd_cash.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_cash.js) | [jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js) | +| 9 | 摇京豆 | [jd_club_lottery.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_club_lottery.js) | [jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js) | +| 10 | crazyJoy任务 | [jd_crazy_joy.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_crazy_joy.js) | [jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js) | +| 11 | crazyJoy挂机 | [jd_crazy_joy_coin.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_crazy_joy_coin.js) | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js) | +| 12 | 天天提鹅 | [jd_daily_egg.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_daily_egg.js) | [jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js) | +| 13 | 京喜工厂 | [jd_dreamFactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_dreamFactory.js) | [jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js) | +| 14 | 京东家庭号 | [jd_family.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_family.js) | [jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js) | +| 15 | 集鞭炮赢京豆 | [jd_firecrackers.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_firecrackers.js) | [jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js) | +| 16 | 东东农场 | [jd_fruit.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_fruit.js) | [jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js) | +| 17 | 获取互助码 | [jd_get_share_code.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_get_share_code.js) | [jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) | +| 18 | 京东神仙书院 | [jd_immortal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_immortal.js) | [jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js) | +| 19 | 东东工厂 | [jd_jdfactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdfactory.js) | [jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js) | +| 20 | 京东赚赚 | [jd_jdzz.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdzz.js) | [jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js) | +| 21 | 宠汪汪 | [jd_joy.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy.js) | [jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js) | +| 22 | 宠汪汪🐕喂食 | [jd_joy_feedPets.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_feedPets.js) | [jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js) | +| 23 | 宠汪汪强制为别人助力 | [jd_joy_help.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_help.js) | [jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js) | +| 24 | 宠汪汪积分兑换奖品 | [jd_joy_reward.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_reward.js) | [jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js) | +| 25 | 宠汪汪赛跑 | [jd_joy_run.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_run.js) | [jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js) | +| 26 | 宠汪汪偷好友积分与狗粮 | [jd_joy_steal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_steal.js) | [jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js) | +| 27 | 京喜农场 | [jd_jxnc.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jxnc.js) | [jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js) | +| 28 | 京东快递签到 | [jd_kd.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_kd.js) | [jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js) | +| 29 | 京东直播 | [jd_live.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_live.js) | [jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js) | +| 30 | 京东抽奖机 | [jd_lotteryMachine.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_lotteryMachine.js) | [jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js) | +| 31 | 京东摇钱树 | [jd_moneyTree.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_moneyTree.js) | [jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js) | +| 32 | 点点券 | [jd_necklace.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_necklace.js) | [jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js) | +| 33 | 京东年货节 | [jd_nh.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nh.js) | [jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js) | +| 34 | 京东炸年兽🧨 | [jd_nian.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian.js) | [jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js) | +| 35 | 京东炸年兽领爆竹🧨 | [jd_nianCollect.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nianCollect.js) | [jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js) | +| 36 | 京东炸年兽AR | [jd_nian_ar.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_ar.js) | [jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js) | +| 37 | 京东炸年兽签到任务🧨 | [jd_nian_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_sign.js) | [jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js) | +| 38 | 京东炸年兽小程序🧨 | [jd_nian_wechat.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_wechat.js) | [jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js) | +| 39 | 东东萌宠 | [jd_pet.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_pet.js) | [jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js) | +| 40 | 聚宝盆投狗粮辅助 | [jd_petTreasureBox.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_petTreasureBox.js) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js) | +| 41 | 金融养猪 | [jd_pigPet.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_pigPet.js) | [jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js) | +| 42 | 京东种豆得豆 | [jd_plantBean.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_plantBean.js) | [jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js) | +| 43 | 京东排行榜 | [jd_rankingList.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_rankingList.js) | [jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js) | +| 44 | 京东全民开红包 | [jd_redPacket.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_redPacket.js) | [jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js) | +| 45 | 闪购盲盒 | [jd_sgmh.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_sgmh.js) | [jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js) | +| 46 | 进店领豆 | [jd_shop.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_shop.js) | [jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js) | +| 47 | 东东小窝 | [jd_small_home.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_small_home.js) | [jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js) | +| 48 | ✈️天天加速 | [jd_speed.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_speed.js) | [jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js) | +| 49 | 东东超市 | [jd_superMarket.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_superMarket.js) | [jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js) | +| 50 | 十元街 | [jd_syj.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_syj.js) | [jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js) | +| 51 | 注销京东会员卡 | [jd_unbind.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_unbind.js) | [jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js) | +| 52 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_unsubscribe.js) | [jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js) | +| 53 | 京喜签到 | [jx_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jx_sign.js) | [jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js) | From 9d3d1bd7249ee734680b9c94d183b25bc4ed01ab Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 24 Jan 2021 22:21:24 +0800 Subject: [PATCH 1019/1259] fix #231 --- jd_sgmh.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jd_sgmh.js b/jd_sgmh.js index 2bd8d4e9..0db1876f 100644 --- a/jd_sgmh.js +++ b/jd_sgmh.js @@ -32,6 +32,7 @@ const inviteCodes = [ 'T019-aknAFRllhyoQlyI46gCjVWmIaW5kRrbA' ]; const randomCount = $.isNode() ? 20 : 5; +const notify = $.isNode() ? require('./sendNotify') : ''; let merge = {} //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = ''; From 7863fa77640e96c79cc2fcb932e3da457db5bf73 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 25 Jan 2021 10:09:43 +0800 Subject: [PATCH 1020/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B9=B4=E5=85=BD?= =?UTF-8?q?=E7=BB=84=E9=98=9F=E3=80=81=E5=8A=A0=E5=85=A5=E5=93=81=E7=89=8C?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 224 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 199 insertions(+), 25 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index c7d68880..e5df5de0 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -49,6 +49,10 @@ 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` ]; +const pkInviteCodes = [ + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd8@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifV@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHZ', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd8@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifV@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHZ' +] !(async () => { await requireConfig(); if (!cookiesArr[0]) { @@ -74,6 +78,7 @@ const inviteCodes = [ continue } await shareCodesFormat(); + // await shareCodesFormatPk() await jdNian() } } @@ -88,6 +93,14 @@ async function jdNian() { try { await getHomeData() if(!$.secretp) return + let hour = new Date().getUTCHours() + if (1<=hour && hour<=14) { + // 北京时间9点-22点做pk任务 + $.hasGroup = false + await pkTaskDetail() + if ($.hasGroup) await pkInfo() + // await helpFriendsPK() + } await $.wait(2000) await killCouponList() await $.wait(2000) @@ -139,6 +152,14 @@ async function helpFriends() { await $.wait(1000) } } +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) { @@ -199,6 +220,18 @@ async function doTask() { } 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}已做完`) + } } } } @@ -398,6 +431,69 @@ function collectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) }) }) } +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", @@ -667,30 +763,18 @@ function pkInfo() { console.log(`${JSON.stringify(err)}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { + $.group = true 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) + if(data.code===0 && data.data && data.data.bizCode===0){ + console.log(`您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}`) + let info = data.data.result.groupPkInfo + console.log(`当前关卡:${info.dayAward}元红包,完成进度 ${info.dayTotalValue}/${info.dayTargetSell}`) + } + else{ + $.group = false + console.log(`获取组队信息失败,请检查`) + } } } } catch (e) { @@ -711,7 +795,30 @@ function pkTaskDetail() { } else { if (safeGet(data)) { data = JSON.parse(data); - console.log(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) { @@ -746,7 +853,13 @@ function pkAssignGroup(inviteId) { } else { if (safeGet(data)) { data = JSON.parse(data); - console.log(data) + if(data.data && data.data.bizMsg) { + console.log(data.data.bizMsg) + } + else { + console.log(`助力失败,未知错误:${JSON.stringify(data)}`) + $.canhelp = false + } } } } catch (e) { @@ -850,6 +963,30 @@ function readShareCode() { resolve() }) } +function readShareCodePk() { + console.log(`开始`) + return new Promise(async resolve => { + $.get({url: `http://jd.turinglabs.net/api/v2/jd/nian_pk/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 => { @@ -870,6 +1007,26 @@ function shareCodesFormat() { 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('@'); + } + const 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`); @@ -891,7 +1048,24 @@ function requireConfig() { } }) } - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); + 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() }) } From 5babf51d90bcb7a1ce2315fa82912bc32d0ee3c5 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 25 Jan 2021 10:17:49 +0800 Subject: [PATCH 1021/1259] =?UTF-8?q?pk=E7=A0=81=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E4=B8=80=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index e5df5de0..9d20c5ce 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -767,7 +767,7 @@ function pkInfo() { if (safeGet(data)) { data = JSON.parse(data); if(data.code===0 && data.data && data.data.bizCode===0){ - console.log(`您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}`) + console.log(`\n您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}\n`) let info = data.data.result.groupPkInfo console.log(`当前关卡:${info.dayAward}元红包,完成进度 ${info.dayTotalValue}/${info.dayTargetSell}`) } From 6a1a84030f63b8d801436cd912eb3df194e55f3b Mon Sep 17 00:00:00 2001 From: AboutCXJ Date: Mon, 25 Jan 2021 10:32:48 +0800 Subject: [PATCH 1022/1259] Update Readme.md --- docker/Readme.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/Readme.md b/docker/Readme.md index e3eb1953..eec73c17 100644 --- a/docker/Readme.md +++ b/docker/Readme.md @@ -13,8 +13,9 @@ + 2021-01-21更新 增加 DO_NOT_RUN_SCRIPTS 参数配置不执行的脚本 -+ 例:DO_NOT_RUN_SCRIPTS=jd_family&jd_dreamFactory&jd_jxnc - ++ 例:DO_NOT_RUN_SCRIPTS=jd_family.js&jd_dreamFactory.js&jd_jxnc.js +建议填写完整文件名,不完整的文件名可能导致其他脚本被禁用。 +例如:“jd_joy”会匹配到“jd_joy_feedPets”、“jd_joy_reward”、“jd_joy_steal” + 2021-01-03更新 增加 CUSTOM_SHELL_FILE 参数配置执行自定义shell脚本 + 例1:配置远程shell脚本, 我自己写了一个shell脚本https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh 内容很简单下载惊喜农场并添加定时任务 From 52cb9d26160d2e91279bbdb2c3a63fb0bd51d175 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 25 Jan 2021 10:53:37 +0800 Subject: [PATCH 1023/1259] Create tencentscf.js --- tencentscf.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tencentscf.js diff --git a/tencentscf.js b/tencentscf.js new file mode 100644 index 00000000..ca20172c --- /dev/null +++ b/tencentscf.js @@ -0,0 +1,35 @@ +// Depends on tencentcloud-sdk-nodejs version 4.0.3 or higher +const tencentcloud = require("tencentcloud-sdk-nodejs"); +const fs = require('fs') +const file_buffer = fs.readFileSync('./myfile.zip'); +const contents_in_base64 = file_buffer.toString('base64'); + +const ScfClient = tencentcloud.scf.v20180416.Client; + +const clientConfig = { + credential: { + secretId: process.env.TENCENT_SECRET_ID, + secretKey: process.env.TENCENT_SECRET_KEY, + }, + region: "ap-hongkong", + profile: { + httpProfile: { + endpoint: "scf.tencentcloudapi.com", + }, + }, +}; + +const client = new ScfClient(clientConfig); +const params = { + "Handler": "index.main_handler", + "FunctionName": "jd", + "ZipFile": contents_in_base64 +}; +client.UpdateFunctionCode(params).then( + (data) => { + console.log(data); + }, + (err) => { + console.error("error", err); + } +); From ac3c3826a0b0c6cad77f278f46bef1808322acd3 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 25 Jan 2021 10:55:40 +0800 Subject: [PATCH 1024/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 844d094e..20c2d8ac 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -18,10 +18,10 @@ jobs: with: node-version: ${{ matrix.node-version }} - - name: "安装依赖和serverless工具" + - name: "安装依赖" run: | npm install - sudo npm install serverless -g + npm install tencentcloud-sdk-nodejs - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | @@ -157,6 +157,8 @@ jobs: DREAMFACTORY_FORBID_ACCOUNT: ${{ secrets.DREAMFACTORY_FORBID_ACCOUNT}} JDFACTORY_FORBID_ACCOUNT: ${{ secrets.JDFACTORY_FORBID_ACCOUNT}} + - name: "压缩文件夹" + run: zip -r myfile.zip ./* - name: "部署到腾讯云函数" run: serverless deploy env: From caef657372a117fc87b225a5c5e1db73522aaa78 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 25 Jan 2021 10:59:02 +0800 Subject: [PATCH 1025/1259] Update deploy_tencent_scf.yml --- .github/workflows/deploy_tencent_scf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 20c2d8ac..70d6d17e 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -160,7 +160,7 @@ jobs: - name: "压缩文件夹" run: zip -r myfile.zip ./* - name: "部署到腾讯云函数" - run: serverless deploy + run: node tencentscf.js env: STAGE: dev SERVERLESS_PLATFORM_VENDOR: tencent From 26b91d85e09ced2f68d5a87eb6bc982414b94810 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 25 Jan 2021 11:11:26 +0800 Subject: [PATCH 1026/1259] =?UTF-8?q?=E6=9B=B4=E5=A4=9A=E7=9A=84=E4=BA=91?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E8=87=AA=E5=AE=9A=E4=B9=89=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 2 ++ tencentscf.js | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 70d6d17e..1e428b09 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -166,3 +166,5 @@ jobs: SERVERLESS_PLATFORM_VENDOR: tencent TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }} TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }} + TENCENT_REGION: ${{ secrets.TENCENT_REGION }} + TENCENT_FUNCTION_NAME: ${{ secrets.TENCENT_FUNCTION_NAME }} diff --git a/tencentscf.js b/tencentscf.js index ca20172c..f5d23e02 100644 --- a/tencentscf.js +++ b/tencentscf.js @@ -11,7 +11,7 @@ const clientConfig = { secretId: process.env.TENCENT_SECRET_ID, secretKey: process.env.TENCENT_SECRET_KEY, }, - region: "ap-hongkong", + region: process.env.TENCENT_REGION, // 区域参考,https://cloud.tencent.com/document/product/213/6091 profile: { httpProfile: { endpoint: "scf.tencentcloudapi.com", @@ -22,7 +22,7 @@ const clientConfig = { const client = new ScfClient(clientConfig); const params = { "Handler": "index.main_handler", - "FunctionName": "jd", + "FunctionName": process.env.TENCENT_FUNCTION_NAME, // 云函数程序名,例如 jd_scripts "ZipFile": contents_in_base64 }; client.UpdateFunctionCode(params).then( From ac9ee8134c87f1f545e5f77455369342eccc77a3 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 25 Jan 2021 11:15:02 +0800 Subject: [PATCH 1027/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 1e428b09..8b0b1016 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -166,5 +166,5 @@ jobs: SERVERLESS_PLATFORM_VENDOR: tencent TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }} TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }} - TENCENT_REGION: ${{ secrets.TENCENT_REGION }} + TENCENT_REGION: ${{ secrets.SCF_REGION }} TENCENT_FUNCTION_NAME: ${{ secrets.TENCENT_FUNCTION_NAME }} From f5f52e5a46c8862e6f4be03b61931d5ba35148cd Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 25 Jan 2021 13:43:26 +0800 Subject: [PATCH 1028/1259] =?UTF-8?q?enable=20=E7=82=B8=E5=B9=B4=E5=85=BD?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=8A=A9=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 9d20c5ce..3af2ab7a 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽🧨 -10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true +0 9,12,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] -cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +cron "0 9,12,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 ===============Surge================= -京东炸年兽🧨 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js ============小火箭========= -京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="10 * * * *", timeout=3600, enable=true +京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 9,12,20 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽🧨'); @@ -50,7 +50,7 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd8@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifV@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHZ', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd8@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifV@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHZ@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Ks', 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd8@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifV@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHZ' ] !(async () => { @@ -78,7 +78,7 @@ const pkInviteCodes = [ continue } await shareCodesFormat(); - // await shareCodesFormatPk() + await shareCodesFormatPk() await jdNian() } } @@ -99,7 +99,7 @@ async function jdNian() { $.hasGroup = false await pkTaskDetail() if ($.hasGroup) await pkInfo() - // await helpFriendsPK() + await helpFriendsPK() } await $.wait(2000) await killCouponList() From fccc0d70b35a837a417d19cffa940e89cf975bdc Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 25 Jan 2021 13:46:49 +0800 Subject: [PATCH 1029/1259] debug --- jd_crazy_joy.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 2169ebc3..15f35bda 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -175,10 +175,12 @@ if ($.isNode()) { return; } await requireConfig(); - $.nextCode = ["EdLPh8A6X5G1iWXu-uPYfA==", "nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s"]; - $.nextCode = $.nextCode[randomNumber(0, $.nextCode.length)]; $.selfCodes = [] for (let i = 0; i < cookiesArr.length; i++) { + if (i%2===0) { + $.nextCode = ["EdLPh8A6X5G1iWXu-uPYfA==", "nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s"]; + $.nextCode = $.nextCode[randomNumber(0, $.nextCode.length)]; + } if (cookiesArr[i]) { cookie = cookiesArr[i]; $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) @@ -808,4 +810,4 @@ function randomNumber(min = 0, max = 100) { return Math.min(Math.floor(min + Math.random() * (max - min)), max); } // 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 +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)} From 377dd8a4da4c8635841767eeb2e17051b0740dcc Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Mon, 25 Jan 2021 14:06:41 +0800 Subject: [PATCH 1030/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新云函数教程 --- backUp/tencentscf.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backUp/tencentscf.md b/backUp/tencentscf.md index 20701a5c..d9bee915 100644 --- a/backUp/tencentscf.md +++ b/backUp/tencentscf.md @@ -1,5 +1,5 @@ -# 云函数快速部署京东脚本 +# 云函数快速部署京东脚本(由于云函数官方升级此方法暂时失效) > > - 本地安装依赖使用serverless部署,[点这里](tencentscf.md#1-安装-nodejs-环境) > - Github Action 部署[点这里](tencentscf.md#github-action-部署) @@ -109,6 +109,9 @@ triggers: > 将SecretId和SecretKey分别配置在仓库的secrets变量里面, TENCENT_SECRET_ID对应你的SecretId的值,TENCENT_SECRET_KEY对应你的SecretKey的值 ## 3. 配置自己需要secrets变量[参考这里](githubAction.md#下方提供使用到的-secrets全集合) + +目前因为云函数改版升级,原GitHub Action部署云函数方案需要作出相应调整,secret变量新增`SCF_REGION`和`TENCENT_FUNCTION_NAME`。`SCF_REGION`用于控制部署区域的选择,具体参数代码填写可以自行查找官方说明 [地域和可用区](https://cloud.tencent.com/document/product/213/6091) `TENCENT_FUNCTION_NAME`用于控制部署到云函数后函数名的命名。
+ ### __重要的说三遍__ ### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 ### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 @@ -118,6 +121,9 @@ triggers: ## 4.执行action workflow进行部署,workflow未报错即部署成功 + +**在执行action workflow进行部署前,先在需要部署的区域下新建一个空函数,名称可以任意,比如:`jd`,此时secret中`TENCENT_FUNCTION_NAME`值也必须是`jd`,保持与云函数的函数名一致,目前部署云函数的策略是覆盖的方式,故而此步骤至关重要。**
+ ![image](https://user-images.githubusercontent.com/6993269/99513289-6a152980-29c5-11eb-9266-3f56ba13d3b2.png) ## 5. 查看和测试 登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。 From 20403dc125b4c416883b1f1f24869c383002ef48 Mon Sep 17 00:00:00 2001 From: berkejf Date: Mon, 25 Jan 2021 20:40:01 +1300 Subject: [PATCH 1031/1259] Update jd_bean_sign.js support random delay for new version JD_DailyBonus.js file --- jd_bean_sign.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_bean_sign.js b/jd_bean_sign.js index 4a061fd8..c8cd63bb 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -147,7 +147,7 @@ async function changeFile (content) { let newContent = content.replace(/var Key = ''/, `var Key = '${cookie}'`); newContent = newContent.replace(/const NodeSet = 'CookieSet.json'/, `const NodeSet = '${NodeSet}'`) if (process.env.JD_BEAN_STOP && process.env.JD_BEAN_STOP !== '0') { - newContent = newContent.replace(/var stop = 0/, `var stop = ${process.env.JD_BEAN_STOP * 1}`); + newContent = newContent.replace(/var stop = '0'/, `var stop = '${process.env.JD_BEAN_STOP}'`); } const zone = new Date().getTimezoneOffset(); if (zone === 0) { @@ -262,4 +262,4 @@ function timeFormat(time) { } return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); } -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 +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)} From 4f9e87ad1f80e6a4cf9ba555900960d3313ed0dc Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 25 Jan 2021 16:12:20 +0800 Subject: [PATCH 1032/1259] =?UTF-8?q?[=E9=9B=86=E9=9E=AD=E7=82=AE=E8=B5=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86]=20=E6=96=B0=E5=A2=9E=20=E6=BB=A1=E8=B6=B3?= =?UTF-8?q?=E5=85=91=E6=8D=A2=20FIRECRACKERS=5FNOTITY=5FBEAN=20=E4=B8=AA?= =?UTF-8?q?=E4=BA=AC=E8=B1=86=E6=97=B6=E8=BF=9B=E8=A1=8C=20notify=20?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=20=E6=96=B0=E5=A2=9E=20=E9=BB=91=E5=8F=B7?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E8=B7=B3=E8=BF=87=E4=BB=BB=E5=8A=A1=E6=89=A7?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_firecrackers.js | 57 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/jd_firecrackers.js b/jd_firecrackers.js index d5a67b79..7fef4878 100644 --- a/jd_firecrackers.js +++ b/jd_firecrackers.js @@ -26,6 +26,7 @@ cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_sc */ 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 @@ -92,9 +93,25 @@ async function jdFamily() { } function showMsg() { - return new Promise(resolve => { - message += `本次运行获得鞭炮${$.earn},共计${$.total}🧨` - $.log($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); + 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() }) } @@ -130,17 +147,22 @@ function getUserInfo(info = false) { $.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']}`) - await doTask(task['_id']) - await $.wait(3000) - } else { - console.log(`${Math.trunc(vo['times'] / 60)}分钟可后做任务${task['_id']}`) + } 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']}`) + } } } } @@ -165,9 +187,14 @@ function doTask(taskId) { console.log(`${err},${jsonParse(resp.body)['message']}`) console.log(`${$.name} API请求失败,请检查网路重试`) } else { - data = JSON.parse(data.match(/query\((.*)\n/)[1]) + 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(`任务完成失败,原因未知`) } From 13fd8bf0460c1fd54a8662f985f23f6ec1577984 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 25 Jan 2021 16:15:40 +0800 Subject: [PATCH 1033/1259] =?UTF-8?q?[=E9=9B=86=E9=9E=AD=E7=82=AE=E8=B5=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86]=20=E6=96=B0=E5=A2=9E=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 1 + 1 file changed, 1 insertion(+) diff --git a/githubAction.md b/githubAction.md index 3d6d675d..6bcb8ea3 100644 --- a/githubAction.md +++ b/githubAction.md @@ -86,6 +86,7 @@ | `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | | `DREAMFACTORY_FORBID_ACCOUNT`| 京喜工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行京喜工厂脚本,注:输入`0`,代表全部账号不运行京喜工厂脚本 | | `JDFACTORY_FORBID_ACCOUNT`| 东东工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行东东工厂脚本,注:输入`0`,代表全部账号不运行东东工厂脚本 | +| `FIRECRACKERS_NOTITY_BEAN`| 集鞭炮赢京豆
满足兑换 X 个京豆通知开关 | 非必须 | 默认 0 不通知,输入 120 表示满足兑换 120 个京豆时通知 | ##### 互助码的填写规则 From 8fb6f4d873628ee1bb7c0a8d5894dc12c4792724 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Mon, 25 Jan 2021 17:42:47 +0800 Subject: [PATCH 1034/1259] Update update_task.sh --- update_task.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/update_task.sh b/update_task.sh index d808d2a4..73353e9c 100644 --- a/update_task.sh +++ b/update_task.sh @@ -14,12 +14,12 @@ FileQxRe=$WorkDir/QuantumultX/lxk0301_cookies.conf FileSurge=$WorkDir/Surge/lxk0301_Task.sgmodule.sgmodule ## task清单顶部内容 -CommentsLoon="# IOS Loon Task&Cookies配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Loon的Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf\n# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf)\n\nhostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" +CommentsLoon="# IOS Loon Task&Cookies配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Loon的Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf\n# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf)\n\nhostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" CommentsQx='{\n "name": "LXK9301 task gallery",\n "description": "https://github.com/LXK9301/jd_scripts",\n "task": [' -CommentsQxRe="hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" +CommentsQxRe="hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com, wq.jd.com" CommentsSurgeHead="#!name=LXK9301 iOS Tasks&Cookies Module\n#!desc=iOS Tasks&Cookies 模块配置\n\n# Task&Cookies模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]" -CommentsSurgeTail="\n[MITM]\nhostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" +CommentsSurgeTail="\n[MITM]\nhostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com, wq.jd.com" ## 执行写入 From eacca75b7a0a7c808e646478295116c82b4559c5 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Mon, 25 Jan 2021 09:44:56 +0000 Subject: [PATCH 1035/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 4 ++-- QuantumultX/lxk0301_cookies.conf | 2 +- QuantumultX/lxk0301_gallery.json | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index ff4ad413..82a334a3 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -5,7 +5,7 @@ # Loon的Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf # 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) -hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com # 获取多账号京东Cookie http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie @@ -107,7 +107,7 @@ cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_sc cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js,tag=京东年货节 # 京东炸年兽🧨 -cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +cron "0 9,12,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 # 京东炸年兽领爆竹🧨 cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 diff --git a/QuantumultX/lxk0301_cookies.conf b/QuantumultX/lxk0301_cookies.conf index 31a3b77a..c5f36e8f 100644 --- a/QuantumultX/lxk0301_cookies.conf +++ b/QuantumultX/lxk0301_cookies.conf @@ -1,4 +1,4 @@ -hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com, wq.jd.com # 获取多账号京东Cookie https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 47692b0e..3577578a 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -30,7 +30,7 @@ "3 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true", "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9,12,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index dd18bfb1..af1bd196 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -41,7 +41,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js 京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js @@ -64,4 +64,4 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js [MITM] -hostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +hostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com, wq.jd.com From 04d07254bb33a81c871b20f1e60bac21649a5153 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Mon, 25 Jan 2021 18:49:32 +0800 Subject: [PATCH 1036/1259] =?UTF-8?q?[=E9=9B=86=E9=9E=AD=E7=82=AE=E8=B5=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86]=20=E4=BF=AE=E5=A4=8D=E8=BF=90=E7=AE=97?= =?UTF-8?q?=E7=AC=A6=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_firecrackers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_firecrackers.js b/jd_firecrackers.js index 7fef4878..634c49ba 100644 --- a/jd_firecrackers.js +++ b/jd_firecrackers.js @@ -98,7 +98,7 @@ function showMsg() { message += `【鞭炮🧨】本次获得 ${$.earn},共计${$.total}\n` if ($.total && notifyBean) { for (let item of $.prize) { - if (notifyBean >= item.beansPerNum) { // 符合预定的京豆档位 + if (notifyBean <= item.beansPerNum) { // 符合预定的京豆档位 if ($.total >= item.prizerank) { // 当前鞭炮满足兑换 message += `【京豆】请手动兑换 ${item.beansPerNum} 个京豆,需消耗花费🧨 ${item.prizerank}` $.msg($.name, subTitle, message); From bfe8a43deb8f3ad91df020fb3e3b1369308da232 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 25 Jan 2021 21:34:02 +0800 Subject: [PATCH 1037/1259] =?UTF-8?q?=E5=AE=88=E6=8A=A4=E5=85=B3=E5=8D=A1?= =?UTF-8?q?=E5=81=B7=E7=BA=A2=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 386 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 253 insertions(+), 133 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 3af2ab7a..43638cae 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -83,24 +83,31 @@ const pkInviteCodes = [ } } })() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + async function jdNian() { try { await getHomeData() - if(!$.secretp) return + if (!$.secretp) return let hour = new Date().getUTCHours() - if (1<=hour && hour<=14) { - // 北京时间9点-22点做pk任务 + 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 $.wait(2000) await killCouponList() await $.wait(2000) @@ -119,17 +126,20 @@ async function jdNian() { $.logErr(e) } } + function encode(data, aa, extraData) { const temp = { "extraData": JSON.stringify(extraData), "businessData": JSON.stringify(data), "secretp": aa, } - return { "ss": (JSON.stringify(temp)) }; + return {"ss": (JSON.stringify(temp))}; } + function getRnd() { return Math.floor(1e6 * Math.random()).toString(); } + function showMsg() { return new Promise(resolve => { console.log('任务已做完!\n如有未完成的任务,请多执行几次。注:目前入会任务不会做') @@ -145,6 +155,7 @@ function showMsg() { resolve() }) } + async function helpFriends() { for (let code of $.newShareCodes) { if (!code) continue @@ -152,6 +163,7 @@ async function helpFriends() { await $.wait(1000) } } + async function helpFriendsPK() { for (let code of $.newShareCodesPk) { if (!code) continue @@ -160,22 +172,22 @@ async function helpFriendsPK() { 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.taskType === 2) { if (item.status === 1) { console.log(`准备做此任务:${item.taskName}`) - await getFeedDetail({"taskId":item.taskId},item.taskId) - } else if(item.status===2){ + 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) { + } 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) { @@ -188,8 +200,7 @@ async function doTask() { console.log(`${item.taskName}已做完`) } } - } - else if (item.taskType === 9) { + } else if (item.taskType === 9) { if (item.status === 1) { console.log(`准备做此任务:${item.taskName}`) for (let task of item.shoppingActivityVos) { @@ -198,11 +209,10 @@ async function doTask() { } await $.wait(3000) } - } else if(item.status===2){ + } else if (item.status === 2) { console.log(`${item.taskName}已做完`) } - } - else if (item.taskType === 7) { + } else if (item.taskType === 7) { if (item.status === 1) { console.log(`准备做此任务:${item.taskName}`) for (let task of item.browseShopVo) { @@ -210,14 +220,14 @@ async function doTask() { await collectScore(item.taskId, task.itemId, 1); } } - } else if(item.status===2){ + } else if (item.status === 2) { console.log(`${item.taskName}已做完`) } - }else if (item.taskType === 13) { + } else if (item.taskType === 13) { if (item.status === 1) { console.log(`准备做此任务:${item.taskName}`) await collectScore(item.taskId, "1"); - } else if(item.status===2){ + } else if (item.status === 2) { console.log(`${item.taskName}已做完`) } } else if (item.taskType === 21) { @@ -229,14 +239,14 @@ async function doTask() { } await $.wait(3000) } - } else if(item.status===2){ + } else if (item.status === 2) { console.log(`${item.taskName}已做完`) } } } } -function getFeedDetail(body={}) { +function getFeedDetail(body = {}) { return new Promise(resolve => { $.post(taskPostUrl("nian_getFeedDetail", body, "nian_getFeedDetail"), async (err, resp, data) => { try { @@ -247,25 +257,23 @@ function getFeedDetail(body={}) { 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 { $.post(taskPostUrl('nian_getHomeData'), async (err, resp, data) => { try { @@ -295,29 +304,28 @@ function getHomeData(info=false) { if (data && data.data['bizCode'] === 0) { $.userInfo = data.data.result.homeMainInfo $.secretp = $.userInfo.secretp; - if(!$.secretp){ + if (!$.secretp) { console.log(`账号被风控`) message += `账号被风控,无法参与活动\n` $.secretp = null return } - console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore-$.userInfo.raiseInfo.curLevelStartScore}🧨`) + console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨`) - if(info) { + if (info) { message += `当前爆竹${$.userInfo.raiseInfo.remainScore}🧨\n` return } - if($.userInfo.raiseInfo.produceScore > 0){ + if ($.userInfo.raiseInfo.produceScore > 0) { console.log(`可收取的爆竹大于0,去收取爆竹`) await collectProduceScore() } - if(parseInt($.userInfo.raiseInfo.remainScore) >= parseInt($.userInfo.raiseInfo.nextLevelScore-$.userInfo.raiseInfo.curLevelStartScore)){ + if (parseInt($.userInfo.raiseInfo.remainScore) >= parseInt($.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore)) { console.log(`当前爆竹🧨大于升级所需爆竹🧨,去升级`) await $.wait(2000) await raise() } - } - else{ + } else { $.secretp = null console.log(`账号被风控,无法参与活动`) message += `账号被风控,无法参与活动\n` @@ -331,7 +339,8 @@ function getHomeData(info=false) { }) }) } -function collectProduceScore(taskId= "collectProducedCoin") { + +function collectProduceScore(taskId = "collectProducedCoin") { let temp = { "taskId": taskId, "rnd": getRnd(), @@ -355,7 +364,7 @@ function collectProduceScore(taskId= "collectProducedCoin") { if (safeGet(data)) { data = JSON.parse(data); if (data.data.bizCode === 0) { - console.log(`收取成功,获得${data.data.result.produceScore}爆竹🧨`) + console.log(`收取成功,获得${data.data.result.produceScore}爆竹🧨`) // $.userInfo = data.data.result.userInfo; } } @@ -368,17 +377,18 @@ function collectProduceScore(taskId= "collectProducedCoin") { }) }) } -function collectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) { + +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 + 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", @@ -387,12 +397,12 @@ function collectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) } let body = { ...encode(temp, $.secretp, extraData), - taskId:taskId, - itemId:itemId + taskId: taskId, + itemId: itemId } - if(actionType) body['actionType'] = actionType - if(inviteId) body['inviteId'] = inviteId - if(shopSign) body['shopSign'] = shopSign + 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 { @@ -404,20 +414,19 @@ function collectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) data = JSON.parse(data); if (data.code === 0) { if (data.data && data.data.bizCode === 0) { - if(data.data.result.score) + if (data.data.result.score) console.log(`任务完成,获得${data.data.result.score}爆竹🧨`) - else if(data.data.result.maxAssistTimes) { + else if (data.data.result.maxAssistTimes) { console.log(`助力好友成功`) - } else{ + } else { console.log(`任务上报成功`) - await $.wait(10*1000) - if(data.data.result.taskToken){ + await $.wait(10 * 1000) + if (data.data.result.taskToken) { await doTask2(data.data.result.taskToken) } } // $.userInfo = data.data.result.userInfo; - } - else{ + } else { console.log(data.data.bizMsg) } } @@ -431,17 +440,18 @@ function collectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) }) }) } -function pkCollectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) { + +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 + 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", @@ -450,12 +460,12 @@ function pkCollectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=nul } let body = { ...encode(temp, $.secretp, extraData), - taskId:taskId, - itemId:itemId + taskId: taskId, + itemId: itemId } - if(actionType) body['actionType'] = actionType - if(inviteId) body['inviteId'] = inviteId - if(shopSign) body['shopSign'] = shopSign + 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 { @@ -467,20 +477,19 @@ function pkCollectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=nul data = JSON.parse(data); if (data.code === 0) { if (data.data && data.data.bizCode === 0) { - if(data.data.result.score) + if (data.data.result.score) console.log(`任务完成,获得${data.data.result.score}积分`) - else if(data.data.result.maxAssistTimes) { + else if (data.data.result.maxAssistTimes) { console.log(`助力好友成功`) - } else{ + } else { console.log(`任务上报成功`) - await $.wait(10*1000) - if(data.data.result.taskToken){ + await $.wait(10 * 1000) + if (data.data.result.taskToken) { await doTask2(data.data.result.taskToken) } } // $.userInfo = data.data.result.userInfo; - } - else{ + } else { console.log(data.data.bizMsg) } } @@ -494,14 +503,15 @@ function pkCollectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=nul }) }) } + function doTask2(taskToken) { let body = { - "dataSource":"newshortAward", - "method":"getTaskAward", - "reqParams":`{\"taskToken\":\"${taskToken}\"}` + "dataSource": "newshortAward", + "method": "getTaskAward", + "reqParams": `{\"taskToken\":\"${taskToken}\"}` } return new Promise(resolve => { - $.post(taskPostUrl("qryViewkitCallbackResult", body, ), async (err, resp, data) => { + $.post(taskPostUrl("qryViewkitCallbackResult", body,), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -523,7 +533,8 @@ function doTask2(taskToken) { }) }) } -function raise(taskId= "nian_raise") { + +function raise(taskId = "nian_raise") { let temp = { "taskId": taskId, "rnd": getRnd(), @@ -560,7 +571,8 @@ function raise(taskId= "nian_raise") { }) }) } -function getTaskList(body={}) { + +function getTaskList(body = {}) { return new Promise(resolve => { $.post(taskPostUrl("nian_getTaskDetail", body, "nian_getTaskDetail"), async (err, resp, data) => { try { @@ -571,10 +583,10 @@ function getTaskList(body={}) { if (safeGet(data)) { data = JSON.parse(data); if (data.data.bizCode === 0) { - if(JSON.stringify(body)==="{}") { + if (JSON.stringify(body) === "{}") { $.taskVos = data.data.result.taskVos;//任务列表 console.log(`您的好友助力码为${data.data.result.inviteId}`) - } + } // $.userInfo = data.data.result.userInfo; } } @@ -587,9 +599,10 @@ function getTaskList(body={}) { }) }) } + function getFriendData(inviteId) { return new Promise((resolve) => { - $.post(taskPostUrl('nian_getHomeData',{"inviteId":inviteId}), async (err, resp, data) => { + $.post(taskPostUrl('nian_getHomeData', {"inviteId": inviteId}), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -598,7 +611,7 @@ function getFriendData(inviteId) { data = JSON.parse(data); if (data.data && data.data['bizCode'] === 0) { $.itemId = data.data.result.homeMainInfo.guestInfo.itemId - await collectScore('2',$.itemId,null,inviteId) + await collectScore('2', $.itemId, null, inviteId) } } } catch (e) { @@ -609,6 +622,7 @@ function getFriendData(inviteId) { }) }) } + function map() { return new Promise(resolve => { $.post(taskPostUrl("nian_myMap", {}, "nian_myMap"), async (err, resp, data) => { @@ -621,8 +635,8 @@ function map() { 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 +' ' + for (let vo of data.data.result.monsterInfoList) { + if (vo.curLevel) msg += vo.name + ' ' } console.log(msg) // $.userInfo = data.data.result.userInfo; @@ -637,8 +651,15 @@ function map() { }) }) } + function queryMaterials() { - let body = {"qryParam":"[{\"type\":\"advertGroup\",\"mapTo\":\"viewLogo\",\"id\":\"05149412\"},{\"type\":\"advertGroup\",\"mapTo\":\"bottomLogo\",\"id\":\"05149413\"}]","activityId":"2cKMj86srRdhgWcKonfExzK4ZMBy","pageId":"","reqSrc":"","applyKey":"21beast"} + 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 { @@ -648,11 +669,11 @@ function queryMaterials() { } else { if (safeGet(data)) { data = JSON.parse(data); - if(data.code==='0') { + 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 + for (let vo of shopList) { + if (nameList.includes(vo.name)) continue nameList.push(vo.name) console.log(`去做${vo.name}店铺任务`) await shopLotteryInfo(vo.desc) @@ -671,7 +692,7 @@ function queryMaterials() { } function shopLotteryInfo(shopSign) { - let body = {"shopSign":shopSign} + let body = {"shopSign": shopSign} return new Promise(resolve => { $.post(taskPostUrl("nian_shopLotteryInfo", body, "nian_shopLotteryInfo"), async (err, resp, data) => { try { @@ -681,22 +702,21 @@ function shopLotteryInfo(shopSign) { } 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){ + 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) { + 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); + await collectScore(vo.taskId, task.advId, null, null, shopSign); } } } else if (vo.status === 2) { @@ -706,8 +726,8 @@ function shopLotteryInfo(shopSign) { } } } - for(let i=0;i { $.post(taskPostUrl("nian_doShopLottery", body, "nian_doShopLottery"), async (err, resp, data) => { try { @@ -733,15 +754,15 @@ function doShopLottery(shopSign) { } else { if (safeGet(data)) { data = JSON.parse(data); - if(data.code===0 && data.data && data.data.result) { + if (data.code === 0 && data.data && data.data.result) { let result = data.data.result - if(result.awardType===4) + if (result.awardType === 4) console.log(`抽奖成功,获得${result.score}爆竹🧨`) - else if(result.awardType===2 || result.awardType===3) + else if (result.awardType === 2 || result.awardType === 3) console.log(`抽奖成功,获得优惠卷`) else console.log(`抽奖成功,获得${JSON.stringify(result)}`) - }else{ + } else { console.log(`抽奖失败`) } } @@ -766,12 +787,22 @@ function pkInfo() { $.group = true if (safeGet(data)) { data = JSON.parse(data); - if(data.code===0 && data.data && data.data.bizCode===0){ + if (data.code === 0 && data.data && data.data.bizCode === 0) { console.log(`\n您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}\n`) let info = data.data.result.groupPkInfo - console.log(`当前关卡:${info.dayAward}元红包,完成进度 ${info.dayTotalValue}/${info.dayTargetSell}`) - } - else{ + 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(`获取组队信息失败,请检查`) } @@ -785,6 +816,42 @@ function pkInfo() { }) }) } + +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) => { @@ -795,12 +862,12 @@ function pkTaskDetail() { } else { if (safeGet(data)) { data = JSON.parse(data); - if(data.code===0 && data.data && data.data.bizCode===0){ + if (data.code === 0 && data.data && data.data.bizCode === 0) { await $.wait(2000) $.hasGroup = true - for(let item of data.data.result.taskVos){ + for (let item of data.data.result.taskVos) { if (item.taskType === 3 || item.taskType === 26) { - if(item.shoppingActivityVos) { + if (item.shoppingActivityVos) { if (item.status === 1) { console.log(`准备做此任务:${item.taskName}`) for (let task of item.shoppingActivityVos) { @@ -815,8 +882,7 @@ function pkTaskDetail() { } } } - } - else{ + } else { console.log(`组队尚未开启,请先去开启组队或是加入队伍!`) } } @@ -829,6 +895,7 @@ function pkTaskDetail() { }) }) } + function pkAssignGroup(inviteId) { let temp = { "confirmFlag": 1, @@ -842,7 +909,7 @@ function pkAssignGroup(inviteId) { } let body = { ...encode(temp, $.secretp, extraData), - inviteId:inviteId + inviteId: inviteId } return new Promise(resolve => { $.post(taskPostUrl("nian_pk_assistGroup", body, "nian_pk_assistGroup"), async (err, resp, data) => { @@ -853,10 +920,9 @@ function pkAssignGroup(inviteId) { } else { if (safeGet(data)) { data = JSON.parse(data); - if(data.data && data.data.bizMsg) { + if (data.data && data.data.bizMsg) { console.log(data.data.bizMsg) - } - else { + } else { console.log(`助力失败,未知错误:${JSON.stringify(data)}`) $.canhelp = false } @@ -870,6 +936,46 @@ function pkAssignGroup(inviteId) { }) }) } + +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) => { @@ -882,8 +988,8 @@ function killCouponList() { data = JSON.parse(data); if (data.data && data.data.bizCode === 0) { await $.wait(2000) - for(let vo of data.data.result){ - if(!vo.status){ + for (let vo of data.data.result) { + if (!vo.status) { console.log(`去领取${vo['productName']}优惠券`) await killCoupon(vo['skuId']) await $.wait(2000) @@ -900,6 +1006,7 @@ function killCouponList() { }) }) } + function killCoupon(skuId) { let temp = { "skuId": skuId, @@ -926,7 +1033,7 @@ function killCoupon(skuId) { data = JSON.parse(data); if (data.data && data.data.bizCode === 0) { console.log(`领取成功,获得${data.data.result.score}爆竹🧨`) - }else{ + } else { console.log(data.data.bizMsg) } } @@ -939,10 +1046,14 @@ function killCoupon(skuId) { }) }) } + 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) => { + $.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)}`) @@ -963,10 +1074,14 @@ function readShareCode() { resolve() }) } + function readShareCodePk() { console.log(`开始`) return new Promise(async resolve => { - $.get({url: `http://jd.turinglabs.net/api/v2/jd/nian_pk/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { + $.get({ + url: `http://jd.turinglabs.net/api/v2/jd/nian_pk/read/${randomCount}/`, + 'timeout': 10000 + }, (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -987,6 +1102,7 @@ function readShareCodePk() { resolve() }) } + //格式化助力码 function shareCodesFormat() { return new Promise(async resolve => { @@ -1027,6 +1143,7 @@ function shareCodesFormatPk() { resolve(); }) } + function requireConfig() { return new Promise(resolve => { console.log(`开始获取${$.name}配置文件\n`); @@ -1087,6 +1204,7 @@ function taskPostUrl(function_id, body = {}, function_id2) { } } } + function TotalBean() { return new Promise(async resolve => { const options = { @@ -1127,6 +1245,7 @@ function TotalBean() { }) }) } + function safeGet(data) { try { if (typeof JSON.parse(data) == "object") { @@ -1138,6 +1257,7 @@ function safeGet(data) { return false; } } + function jsonParse(str) { if (typeof str == "string") { try { From fc98708f9d5e9ca6e75e4cbf380d8222ea4e7386 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 25 Jan 2021 22:02:44 +0800 Subject: [PATCH 1038/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E4=B8=8E=E8=A7=A6=E5=8F=91=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 1 + tencentscf.js | 46 +++++++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 8b0b1016..04d1a3df 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -22,6 +22,7 @@ jobs: run: | npm install npm install tencentcloud-sdk-nodejs + npm install js-yaml - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | diff --git a/tencentscf.js b/tencentscf.js index f5d23e02..ba6a9bab 100644 --- a/tencentscf.js +++ b/tencentscf.js @@ -20,7 +20,7 @@ const clientConfig = { }; const client = new ScfClient(clientConfig); -const params = { +let params = { "Handler": "index.main_handler", "FunctionName": process.env.TENCENT_FUNCTION_NAME, // 云函数程序名,例如 jd_scripts "ZipFile": contents_in_base64 @@ -33,3 +33,47 @@ client.UpdateFunctionCode(params).then( console.error("error", err); } ); + +// 更新环境变量 +let vars = [] +for(let key in process.env){ + vars.push({ + "Key": key, + "Value": process.env[key] + }) +} + +params = { + "Environment": { + "Variables": vars + } +}; +client.UpdateFunctionConfiguration(params).then( + (data) => { + console.log(data); + }, + (err) => { + console.error("error", err); + } +); + +// 更新触发器 +const inputYML = 'serverless.yml'; +const yaml = require('js-yaml'); +const obj = yaml.load(fs.readFileSync(inputYML, {encoding: 'utf-8'})) +for(let vo of obj.inputs.events){ + let param = { + 'Type' : "timer", + 'TriggerDesc' : vo.timer.parameters.cronExpression, + 'CustomArgument' : vo.timer.parameters.argument, + 'Enable' : "true" + } + client.CreateTrigger(param).then( + (data) => { + console.log(data); + }, + (err) => { + console.error("error", err); + } + ); +} From e37f8c62fbebb2d89189705c751cab40ca11936d Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 26 Jan 2021 09:05:20 +0800 Subject: [PATCH 1039/1259] debug --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 43638cae..16c4666a 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd8@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifV@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHZ@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Ks', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd8@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifV@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHZ' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifW', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHa' ] !(async () => { await requireConfig(); From f71f222fd08fc089e3abf0da6d6f145afbe6bf51 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 26 Jan 2021 09:06:49 +0800 Subject: [PATCH 1040/1259] debug --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 16c4666a..c6b4e813 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -1135,7 +1135,7 @@ function shareCodesFormatPk() { const tempIndex = $.index > pkInviteCodes.length ? (pkInviteCodes.length - 1) : ($.index - 1); $.newShareCodesPk = pkInviteCodes[tempIndex].split('@'); } - const readShareCodeRes = await readShareCodePk(); + const readShareCodeRes = null //await readShareCodePk(); if (readShareCodeRes && readShareCodeRes.code === 200) { $.newShareCodesPk = [...new Set([...$.newShareCodesPk, ...(readShareCodeRes.data || [])])]; } From 85e34910ca79525abe912c793a3e40f619b96bea Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 26 Jan 2021 09:51:35 +0800 Subject: [PATCH 1041/1259] =?UTF-8?q?=E9=97=AA=E8=B4=AD=E7=9B=B2=E7=9B=92?= =?UTF-8?q?=E4=BA=92=E5=8A=A9=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E4=B8=BA?= =?UTF-8?q?=20JDSGMH=5FSHARECODES=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=9C=88x?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E4=B8=8D=E5=AD=98=E5=9C=A8=E3=80=82=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E9=9A=8F=E6=9C=BAUA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 6 +++--- QuantumultX/lxk0301_gallery.json | 4 ++-- USER_AGENTS.js | 17 ++++++++++++++++- githubAction.md | 1 + jd_crazy_joy.js | 2 +- jd_dreamFactory.js | 2 +- jd_fruit.js | 2 +- jd_jdzz.js | 2 +- jd_nian.js | 2 +- jd_pet.js | 2 +- jd_plantBean.js | 2 +- jd_sgmh.js | 7 ++++--- 12 files changed, 33 insertions(+), 16 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 82a334a3..a419403d 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -109,9 +109,6 @@ cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_script # 京东炸年兽🧨 cron "0 9,12,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 - # 京东炸年兽AR cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR @@ -121,6 +118,9 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 + # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 3577578a..ad35480f 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -31,15 +31,15 @@ "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 9,12,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", "1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", - "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_sgmh.png, enabled=true", + "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", "16 22 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", diff --git a/USER_AGENTS.js b/USER_AGENTS.js index f229320c..ef57c28e 100644 --- a/USER_AGENTS.js +++ b/USER_AGENTS.js @@ -20,7 +20,22 @@ const USER_AGENTS = [ "jdapp;iPhone;4.0.0;11.4;9ed0d69aaf190b5b4277868d2c0470fe1f787080;network/wifi;model/iPhone8,1;appBuild/100401;ADID/64199E21-4ECD-4217-BD79-0C4D82033FD8;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/73;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15F79", "jdapp;android;9.3.0;10;3b78ecc3f490c7ba;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/85770;psn/3b78ecc3f490c7ba|599;psq/2;uid/3b78ecc3f490c7ba;adk/;ads/;pap/JA2015_311210|9.3.0|ANDROID 10;osv/10;pv/580.2;jdv/0|kong|t_1000089893_|tuiguang|e21138bd89c445d98a2cc2e375c37b4f|1606572739;ref/com.jd.lib.personal.view.fragment.JDPersonalFragment;partner/jingdong;apprpd/MyJD_Main;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", "jdapp;android;9.3.5;10;3326738356363633-6643930336732616;network/wifi;model/M2006J10C;addressid/138543439;aid/3b78ecc3f490c7ba;oaid/7d5870c5a1696881;osVer/29;appBuild/86390;psn/+pXCRL9fJyKJUUyy3COtPXYNfar5tX5i|2154;psq/2;adk/;ads/;pap/JA2015_311210|9.3.5|ANDROID 10;osv/10;pv/1473.2;jdv/0|kong|t_1000170135|tuiguang|notset|1607913972208|1607913972;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/jingdong;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", - "jdapp;android;9.1.4;10;f0798926f10dc8d8;network/wifi;model/ONEPLUS A6000;addressid/2082421393;aid/f0798926f10dc8d8;oaid/;osVer/29;appBuild/84555;partner/oppo;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; ONEPLUS A6000 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045224 Mobile Safari/537.36" + "jdapp;android;9.1.4;10;f0798926f10dc8d8;network/wifi;model/ONEPLUS A6000;addressid/2082421393;aid/f0798926f10dc8d8;oaid/;osVer/29;appBuild/84555;partner/oppo;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; ONEPLUS A6000 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045224 Mobile Safari/537.36", + "jdapp;android;9.1.0;9;864360034117260-18d276c8a45f;network/wifi;model/MHA-AL00;addressid/2013852661;aid/6edf28a51a564bc7;oaid/7efede7f-7ffb-839d-d58f-7f7b7ff9c1ee;osVer/28;appBuild/83789;partner/jingdong;Mozilla/5.0 (Linux; Android 9; MHA-AL00 Build/HUAWEIMHA-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36", + "jdapp;android;8.5.2;8.1.0;865664032788249-90f05250a015;network/wifi;model/16 X;addressid/137581227;aid/99e3cd08cf5f0a2c;oaid/;osVer/27;appBuild/71869;partner/meizu;Mozilla/5.0 (Linux; Android 8.1.0; 16 X Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36", + "jdapp;android;9.3.6;8.0.0;3353936343830383030333835333-53D2430343563363237316933336;network/wifi;model/HTC U-3w;addressid/1077019363;aid/c62026bb64774879;oaid/;osVer/26;appBuild/86560;partner/jingdong;eufv/1;Mozilla/5.0 (Linux; Android 8.0.0; HTC U-3w Build/OPR6.170623.013; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36", + "jdapp;iPhone;9.3.5;14.0.1;f467d6c04cd809e79dc000c574f8f79f00948dbc;network/wifi;ADID/60D6729F-9462-416A-84BA-087DE63342EA;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,2;addressid/138086175;supportBestPay/0;appBuild/167515;jdSupportDarkMode/0;pv/1122.25;apprpd/Babel_Native;ref/https%3A%2F%2Fwbbny.m.jd.com%2FbabelDiy%2FZeus%2F2cKMj86srRdhgWcKonfExzK4ZMBy%2Findex.html%3FbabelChannel%3Djx%26lng%3D118.734885%26lat%3D31.980189%26sid%3D5ac4902e0d1350a80f8127f88cc27c3w%26un_area%3D12_904_3379_62183%23%2Fhome;psq/0;ads/;psn/f467d6c04cd809e79dc000c574f8f79f00948dbc|3145;jdv/0|kong|t_1001597287_27078064|jingfen|ba710561492a446da2815e561082c75b|1611304510000|1611367639|1611367690;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|IOS 14.0.1;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", + "jdapp;android;9.3.6;10;8363434323030343235333838383-93D2134346136393268356361326;network/wifi;model/LYA-AL00;addressid/514336649;aid/4566072c8d9c08ac;oaid/00000000-0000-0000-0000-000000000000;osVer/29;appBuild/86560;partner/huawei;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; LYA-AL00 Build/HUAWEILYA-AL00L; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36", + "jdapp;iPhone;9.3.5;14.2;075879f1ae1f0fede61c030eb6b3e7b1b0ce9ae2;network/wifi;ADID/88BBE341-AE7D-4789-B7D9-B5EBBFF413A5;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone10,3;addressid/138021169;supportBestPay/0;appBuild/167515;jdSupportDarkMode/0;pv/980.15;apprpd/MyCalendar_ActivityCalendar;ref/;psq/4;ads/;psn/075879f1ae1f0fede61c030eb6b3e7b1b0ce9ae2|3781;jdv/0|direct|-|none|-|1611189859248|1611189890;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|IOS 14.2;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;iPhone;9.3.5;14.3;f43410af69a81012383ca839707069b2a4c68e27;network/wifi;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone11,8;addressid/3064531114;supportBestPay/0;appBuild/167515;jdSupportDarkMode/0;pv/481.19;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/f43410af69a81012383ca839707069b2a4c68e27|1274;jdv/0|kong|t_1000170136|tuiguang|notset|1611275169877|1611280752;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|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", + "jdapp;iPhone;9.3.4;14.2;be1acbcd17e4c25aeb5bc17c7567a8fa44ce9cab;network/wifi;ADID/04974BAF-2BED-45AC-A0AE-2242820A3C4F;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone13,4;addressid/1083782522;supportBestPay/0;appBuild/167502;jdSupportDarkMode/0;pv/1548.4;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/be1acbcd17e4c25aeb5bc17c7567a8fa44ce9cab|2101;jdv/0|kong|t_1000170135|tuiguang|notset|1611232250866|1611232250;adk/;app_device/IOS;pap/JA2015_311210|9.3.4|IOS 14.2;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", + "jdapp;android;9.2.2;8.1.0;869071037529592-9487e01e7f2d;network/wifi;model/MI 8;addressid/2769817385;aid/f4ed3e79ab29f481;oaid/;osVer/27;appBuild/85371;partner/xiaomi001;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 8.1.0; MI 8 Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36", + "jdapp;android;9.3.4;10;9356665333362626-4603362346333356;network/UNKNOWN;model/Redmi K20 Pro Premium Edition;addressid/137826363;aid/9ef53cbbd0c2d33e;oaid/ec7c5827275510c6;osVer/29;appBuild/86388;psn/DlHZjadWfe77DEYHrpjFjvKonV0SSFdy|921;psq/2;adk/;ads/;pap/JA2015_311210|9.3.4|ANDROID 10;osv/10;pv/793.2;jdv/0|kong|t_1000089893_|tuiguang|7459d8cb7c8f4f9f8e6e87751f61bd18|1611236364;ref/com.jd.lib.personal.view.fragment.JDPersonalFragment;partner/xiaomi001;apprpd/MyJD_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; Redmi K20 Pro Premium Edition Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045227 Mobile Safari/537.36", + "jdapp;iPhone;9.3.5;14.3;244bd50c51f0b198dd8733afe89cdec4b09df713;network/wifi;JDEbook/openapp.jdreader;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone8,2;addressid/0;supportBestPay/0;appBuild/167515;jdSupportDarkMode/0;pv/2.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/244bd50c51f0b198dd8733afe89cdec4b09df713|2;jdv/0|;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|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", + "jdapp;iPhone;9.3.5;14.3;85ce08e05756b547e15f0b637cc99addd96b3345;network/4g;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone12,1;addressid/138116050;supportBestPay/0;appBuild/167515;jdSupportDarkMode/0;pv/524.2;apprpd/Home_Main;ref/JDMainPageViewController;psq/1;ads/;psn/85ce08e05756b547e15f0b637cc99addd96b3345|1591;jdv/0|kong|t_1000170136|tuiguang|notset|1609480641159|1609480641;adk/;app_device/IOS;pap/JA2015_311210|9.3.5|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", + "jdapp;android;9.3.6;11;2643139303035683-6326533623539333;network/UNKNOWN;model/Redmi K20 Pro Premium Edition;addressid/0;aid/b41900e86b5c2593;oaid/a1ae016fae05d3c8;osVer/30;appBuild/86560;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K20 Pro Premium Edition Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045513 Mobile Safari/537.36", + "jdapp;android;9.3.6;10;8363037353830343533303236333-73D2438323361603735616833316;network/UNKNOWN;model/MI 8;addressid/2532472939;aid/b5de2a5d9ce280f6;oaid/867c11ae16e94d11;osVer/29;appBuild/86560;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/045227 Mobile Safari/537.36", + "jdapp;iPhone;9.2.4;14.1;b9d474077232e439a03d610bc11e3861a0296b67;network/wifi;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone11,8;addressid/13377806;supportBestPay/0;appBuild/167432;pushNoticeIsOpen/0;jdSupportDarkMode/0;pv/259.20;apprpd/Home_Main;ref/JDMainPageViewController;psq/17;ads/;psn/b9d474077232e439a03d610bc11e3861a0296b67|675;jdv/0|kong|t_1000089893_|tuiguang|c37639dcb10b43c0a4ceb54b19be50cf|1610978908;adk/;app_device/IOS;pap/JA2015_311210|9.2.4|IOS 14.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", ] /** * 生成随机数字 diff --git a/githubAction.md b/githubAction.md index 6bcb8ea3..2036b252 100644 --- a/githubAction.md +++ b/githubAction.md @@ -48,6 +48,7 @@ | `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 注意:京喜农场 种植种子发生变化的时候,互助码也会变!!
每个账号 shareCode 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"}',多账单间使用`&`或换行分开。详细说明参见[#Pr202](https://github.com/LXK9301/jd_scripts/pull/202) | +| `JDSGMH_SHARECODES` | 闪购盲盒互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDSXSY_SHARECODES` | 京东神仙书院
互助码 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 15f35bda..06041638 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -34,7 +34,7 @@ let applyJdBean = 0; //疯狂的JOY京豆兑换,目前最小值为2000京豆 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = [ 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE@KTZmB4gV4zirfc3eWGgXhA==@dtTXFsCQ3tCWnXkLY8gyL6t9zd5YaBeE@-c4jG-fMiNon5YWAJsFHL6t9zd5YaBeE@hxG_ozzxvNjPuPCbly1WtA==', - 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE' + 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE@EyZA15nkwWscm7frOkjZTat9zd5YaBeE' ]; const randomCount = $.isNode() ? 10 : 5; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index b76591d6..eb1e1072 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -36,7 +36,7 @@ const jxOpenUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%2 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = [ 'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@0WtCMPNq7jekehT6d3AbFw==', - "gB99tYLjvPcEFloDgamoBw==", + "gB99tYLjvPcEFloDgamoBw==@7dluIKQMp0bySgcr8AqFgw==", '-OvElMzqeyeGBWazWYjI1Q==', 'GFwo6PntxDHH95ZRzZ5uAg==' ]; diff --git a/jd_fruit.js b/jd_fruit.js index e4d4ea82..cf7b9840 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -31,7 +31,7 @@ let shareCodes = [ // 这个列表填入你要助力的好友的shareCode //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a@b9d287c974cc498d94112f1b064cf934', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3@2673c3777d4443829b2a635059953a28', + 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3@2673c3777d4443829b2a635059953a28@d2d5d435675544679413cb9145577e0f', ] let message = '', subTitle = '', option = {}, isFruitFinished = false; const retainWater = 100;//保留水滴大于多少g,默认100g; diff --git a/jd_jdzz.js b/jd_jdzz.js index 1d87f7e5..12e72249 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -47,7 +47,7 @@ if ($.isNode()) { const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5mf7ExDZdDmH7j3wfkA@AUWE5m6jBy2cNAWX7j31Pxw@AUWE5mK2UnDddDTX61S1Mkw@AUWE5mavGyGZdWzP5iCoZwQ`, - `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5m6_BmTUPAGH42SpOkg@AUWE53NTIs3V8YBqthQMI` + `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5m6_BmTUPAGH42SpOkg@AUWE53NTIs3V8YBqthQMI@AUWE5m6yVxTJcWjWr3nRIlw` ] !(async () => { $.tuanList = [] diff --git a/jd_nian.js b/jd_nian.js index 16c4666a..bbd80cd2 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,7 +50,7 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifW', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifW@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kg', 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHa' ] !(async () => { diff --git a/jd_pet.js b/jd_pet.js index d523a9cb..73b7914e 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -32,7 +32,7 @@ let shareCodes = [ // IOS本地脚本用户这个列表填入你要助力的好 //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 'MTAxODc2NTEzNTAwMDAwMDAwMjg3MDg2MA==@MTAxODc2NTEzMzAwMDAwMDAyNzUwMDA4MQ==@MTAxODc2NTEzMjAwMDAwMDAzMDI3MTMyOQ==@MTAxODc2NTEzNDAwMDAwMDAzMDI2MDI4MQ==@MTAxODcxOTI2NTAwMDAwMDAxOTQ3MjkzMw==', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - 'MTAxODc2NTEzMjAwMDAwMDAzMDI3MTMyOQ==@MTAxODcxOTI2NTAwMDAwMDAyNjA4ODQyMQ==@MTAxODc2NTEzOTAwMDAwMDAyNzE2MDY2NQ==@MTE1NDUyMjEwMDAwMDAwNDI0MDM2MDc=', + 'MTAxODc2NTEzMjAwMDAwMDAzMDI3MTMyOQ==@MTAxODcxOTI2NTAwMDAwMDAyNjA4ODQyMQ==@MTAxODc2NTEzOTAwMDAwMDAyNzE2MDY2NQ==@MTE1NDUyMjEwMDAwMDAwNDI0MDM2MDc=@MTAxODc2NTEzMjAwMDAwMDAwNDA5MzAzMw==', ] let message = '', subTitle = '', option = {}; let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 diff --git a/jd_plantBean.js b/jd_plantBean.js index 3ae02c8f..1d128de1 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -36,7 +36,7 @@ let shareCodes = [ // IOS本地脚本用户这个列表填入你要助力的好 //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba@e7lhibzb3zek32e72n4xesxmgc2m76eju62zk3y', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - 'olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziyvnsb2r54jq34s64sc4it3jlfnejwmtmsuadax2i@eeexxudqtlampbpvmceutaaht5tcftvr6kohuny', + 'olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziyvnsb2r54jq34s64sc4it3jlfnejwmtmsuadax2i@eeexxudqtlampbpvmceutaaht5tcftvr6kohuny@e7lhibzb3zek27gfeceqb6wwm45gshcaroxg5ka', ] let currentRoundId = null;//本期活动id let lastRoundId = null;//上期id diff --git a/jd_sgmh.js b/jd_sgmh.js index 0db1876f..9f8aa1dd 100644 --- a/jd_sgmh.js +++ b/jd_sgmh.js @@ -3,13 +3,14 @@ 长期活动,一人每天5次助力机会,10次被助机会,被助力一次获得一次抽奖机会,前几次必中京豆 修改自 @yangtingxiao 抽奖机脚本 入口:首页-闪购-闪购盲盒 +网页地址:https://h5.m.jd.com/babelDiy/Zeus/3vzA7uGuWL2QeJ5UeecbbAVKXftQ/index.html 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #闪购盲盒 -20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_sgmh.png, enabled=true +20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] @@ -28,8 +29,8 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let appId = '1EFRRxA' , homeDataFunPrefix = 'interact_template', collectScoreFunPrefix = 'harmony', message = '' let lotteryResultFunPrefix = homeDataFunPrefix, browseTime = 6 const inviteCodes = [ - 'T019-aknAFRllhyoQlyI46gCjVWmIaW5kRrbA', - 'T019-aknAFRllhyoQlyI46gCjVWmIaW5kRrbA' + 'T019-aknAFRllhyoQlyI46gCjVWmIaW5kRrbA@T027Zm_olqSxIOtH97BATGmKoWraLawCjVWmIaW5kRrbA', + 'T019-aknAFRllhyoQlyI46gCjVWmIaW5kRrbA@T0225KkcRk1N_FeCJhv3xvdfcQCjVWmIaW5kRrbA' ]; const randomCount = $.isNode() ? 20 : 5; const notify = $.isNode() ? require('./sendNotify') : ''; From 4e5eb9b107f59ed86a1e3eb3154a651a25336b56 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Tue, 26 Jan 2021 10:06:05 +0800 Subject: [PATCH 1042/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=97=AA=E8=B4=AD=E7=9B=B2=E7=9B=92secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增闪购盲盒secret --- .github/workflows/deploy_tencent_scf.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 04d1a3df..f08df3a4 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -56,6 +56,7 @@ jobs: if [ $BOOKSHOP_SHARECODES ]; then sed -i "/variables/a\ BOOKSHOP_SHARECODES: $BOOKSHOP_SHARECODES" serverless.yml; fi; if [ $JD_CASH_SHARECODES ]; then sed -i "/variables/a\ JD_CASH_SHARECODES: $JD_CASH_SHARECODES" serverless.yml; fi; if [ $JXNC_SHARECODES ]; then sed -i "/variables/a\ JXNC_SHARECODES: $JXNC_SHARECODES" serverless.yml; fi; + if [ $JDSGMH_SHARECODES ]; then sed -i "/variables/a\ JDSGMH_SHARECODES: $JDSGMH_SHARECODES" serverless.yml; fi; if [ $JDNIAN_SHARECODES ]; then sed -i "/variables/a\ JDNIAN_SHARECODES: $JDNIAN_SHARECODES" serverless.yml; fi; if [ $JDSXSY_SHARECODES ]; then sed -i "/variables/a\ JDSXSY_SHARECODES: $JDSXSY_SHARECODES" serverless.yml; fi; if [ $JD_BEAN_STOP ]; then sed -i "/variables/a\ JD_BEAN_STOP: $JD_BEAN_STOP" serverless.yml; fi; @@ -123,6 +124,7 @@ jobs: BOOKSHOP_SHARECODES: ${{ secrets.BOOKSHOP_SHARECODES}} JD_CASH_SHARECODES: ${{ secrets.JD_CASH_SHARECODES}} JXNC_SHARECODES: ${{ secrets.JXNC_SHARECODES}} + JDSGMH_SHARECODES: ${{ secrets.JDSGMH_SHARECODES}} JDNIAN_SHARECODES: ${{ secrets.JDNIAN_SHARECODES}} JDSXSY_SHARECODES: ${{ secrets.JDSXSY_SHARECODES}} JD_BEAN_STOP: ${{ secrets.JD_BEAN_STOP}} From 02e495cf66fee10edcda65bcaf29f51d0b412c01 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 26 Jan 2021 10:19:49 +0800 Subject: [PATCH 1043/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8Djd=5Fjdzz.js?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E3=80=82=E8=8E=B7=E5=8F=96=E4=BA=92=E5=8A=A9?= =?UTF-8?q?=E7=A0=81=E8=84=9A=E6=9C=AC=E6=B7=BB=E5=8A=A0=E9=97=AA=E8=B4=AD?= =?UTF-8?q?=E7=9B=B2=E7=9B=92=E4=BA=92=E5=8A=A9=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy.js | 2 +- jd_get_share_code.js | 46 ++++++++++++++++++++++++++++++++++++++++++-- jd_jdzz.js | 7 ++++--- 3 files changed, 49 insertions(+), 6 deletions(-) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 06041638..687112e0 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -34,7 +34,7 @@ let applyJdBean = 0; //疯狂的JOY京豆兑换,目前最小值为2000京豆 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = [ 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE@KTZmB4gV4zirfc3eWGgXhA==@dtTXFsCQ3tCWnXkLY8gyL6t9zd5YaBeE@-c4jG-fMiNon5YWAJsFHL6t9zd5YaBeE@hxG_ozzxvNjPuPCbly1WtA==', - 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE@EyZA15nkwWscm7frOkjZTat9zd5YaBeE' + 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE@nCQQXQHKGjPCb7jkd8q2U-aCTjZMxL3s@2boGLV7TonMex8-nrT6EGat9zd5YaBeE@EyZA15nkwWscm7frOkjZTat9zd5YaBeE@-c4jG-fMiNon5YWAJsFHL6t9zd5YaBeE' ]; const randomCount = $.isNode() ? 10 : 5; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; diff --git a/jd_get_share_code.js b/jd_get_share_code.js index 98134298..ad196447 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -1,7 +1,7 @@ /* 一键获取我仓库所有需要互助类脚本的互助码(邀请码)(其中京东赚赚jd_jdzz.js如果今天达到5人助力则不能提取互助码) 没必要设置(cron)定时执行,需要的时候,自己手动执行一次即可 - +注:临时活动的互助码不添加到此处,如有需要请手动运行对应临时活动脚本 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js @@ -159,6 +159,7 @@ if ($.isNode()) { $.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('\n注:临时活动的互助码不添加到此处,如有需要请手动运行对应临时活动脚本\n') for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -432,7 +433,7 @@ async function getJdZZ() { if (data.data.shareTaskRes) { console.log(`【账号${$.index}(${$.nickName || $.UserName})京东赚赚】${data.data.shareTaskRes.itemId}`); } else { - //console.log(`已满5人助力,暂时看不到您的京东赚赚好友助力码`) + console.log(`【账号${$.index}(${$.nickName || $.UserName})京东赚赚】已满5人助力或助力功能已下线,故暂时无好友助力码`) } } } @@ -654,6 +655,46 @@ async function getJoy(){ }) }) } +//闪购盲盒 +async function getSgmh(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=interact_template_getHomeData&body={"appId":"1EFRRxA","taskToken":""}&client=wh5&clientVersion=1.0.0` + } + + $.post(url, async (err, resp, data) => { + try { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.data.bizCode === 0) { + for (let i = 0; i < data.data.result.taskVos.length; i++) { + if (data.data.result.taskVos[i].taskName === '邀人助力任务') { + console.log(`【账号${$.index}(${$.nickName || $.UserName})闪购盲盒】${data.data.result.taskVos[i].assistTaskDetailVo.taskToken}`) + } + } + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve() + } + }) + },timeout) + }) +} async function getShareCode() { console.log(`======账号${$.index}开始======`) await getJdFactory() @@ -664,6 +705,7 @@ async function getShareCode() { await getJDFruit() await getJdZZ() await getJoy() + await getSgmh() console.log(`======账号${$.index}结束======\n`) } diff --git a/jd_jdzz.js b/jd_jdzz.js index 12e72249..57d7b7cb 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -203,14 +203,15 @@ function getUserTuanInfo() { } else { if (safeGet(data)) { data = JSON.parse(data); - if (!data.data.canStartNewAssist) + 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 + $.tuanActId = data.data.id + } } } } catch (e) { @@ -260,7 +261,7 @@ function getUserInfo() { if (data.data.shareTaskRes) { console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${data.data.shareTaskRes.itemId}\n`); } else { - console.log(`已满5人助力,暂时看不到您的${$.name}好友助力码`) + console.log(`\n\n已满5人助力或助力功能已下线,故暂时无${$.name}好友助力码\n\n`) } } } From 0e93f71fa0f7e038290689f2f8bf7fc127c5f5d2 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Tue, 26 Jan 2021 04:23:41 +0000 Subject: [PATCH 1044/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 6 +++--- QuantumultX/lxk0301_gallery.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index a419403d..82a334a3 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -109,6 +109,9 @@ cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_script # 京东炸年兽🧨 cron "0 9,12,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 + # 京东炸年兽AR cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR @@ -118,9 +121,6 @@ cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index ad35480f..d0e4bb2c 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -31,10 +31,10 @@ "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 9,12,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", From 743453ff5320cd90ae6c951cd6a093025546bdba Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 26 Jan 2021 15:58:50 +0800 Subject: [PATCH 1045/1259] fix --- jd_speed.js | 51 +++++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/jd_speed.js b/jd_speed.js index 1da835f2..819e28d2 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -124,7 +124,7 @@ function jDSpeedUp(sourceId) { } else { console.log("\n" + "天天加速-开始本次任务 "); } - if (res.info.isLogin === 1) { + if (res.code === 0 && res.success) { subTitle = `【奖励】${res.data.beans_num}京豆`; if (res.data.task_status === 0) { const taskID = res.data.source_id; @@ -159,15 +159,14 @@ function jDSpeedUp(sourceId) { } else { console.log("\n" + "天天加速-判断状态码失败") } - } else { - console.log("\n" + "天天加速-判断状态失败") } } else { console.log(`京豆api返回数据为空,请检查自身原因`) } } } catch (e) { - $.msg("京东天天-加速" + e.name + "‼️", JSON.stringify(e), e.message) + // $.msg("京东天天-加速" + e.name + "‼️", JSON.stringify(e), e.message) + $.logErr(e, resp); } finally { resolve() } @@ -221,7 +220,8 @@ function spaceEventList() { } } } catch (e) { - $.msg("天天加速-查询太空特殊事件" + e.name + "‼️", JSON.stringify(e), e.message) + // $.msg("天天加速-查询太空特殊事件" + e.name + "‼️", JSON.stringify(e), e.message) + $.logErr(e, resp) } finally { resolve(spaceEvents) } @@ -268,7 +268,8 @@ function spaceEventHandleEvent(spaceEventList) { } } } catch (e) { - $.msg("天天加速-查询处理太空特殊事件" + e.name + "‼️", JSON.stringify(e), e.message) + // $.msg("天天加速-查询处理太空特殊事件" + e.name + "‼️", JSON.stringify(e), e.message) + $.logErr(e, resp) } finally { if (spaceEventList.length === spaceNumTask) { console.log("\n天天加速-已成功处理" + spaceNumTask + "个太空特殊事件") @@ -324,7 +325,8 @@ function energyPropList() { } } } catch (eor) { - $.msg("天天加速-查询燃料" + eor.name + "‼️", JSON.stringify(eor), eor.message) + // $.msg("天天加速-查询燃料" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $.logErr(e, resp) } finally { resolve(TaskID) } @@ -369,7 +371,8 @@ function receiveEnergyProp(CID) { } } } catch (eor) { - $.msg("天天加速-领取可用燃料" + eor.name + "‼️", JSON.stringify(eor), eor.message) + // $.msg("天天加速-领取可用燃料" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $.logErr(e, resp) } finally { if (CID.length === count) { console.log("\n天天加速-已成功领取" + NumTask + "个可用燃料") @@ -405,27 +408,30 @@ function energyPropUsaleList(EID) { } else { if (data) { const cc = JSON.parse(data); - if (cc.data.length > 0) { - for (let i = 0; i < cc.data.length; i++) { - if (cc.data[i].id) { - TaskCID += cc.data[i].id + ","; + if (cc.code === 0 && cc.success) { + if (cc.data.length > 0) { + for (let i = 0; i < cc.data.length; i++) { + if (cc.data[i].id) { + TaskCID += cc.data[i].id + ","; + } + } + if (TaskCID.length > 0) { + TaskCID = TaskCID.substr(0, TaskCID.length - 1).split(",") + console.log("\n天天加速-查询成功" + TaskCID.length + "个燃料ID") + } else { + console.log("\n天天加速-暂无有效燃料ID") } - } - if (TaskCID.length > 0) { - TaskCID = TaskCID.substr(0, TaskCID.length - 1).split(",") - console.log("\n天天加速-查询成功" + TaskCID.length + "个燃料ID") } else { - console.log("\n天天加速-暂无有效燃料ID") + console.log("\n天天加速-查询无燃料ID") } - } else { - console.log("\n天天加速-查询无燃料ID") } } else { console.log(`京豆api返回数据为空,请检查自身原因`) } } } catch (eor) { - $.msg("天天加速-燃料ID" + eor.name + "‼️", JSON.stringify(eor), eor.message) + // $.msg("天天加速-燃料ID" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $.logErr(e, resp) } finally { resolve(TaskCID) } @@ -475,7 +481,8 @@ function useEnergy(PropID) { } } } catch (eor) { - $.msg("天天加速-使用燃料" + eor.name + "‼️", JSON.stringify(eor), eor.message) + // $.msg("天天加速-使用燃料" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $.logErr(e, resp) } finally { if (PropID.length === PropCount) { console.log("\n天天加速-已成功使用" + PropNumTask + "个燃料") @@ -527,7 +534,7 @@ function getMemBerList() { } } } catch (e) { - $.msg("天天加速-查询太空特殊事件" + e.name + "‼️", JSON.stringify(e), e.message) + // $.msg("天天加速-查询太空特殊事件" + e.name + "‼️", JSON.stringify(e), e.message) $.logErr(e, resp) } finally { resolve() From 52fbd3d48e7739bb15606536af27bed9a68b4527 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 26 Jan 2021 17:45:21 +0800 Subject: [PATCH 1046/1259] =?UTF-8?q?=E5=A4=A9=E5=A4=A9=E5=8A=A0=E9=80=9F?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E8=87=AA=E5=8A=A8=E9=A2=86=E5=8F=96?= =?UTF-8?q?=E8=99=AB=E6=B4=9E=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 2 +- jd_speed.js | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index bff561b8..98b85033 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -51,7 +51,7 @@ const inviteCodes = [ ]; const pkInviteCodes = [ 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifW@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kg', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHa' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHa@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8Q@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQvQ' ] !(async () => { await requireConfig(); diff --git a/jd_speed.js b/jd_speed.js index 819e28d2..50031563 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -496,6 +496,7 @@ function useEnergy(PropID) { } }) } +//虫洞 function getMemBerList() { return new Promise((resolve) => { const body = { "source": "game", "status": 0}; @@ -516,6 +517,12 @@ function getMemBerList() { if (safeGet(data)) { data = JSON.parse(data); if (data && data.success) { + for (let item of data.data) { + if (item['taskStatus'] === 0) { + $.log(`去领取【${item['title']}】任务\n`) + await getMemBerGetTask(item['sourceId']); + } + } $.getRewardBeans = 0; console.log(`\n检查是否可领虫洞京豆奖励`) $.memBerList = data.data.filter(item => item['taskStatus'] === 2); @@ -542,6 +549,39 @@ function getMemBerList() { }) }) } +//领取虫洞任务API +function getMemBerGetTask(sourceId) { + return new Promise((resolve) => { + const body = { "source": "game", sourceId}; + const options = { + url: `${JD_API_HOST}?appid=memberTaskCenter&functionId=member_getTask&body=${escape(JSON.stringify(body))}&_t=${Date.now()}`, + headers: { + Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.get(options, async (err, resp, data) => { + try { + if (err) { + console.log(`${$.name} API请求失败,请检查网路重试`) + console.log(`${JSON.stringify(err)}`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data && data.success) { + // $.getRewardBeans += data.data.beans; + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve() + } + }) + }) +} function getReward(uuid) { return new Promise((resolve) => { const body = { "source": "game", uuid}; From 55caf28f943ee8f4b23e19f90c38704ffd6444dd Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 26 Jan 2021 18:17:57 +0800 Subject: [PATCH 1047/1259] enable pk --- jd_nian.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 98b85033..13e5fcd6 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -100,13 +100,14 @@ async function jdNian() { $.hasGroup = false await pkTaskDetail() if ($.hasGroup) await pkInfo() - await helpFriendsPK() + //await helpFriendsPK() } if (12 <= hour && hour < 14) { // 北京时间20点-22点 $.hasGroup = false await pkTaskStealDetail() if ($.hasGroup) await pkInfo() + await helpFriendsPK() } await $.wait(2000) await killCouponList() @@ -118,7 +119,7 @@ async function jdNian() { await $.wait(1000) await doTask() await $.wait(2000) - await helpFriends() + //await helpFriends() await $.wait(2000) await getHomeData(true) await showMsg() @@ -1135,7 +1136,9 @@ function shareCodesFormatPk() { const tempIndex = $.index > pkInviteCodes.length ? (pkInviteCodes.length - 1) : ($.index - 1); $.newShareCodesPk = pkInviteCodes[tempIndex].split('@'); } - const readShareCodeRes = null //await readShareCodePk(); + let readShareCodeRes = null + if (new Date().getUTCHours() >= 12) + readShareCodeRes = await readShareCodePk(); if (readShareCodeRes && readShareCodeRes.code === 200) { $.newShareCodesPk = [...new Set([...$.newShareCodesPk, ...(readShareCodeRes.data || [])])]; } From bdf4235ced887fb555fb546cd64f347f3436af37 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 26 Jan 2021 18:18:15 +0800 Subject: [PATCH 1048/1259] enable --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 13e5fcd6..057a7fba 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -119,7 +119,7 @@ async function jdNian() { await $.wait(1000) await doTask() await $.wait(2000) - //await helpFriends() + await helpFriends() await $.wait(2000) await getHomeData(true) await showMsg() From fb10bd8c84afb348c36cb5d1fe7e54b3865d105b Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 26 Jan 2021 18:18:35 +0800 Subject: [PATCH 1049/1259] enable --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 057a7fba..92a637fd 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -100,7 +100,7 @@ async function jdNian() { $.hasGroup = false await pkTaskDetail() if ($.hasGroup) await pkInfo() - //await helpFriendsPK() + await helpFriendsPK() } if (12 <= hour && hour < 14) { // 北京时间20点-22点 From e9d2d38f5713103f16b53bd88a40e403078dfd11 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Tue, 26 Jan 2021 18:43:27 +0800 Subject: [PATCH 1050/1259] Update jd_nian.js --- jd_nian.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 92a637fd..2f29bb6b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽🧨 -0 9,12,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true +0 9,12,20,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] -cron "0 9,12,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 ===============Surge================= -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js ============小火箭========= -京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 9,12,20 * * *", timeout=3600, enable=true +京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 9,12,20,21 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽🧨'); From e78f3732f8cbcd8c5d654daf99408544a3977127 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Tue, 26 Jan 2021 10:44:07 +0000 Subject: [PATCH 1051/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- QuantumultX/lxk0301_gallery.json | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 82a334a3..751b5868 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -107,7 +107,7 @@ cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_sc cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js,tag=京东年货节 # 京东炸年兽🧨 -cron "0 9,12,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 # 京东炸年兽领爆竹🧨 cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index d0e4bb2c..3009d359 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -30,7 +30,7 @@ "3 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true", "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9,12,20,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index af1bd196..87467466 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -41,7 +41,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js 京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js From 7a5bab3571a99b42061e8ce5b8e946d34ce0e9f3 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 26 Jan 2021 19:28:37 +0800 Subject: [PATCH 1052/1259] Update jd_nian.js --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 2f29bb6b..19b7319b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -1080,7 +1080,7 @@ function readShareCodePk() { console.log(`开始`) return new Promise(async resolve => { $.get({ - url: `http://jd.turinglabs.net/api/v2/jd/nian_pk/read/${randomCount}/`, + url: `http://jd.turinglabs.net/api/v2/jd/nian/read/${randomCount}/`, 'timeout': 10000 }, (err, resp, data) => { try { From c7d79867720142be77a8d44ae9bfae4e4f3680b5 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 26 Jan 2021 23:12:59 +0800 Subject: [PATCH 1053/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tencentscf.js | 175 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 124 insertions(+), 51 deletions(-) diff --git a/tencentscf.js b/tencentscf.js index ba6a9bab..94680cba 100644 --- a/tencentscf.js +++ b/tencentscf.js @@ -1,8 +1,7 @@ // Depends on tencentcloud-sdk-nodejs version 4.0.3 or higher const tencentcloud = require("tencentcloud-sdk-nodejs"); const fs = require('fs') -const file_buffer = fs.readFileSync('./myfile.zip'); -const contents_in_base64 = file_buffer.toString('base64'); +const yaml = require('js-yaml'); const ScfClient = tencentcloud.scf.v20180416.Client; @@ -18,57 +17,77 @@ const clientConfig = { }, }, }; +const sleep = ms => new Promise(res => setTimeout(res, ms)); +!(async () => { + const client = new ScfClient(clientConfig); -const client = new ScfClient(clientConfig); -let params = { - "Handler": "index.main_handler", - "FunctionName": process.env.TENCENT_FUNCTION_NAME, // 云函数程序名,例如 jd_scripts - "ZipFile": contents_in_base64 -}; -client.UpdateFunctionCode(params).then( - (data) => { - console.log(data); - }, - (err) => { - console.error("error", err); - } -); + let params + await client.ListFunctions({}).then( + async (data) => { + let func = data.Functions.filter(vo=>vo.FunctionName===process.env.TENCENT_FUNCTION_NAME) + const file_buffer = fs.readFileSync('./myfile.zip'); + const contents_in_base64 = file_buffer.toString('base64'); + if(func.length){ + console.log(`函数已存在,去更新函数`) + // 更新代码 + params = { + "Handler": "index.main_handler", + "FunctionName": process.env.TENCENT_FUNCTION_NAME, + "ZipFile": contents_in_base64 + }; + await client.UpdateFunctionCode(params).then( + (data) => { + console.log(data); + }, + (err) => { + console.error("error", err); + } + ); + } else{ + console.log(`函数不存在,去创建函数`) + params = { + "Code": { + "ZipFile": contents_in_base64 + }, + "FunctionName": process.env.TENCENT_FUNCTION_NAME, + "Runtime": "Nodejs12.16" + }; + await client.CreateFunction(params).then( + (data) => { + console.log(data); + }, + (err) => { + console.error("error", err); + } + ); + await sleep(1000*100) // 等待100秒 + } + }, + (err) => { + console.error("error", err); + } + ); -// 更新环境变量 -let vars = [] -for(let key in process.env){ - vars.push({ - "Key": key, - "Value": process.env[key] - }) -} - -params = { - "Environment": { - "Variables": vars + console.log(`更新环境变量`) + // 更新环境变量 + let inputYML = '.github/workflows/deploy_tencent_scf.yml'; + let obj = yaml.load(fs.readFileSync(inputYML, {encoding: 'utf-8'})) + let vars = [] + for(let key in obj.jobs.build.steps[3].env){ + if(key!=='PATH' && process.env.hasOwnProperty(key)) + vars.push({ + "Key": key, + "Value": process.env[key] + }) } -}; -client.UpdateFunctionConfiguration(params).then( - (data) => { - console.log(data); - }, - (err) => { - console.error("error", err); - } -); - -// 更新触发器 -const inputYML = 'serverless.yml'; -const yaml = require('js-yaml'); -const obj = yaml.load(fs.readFileSync(inputYML, {encoding: 'utf-8'})) -for(let vo of obj.inputs.events){ - let param = { - 'Type' : "timer", - 'TriggerDesc' : vo.timer.parameters.cronExpression, - 'CustomArgument' : vo.timer.parameters.argument, - 'Enable' : "true" - } - client.CreateTrigger(param).then( + console.log(`您一共填写了${vars.length}个环境变量`) + params = { + "FunctionName": process.env.TENCENT_FUNCTION_NAME, + "Environment": { + "Variables": vars + } + }; + await client.UpdateFunctionConfiguration(params).then( (data) => { console.log(data); }, @@ -76,4 +95,58 @@ for(let vo of obj.inputs.events){ console.error("error", err); } ); -} + let triggers = [] + params = { + "FunctionName": process.env.TENCENT_FUNCTION_NAME, + } + await client.ListTriggers(params).then( + (data) => { + console.log(data); + triggers = data.Triggers + }, + (err) => { + console.error("error", err); + } + ); + for(let vo of triggers){ + params = { + "FunctionName": process.env.TENCENT_FUNCTION_NAME, + "Type": "timer", + "TriggerName": vo.TriggerName + } + await client.DeleteTrigger(params).then( + (data) => { + console.log(data); + }, + (err) => { + console.error("error", err); + } + ); + } + // 更新触发器 + console.log(`去更新触发器`) + inputYML = 'serverless.yml'; + obj = yaml.load(fs.readFileSync(inputYML, {encoding: 'utf-8'})) + for(let vo of obj.inputs.events){ + let param = { + "FunctionName": process.env.TENCENT_FUNCTION_NAME, + "TriggerName": vo.timer.parameters.name, + 'Type' : "timer", + 'TriggerDesc' : vo.timer.parameters.cronExpression, + 'CustomArgument' : vo.timer.parameters.argument, + 'Enable' : "OPEN", + } + await client.CreateTrigger(param).then( + (data) => { + console.log(data); + }, + (err) => { + console.error("error", err); + } + ); + } + +})() + .catch((e) => console.log(e)) + .finally(async () => { + }) From 4c504a6b75cd9064dbb7ac255d5a18fc6fa0e155 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Tue, 26 Jan 2021 23:57:50 +0800 Subject: [PATCH 1054/1259] Update jd_joy.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复未领取每日喂狗粮的任务奖励 --- jd_joy.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_joy.js b/jd_joy.js index 08eb0446..e68fc206 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -2,7 +2,7 @@ jd宠汪汪 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_joy.js 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js IOS用户支持京东双账号,NodeJs用户支持N个京东账号 -更新时间:2021-1-22 +更新时间:2021-1-26 建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 feedCount:自定义 每次喂养数量; 等级只和喂养次数有关,与数量无关 推荐每次投喂10个,积累狗粮,然后去玩聚宝盆赌 @@ -265,11 +265,11 @@ async function petTask() { } //每日喂狗粮 if (item['taskType'] === 'FeedEveryDay') { - if (item['taskStatus'] === 'processing') { + if (item['receiveStatus'] === 'chance_left') { console.log(`\n${item['taskName']}任务进行中\n`) } else if (item['receiveStatus'] === 'unreceive') { const res = await getFood('FeedEveryDay'); - console.log(`领取每日帮好友喂一次狗粮 狗粮结果:${res.data}`); + console.log(`领取每日喂狗粮 结果:${res.data}`); } } // From 6097d16036d4f91701b4a7eeab0e7fe47e92f60f Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 08:54:24 +0800 Subject: [PATCH 1055/1259] debug --- jd_nian.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 19b7319b..43fcdc9d 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifW@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kg', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdw@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHa@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8Q@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQvQ' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb' ] !(async () => { await requireConfig(); @@ -119,7 +119,7 @@ async function jdNian() { await $.wait(1000) await doTask() await $.wait(2000) - await helpFriends() + // await helpFriends() await $.wait(2000) await getHomeData(true) await showMsg() From 368046f51deb04ce4d6d218f1d0e22f6e76b9e83 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 09:07:03 +0800 Subject: [PATCH 1056/1259] update --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 43fcdc9d..eb5fbb94 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A' ] !(async () => { await requireConfig(); From c21352eaff96e98618f10209810d24d294c61b1b Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 10:47:52 +0800 Subject: [PATCH 1057/1259] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=B0=86=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E5=85=A5=E5=8F=A3=E5=88=97=E5=9C=A8Readme=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=B8=85=E5=8D=95=E4=B8=AD=EF=BC=8C=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E6=AF=8F=E4=B8=AA=E8=84=9A=E6=9C=AC=E4=B8=AD=E2=80=9C=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E5=85=A5=E5=8F=A3=EF=BC=9A=E2=80=9D=E8=BF=99=E4=B8=80?= =?UTF-8?q?=E8=A1=8C=E5=85=A8=E8=A7=92=E5=86=92=E5=8F=B7=E5=90=8E=E9=9D=A2?= =?UTF-8?q?=E7=9A=84=E5=86=85=E5=AE=B9=E4=BD=9C=E4=B8=BA=E5=85=A5=E5=8F=A3?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 111 ++++++++++++++++++++++--------------------- jd_bean_home.js | 2 +- jd_bean_sign.js | 1 + jd_blueCoin.js | 1 + jd_car_exchange.js | 3 +- jd_club_lottery.js | 2 +- jd_crazy_joy.js | 2 +- jd_crazy_joy_coin.js | 1 + jd_daily_egg.js | 2 +- jd_dreamFactory.js | 2 +- jd_fruit.js | 1 + jd_jdfactory.js | 1 + jd_joy.js | 1 + jd_joy_feedPets.js | 1 + jd_joy_help.js | 1 + jd_joy_reward.js | 1 + jd_joy_run.js | 2 +- jd_joy_steal.js | 1 + jd_jxnc.js | 1 + jd_lotteryMachine.js | 2 +- jd_moneyTree.js | 1 + jd_necklace.js | 4 +- jd_nian.js | 4 +- jd_nianCollect.js | 2 + jd_nian_ar.js | 4 +- jd_nian_sign.js | 4 +- jd_pet.js | 1 + jd_petTreasureBox.js | 1 + jd_pigPet.js | 2 +- jd_plantBean.js | 1 + jd_rankingList.js | 2 +- jd_redPacket.js | 3 +- jd_sgmh.js | 2 +- jd_shop.js | 3 +- jd_small_home.js | 5 +- jd_speed.js | 1 + update_list.sh | 5 +- 37 files changed, 102 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 2f43dd5e..060bbcda 100644 --- a/README.md +++ b/README.md @@ -30,61 +30,62 @@ -| 序号 | 名称 | blob文件链接 | raw文件链接 | -| ---- | ------- | ------------ | ----------- | -| 1 | 京豆变动通知 | [jd_bean_change.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_change.js) | [jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js) | -| 2 | 领京豆额外奖励 | [jd_bean_home.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_home.js) | [jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js) | -| 3 | 京豆签到 | [jd_bean_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_sign.js) | [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) | -| 4 | 东东超市兑换奖品 | [jd_blueCoin.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_blueCoin.js) | [jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js) | -| 5 | 口袋书店 | [jd_bookshop.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bookshop.js) | [jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js) | -| 6 | 京东汽车 | [jd_car.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_car.js) | [jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js) | -| 7 | 京东汽车兑换 | [jd_car_exchange.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_car_exchange.js) | [jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js) | -| 8 | 签到领现金 | [jd_cash.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_cash.js) | [jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js) | -| 9 | 摇京豆 | [jd_club_lottery.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_club_lottery.js) | [jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js) | -| 10 | crazyJoy任务 | [jd_crazy_joy.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_crazy_joy.js) | [jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js) | -| 11 | crazyJoy挂机 | [jd_crazy_joy_coin.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_crazy_joy_coin.js) | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js) | -| 12 | 天天提鹅 | [jd_daily_egg.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_daily_egg.js) | [jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js) | -| 13 | 京喜工厂 | [jd_dreamFactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_dreamFactory.js) | [jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js) | -| 14 | 京东家庭号 | [jd_family.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_family.js) | [jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js) | -| 15 | 集鞭炮赢京豆 | [jd_firecrackers.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_firecrackers.js) | [jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js) | -| 16 | 东东农场 | [jd_fruit.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_fruit.js) | [jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js) | -| 17 | 获取互助码 | [jd_get_share_code.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_get_share_code.js) | [jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) | -| 18 | 京东神仙书院 | [jd_immortal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_immortal.js) | [jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js) | -| 19 | 东东工厂 | [jd_jdfactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdfactory.js) | [jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js) | -| 20 | 京东赚赚 | [jd_jdzz.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdzz.js) | [jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js) | -| 21 | 宠汪汪 | [jd_joy.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy.js) | [jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js) | -| 22 | 宠汪汪🐕喂食 | [jd_joy_feedPets.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_feedPets.js) | [jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js) | -| 23 | 宠汪汪强制为别人助力 | [jd_joy_help.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_help.js) | [jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js) | -| 24 | 宠汪汪积分兑换奖品 | [jd_joy_reward.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_reward.js) | [jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js) | -| 25 | 宠汪汪赛跑 | [jd_joy_run.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_run.js) | [jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js) | -| 26 | 宠汪汪偷好友积分与狗粮 | [jd_joy_steal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_steal.js) | [jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js) | -| 27 | 京喜农场 | [jd_jxnc.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jxnc.js) | [jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js) | -| 28 | 京东快递签到 | [jd_kd.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_kd.js) | [jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js) | -| 29 | 京东直播 | [jd_live.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_live.js) | [jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js) | -| 30 | 京东抽奖机 | [jd_lotteryMachine.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_lotteryMachine.js) | [jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js) | -| 31 | 京东摇钱树 | [jd_moneyTree.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_moneyTree.js) | [jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js) | -| 32 | 点点券 | [jd_necklace.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_necklace.js) | [jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js) | -| 33 | 京东年货节 | [jd_nh.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nh.js) | [jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js) | -| 34 | 京东炸年兽🧨 | [jd_nian.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian.js) | [jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js) | -| 35 | 京东炸年兽领爆竹🧨 | [jd_nianCollect.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nianCollect.js) | [jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js) | -| 36 | 京东炸年兽AR | [jd_nian_ar.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_ar.js) | [jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js) | -| 37 | 京东炸年兽签到任务🧨 | [jd_nian_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_sign.js) | [jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js) | -| 38 | 京东炸年兽小程序🧨 | [jd_nian_wechat.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_wechat.js) | [jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js) | -| 39 | 东东萌宠 | [jd_pet.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_pet.js) | [jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js) | -| 40 | 聚宝盆投狗粮辅助 | [jd_petTreasureBox.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_petTreasureBox.js) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js) | -| 41 | 金融养猪 | [jd_pigPet.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_pigPet.js) | [jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js) | -| 42 | 京东种豆得豆 | [jd_plantBean.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_plantBean.js) | [jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js) | -| 43 | 京东排行榜 | [jd_rankingList.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_rankingList.js) | [jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js) | -| 44 | 京东全民开红包 | [jd_redPacket.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_redPacket.js) | [jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js) | -| 45 | 闪购盲盒 | [jd_sgmh.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_sgmh.js) | [jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js) | -| 46 | 进店领豆 | [jd_shop.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_shop.js) | [jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js) | -| 47 | 东东小窝 | [jd_small_home.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_small_home.js) | [jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js) | -| 48 | ✈️天天加速 | [jd_speed.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_speed.js) | [jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js) | -| 49 | 东东超市 | [jd_superMarket.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_superMarket.js) | [jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js) | -| 50 | 十元街 | [jd_syj.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_syj.js) | [jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js) | -| 51 | 注销京东会员卡 | [jd_unbind.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_unbind.js) | [jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js) | -| 52 | 取关京东店铺和商品 | [jd_unsubscribe.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_unsubscribe.js) | [jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js) | -| 53 | 京喜签到 | [jx_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jx_sign.js) | [jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js) | +| 序号 | 名称 | 活动入口 | blob文件链接 | raw文件链接 | +| ---- | ---- | ---- | ---- | ---- | +| 1 | 京豆变动通知 | | [jd_bean_change.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_change.js) | [jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js) | +| 2 | 领京豆额外奖励 | 首页-领京豆 | [jd_bean_home.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_home.js) | [jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js) | +| 3 | 京豆签到 | 各处的签到汇总 | [jd_bean_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_sign.js) | [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) | +| 4 | 东东超市兑换奖品 | 京东APP我的-更多工具-东东超市 | [jd_blueCoin.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_blueCoin.js) | [jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js) | +| 5 | 口袋书店 | 京东app首页-京东图书-右侧口袋书店 | [jd_bookshop.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bookshop.js) | [jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js) | +| 6 | 京东汽车兑换 | 首页👉京东汽车兑换👉屏幕右中部,车主福利 | [jd_car_exchange.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_car_exchange.js) | [jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js) | +| 7 | 京东汽车 | 首页👉京东汽车👉屏幕右中部,车主福利 | [jd_car.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_car.js) | [jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js) | +| 8 | 签到领现金 | 京东APP搜索领现金进入 | [jd_cash.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_cash.js) | [jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js) | +| 9 | 摇京豆 | 京东APP首页-领京豆-摇京豆 | [jd_club_lottery.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_club_lottery.js) | [jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js) | +| 10 | crazyJoy挂机 | 京东APP我的-更多工具-疯狂的JOY | [jd_crazy_joy_coin.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_crazy_joy_coin.js) | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js) | +| 11 | crazyJoy任务 | 京东APP我的-更多工具-疯狂的JOY | [jd_crazy_joy.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_crazy_joy.js) | [jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js) | +| 12 | 天天提鹅 | 京东金融-天天提鹅 | [jd_daily_egg.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_daily_egg.js) | [jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js) | +| 13 | 京喜工厂 | 京东APP-游戏与互动-查看更多-京喜工厂 | [jd_dreamFactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_dreamFactory.js) | [jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js) | +| 14 | 京东家庭号 | 玩一玩-家庭号 | [jd_family.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_family.js) | [jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js) | +| 15 | 集鞭炮赢京豆 | https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html | [jd_firecrackers.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_firecrackers.js) | [jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js) | +| 16 | 东东农场 | 京东APP我的-更多工具-东东农场 | [jd_fruit.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_fruit.js) | [jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js) | +| 17 | 获取互助码 | 我的->游戏与互动->查看更多开启` | [jd_get_share_code.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_get_share_code.js) | [jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) | +| 18 | 京东神仙书院 | +https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 | [jd_immortal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_immortal.js) | [jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js) | +| 19 | 东东工厂 | 京东APP首页-数码电器-东东工厂 | [jd_jdfactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdfactory.js) | [jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js) | +| 20 | 京东赚赚 | 京东赚赚小程序 | [jd_jdzz.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdzz.js) | [jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js) | +| 21 | 宠汪汪🐕喂食 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_feedPets.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_feedPets.js) | [jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js) | +| 22 | 宠汪汪强制为别人助力 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_help.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_help.js) | [jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js) | +| 23 | 宠汪汪 | 京东APP我的-更多工具-宠汪汪 | [jd_joy.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy.js) | [jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js) | +| 24 | 宠汪汪积分兑换奖品 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_reward.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_reward.js) | [jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js) | +| 25 | 宠汪汪赛跑 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_run.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_run.js) | [jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js) | +| 26 | 宠汪汪偷好友积分与狗粮 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_steal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_steal.js) | [jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js) | +| 27 | 京喜农场 | 京喜APP我的-京喜农场 | [jd_jxnc.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jxnc.js) | [jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js) | +| 28 | 京东快递签到 | https://jingcai-h5.jd.com/#/ | [jd_kd.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_kd.js) | [jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js) | +| 29 | 京东直播 | https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/ | [jd_live.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_live.js) | [jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js) | +| 30 | 京东抽奖机 | 京东APP中各种抽奖活动的汇总 | [jd_lotteryMachine.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_lotteryMachine.js) | [jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js) | +| 31 | 京东摇钱树 | 京东APP我的-更多工具-摇钱树 | [jd_moneyTree.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_moneyTree.js) | [jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js) | +| 32 | 点点券 | 京东APP-领券中心/券后9.9-领点点券 | [jd_necklace.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_necklace.js) | [jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js) | +| 33 | 京东年货节 | https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301 | [jd_nh.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nh.js) | [jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js) | +| 34 | 京东炸年兽AR | 京东app首页浮动窗口 | [jd_nian_ar.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_ar.js) | [jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js) | +| 35 | 京东炸年兽领爆竹🧨 | 京东app首页浮动窗口 | [jd_nianCollect.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nianCollect.js) | [jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js) | +| 36 | 京东炸年兽🧨 | 京东app首页浮动窗口 | [jd_nian.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian.js) | [jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js) | +| 37 | 京东炸年兽签到任务🧨 | 京东app左侧浮动窗口 | [jd_nian_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_sign.js) | [jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js) | +| 38 | 京东炸年兽小程序🧨 | | [jd_nian_wechat.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_wechat.js) | [jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js) | +| 39 | 东东萌宠 | 京东APP我的-更多工具-东东萌宠 | [jd_pet.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_pet.js) | [jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js) | +| 40 | 聚宝盆投狗粮辅助 | 京东APP我的-更多工具-宠汪汪 | [jd_petTreasureBox.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_petTreasureBox.js) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js) | +| 41 | 金融养猪 | 京东金融养猪猪 | [jd_pigPet.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_pigPet.js) | [jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js) | +| 42 | 京东种豆得豆 | 京东APP我的-更多工具-种豆得豆 | [jd_plantBean.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_plantBean.js) | [jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js) | +| 43 | 京东排行榜 | 京东APP首页-更多频道-特色频道-排行榜-悬浮按钮今日王牌领京豆 | [jd_rankingList.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_rankingList.js) | [jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js) | +| 44 | 京东全民开红包 | 京东APP-首页-领券-锦鲤红包 | [jd_redPacket.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_redPacket.js) | [jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js) | +| 45 | 闪购盲盒 | 首页-闪购-闪购盲盒 | [jd_sgmh.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_sgmh.js) | [jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js) | +| 46 | 进店领豆 | 京东APP首页-领京豆-进店领豆 | [jd_shop.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_shop.js) | [jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js) | +| 47 | 东东小窝 | 京东APP我的-游戏与更多-东东小窝 | [jd_small_home.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_small_home.js) | [jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js) | +| 48 | ✈️天天加速 | 京东APP我的-更多工具-天天加速 | [jd_speed.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_speed.js) | [jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js) | +| 49 | 东东超市 | 京东APP首页-京东超市-底部东东超市 | [jd_superMarket.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_superMarket.js) | [jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js) | +| 50 | 十元街 | | [jd_syj.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_syj.js) | [jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js) | +| 51 | 注销京东会员卡 | | [jd_unbind.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_unbind.js) | [jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js) | +| 52 | 取关京东店铺和商品 | | [jd_unsubscribe.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_unsubscribe.js) | [jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js) | +| 53 | 京喜签到 | | [jx_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jx_sign.js) | [jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js) | diff --git a/jd_bean_home.js b/jd_bean_home.js index 0dd13931..cffbfa48 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -1,7 +1,7 @@ /* 领京豆额外奖励&抢京豆 脚本自带助力码,介意者可将 29行 helpAuthor 变量设置为 false -入口:首页-领京豆 +活动入口:首页-领京豆 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js diff --git a/jd_bean_sign.js b/jd_bean_sign.js index c8cd63bb..280cd451 100644 --- a/jd_bean_sign.js +++ b/jd_bean_sign.js @@ -3,6 +3,7 @@ */ /* 京豆签到,自用,可N个京东账号 +活动入口:各处的签到汇总 Node.JS专用 IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js 更新时间:2021-1-19 diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 7fedbdcb..4a184753 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -2,6 +2,7 @@ 东东超市兑换奖品 脚本地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js 感谢@yangtingxiao提供PR 更新时间:2020-12-24 +活动入口:京东APP我的-更多工具-东东超市 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============QuantumultX============== diff --git a/jd_car_exchange.js b/jd_car_exchange.js index 00084709..f4eebf69 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -2,8 +2,7 @@ 京东汽车兑换,500赛点兑换500京豆 长期活动 -活动入口 -京东APP:首页👉京东汽车兑换👉屏幕右中部,车主福利 +活动入口:首页👉京东汽车兑换👉屏幕右中部,车主福利 活动网页地址:https://h5.m.jd.com/babelDiy/Zeus/44bjzCpzH9GpspWeBzYSqBA7jEtP/index.html#/journey 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange diff --git a/jd_club_lottery.js b/jd_club_lottery.js index 71cf3d50..b343e936 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -5,7 +5,7 @@ * @Last Modified time: 2020-11-23 12:27:09 */ /* -摇京豆(京东APP首页-领京豆-摇京豆) +活动入口:京东APP首页-领京豆-摇京豆 更新时间:2020-10-12 Modified from https://github.com/Zero-S1/JD_tools/blob/master/JD_vvipclub.py 已支持IOS双京东账号,Node.js支持N个京东账号 diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 687112e0..31b67187 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -3,7 +3,7 @@ crazyJoy任务 每天运行一次即可 - +活动入口:京东APP我的-更多工具-疯狂的JOY 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 8720d218..a2ecaa08 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -1,6 +1,7 @@ /* crazy joy 挂机领金币/宝箱专用 +活动入口:京东APP我的-更多工具-疯狂的JOY ⚠️建议云端使用。手机端不建议使用(会一直跑下去,永不停止) 10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js diff --git a/jd_daily_egg.js b/jd_daily_egg.js index f4000c6d..7b93ce8f 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -6,7 +6,7 @@ */ /* TODO -京东金融-天天提鹅 +活动入口:京东金融-天天提鹅 定时收鹅蛋,兑换金币 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index eb1e1072..c3ccf7c4 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,7 +1,7 @@ /* 京东京喜工厂 更新时间:2021-1-19 -活动入口 :京东APP->游戏与互动->查看更多->京喜工厂 +活动入口:京东APP-游戏与互动-查看更多-京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 diff --git a/jd_fruit.js b/jd_fruit.js index cf7b9840..0164570e 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,6 +1,7 @@ /* 东东水果:脚本更新地址 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js 更新时间:2021-1-9 +活动入口:京东APP我的-更多工具-东东农场 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js diff --git a/jd_jdfactory.js b/jd_jdfactory.js index c5fefd44..840f301f 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -6,6 +6,7 @@ */ /* 东东工厂,不是京喜工厂 +活动入口:京东APP首页-数码电器-东东工厂 免费产生的电量(10秒1个电量,500个电量满,5000秒到上限不生产,算起来是84分钟达到上限) 故建议1小时运行一次 开会员任务和去京东首页点击“数码电器任务目前未做 diff --git a/jd_joy.js b/jd_joy.js index e68fc206..bb765222 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -3,6 +3,7 @@ jd宠汪汪 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f88 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js IOS用户支持京东双账号,NodeJs用户支持N个京东账号 更新时间:2021-1-26 +活动入口:京东APP我的-更多工具-宠汪汪 建议先凌晨0点运行jd_joy.js脚本获取狗粮后,再运行此脚本(jd_joy_steal.js)可偷好友积分,6点运行可偷好友狗粮 feedCount:自定义 每次喂养数量; 等级只和喂养次数有关,与数量无关 推荐每次投喂10个,积累狗粮,然后去玩聚宝盆赌 diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index bd67c524..e088d1b5 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -1,6 +1,7 @@ /* 宠汪汪喂食(如果喂食80g失败,降级一个档次喂食(40g),依次类推),三餐,建议一小时运行一次 更新时间:2020-11-03 +活动入口:京东APP我的-更多工具-宠汪汪 支持京东多个账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ==============Quantumult X============== diff --git a/jd_joy_help.js b/jd_joy_help.js index fe6525f0..56e52f8e 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -2,6 +2,7 @@ 宠汪汪强制为别人助力(助力一个好友你自己可以获得30积分,一天上限是帮助3个好友,自己获得90积分,不管助力是否成功,对方都会成为你的好友) 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js 更新时间:2021-1-21 +活动入口:京东APP我的-更多工具-宠汪汪 目前提供了304位好友的friendPin供使用。脚本随机从里面获取一个,助力成功后,退出小程序重新点击进去开始助力新的好友 欢迎大家使用 https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 (currentPage=1表示第一页好友,=2表示第二页好友) 提供各自账号列表的friendPin给我 diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 1644159a..2473e4d6 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -1,6 +1,7 @@ /* 宠汪汪积分兑换奖品脚本, 目前脚本只兑换京豆,兑换京豆成功,才会发出通知提示,其他情况不通知。 更新时间:2021-1-20 +活动入口:京东APP我的-更多工具-宠汪汪 兑换规则:一个账号一天只能兑换一次京豆。 兑换奖品成功后才会有系统弹窗通知 每日京豆库存会在0:00、8:00、16:00更新,经测试发现中午12:00也会有补发京豆。 diff --git a/jd_joy_run.js b/jd_joy_run.js index 1cd14d38..8c41754f 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -1,7 +1,7 @@ /** 宠汪汪邀请助力与赛跑助力脚本,感谢github@Zero-S1提供帮助 更新时间:2021-1-7(宠汪汪助力更新Token的配置正则表达式已改) - +活动入口:京东APP我的-更多工具-宠汪汪 token时效很短,几个小时就失效了,闲麻烦的放弃就行 每天拿到token后,可一次性运行完毕即可。 互助码friendPin是京东用户名,不是昵称(可在京东APP->我的->设置 查看获得) diff --git a/jd_joy_steal.js b/jd_joy_steal.js index 82da18db..fe968190 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -5,6 +5,7 @@ * @Last Modified time: 2021-1-21 21:22:37 */ /* +活动入口:京东APP我的-更多工具-宠汪汪 最近经常出现给偷好友积分与狗粮失败的情况,故建议cron设置为多次 jd宠汪汪偷好友积分与狗粮,及给好友喂食 偷好友积分上限是20个好友(即获得100积分),帮好友喂食上限是20个好友(即获得200积分),偷好友狗粮上限也是20个好友(最多获得120g狗粮) diff --git a/jd_jxnc.js b/jd_jxnc.js index 8e343e85..431b2b73 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -5,6 +5,7 @@ 京喜农场:脚本更新地址 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js 更新时间:2021-01-10 22:47:51 +活动入口:京喜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 diff --git a/jd_lotteryMachine.js b/jd_lotteryMachine.js index 83f0c3db..7110b661 100644 --- a/jd_lotteryMachine.js +++ b/jd_lotteryMachine.js @@ -1,7 +1,7 @@ /* 京东抽奖机 - +活动入口:京东APP中各种抽奖活动的汇总 自用 author:yangtingxiao github: https://github.com/yangtingxiao diff --git a/jd_moneyTree.js b/jd_moneyTree.js index fe978e7b..874e62b6 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -1,6 +1,7 @@ /* 京东摇钱树 :https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js 更新时间:2020-11-16 +活动入口:京东APP我的-更多工具-摇钱树 京东摇钱树支持京东双账号 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save ===============Quantumultx=============== diff --git a/jd_necklace.js b/jd_necklace.js index 31510529..64f4e054 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -6,8 +6,8 @@ */ /* 点点券,可以兑换无门槛红包(1元,5元,10元,100元,部分红包需抢购) -APP活动入口:“最新版本京东APP >领券中心/券后9.9>领点点券”页面 -网页入口:https://h5.m.jd.com/babelDiy/Zeus/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html +活动入口:京东APP-领券中心/券后9.9-领点点券 +地址:https://h5.m.jd.com/babelDiy/Zeus/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ===============Quantumultx=============== diff --git a/jd_nian.js b/jd_nian.js index eb5fbb94..1d1756a0 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -2,8 +2,8 @@ 京东炸年兽🧨 活动时间:2021-1-18至2021-2-11 暂不加入品牌会员 -活动入口:https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html -活动地址:京东app左侧浮动窗口 +地址 https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html +活动入口:京东app首页浮动窗口 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== diff --git a/jd_nianCollect.js b/jd_nianCollect.js index 45f301f3..8fe6d799 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -1,6 +1,8 @@ /* #炸年兽专门收集爆竹 京东炸年兽领爆竹🧨 +活动入口:京东app首页浮动窗口 +地址:https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html 仅仅是收集一下京东炸年兽领爆竹活动每秒产生的爆竹🧨 每小时的第20分运行一次 ============Quantumultx=============== diff --git a/jd_nian_ar.js b/jd_nian_ar.js index 824f612f..3015da00 100644 --- a/jd_nian_ar.js +++ b/jd_nian_ar.js @@ -1,8 +1,8 @@ /* 京东炸年兽AR 活动时间:2021-1-18至2021-2-11 -活动入口:https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html -活动地址:京东app左侧浮动窗口 +地址:https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html +活动入口:京东app首页浮动窗口 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== diff --git a/jd_nian_sign.js b/jd_nian_sign.js index 37633930..4e702fec 100644 --- a/jd_nian_sign.js +++ b/jd_nian_sign.js @@ -2,8 +2,8 @@ 京东炸年兽签到任务🧨 活动时间:2021-1-18至2021-2-11 暂不加入品牌会员 -活动入口:https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html -活动地址:京东app左侧浮动窗口 +地址:https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html +活动入口:京东app左侧浮动窗口 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== diff --git a/jd_pet.js b/jd_pet.js index 73b7914e..e861f572 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,6 +1,7 @@ /* 东东萌宠 更新地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js 更新时间:2021-01-19 +活动入口:京东APP我的-更多工具-东东萌宠 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js diff --git a/jd_petTreasureBox.js b/jd_petTreasureBox.js index 026bd94f..27fe31ec 100644 --- a/jd_petTreasureBox.js +++ b/jd_petTreasureBox.js @@ -1,5 +1,6 @@ /* 更新时间:2020-11-12 +活动入口:京东APP我的-更多工具-宠汪汪 从github@Zero-S1搬的[https://github.com/Zero-S1/JD_tools/blob/master/jbp.js] 【宠汪汪聚宝盆辅助脚本】 1、进入聚宝盆,显示本轮狗粮池投入总数,方便估算 diff --git a/jd_pigPet.js b/jd_pigPet.js index 7c7ab558..af0a5e8e 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -5,7 +5,7 @@ * @Last Modified time: 2020-11-23 12:27:16 */ /* -京东金融养猪猪 +活动入口:京东金融养猪猪 一键开完所有的宝箱功能。耗时70秒 大转盘抽奖 喂食 diff --git a/jd_plantBean.js b/jd_plantBean.js index 1d128de1..0710c959 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -1,6 +1,7 @@ /* 种豆得豆 脚本更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js 更新时间:2021-1-16 +活动入口:京东APP我的-更多工具-种豆得豆 已支持IOS京东双账号,云端N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 注:会自动关注任务中的店铺跟商品,介意者勿使用。 diff --git a/jd_rankingList.js b/jd_rankingList.js index 235fa991..47b1577e 100644 --- a/jd_rankingList.js +++ b/jd_rankingList.js @@ -1,6 +1,6 @@ /* -京东排行榜 +活动入口:京东APP首页-更多频道-特色频道-排行榜-悬浮按钮今日王牌领京豆 自用 author:yangtingxiao diff --git a/jd_redPacket.js b/jd_redPacket.js index 0b67b540..e0955a91 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -5,7 +5,8 @@ * @Last Modified time: 2020-12-20 12:27:18 */ /* -京东全民开红包(京东app->首页->领券->锦鲤红包) +京东全民开红包 +活动入口:京东APP-首页-领券-锦鲤红包 已完成功能: ①浏览活动 ②关注频道 diff --git a/jd_sgmh.js b/jd_sgmh.js index 9f8aa1dd..639e77a6 100644 --- a/jd_sgmh.js +++ b/jd_sgmh.js @@ -2,7 +2,7 @@ 闪购盲盒 长期活动,一人每天5次助力机会,10次被助机会,被助力一次获得一次抽奖机会,前几次必中京豆 修改自 @yangtingxiao 抽奖机脚本 -入口:首页-闪购-闪购盲盒 +活动入口:首页-闪购-闪购盲盒 网页地址:https://h5.m.jd.com/babelDiy/Zeus/3vzA7uGuWL2QeJ5UeecbbAVKXftQ/index.html 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js 已支持IOS双京东账号, Node.js支持N个京东账号 diff --git a/jd_shop.js b/jd_shop.js index d77cf14e..b84d5924 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -1,5 +1,6 @@ /* -进店领豆(京东APP首页-领京豆-进店领豆),每天可拿四京豆 +进店领豆,每天可拿四京豆 +活动入口:京东APP首页-领京豆-进店领豆 更新时间:2020-11-03 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js diff --git a/jd_small_home.js b/jd_small_home.js index e50a3ef6..4ba32f01 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -12,9 +12,8 @@ 注:目前使用此脚本会给脚本内置的两个码进行助力,请知晓 -APP活动入口: -京东APP首页 ->搜索 玩一玩 -> DIY理想家 -或 京东APP -> 我的-> 游戏与更多 - > 东东小窝 +活动入口:京东APP我的-游戏与更多-东东小窝 +或 京东APP首页-搜索 玩一玩-DIY理想家 微信小程序入口: 来客有礼 - > 首页 -> 东东小窝 网页入口(注:进入后不能再此刷新,否则会有问题,需重新输入此链接进入) diff --git a/jd_speed.js b/jd_speed.js index 50031563..2aeb71e6 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -1,6 +1,7 @@ /* 京东天天加速链接:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js 更新时间:2020-12-25 +活动入口:京东APP我的-更多工具-天天加速 支持京东双账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 每天4京豆,再小的苍蝇也是肉 diff --git a/update_list.sh b/update_list.sh index d56877cd..b4be3146 100644 --- a/update_list.sh +++ b/update_list.sh @@ -10,7 +10,7 @@ JsList=($(cd $WorkDir; ls *.js | grep -E "j[drx]_")) FileReadme=$WorkDir/README.md UrlBlob=https://github.com/LXK9301/jd_scripts/blob/master/ UrlRaw=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/ -SheetHead="| 序号 | 名称 | blob文件链接 | raw文件链接 |\n| ---- | ------- | ------------ | ----------- |" +SheetHead="| 序号 | 名称 | 活动入口 | blob文件链接 | raw文件链接 |\n| ---- | ---- | ---- | ---- | ---- |" ## 删除标记行的内容 StartLine=$(($(grep -n "标记开始" "$FileReadme" | awk -F ":" '{print $1}') + 1)) @@ -23,8 +23,9 @@ cd $WorkDir Sheet=$SheetHead for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') + Entry=$(grep -E "活动入口|活动地址" ${JsList[i]} | awk -F ":" '{print $2}') Blob="$UrlBlob${JsList[i]}" Raw="$UrlRaw${JsList[i]}" - Sheet="$Sheet\n| $(($i + 1)) | $Name | [${JsList[i]}]($Blob) | [${JsList[i]}]($Raw) |" + Sheet="$Sheet\n| $(($i + 1)) | $Name | $Entry | [${JsList[i]}]($Blob) | [${JsList[i]}]($Raw) |" done echo -e "$Sheet\n$Tail" >> $FileReadme \ No newline at end of file From 842645cfc8287257e094dcda537827605732a2ad Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 10:52:35 +0800 Subject: [PATCH 1058/1259] Fix --- README.md | 3 +-- jd_immortal.js | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 060bbcda..fbaf2203 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,7 @@ | 15 | 集鞭炮赢京豆 | https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html | [jd_firecrackers.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_firecrackers.js) | [jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js) | | 16 | 东东农场 | 京东APP我的-更多工具-东东农场 | [jd_fruit.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_fruit.js) | [jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js) | | 17 | 获取互助码 | 我的->游戏与互动->查看更多开启` | [jd_get_share_code.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_get_share_code.js) | [jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) | -| 18 | 京东神仙书院 | -https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 | [jd_immortal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_immortal.js) | [jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js) | +| 18 | 京东神仙书院 | 京东app-我的-神仙书院 | [jd_immortal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_immortal.js) | [jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js) | | 19 | 东东工厂 | 京东APP首页-数码电器-东东工厂 | [jd_jdfactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdfactory.js) | [jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js) | | 20 | 京东赚赚 | 京东赚赚小程序 | [jd_jdzz.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdzz.js) | [jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js) | | 21 | 宠汪汪🐕喂食 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_feedPets.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_feedPets.js) | [jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js) | diff --git a/jd_immortal.js b/jd_immortal.js index da6ec925..2d83903b 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -5,8 +5,8 @@ 环境变量: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 +活动入口:京东app-我的-神仙书院 +地址:https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== From 26211b392c5724a64e21828f5f5f737bd550e901 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 11:07:40 +0800 Subject: [PATCH 1059/1259] update --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index fbaf2203..395de9df 100644 --- a/README.md +++ b/README.md @@ -91,9 +91,9 @@ #### 搬运脚本 -1. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)) +1. 【 [@yangtingxiao](https://github.com/yangtingxiao) 】 京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)) -2. 【[@yangtingxiao](https://github.com/yangtingxiao)】京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)) +2. 【 [@yangtingxiao](https://github.com/yangtingxiao) 】 京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)) **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** @@ -137,19 +137,19 @@ ### 4. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) -##### 获取京东cookie +##### BoxJs订阅地址:[lxk0301.boxjs.json](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/lxk0301.boxjs.json) -- [京东cookie获取脚本 JD_extra_cookie.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js) +##### 获取京东cookie [JD_extra_cookie.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js) ##### 订阅链接: -- Surge:Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule +- Surge:Task&Cookies脚本模块地址: [lxk0301_Task.sgmodule.sgmodule](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule) -- Loon:Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf +- Loon:Task&Cookies脚本订阅链接: [lxk0301_LoonTask.conf](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) -- QuantumultX Task脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_gallery.json +- QuantumultX Task脚本订阅链接: [lxk0301_gallery.json](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_gallery.json) -- QuantumultX cookie脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_cookies.conf +- QuantumultX cookie脚本订阅链接: [lxk0301_cookies.conf](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_cookies.conf) ## 赞赏码(开发维护不易,请赏杯茶水费) From 289c5d7fc6ad6acd4a80996241ea1eee6336d6b0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 11:14:36 +0800 Subject: [PATCH 1060/1259] =?UTF-8?q?jd=5Fsyj.js=E6=94=B9=E5=90=8D?= =?UTF-8?q?=E4=B8=BA=E8=B5=9A=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_syj.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/jd_syj.js b/jd_syj.js index 86ab7e00..68a65524 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -5,27 +5,28 @@ * @Last Modified time: 2021-1-1 16:58:02 */ /* -十元街脚本,一周签到下来可获得30京豆,一天任意时刻运行一次即可 +赚京豆脚本,一周签到下来可获得30京豆,一天任意时刻运行一次即可 +活动入口:赚京豆(微信小程序)-赚京豆-签到领京豆 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js 参考github@jidesheng6修改而来 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] -#十元街 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true +#赚京豆 +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆 ===============Surge================= -十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js +赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js ============小火箭========= -十元街 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, cronexpr="10 7 * * *", timeout=3600, enable=true +赚京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ -const $ = new Env('十元街'); +const $ = new Env('赚京豆'); const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; From 3dd7279ec39e50c34db5a1487856aa8949a2eb38 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 11:15:12 +0800 Subject: [PATCH 1061/1259] =?UTF-8?q?=E5=88=A0=E9=99=A4blob=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 110 ++++++++++++++++++++++++------------------------- update_list.sh | 5 +-- 2 files changed, 57 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index fbaf2203..26d8c40e 100644 --- a/README.md +++ b/README.md @@ -30,61 +30,61 @@ -| 序号 | 名称 | 活动入口 | blob文件链接 | raw文件链接 | -| ---- | ---- | ---- | ---- | ---- | -| 1 | 京豆变动通知 | | [jd_bean_change.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_change.js) | [jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js) | -| 2 | 领京豆额外奖励 | 首页-领京豆 | [jd_bean_home.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_home.js) | [jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js) | -| 3 | 京豆签到 | 各处的签到汇总 | [jd_bean_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bean_sign.js) | [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) | -| 4 | 东东超市兑换奖品 | 京东APP我的-更多工具-东东超市 | [jd_blueCoin.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_blueCoin.js) | [jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js) | -| 5 | 口袋书店 | 京东app首页-京东图书-右侧口袋书店 | [jd_bookshop.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_bookshop.js) | [jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js) | -| 6 | 京东汽车兑换 | 首页👉京东汽车兑换👉屏幕右中部,车主福利 | [jd_car_exchange.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_car_exchange.js) | [jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js) | -| 7 | 京东汽车 | 首页👉京东汽车👉屏幕右中部,车主福利 | [jd_car.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_car.js) | [jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js) | -| 8 | 签到领现金 | 京东APP搜索领现金进入 | [jd_cash.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_cash.js) | [jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js) | -| 9 | 摇京豆 | 京东APP首页-领京豆-摇京豆 | [jd_club_lottery.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_club_lottery.js) | [jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js) | -| 10 | crazyJoy挂机 | 京东APP我的-更多工具-疯狂的JOY | [jd_crazy_joy_coin.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_crazy_joy_coin.js) | [jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js) | -| 11 | crazyJoy任务 | 京东APP我的-更多工具-疯狂的JOY | [jd_crazy_joy.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_crazy_joy.js) | [jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js) | -| 12 | 天天提鹅 | 京东金融-天天提鹅 | [jd_daily_egg.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_daily_egg.js) | [jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js) | -| 13 | 京喜工厂 | 京东APP-游戏与互动-查看更多-京喜工厂 | [jd_dreamFactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_dreamFactory.js) | [jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js) | -| 14 | 京东家庭号 | 玩一玩-家庭号 | [jd_family.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_family.js) | [jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js) | -| 15 | 集鞭炮赢京豆 | https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html | [jd_firecrackers.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_firecrackers.js) | [jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js) | -| 16 | 东东农场 | 京东APP我的-更多工具-东东农场 | [jd_fruit.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_fruit.js) | [jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js) | -| 17 | 获取互助码 | 我的->游戏与互动->查看更多开启` | [jd_get_share_code.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_get_share_code.js) | [jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) | -| 18 | 京东神仙书院 | 京东app-我的-神仙书院 | [jd_immortal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_immortal.js) | [jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js) | -| 19 | 东东工厂 | 京东APP首页-数码电器-东东工厂 | [jd_jdfactory.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdfactory.js) | [jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js) | -| 20 | 京东赚赚 | 京东赚赚小程序 | [jd_jdzz.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jdzz.js) | [jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js) | -| 21 | 宠汪汪🐕喂食 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_feedPets.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_feedPets.js) | [jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js) | -| 22 | 宠汪汪强制为别人助力 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_help.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_help.js) | [jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js) | -| 23 | 宠汪汪 | 京东APP我的-更多工具-宠汪汪 | [jd_joy.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy.js) | [jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js) | -| 24 | 宠汪汪积分兑换奖品 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_reward.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_reward.js) | [jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js) | -| 25 | 宠汪汪赛跑 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_run.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_run.js) | [jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js) | -| 26 | 宠汪汪偷好友积分与狗粮 | 京东APP我的-更多工具-宠汪汪 | [jd_joy_steal.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_joy_steal.js) | [jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js) | -| 27 | 京喜农场 | 京喜APP我的-京喜农场 | [jd_jxnc.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_jxnc.js) | [jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js) | -| 28 | 京东快递签到 | https://jingcai-h5.jd.com/#/ | [jd_kd.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_kd.js) | [jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js) | -| 29 | 京东直播 | https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/ | [jd_live.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_live.js) | [jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js) | -| 30 | 京东抽奖机 | 京东APP中各种抽奖活动的汇总 | [jd_lotteryMachine.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_lotteryMachine.js) | [jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js) | -| 31 | 京东摇钱树 | 京东APP我的-更多工具-摇钱树 | [jd_moneyTree.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_moneyTree.js) | [jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js) | -| 32 | 点点券 | 京东APP-领券中心/券后9.9-领点点券 | [jd_necklace.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_necklace.js) | [jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js) | -| 33 | 京东年货节 | https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301 | [jd_nh.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nh.js) | [jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js) | -| 34 | 京东炸年兽AR | 京东app首页浮动窗口 | [jd_nian_ar.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_ar.js) | [jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js) | -| 35 | 京东炸年兽领爆竹🧨 | 京东app首页浮动窗口 | [jd_nianCollect.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nianCollect.js) | [jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js) | -| 36 | 京东炸年兽🧨 | 京东app首页浮动窗口 | [jd_nian.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian.js) | [jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js) | -| 37 | 京东炸年兽签到任务🧨 | 京东app左侧浮动窗口 | [jd_nian_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_sign.js) | [jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js) | -| 38 | 京东炸年兽小程序🧨 | | [jd_nian_wechat.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_nian_wechat.js) | [jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js) | -| 39 | 东东萌宠 | 京东APP我的-更多工具-东东萌宠 | [jd_pet.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_pet.js) | [jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js) | -| 40 | 聚宝盆投狗粮辅助 | 京东APP我的-更多工具-宠汪汪 | [jd_petTreasureBox.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_petTreasureBox.js) | [jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js) | -| 41 | 金融养猪 | 京东金融养猪猪 | [jd_pigPet.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_pigPet.js) | [jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js) | -| 42 | 京东种豆得豆 | 京东APP我的-更多工具-种豆得豆 | [jd_plantBean.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_plantBean.js) | [jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js) | -| 43 | 京东排行榜 | 京东APP首页-更多频道-特色频道-排行榜-悬浮按钮今日王牌领京豆 | [jd_rankingList.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_rankingList.js) | [jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js) | -| 44 | 京东全民开红包 | 京东APP-首页-领券-锦鲤红包 | [jd_redPacket.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_redPacket.js) | [jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js) | -| 45 | 闪购盲盒 | 首页-闪购-闪购盲盒 | [jd_sgmh.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_sgmh.js) | [jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js) | -| 46 | 进店领豆 | 京东APP首页-领京豆-进店领豆 | [jd_shop.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_shop.js) | [jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js) | -| 47 | 东东小窝 | 京东APP我的-游戏与更多-东东小窝 | [jd_small_home.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_small_home.js) | [jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js) | -| 48 | ✈️天天加速 | 京东APP我的-更多工具-天天加速 | [jd_speed.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_speed.js) | [jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js) | -| 49 | 东东超市 | 京东APP首页-京东超市-底部东东超市 | [jd_superMarket.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_superMarket.js) | [jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js) | -| 50 | 十元街 | | [jd_syj.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_syj.js) | [jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js) | -| 51 | 注销京东会员卡 | | [jd_unbind.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_unbind.js) | [jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js) | -| 52 | 取关京东店铺和商品 | | [jd_unsubscribe.js](https://github.com/LXK9301/jd_scripts/blob/master/jd_unsubscribe.js) | [jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js) | -| 53 | 京喜签到 | | [jx_sign.js](https://github.com/LXK9301/jd_scripts/blob/master/jx_sign.js) | [jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js) | +| 序号 | 名称 | 活动入口 | 文件链接 | +| :-: | - | - | - | +|1|京豆变动通知||[jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js)| +|2|领京豆额外奖励|首页-领京豆|[jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js)| +|3|京豆签到|各处的签到汇总|[jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js)| +|4|东东超市兑换奖品|京东APP我的-更多工具-东东超市|[jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js)| +|5|口袋书店|京东app首页-京东图书-右侧口袋书店|[jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js)| +|6|京东汽车兑换|首页👉京东汽车兑换👉屏幕右中部,车主福利|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)| +|7|京东汽车|首页👉京东汽车👉屏幕右中部,车主福利|[jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js)| +|8|签到领现金|京东APP搜索领现金进入|[jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js)| +|9|摇京豆|京东APP首页-领京豆-摇京豆|[jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js)| +|10|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY|[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)| +|11|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY|[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)| +|12|天天提鹅|京东金融-天天提鹅|[jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js)| +|13|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂|[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)| +|14|京东家庭号|玩一玩-家庭号|[jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js)| +|15|集鞭炮赢京豆|https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html|[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)| +|16|东东农场|京东APP我的-更多工具-东东农场|[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)| +|17|获取互助码|我的->游戏与互动->查看更多开启`|[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)| +|18|京东神仙书院|京东app-我的-神仙书院|[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)| +|19|东东工厂|京东APP首页-数码电器-东东工厂|[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)| +|20|京东赚赚|京东赚赚小程序|[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)| +|21|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪|[jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js)| +|22|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪|[jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js)| +|23|宠汪汪|京东APP我的-更多工具-宠汪汪|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)| +|24|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪|[jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js)| +|25|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪|[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)| +|26|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪|[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)| +|27|京喜农场|京喜APP我的-京喜农场|[jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js)| +|28|京东快递签到|https://jingcai-h5.jd.com/#/|[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)| +|29|京东直播|https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/|[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)| +|30|京东抽奖机|京东APP中各种抽奖活动的汇总|[jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)| +|31|京东摇钱树|京东APP我的-更多工具-摇钱树|[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)| +|32|点点券|京东APP-领券中心/券后9.9-领点点券|[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)| +|33|京东年货节|https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301|[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)| +|34|京东炸年兽AR|京东app首页浮动窗口|[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)| +|35|京东炸年兽领爆竹🧨|京东app首页浮动窗口|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)| +|36|京东炸年兽🧨|京东app首页浮动窗口|[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)| +|37|京东炸年兽签到任务🧨|京东app左侧浮动窗口|[jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js)| +|38|京东炸年兽小程序🧨||[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)| +|39|东东萌宠|京东APP我的-更多工具-东东萌宠|[jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js)| +|40|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪|[jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js)| +|41|金融养猪|京东金融养猪猪|[jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js)| +|42|京东种豆得豆|京东APP我的-更多工具-种豆得豆|[jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js)| +|43|京东排行榜|京东APP首页-更多频道-特色频道-排行榜-悬浮按钮今日王牌领京豆|[jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)| +|44|京东全民开红包|京东APP-首页-领券-锦鲤红包|[jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js)| +|45|闪购盲盒|首页-闪购-闪购盲盒|[jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js)| +|46|进店领豆|京东APP首页-领京豆-进店领豆|[jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js)| +|47|东东小窝|京东APP我的-游戏与更多-东东小窝|[jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js)| +|48|✈️天天加速|京东APP我的-更多工具-天天加速|[jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js)| +|49|东东超市|京东APP首页-京东超市-底部东东超市|[jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js)| +|50|十元街||[jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js)| +|51|注销京东会员卡||[jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js)| +|52|取关京东店铺和商品||[jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js)| +|53|京喜签到||[jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js)| diff --git a/update_list.sh b/update_list.sh index b4be3146..2318c935 100644 --- a/update_list.sh +++ b/update_list.sh @@ -10,7 +10,7 @@ JsList=($(cd $WorkDir; ls *.js | grep -E "j[drx]_")) FileReadme=$WorkDir/README.md UrlBlob=https://github.com/LXK9301/jd_scripts/blob/master/ UrlRaw=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/ -SheetHead="| 序号 | 名称 | 活动入口 | blob文件链接 | raw文件链接 |\n| ---- | ---- | ---- | ---- | ---- |" +SheetHead="| 序号 | 名称 | 活动入口 | 文件链接 |\n| :-: | - | - | - |" ## 删除标记行的内容 StartLine=$(($(grep -n "标记开始" "$FileReadme" | awk -F ":" '{print $1}') + 1)) @@ -24,8 +24,7 @@ Sheet=$SheetHead for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') Entry=$(grep -E "活动入口|活动地址" ${JsList[i]} | awk -F ":" '{print $2}') - Blob="$UrlBlob${JsList[i]}" Raw="$UrlRaw${JsList[i]}" - Sheet="$Sheet\n| $(($i + 1)) | $Name | $Entry | [${JsList[i]}]($Blob) | [${JsList[i]}]($Raw) |" + Sheet="$Sheet\n|$(($i + 1))|$Name|$Entry|[${JsList[i]}]($Raw)|" done echo -e "$Sheet\n$Tail" >> $FileReadme \ No newline at end of file From 2036969681317ca96d5488579434f466d4a29e28 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 11:25:52 +0800 Subject: [PATCH 1062/1259] =?UTF-8?q?=E6=8A=8Areadme=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E4=B8=AD=E5=BA=8F=E5=8F=B7=E4=B9=9F=E5=88=A0?= =?UTF-8?q?=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 110 ++++++++++++++++++++++++------------------------- update_list.sh | 4 +- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 26d8c40e..3c6b7828 100644 --- a/README.md +++ b/README.md @@ -30,61 +30,61 @@ -| 序号 | 名称 | 活动入口 | 文件链接 | -| :-: | - | - | - | -|1|京豆变动通知||[jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js)| -|2|领京豆额外奖励|首页-领京豆|[jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js)| -|3|京豆签到|各处的签到汇总|[jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js)| -|4|东东超市兑换奖品|京东APP我的-更多工具-东东超市|[jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js)| -|5|口袋书店|京东app首页-京东图书-右侧口袋书店|[jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js)| -|6|京东汽车兑换|首页👉京东汽车兑换👉屏幕右中部,车主福利|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)| -|7|京东汽车|首页👉京东汽车👉屏幕右中部,车主福利|[jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js)| -|8|签到领现金|京东APP搜索领现金进入|[jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js)| -|9|摇京豆|京东APP首页-领京豆-摇京豆|[jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js)| -|10|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY|[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)| -|11|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY|[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)| -|12|天天提鹅|京东金融-天天提鹅|[jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js)| -|13|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂|[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)| -|14|京东家庭号|玩一玩-家庭号|[jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js)| -|15|集鞭炮赢京豆|https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html|[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)| -|16|东东农场|京东APP我的-更多工具-东东农场|[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)| -|17|获取互助码|我的->游戏与互动->查看更多开启`|[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)| -|18|京东神仙书院|京东app-我的-神仙书院|[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)| -|19|东东工厂|京东APP首页-数码电器-东东工厂|[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)| -|20|京东赚赚|京东赚赚小程序|[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)| -|21|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪|[jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js)| -|22|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪|[jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js)| -|23|宠汪汪|京东APP我的-更多工具-宠汪汪|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)| -|24|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪|[jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js)| -|25|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪|[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)| -|26|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪|[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)| -|27|京喜农场|京喜APP我的-京喜农场|[jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js)| -|28|京东快递签到|https://jingcai-h5.jd.com/#/|[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)| -|29|京东直播|https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/|[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)| -|30|京东抽奖机|京东APP中各种抽奖活动的汇总|[jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)| -|31|京东摇钱树|京东APP我的-更多工具-摇钱树|[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)| -|32|点点券|京东APP-领券中心/券后9.9-领点点券|[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)| -|33|京东年货节|https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301|[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)| -|34|京东炸年兽AR|京东app首页浮动窗口|[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)| -|35|京东炸年兽领爆竹🧨|京东app首页浮动窗口|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)| -|36|京东炸年兽🧨|京东app首页浮动窗口|[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)| -|37|京东炸年兽签到任务🧨|京东app左侧浮动窗口|[jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js)| -|38|京东炸年兽小程序🧨||[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)| -|39|东东萌宠|京东APP我的-更多工具-东东萌宠|[jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js)| -|40|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪|[jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js)| -|41|金融养猪|京东金融养猪猪|[jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js)| -|42|京东种豆得豆|京东APP我的-更多工具-种豆得豆|[jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js)| -|43|京东排行榜|京东APP首页-更多频道-特色频道-排行榜-悬浮按钮今日王牌领京豆|[jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)| -|44|京东全民开红包|京东APP-首页-领券-锦鲤红包|[jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js)| -|45|闪购盲盒|首页-闪购-闪购盲盒|[jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js)| -|46|进店领豆|京东APP首页-领京豆-进店领豆|[jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js)| -|47|东东小窝|京东APP我的-游戏与更多-东东小窝|[jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js)| -|48|✈️天天加速|京东APP我的-更多工具-天天加速|[jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js)| -|49|东东超市|京东APP首页-京东超市-底部东东超市|[jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js)| -|50|十元街||[jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js)| -|51|注销京东会员卡||[jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js)| -|52|取关京东店铺和商品||[jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js)| -|53|京喜签到||[jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js)| +| 文件 | 名称 | 活动入口 | +| - | - | - | +|[jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js)|京豆变动通知|| +|[jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js)|领京豆额外奖励|首页-领京豆| +|[jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| +|[jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| +|[jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| +|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|首页👉京东汽车兑换👉屏幕右中部,车主福利| +|[jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js)|京东汽车|首页👉京东汽车👉屏幕右中部,车主福利| +|[jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| +|[jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| +|[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|[jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|[jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)|集鞭炮赢京豆|https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html| +|[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)|京东神仙书院|京东app-我的-神仙书院| +|[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|[jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|[jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|[jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|[jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)|京东快递签到|https://jingcai-h5.jd.com/#/| +|[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)|京东直播|https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/| +|[jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)|京东年货节|https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301| +|[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|[jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|| +|[jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|[jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| +|[jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|[jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|[jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-特色频道-排行榜-悬浮按钮今日王牌领京豆| +|[jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js)|京东全民开红包|京东APP-首页-领券-锦鲤红包| +|[jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js)|闪购盲盒|首页-闪购-闪购盲盒| +|[jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|[jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|[jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|[jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|[jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js)|十元街|| +|[jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js)|注销京东会员卡|| +|[jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|[jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js)|京喜签到|| diff --git a/update_list.sh b/update_list.sh index 2318c935..4f32b5b4 100644 --- a/update_list.sh +++ b/update_list.sh @@ -10,7 +10,7 @@ JsList=($(cd $WorkDir; ls *.js | grep -E "j[drx]_")) FileReadme=$WorkDir/README.md UrlBlob=https://github.com/LXK9301/jd_scripts/blob/master/ UrlRaw=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/ -SheetHead="| 序号 | 名称 | 活动入口 | 文件链接 |\n| :-: | - | - | - |" +SheetHead="| 文件 | 名称 | 活动入口 |\n| - | - | - |" ## 删除标记行的内容 StartLine=$(($(grep -n "标记开始" "$FileReadme" | awk -F ":" '{print $1}') + 1)) @@ -25,6 +25,6 @@ for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') Entry=$(grep -E "活动入口|活动地址" ${JsList[i]} | awk -F ":" '{print $2}') Raw="$UrlRaw${JsList[i]}" - Sheet="$Sheet\n|$(($i + 1))|$Name|$Entry|[${JsList[i]}]($Raw)|" + Sheet="$Sheet\n|[${JsList[i]}]($Raw)|$Name|$Entry|" done echo -e "$Sheet\n$Tail" >> $FileReadme \ No newline at end of file From 0b64ff3389f7fd1c80873bc005d3f78067bc7dfa Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 11:37:19 +0800 Subject: [PATCH 1063/1259] update --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5cc8b4dc..07932586 100644 --- a/README.md +++ b/README.md @@ -35,14 +35,15 @@ |[jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js)|京豆变动通知|| |[jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js)|领京豆额外奖励|首页-领京豆| |[jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| +|[jd_beauty.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_beauty.js)|美丽研究院|京东app首页-美妆馆-底部中间按钮| |[jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |[jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|首页👉京东汽车兑换👉屏幕右中部,车主福利| |[jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js)|京东汽车|首页👉京东汽车👉屏幕右中部,车主福利| +|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|首页👉京东汽车兑换👉屏幕右中部,车主福利| |[jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |[jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| |[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| |[jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| |[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| |[jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js)|京东家庭号|玩一玩-家庭号| @@ -52,9 +53,9 @@ |[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)|京东神仙书院|京东app-我的-神仙书院| |[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |[jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| |[jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |[jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| |[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| @@ -65,11 +66,11 @@ |[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| |[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| |[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)|京东年货节|https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301| -|[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| |[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| |[jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| |[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|| +|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| |[jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| |[jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| |[jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| @@ -81,7 +82,7 @@ |[jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| |[jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| |[jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|[jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js)|十元街|| +|[jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| |[jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js)|注销京东会员卡|| |[jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js)|取关京东店铺和商品|| |[jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js)|京喜签到|| From 32272764747f8eaf16a80f760aa8b35ea3898f26 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 12:28:25 +0800 Subject: [PATCH 1064/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2=E7=AD=94=E9=A2=98=20=E6=A0=B9=E6=8D=AEbing?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C=E7=AD=94=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E5=B8=B8=E8=AF=86=E9=A2=98=E5=8F=AF=E5=AF=B9=EF=BC=8C=E5=95=86?= =?UTF-8?q?=E5=93=81=E9=A2=98=E4=B8=8D=E8=83=BD=E4=BF=9D=E8=AF=81=E8=83=9C?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal_answer.js | 396 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 396 insertions(+) create mode 100644 jd_immortal_answer.js diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js new file mode 100644 index 00000000..7f70eb6b --- /dev/null +++ b/jd_immortal_answer.js @@ -0,0 +1,396 @@ +/* +京东神仙书院答题 +根据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 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true + +================Loon============== +[Script] +cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js,tag=京东神仙书院答题 + +===============Surge================= +京东神仙书院答题 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js + +============小火箭========= +京东神仙书院答题 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js, cronexpr="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') : ''; +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 { + 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); +} +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 jdImmortalAnswer() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdImmortalAnswer() { + try { + $.risk = false + $.earn = 0 + await getHomeData() + if ($.risk) return + 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 + console.log(`去查询第${++i}题:【${vo.questionStem}】`) + let ans = -1, option = null + 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) + questionList.push($.question) + if (i < data.result.questionList.length) + 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 { + 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 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 => { + $.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From 2be64fae4677a1d38977e0348d9f54abfcc55366 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 12:49:21 +0800 Subject: [PATCH 1065/1259] update --- docker/crontab_list.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index f1476648..5157ccc2 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -21,6 +21,9 @@ #京东神仙书院(活动时间:2021-1-20至2021-2-5) 30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 +#京东神仙书院答题(活动时间:2021-1-20至2021-2-5) +5 */2 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 + ##############长期活动############## # 签到 0 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1 From a3889067ea340bfa8f31a14c678a4aad31de8b4f Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 27 Jan 2021 12:53:26 +0800 Subject: [PATCH 1066/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2?= =?UTF-8?q?=E7=AD=94=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增京东神仙书院答题 --- serverless.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverless.yml b/serverless.yml index 989aedb8..b75c4027 100644 --- a/serverless.yml +++ b/serverless.yml @@ -64,12 +64,12 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #闪购盲盒 #京东年货节 #京东神仙书院 + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #闪购盲盒 #京东年货节 #京东神仙书院 #京东神仙书院答题 parameters: name: beanchange_crazyjoy_rankingList_beanhome_sgmh_nh_immortal cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal@jd_immortal_answer - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR #京东炸年兽小程序 parameters: name: pigPet_syj_kd_jdzz_cash_sign_niansign_nianar_nianwechat From 3afa52a3b41ba319a263b11aa6bd97a3e558ecda Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 13:16:29 +0800 Subject: [PATCH 1067/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A2=98=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal_answer.js | 75 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 59 insertions(+), 16 deletions(-) diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index 7f70eb6b..7edb2b93 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -50,6 +50,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } + await requireTk() for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -150,33 +151,56 @@ function getQuestions() { let i = 0, questionList = [] for (let vo of data.result.questionList) { $.question = vo + let option = null, hasFound = false + console.log(`去查询第${++i}题:【${vo.questionStem}】`) - let ans = -1, option = null - 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 + 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 } - await $.wait(2 * 1000) } + if (!option) { - option = vo.options[1] - console.log(`未找到答案,都选B【${option.optionDesc}】\n`) - } else { - console.log(`选择搜索返回结果最多的一项【${option.optionDesc}】\n`) + 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) - questionList.push($.question) - if (i < data.result.questionList.length) - await $.wait(5 * 1000) + 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 @@ -369,6 +393,25 @@ function TotalBean() { }) } +function requireTk() { + return new Promise(resolve => { + $.get({ + url: `http://qn6l5d6wm.hn-bkt.clouddn.com/question.json?t=${new Date().getTime()}`, + headers: { + '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 { + $.tk = JSON.parse(data).RECORDS + } catch (e) { + console.log(e) + } finally { + resolve() + } + }) + }) +} + function safeGet(data) { try { if (typeof JSON.parse(data) == "object") { From 4a06af0d517aa99bfd7849397339574f8009e8ad Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 18:09:59 +0800 Subject: [PATCH 1068/1259] =?UTF-8?q?=E4=BA=AC=E5=96=9C=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E9=83=A8=E5=88=86=E6=B7=BB=E5=8A=A0=E9=AA=8C=E8=AF=81(?= =?UTF-8?q?=E9=83=A8=E5=88=86=E6=B2=A1=E6=8F=90=E4=BE=9Bstk=E7=9A=84api?= =?UTF-8?q?=E7=9B=AE=E5=89=8D=E5=9B=BA=E5=AE=9A)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 59 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 12 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index c3ccf7c4..25f9ead8 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,6 +1,6 @@ /* 京东京喜工厂 -更新时间:2021-1-19 +更新时间:2021-1-27 活动入口:京东APP-游戏与互动-查看更多-京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 @@ -58,6 +58,7 @@ if ($.isNode()) { cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); } !(async () => { + $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; 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"}); @@ -337,7 +338,7 @@ function QueryHireReward() { function hireAward(date, type = 0) { return new Promise(async resolve => { // const url = `/dreamfactory/friend/HireAward?zone=dream_factory&date=${new Date().Format("yyyyMMdd")}&type=0&sceneval=2&g_login_type=1` - $.get(taskurl('friend/HireAward', `date=${date}&type=${type}&_stk=_time,date,type,zone`), async (err, resp, data) => { + $.get(taskurl('friend/HireAward', `date=${date}&type=${type}`, '_time,date,type,zone'), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -532,7 +533,7 @@ function doTask(taskId) { // 初始化个人信息 function userInfo() { return new Promise(async resolve => { - $.get(taskurl('userinfo/GetUserInfo', `pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=`), async (err, resp, data) => { + $.get(taskurl('userinfo/GetUserInfo', `pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=`, '_time,materialTuanId,materialTuanPin,pin,sharePin,shareType,source,zone'), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -927,7 +928,7 @@ async function tuanActivity() { function QueryActiveConfig() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryActiveConfig?activeId=${escape(tuanActiveId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryActiveConfig?activeId=${escape(tuanActiveId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&_ste=1&h5st=${decrypt(Date.now())}`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -967,7 +968,7 @@ function QueryActiveConfig() { function QueryTuan(activeId, tuanId) { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryTuan?activeId=${escape(activeId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryTuan?activeId=${escape(activeId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&_ste=1&h5st=${decrypt(Date.now(), '_time,activeId,tuanId')}&_stk=_time,activeId,tuanId`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -1006,7 +1007,7 @@ function QueryTuan(activeId, tuanId) { function CreateTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape(tuanActiveId)}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&_stk=_time,activeId,isOpenApp`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId=${escape(tuanActiveId)}&isOpenApp=1&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&_stk=_time,activeId,isOpenApp&_ste=1&h5st=${decrypt(Date.now(), '_time,activeId,isOpenApp')}`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -1061,7 +1062,7 @@ async function joinLeaderTuan() { function JoinTuan(tuanId) { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape(tuanActiveId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId=${escape(tuanActiveId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&_ste=1&h5st=${decrypt(Date.now())}`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -1100,7 +1101,7 @@ function JoinTuan(tuanId) { function QueryAllTuan() { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryAllTuan?activeId=${escape(tuanActiveId)}&pageNo=1&pageSize=10&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/QueryAllTuan?activeId=${escape(tuanActiveId)}&pageNo=1&pageSize=10&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&_ste=1&h5st=${decrypt(Date.now())}`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -1157,7 +1158,7 @@ function QueryAllTuan() { function tuanAward(activeId, tuanId, isTuanLeader = true) { return new Promise((resolve) => { const options = { - 'url': `https://m.jingxi.com/dreamfactory/tuan/Award?activeId=${escape(activeId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, + 'url': `https://m.jingxi.com/dreamfactory/tuan/Award?activeId=${escape(activeId)}&tuanId=${escape(tuanId)}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&_ste=1&h5st=${decrypt(Date.now())}`, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", @@ -1442,9 +1443,13 @@ function safeGet(data) { } } -function taskurl(functionId, body = '') { +function taskurl(functionId, body = '', stk) { + let url = `${JD_API_HOST}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}&_ste=1&h5st=${decrypt(Date.now(), stk)}` + if (stk) { + url += `&_stk=${stk}`; + } return { - url: `${JD_API_HOST}/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}`, + url, headers: { 'Cookie': cookie, 'Host': 'm.jingxi.com', @@ -1458,7 +1463,7 @@ function taskurl(functionId, body = '') { } } function newtasksysUrl(functionId, taskId, stk) { - let url = `${JD_API_HOST}/newtasksys/newtasksys_front/${functionId}?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}`; + let url = `${JD_API_HOST}/newtasksys/newtasksys_front/${functionId}?source=dreamfactory&bizCode=dream_factory&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}&_ste=1&h5st=${decrypt(Date.now(), stk)}`; if (taskId) { url += `&taskId=${taskId}`; } @@ -1507,5 +1512,35 @@ function jsonParse(str) { } } } +function decrypt(time, stk, type) { + if (stk) { + const random = 'pmUmA8IyRcDp'; + const token = `tk01wd5f01c58a8nekZxK1IwSm5St6zzPArjBtWbW5WBscsrXLTOOu7Ogq0jKd3RkQJah4XVLGS9oiKNBo+s1/vK6ZMT`; + const fingerprint = 1126982714367161; + const timestamp = new Date(time).Format("yyyyMMddhhmmssS"); + const appId = 10001; + const str = `${token}${fingerprint}${timestamp}${appId}${random}`; + const hash1 = $.CryptoJS.HmacSHA512(str, token).toString($.CryptoJS.enc.Hex); + let st = ''; + stk.split(',').map((item, index) => { + st += `${item}:${item === '_time' ? time : item === 'zone' ? 'dream_factory' : item === 'type' ? type || '1' : ''}${index === stk.split(',').length -1 ? '' : '&'}`; + }) + const hash2 = $.CryptoJS.HmacSHA256(st, hash1).toString($.CryptoJS.enc.Hex); + console.log(`st:${st}\n`) + // console.log(`hash2:${hash2}\n`) + // console.log(`h5st:${h5st}\n`) + return ["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat(appId.toString()), "".concat(token), "".concat(hash2)].join(";") + } else { + return '20210121201915905;8410347712257161;10001;tk01wa5bd1b5fa8nK2drQ3o3azhyhItRUb1DBNK57SQnGlXj9kmaV/iQlhKdXuz1RME5H/+NboJj8FAS9N+FcoAbf6cB;3c567a551a8e1c905a8d676d69e873c0bc7adbd8277957f90e95ab231e1800f2' + } +} +// 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 +}); // 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 From 655d0f705aa63fb606d656b67f20dba3dcd9a0f0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 18:18:32 +0800 Subject: [PATCH 1069/1259] fix --- jd_dreamFactory.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 25f9ead8..2064b1bc 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -23,7 +23,14 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip 京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=3600, enable=true */ - +// 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'; @@ -1534,13 +1541,6 @@ function decrypt(time, stk, type) { return '20210121201915905;8410347712257161;10001;tk01wa5bd1b5fa8nK2drQ3o3azhyhItRUb1DBNK57SQnGlXj9kmaV/iQlhKdXuz1RME5H/+NboJj8FAS9N+FcoAbf6cB;3c567a551a8e1c905a8d676d69e873c0bc7adbd8277957f90e95ab231e1800f2' } } -// 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 -}); + // 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 From 977a77be90cc1fa3b8d65183a14f0b2c51b026f0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 18:22:48 +0800 Subject: [PATCH 1070/1259] update --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 1d1756a0..a4e621d8 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -119,7 +119,7 @@ async function jdNian() { await $.wait(1000) await doTask() await $.wait(2000) - // await helpFriends() + await helpFriends() await $.wait(2000) await getHomeData(true) await showMsg() From e6f1c4e0eb5d0bd2fccf5df2dccafefb645b9fef Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:28:35 +0800 Subject: [PATCH 1071/1259] =?UTF-8?q?=E5=87=8F=E5=B0=91=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=85=A5=E5=8F=A3=E8=AF=B4=E6=98=8E=E7=9A=84=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 2 +- jd_car.js | 2 +- jd_car_exchange.js | 2 +- jd_dreamFactory.js | 2 +- jd_firecrackers.js | 3 ++- jd_immortal.js | 2 +- jd_immortal_answer.js | 2 +- jd_live.js | 3 ++- jd_rankingList.js | 2 +- 9 files changed, 11 insertions(+), 9 deletions(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index cffbfa48..63904e78 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -1,7 +1,7 @@ /* 领京豆额外奖励&抢京豆 脚本自带助力码,介意者可将 29行 helpAuthor 变量设置为 false -活动入口:首页-领京豆 +活动入口:京东APP首页-领京豆 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js diff --git a/jd_car.js b/jd_car.js index 26c0b2df..132ade0b 100644 --- a/jd_car.js +++ b/jd_car.js @@ -1,7 +1,7 @@ /* 京东汽车,签到满500赛点可兑换500京豆,一天运行一次即可 长期活动 -活动入口:首页👉京东汽车👉屏幕右中部,车主福利 +活动入口:京东APP首页-京东汽车-屏幕右中部,车主福利 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js diff --git a/jd_car_exchange.js b/jd_car_exchange.js index f4eebf69..99731961 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -2,7 +2,7 @@ 京东汽车兑换,500赛点兑换500京豆 长期活动 -活动入口:首页👉京东汽车兑换👉屏幕右中部,车主福利 +活动入口:京东APP首页-京东汽车-屏幕右中部,车主福利 活动网页地址:https://h5.m.jd.com/babelDiy/Zeus/44bjzCpzH9GpspWeBzYSqBA7jEtP/index.html#/journey 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index c3ccf7c4..56335d2e 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1,7 +1,7 @@ /* 京东京喜工厂 更新时间:2021-1-19 -活动入口:京东APP-游戏与互动-查看更多-京喜工厂 +活动入口:京东APP我的-游戏与互动-查看更多-京喜工厂 或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可 diff --git a/jd_firecrackers.js b/jd_firecrackers.js index 634c49ba..6c8430c1 100644 --- a/jd_firecrackers.js +++ b/jd_firecrackers.js @@ -6,7 +6,8 @@ */ /* 集鞭炮赢京豆 -活动入口:https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html +活动入口:京东APP首页-发现好货-悬浮窗领京豆 +地址:https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== diff --git a/jd_immortal.js b/jd_immortal.js index 2d83903b..d7b6e504 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -5,7 +5,7 @@ 环境变量:JD_IMMORTAL_LATLON(经纬度) 示例:JD_IMMORTAL_LATLON={"lat":33.1, "lng":118.1} boxjs IMMORTAL_LATLON -活动入口:京东app-我的-神仙书院 +活动入口:京东APP我的-神仙书院 地址:https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index 7edb2b93..d5b90396 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -2,7 +2,7 @@ 京东神仙书院答题 根据bing搜索结果答题,常识题可对,商品题不能保证胜率 活动时间:2021-1-27至2021-2-5 -活动入口: 京东app-我的-神仙书院 +活动入口: 京东APP我的-神仙书院 活动地址:https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js diff --git a/jd_live.js b/jd_live.js index a34e0d9b..0beab58f 100644 --- a/jd_live.js +++ b/jd_live.js @@ -1,7 +1,8 @@ /* 京东直播,每日18豆 活动结束时间未知 -活动地址:https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/ +活动入口:京东APP首页-京东直播 +地址:https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/ 已支持IOS双京东账号,Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== diff --git a/jd_rankingList.js b/jd_rankingList.js index 47b1577e..f10e5173 100644 --- a/jd_rankingList.js +++ b/jd_rankingList.js @@ -1,6 +1,6 @@ /* -活动入口:京东APP首页-更多频道-特色频道-排行榜-悬浮按钮今日王牌领京豆 +活动入口:京东APP首页-更多频道-排行榜-悬浮按钮 自用 author:yangtingxiao From ff5c714f9802a24917e3a759c52fa050359d5235 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:29:58 +0800 Subject: [PATCH 1072/1259] Update --- README.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 07932586..52964b32 100644 --- a/README.md +++ b/README.md @@ -33,49 +33,50 @@ | 文件 | 名称 | 活动入口 | | - | - | - | |[jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js)|京豆变动通知|| -|[jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js)|领京豆额外奖励|首页-领京豆| +|[jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| |[jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| -|[jd_beauty.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_beauty.js)|美丽研究院|京东app首页-美妆馆-底部中间按钮| |[jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |[jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|[jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js)|京东汽车|首页👉京东汽车👉屏幕右中部,车主福利| -|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|首页👉京东汽车兑换👉屏幕右中部,车主福利| +|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|[jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| |[jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |[jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| |[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| |[jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)|京喜工厂|京东APP我的-游戏与互动-查看更多-京喜工厂| |[jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)|集鞭炮赢京豆|https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html| +|[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)|集鞭炮赢京豆|京东APP首页-发现好货-悬浮窗领京豆| |[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)|京东神仙书院|京东app-我的-神仙书院| +|[jd_immortal_answer.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js)|京东神仙书院答题| +https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9| +|[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| |[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |[jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| |[jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |[jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| |[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| |[jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| |[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)|京东快递签到|https://jingcai-h5.jd.com/#/| -|[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)|京东直播|https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/| +|[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)|京东直播|京东APP首页-京东直播| |[jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| |[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| |[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| |[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)|京东年货节|https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301| -|[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| |[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| |[jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| |[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|| -|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| |[jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| |[jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| |[jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| |[jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|[jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-特色频道-排行榜-悬浮按钮今日王牌领京豆| +|[jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| |[jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js)|京东全民开红包|京东APP-首页-领券-锦鲤红包| |[jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js)|闪购盲盒|首页-闪购-闪购盲盒| |[jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| From e0104196dda85f86ee932d2ecda845a391966cf4 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:31:05 +0800 Subject: [PATCH 1073/1259] Fix --- update_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update_list.sh b/update_list.sh index 4f32b5b4..178f7253 100644 --- a/update_list.sh +++ b/update_list.sh @@ -23,7 +23,7 @@ cd $WorkDir Sheet=$SheetHead for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') - Entry=$(grep -E "活动入口|活动地址" ${JsList[i]} | awk -F ":" '{print $2}') + Entry=$(grep -E "活动入口" ${JsList[i]} | awk -F ":" '{print $2}') Raw="$UrlRaw${JsList[i]}" Sheet="$Sheet\n|[${JsList[i]}]($Raw)|$Name|$Entry|" done From e261dda103241e5bfa66237421b35cf139bbf3ca Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:32:58 +0800 Subject: [PATCH 1074/1259] Update --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 52964b32..d87c91db 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,7 @@ |[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)|集鞭炮赢京豆|京东APP首页-发现好货-悬浮窗领京豆| |[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|[jd_immortal_answer.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js)|京东神仙书院答题| -https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9| +|[jd_immortal_answer.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js)|京东神仙书院答题|| |[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| |[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| @@ -61,7 +60,7 @@ https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?ba |[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| |[jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)|京东快递签到|https://jingcai-h5.jd.com/#/| +|[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)|京东快递签到|| |[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)|京东直播|京东APP首页-京东直播| |[jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| |[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| From f7559938d6e37fe5c8503a84a03ebc10d231c743 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:37:20 +0800 Subject: [PATCH 1075/1259] =?UTF-8?q?=E5=B0=86=E6=B4=BB=E5=8A=A8=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E6=98=AF=E9=93=BE=E6=8E=A5=E7=9A=84=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E4=B8=BAmd=E6=96=87=E6=A1=A3=E4=B8=AD=E5=B8=A6=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E7=9A=84=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_sgmh.js | 2 +- update_list.sh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/jd_sgmh.js b/jd_sgmh.js index 639e77a6..88d3e882 100644 --- a/jd_sgmh.js +++ b/jd_sgmh.js @@ -2,7 +2,7 @@ 闪购盲盒 长期活动,一人每天5次助力机会,10次被助机会,被助力一次获得一次抽奖机会,前几次必中京豆 修改自 @yangtingxiao 抽奖机脚本 -活动入口:首页-闪购-闪购盲盒 +活动入口:京东APP首页-闪购-闪购盲盒 网页地址:https://h5.m.jd.com/babelDiy/Zeus/3vzA7uGuWL2QeJ5UeecbbAVKXftQ/index.html 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js 已支持IOS双京东账号, Node.js支持N个京东账号 diff --git a/update_list.sh b/update_list.sh index 178f7253..7cd55d7c 100644 --- a/update_list.sh +++ b/update_list.sh @@ -24,6 +24,9 @@ Sheet=$SheetHead for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') Entry=$(grep -E "活动入口" ${JsList[i]} | awk -F ":" '{print $2}') + if [[$(echo $Entry | grep "http") != "" ]]; then + Entry="[活动地址]($Entry)" + fi Raw="$UrlRaw${JsList[i]}" Sheet="$Sheet\n|[${JsList[i]}]($Raw)|$Name|$Entry|" done From d135cc677c78f02913a50bab4683a1f4d6fbf93e Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:39:50 +0800 Subject: [PATCH 1076/1259] Fix --- jd_kd.js | 2 +- update_list.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_kd.js b/jd_kd.js index c83983fb..168a16b6 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -1,6 +1,6 @@ /* 京东快递签到 -活动地址:https://jingcai-h5.jd.com/#/ +活动入口:https://jingcai-h5.jd.com/#/ 签到领豆,14天内满4次和7次享额外奖励,每天运行一次即可 更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js diff --git a/update_list.sh b/update_list.sh index 7cd55d7c..aed5cfa1 100644 --- a/update_list.sh +++ b/update_list.sh @@ -24,7 +24,7 @@ Sheet=$SheetHead for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') Entry=$(grep -E "活动入口" ${JsList[i]} | awk -F ":" '{print $2}') - if [[$(echo $Entry | grep "http") != "" ]]; then + if [[ $(echo $Entry | grep "http") != "" ]]; then Entry="[活动地址]($Entry)" fi Raw="$UrlRaw${JsList[i]}" From 35b9c7e0b572e6c0d42be5fbba5b0220ecf6b8ba Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:43:46 +0800 Subject: [PATCH 1077/1259] Update --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d87c91db..8d2c8088 100644 --- a/README.md +++ b/README.md @@ -60,12 +60,12 @@ |[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| |[jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)|京东快递签到|| +|[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| |[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)|京东直播|京东APP首页-京东直播| |[jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| |[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| |[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)|京东年货节|https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301| +|[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| |[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| |[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| |[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| @@ -77,7 +77,7 @@ |[jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| |[jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| |[jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js)|京东全民开红包|京东APP-首页-领券-锦鲤红包| -|[jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js)|闪购盲盒|首页-闪购-闪购盲盒| +|[jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| |[jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| |[jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| |[jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| From 49c22a72d8749fb4fc5be7d9420cf4d5124289a2 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:45:13 +0800 Subject: [PATCH 1078/1259] Fix --- update_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update_list.sh b/update_list.sh index aed5cfa1..f247aaed 100644 --- a/update_list.sh +++ b/update_list.sh @@ -23,7 +23,7 @@ cd $WorkDir Sheet=$SheetHead for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') - Entry=$(grep -E "活动入口" ${JsList[i]} | awk -F ":" '{print $2}') + Entry=$(grep -E "活动入口" ${JsList[i]} | awk -F ":|: " '{print $2}') if [[ $(echo $Entry | grep "http") != "" ]]; then Entry="[活动地址]($Entry)" fi From 6e9838423b140547d5c2948b46964bf890ec05d8 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:45:41 +0800 Subject: [PATCH 1079/1259] Update --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8d2c8088..b7571b21 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ |[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)|集鞭炮赢京豆|京东APP首页-发现好货-悬浮窗领京豆| |[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|[jd_immortal_answer.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js)|京东神仙书院答题|| +|[jd_immortal_answer.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| |[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| |[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| @@ -70,7 +70,7 @@ |[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| |[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| |[jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|| +|[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| |[jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| |[jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| |[jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| From 9e1abc9b3c4492fc6f1f96a3c8fe5380265f4594 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:46:56 +0800 Subject: [PATCH 1080/1259] Fix --- jd_redPacket.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_redPacket.js b/jd_redPacket.js index e0955a91..e1e01b22 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -6,7 +6,7 @@ */ /* 京东全民开红包 -活动入口:京东APP-首页-领券-锦鲤红包 +活动入口:京东APP首页-领券-锦鲤红包 已完成功能: ①浏览活动 ②关注频道 From 1bbd53bfb99be8b538e656a4ee450519ac8d15a4 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:47:29 +0800 Subject: [PATCH 1081/1259] Update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b7571b21..77d24d28 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ |[jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| |[jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| |[jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|[jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js)|京东全民开红包|京东APP-首页-领券-锦鲤红包| +|[jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| |[jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| |[jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| |[jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| From be7ad8d003b6a70ba0c945dcc0eb2b60db606d0e Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 18:55:45 +0800 Subject: [PATCH 1082/1259] mrerge --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 1d1756a0..a4e621d8 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -119,7 +119,7 @@ async function jdNian() { await $.wait(1000) await doTask() await $.wait(2000) - // await helpFriends() + await helpFriends() await $.wait(2000) await getHomeData(true) await showMsg() From 75d2d14028443221288d77bb2dc0a490125c0406 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 19:31:31 +0800 Subject: [PATCH 1083/1259] update --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index a4e621d8..63645414 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -51,7 +51,7 @@ const inviteCodes = [ ]; const pkInviteCodes = [ 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQvA' ] !(async () => { await requireConfig(); From 45cf5b43789dab1bf8ba14ead18c41398bf0b41d Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Wed, 27 Jan 2021 11:45:57 +0000 Subject: [PATCH 1084/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 7 +++++-- QuantumultX/lxk0301_gallery.json | 3 ++- Surge/lxk0301_Task.sgmodule.sgmodule | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 751b5868..74211d3a 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -55,6 +55,9 @@ cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scri # 京东神仙书院 cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 +# 京东神仙书院答题 +cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js,tag=京东神仙书院答题 + # 东东工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 @@ -151,8 +154,8 @@ cron "8 0-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_s # 东东超市 cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,tag=东东超市 -# 十元街 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街 +# 赚京豆 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆 # 注销京东会员卡 cron "55 23 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 3009d359..1957b2af 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -17,6 +17,7 @@ "5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", "15 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -44,7 +45,7 @@ "16 22 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", "11 1-23/5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", - "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=十元街, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", + "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", "55 23 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 87467466..7582354a 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -24,6 +24,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js 京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js +京东神仙书院答题 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js 京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js @@ -56,7 +57,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js 天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js 东东超市 = type=cron,cronexp="11 1-23/5 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js -十元街 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js +赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js 注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js 京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js From 59cf693d2f36d32dd5b04deb8bd43e21dd885d92 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Wed, 27 Jan 2021 11:51:30 +0000 Subject: [PATCH 1085/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0Readme=E4=B8=AD?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=B8=85=E5=8D=95=E5=88=97=E8=A1=A8=20by=20l?= =?UTF-8?q?xk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 77d24d28..c4627650 100644 --- a/README.md +++ b/README.md @@ -37,25 +37,25 @@ |[jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| |[jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |[jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| |[jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| |[jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |[jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| |[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| |[jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)|京喜工厂|京东APP我的-游戏与互动-查看更多-京喜工厂| +|[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| |[jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js)|京东家庭号|玩一玩-家庭号| |[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)|集鞭炮赢京豆|京东APP首页-发现好货-悬浮窗领京豆| |[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|[jd_immortal_answer.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| |[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|[jd_immortal_answer.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| |[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |[jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| |[jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |[jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| |[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| @@ -66,9 +66,9 @@ |[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| |[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| |[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| |[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| |[jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| |[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| |[jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| From a57012141c5a8d52c65a140e2bc0dc28fed714ff Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 27 Jan 2021 19:56:07 +0800 Subject: [PATCH 1086/1259] update --- jd_dreamFactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 24f74c85..7243583a 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1521,8 +1521,8 @@ function jsonParse(str) { function decrypt(time, stk, type) { if (stk) { const random = 'pmUmA8IyRcDp'; - const token = `tk01wd5f01c58a8nekZxK1IwSm5St6zzPArjBtWbW5WBscsrXLTOOu7Ogq0jKd3RkQJah4XVLGS9oiKNBo+s1/vK6ZMT`; - const fingerprint = 1126982714367161; + const token = ``; + const fingerprint = 8410347712257161; const timestamp = new Date(time).Format("yyyyMMddhhmmssS"); const appId = 10001; const str = `${token}${fingerprint}${timestamp}${appId}${random}`; From cc0b725d1f910c50563bc83ff0dce6f018e929c7 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 27 Jan 2021 20:47:32 +0800 Subject: [PATCH 1087/1259] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改readme --- README.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/README.md b/README.md index c4627650..14de45b4 100644 --- a/README.md +++ b/README.md @@ -122,20 +122,6 @@ + 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) -### 2. Docker2 - -教程请见:[EvineDeng/jd-base](https://github.com/EvineDeng/jd-base) - -### 3. 系统直装 - -教程请见:[EvineDeng/jd-base](https://github.com/EvineDeng/jd-base),适用于以下系统: - - 1. Armbian/OpenWrt/Debian/Ubuntu/CentOS/Fedora/RedHat等Linux系统 - - 2. Android - - 3. MacOS - ### 4. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) ##### BoxJs订阅地址:[lxk0301.boxjs.json](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/lxk0301.boxjs.json) From c10519f9485f3da302f0ef635f3a328d64dca3f5 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 27 Jan 2021 21:04:25 +0800 Subject: [PATCH 1088/1259] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14de45b4..2798b2bf 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ + 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) -### 4. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) +### 2. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) ##### BoxJs订阅地址:[lxk0301.boxjs.json](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/lxk0301.boxjs.json) From 340f7aa9edf2a15a5d8bb0b848656e73a7a6d4f2 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 21:36:59 +0800 Subject: [PATCH 1089/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E5=B9=B4=E7=BB=88=E5=A5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_festival.js | 713 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 713 insertions(+) create mode 100644 jd_festival.js diff --git a/jd_festival.js b/jd_festival.js new file mode 100644 index 00000000..3311ec44 --- /dev/null +++ b/jd_festival.js @@ -0,0 +1,713 @@ +/* +京东手机年终奖 +活动时间:2021年1月26日~2021年2月8日 +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js +活动入口:https://shopping-festival.m.jd.com +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东手机年终奖 +15 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true + +================Loon============== +[Script] +cron "15 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, tag=京东手机年终奖 + +===============Surge================= +京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js + +============小火箭========= +京东手机年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, cronexpr="15 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; +const randomCount = $.isNode() ? 20 : 5; + +const inviteCodes = [ + `9b98eb88-80ed-40ac-920c-a63fc769e72b@94c2a4d4-b53b-454b-82a0-0b80828bfd37@e274c80b-82dd-470c-878c-0790f5bf6a5d@aae299fc-6854-4fa7-b3ef-a6dedc3771b7@91ae877b-c98b-484a-9143-22d3a70b4088`, + `9b98eb88-80ed-40ac-920c-a63fc769e72b@94c2a4d4-b53b-454b-82a0-0b80828bfd37@e274c80b-82dd-470c-878c-0790f5bf6a5d@aae299fc-6854-4fa7-b3ef-a6dedc3771b7@91ae877b-c98b-484a-9143-22d3a70b4088` +]; + +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 { + 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); +} +const JD_API_HOST = 'https://shopping-festival.m.jd.com/sf/'; +!(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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 + } + continue + } + await shareCodesFormat() + await festival() + 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 helpFriends() { + for (let code of $.newShareCodes) { + if (!code) continue + console.log(`去助力好友${code}`) + const helpRes = await doSupport(code); + await $.wait(1000) + } +} + +async function festival() { + $.times = 0 + $.risk = false + await getIndexInfo() + if ($.risk) return + await getSignInfo() + await getTask(true) + for (let i = 0; i < 4; ++i) + await getTask() + for (let i = 0; i < 2; ++i) + await getExtTask() + await helpFriends() +} + +function getIndexInfo() { + return new Promise(resolve => { + $.get(taskUrl('index/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) { + $.risk = data.data.risk + if ($.risk) { + message += `风险用户\n` + console.log(`风险用户`) + return + } + $.times = data.data.remainTimes + console.log(`剩余游戏次数:${$.times}`) + } else { + console.log(`签到信息获取失败!`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getSignInfo() { + return new Promise(resolve => { + $.get(taskUrl('signin/listSignIn'), 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) { + let vo = data.data.signDayList.filter(vo => vo.date === data.data.today)[0] + if (vo.flag === "1") + console.log(`今日已签到`) + else + await signIn() + } else { + console.log(`签到信息获取失败!`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function signIn() { + return new Promise(resolve => { + $.get(taskUrl('signin/signInPrize'), (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(`签到成功,获得${data.data.jbean}个京豆`) + $.beans += parseInt(data.data.jbean) + } else { + console.log(`签到失败!`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getTask(share = false) { + return new Promise(resolve => { + $.get(taskUrl('task/queryGeneralTasks'), 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 {shareTask, generalTasks} = data.data + if (share) + console.log(`您的好友助力码为:${shareTask.shareId},当前助力进度:${shareTask.needSupportNum - shareTask.remainSupportNum}/${shareTask.needSupportNum}`) + else + for (let vo of generalTasks) { + console.log(`任务${vo.id}完成进度:${vo.finish}/${vo.total}`) + if (vo.finish < vo.total) { + await doTask(vo.type) + await $.wait(10 * 1000) + } + if (vo.status === "3") { + console.log(`任务已完成,去领奖`) + await doReceive(vo.type) + } else if (vo.status === "4") { + console.log(`任务已领奖`) + } + } + } else { + console.log(`任务获取失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getExtTask() { + return new Promise(resolve => { + $.get(taskUrl('extTask/extTaskInfo'), 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) { + let type = ['shop', 'sku', 'venue'] + for (let vo of type) { + for (let item of data.data[`${vo}List`]) { + if (item.status < 2) { + console.log(`去浏览${item.name}`) + await browseTask(item.id, vo) + await $.wait(6 * 1000) + } else if (item.status === 2) { + console.log(`${item.name}浏览完成,去领奖`) + await getPrize(item.id, vo) + } else { + console.log(`${item.name}已浏览过`) + } + } + } + } else { + console.log(`任务获取失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function doTask(type) { + return new Promise(resolve => { + $.get(taskUrl('task/doTask', {type: type}), 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(`任务完成成功`) + } else { + console.log(`任务完成失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function doReceive(type) { + return new Promise(resolve => { + $.get(taskUrl('task/doReceive', {type: type}), 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(`任务领奖成功,获得${data.data}次游戏机会`) + } else { + console.log(`任务领奖失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function browseTask(id, type) { + return new Promise(resolve => { + $.get(taskUrl('extTask/browse', {id: id, type: type}), 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(`任务完成成功`) + } else { + console.log(`任务完成失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getPrize(id, type) { + return new Promise(resolve => { + $.get(taskUrl('extTask/getPrize', {id: id, type: type}), 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(`任务领奖成功,获得${data.data}京豆`) + $.beans += data.data + } else { + console.log(`任务领奖失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function getMoney() { + return new Promise(resolve => { + $.get(taskUrl('index/getMoney',), 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(`游戏开启成功,等待20秒`) + let sum = data.data.moneyList.reduce((a, b) => a + b, 0) + await $.wait(20 * 1000) + await addMoney(sum) + } else { + console.log(`游戏开启失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function addMoney(sum) { + return new Promise(resolve => { + $.post(taskPostUrl('index/addGoldNums', {goldNum: sum}), 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(`游戏完成成功,获得${data.data.goldTotal}体验金`) + } else { + console.log(`游戏完成失败`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} + +function doSupport(shareId) { + return new Promise(resolve => { + $.get(taskUrl('task/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(`助力好友成功`) + } 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() + let n = { + ...body + } + let str = '' + for (let key in body) { + if (str !== "") { + str += "&"; + } + str += key + "=" + encodeURIComponent(body[key]); + } + return { + url: `${JD_API_HOST}${function_id}`, + body: str, + headers: { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Content-Type": "application/x-www-form-urlencoded", + "Host": "shopping-festival.m.jd.com", + "Referer": "https://shopping-festival.m.jd.com/", + "Cookie": cookie, + 'dnt': '1', + 'pragma': 'no-cache', + 'sign': sign(n, `d55b480bed0545839dbd8b78b6cffdb1${t}`, `/sf/${function_id}`), + 'timestamp': ($.isQuanX()||$.isSurge()) ?t.toString():t, + "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "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() + let n = { + t: t, + ...body + } + let str = '' + for (let key in body) { + if (str !== "") { + str += "&"; + } + str += key + "=" + encodeURIComponent(body[key]); + } + return { + url: `${JD_API_HOST}${function_id}?t=${t}&${str}`, + headers: { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-cn", + "Connection": "keep-alive", + "Content-Type": "application/x-www-form-urlencoded", + "Host": "shopping-festival.m.jd.com", + "Referer": "https://shopping-festival.m.jd.com/", + "Cookie": cookie, + 'dnt': '1', + 'pragma': 'no-cache', + 'sign': sign(n, `d55b480bed0545839dbd8b78b6cffdb1${t}`, `/sf/${function_id}`), + 'timestamp': ($.isQuanX()||$.isSurge()) ?t.toString():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.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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 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 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.JSMOBILEFESTIVAL_SHARECODES) { + if (process.env.JSMOBILEFESTIVAL_SHARECODES.indexOf('\n') > -1) { + shareCodes = process.env.JSMOBILEFESTIVAL_SHARECODES.split('\n'); + } else { + shareCodes = process.env.JSMOBILEFESTIVAL_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)} From d0b87953fa1e58e9902f1d196f0665224732971f Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 21:37:08 +0800 Subject: [PATCH 1090/1259] =?UTF-8?q?=E7=9B=B2=E7=9B=92=E6=8A=BD=E4=BA=AC?= =?UTF-8?q?=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_mh.js | 304 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 304 insertions(+) create mode 100644 jd_mh.js diff --git a/jd_mh.js b/jd_mh.js new file mode 100644 index 00000000..6f525f9c --- /dev/null +++ b/jd_mh.js @@ -0,0 +1,304 @@ +/* + * @Author: shylocks https://github.com/shylocks + * @Date: 2021-01-11 16:25:41 + * @Last Modified by: shylocks + * @Last Modified time: 2021-01-11 18:25:41 + */ +/* +盲盒抽京豆 +活动时间:2021年1月6日~2021年2月5日 +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js,tag=盲盒抽京豆 + +===============Surge================= +盲盒抽京豆 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js + +============小火箭========= +盲盒抽京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 { + 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/', {"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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From eae01718e1537570a9b7dc19f5be82299af8e637 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 21:37:14 +0800 Subject: [PATCH 1091/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=A7=92=E7=A7=92?= =?UTF-8?q?=E5=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_ms.js | 336 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 336 insertions(+) create mode 100644 jd_ms.js diff --git a/jd_ms.js b/jd_ms.js new file mode 100644 index 00000000..87338803 --- /dev/null +++ b/jd_ms.js @@ -0,0 +1,336 @@ +/* + * @Author: shylocks https://github.com/shylocks + * @Date: 2021-01-13 22:01:41 + * @Last Modified by: shylocks + * @Last Modified time: 2021-01-13 22:11:41 + */ +/* +京东秒秒币 +一天签到100币左右,100币可兑换1毛钱红包,推荐攒着配合农场一起用 +活动时间:长期活动 +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js +活动入口:京东app-京东秒杀-签到领红包 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东秒秒币 +10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true + +================Loon============== +[Script] +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js,tag=京东秒秒币 + +===============Surge================= +京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js + +============小火箭========= +京东秒秒币 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js, cronexpr="10 7 * * *", 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; +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 { + 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); +} +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/`, {"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 jdMs() + } + } +})() + .catch((e) => { + $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') + }) + .finally(() => { + $.done(); + }) + +async function jdMs() { + $.score = 0 + await getActInfo() + await getUserInfo() + $.cur = $.score + if ($.encryptProjectId) { + await getTaskList() + } + await getUserInfo(false) + await showMsg() +} + +function getActInfo() { + return new Promise(resolve => { + $.post(taskPostUrl('assignmentList', {}, 'appid=jwsp'), (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 === 200) { + $.encryptProjectId = data.result.assignmentResult.encryptProjectId + console.log(`活动名称:${data.result.assignmentResult.projectName}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function getUserInfo(info=true) { + return new Promise(resolve => { + $.post(taskPostUrl('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) { + $.score = data.result.assignment.assignmentPoints || 0 + if(info) console.log(`当前秒秒币${$.score}`) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} +function getTaskList() { + let body = {"encryptProjectId": $.encryptProjectId, "sourceCode": "wh5"} + return new Promise(resolve => { + $.post(taskPostUrl('queryInteractiveInfo', body), async (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data) + $.risk = false + if (data.code === '0') { + for (let vo of data.assignmentList) { + if($.risk) break + if (vo['completionCnt'] < vo['assignmentTimesLimit']) { + if (vo['assignmentType'] === 1) { + for (let i = vo['completionCnt']; i < vo['assignmentTimesLimit']; ++i) { + console.log(`去做${vo['assignmentName']}任务:${i + 1}/${vo['assignmentTimesLimit']}`) + let body = { + "encryptAssignmentId": vo['encryptAssignmentId'], + "itemId": vo['ext'][vo['ext']['extraType']][i]['itemId'], + "actionType": 1, + "completionFlag": "" + } + await doTask(body) + await $.wait(vo['ext']['waitDuration'] * 1000 + 500) + body['actionType'] = 0 + await doTask(body) + } + } else if (vo['assignmentType'] === 0) { + for (let i = vo['completionCnt']; i < vo['assignmentTimesLimit']; ++i) { + console.log(`去做${vo['assignmentName']}任务:${i + 1}/${vo['assignmentTimesLimit']}`) + let body = { + "encryptAssignmentId": vo['encryptAssignmentId'], + "itemId": "", + "actionType": "0", + "completionFlag": true + } + await doTask(body) + await $.wait(1000) + } + } else if (vo['assignmentType'] === 3) { + for (let i = vo['completionCnt']; i < vo['assignmentTimesLimit']; ++i) { + console.log(`去做${vo['assignmentName']}任务:${i + 1}/${vo['assignmentTimesLimit']}`) + let body = { + "encryptAssignmentId": vo['encryptAssignmentId'], + "itemId": vo['ext'][vo['ext']['extraType']][i]['itemId'], + "actionType": 0, + "completionFlag": "" + } + await doTask(body) + await $.wait(1000) + } + } + } + } + } else { + console.log(data) + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function doTask(body) { + body = {...body, "encryptProjectId": $.encryptProjectId, "sourceCode": "wh5", "ext": {}} + return new Promise(resolve => { + $.post(taskPostUrl('doInteractiveAssignment', body), (err, resp, data) => { + try { + if (err) { + console.log(`${err},${jsonParse(resp.body)['message']}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data) + console.log(data.msg) + if(data.msg==='风险等级未通过') $.risk =1 + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(data); + } + }) + }) +} + +function showMsg() { + return new Promise(resolve => { + message += `本次运行获得秒秒币${$.score-$.cur}枚,共${$.score}枚`; + $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); + resolve() + }) +} + + +function taskPostUrl(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=9.3.2&${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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From 0ce673df4e8c48874876b5aa05bfecc669ff13c0 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 21:37:20 +0800 Subject: [PATCH 1092/1259] =?UTF-8?q?=E5=B0=8F=E9=B8=BD=E6=9C=89=E7=A4=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_xg.js | 306 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 306 insertions(+) create mode 100644 jd_xg.js diff --git a/jd_xg.js b/jd_xg.js new file mode 100644 index 00000000..f547efc3 --- /dev/null +++ b/jd_xg.js @@ -0,0 +1,306 @@ +/* + * @Author: shylocks https://github.com/shylocks + * @Date: 2021-01-11 16:25:41 + * @Last Modified by: shylocks + * @Last Modified time: 2021-01-11 18:25:41 + */ +/* +小鸽有礼 +抽奖可获得京豆和快递优惠券 +活动时间:2021年1月15日至2021年2月19日 +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js,tag=小鸽有礼 + +===============Surge================= +小鸽有礼 = type=cron,cronexp="5 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js + +============小火箭========= +小鸽有礼 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 { + 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/', {"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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From 12ddd95f1b788f34a40b7a622c66c427656c6021 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 21:38:35 +0800 Subject: [PATCH 1093/1259] =?UTF-8?q?=E6=BA=90=E5=A4=B4=E5=A5=BD=E7=89=A9?= =?UTF-8?q?=E7=BA=A2=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_coupon.js | 268 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 jd_coupon.js diff --git a/jd_coupon.js b/jd_coupon.js new file mode 100644 index 00000000..08d7932c --- /dev/null +++ b/jd_coupon.js @@ -0,0 +1,268 @@ +/* +源头好物红包 +活动时间:未知 +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js, tag=源头好物红包 + +===============Surge================= +源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js + +============小火箭========= +源头好物红包 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 { + 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); +} +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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From ba19000b2084a0792ad5653f2f26f6f312f8362a Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Wed, 27 Jan 2021 13:47:05 +0000 Subject: [PATCH 1094/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 15 +++++++++++++++ QuantumultX/lxk0301_gallery.json | 5 +++++ Surge/lxk0301_Task.sgmodule.sgmodule | 5 +++++ 3 files changed, 25 insertions(+) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 74211d3a..91aac7aa 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -34,6 +34,9 @@ cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_script # 摇京豆 cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 +# 源头好物红包 +cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js, tag=源头好物红包 + # crazyJoy任务 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 @@ -43,6 +46,9 @@ cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京喜工厂 cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 +# 京东手机年终奖 +cron "15 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, tag=京东手机年终奖 + # 集鞭炮赢京豆 cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 @@ -100,9 +106,15 @@ cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scrip # 京东直播 cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js,tag=京东直播 +# 盲盒抽京豆 +cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js,tag=盲盒抽京豆 + # 京东摇钱树 cron "3 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 +# 京东秒秒币 +cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js,tag=京东秒秒币 + # 点点券 cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js,tag=点点券 @@ -163,6 +175,9 @@ cron "55 23 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scri # 取关京东店铺和商品 cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 +# 小鸽有礼 +cron "5 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js,tag=小鸽有礼 + # 京喜签到 cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js,tag=京喜签到 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 1957b2af..e688fdf3 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -10,9 +10,11 @@ "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", + "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true", "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true", + "15 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "10 8,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", @@ -28,7 +30,9 @@ "0 9,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true", "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true", "10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js, tag=盲盒抽京豆, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_mh.jpg, enabled=true", "3 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true", + "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true", "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 9,12,20,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", @@ -48,6 +52,7 @@ "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", "55 23 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "5 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js, tag=小鸽有礼, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_xg.jpg, enabled=true", "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true" ] diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 7582354a..15fc928f 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -17,9 +17,11 @@ 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js +源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js +京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js 集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js @@ -39,7 +41,9 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path= https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js 京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js 京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js +盲盒抽京豆 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js 京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js +京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js 京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js @@ -60,6 +64,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js 注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js +小鸽有礼 = type=cron,cronexp="5 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js 京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js 小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js 小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js From 4601ecdc046c489013e5d2efe70368ade3cf1bae Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Wed, 27 Jan 2021 13:49:01 +0000 Subject: [PATCH 1095/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0Readme=E4=B8=AD?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=B8=85=E5=8D=95=E5=88=97=E8=A1=A8=20by=20l?= =?UTF-8?q?xk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 2798b2bf..6ccddb3d 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,13 @@ |[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| |[jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |[jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| +|[jd_coupon.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| |[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| |[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| |[jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| |[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| |[jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|[jd_festival.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| |[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)|集鞭炮赢京豆|京东APP首页-发现好货-悬浮窗领京豆| |[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| @@ -63,7 +65,9 @@ |[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| |[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)|京东直播|京东APP首页-京东直播| |[jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|[jd_mh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| |[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|[jd_ms.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| |[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| |[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| |[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| @@ -85,6 +89,7 @@ |[jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| |[jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js)|注销京东会员卡|| |[jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|[jd_xg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| |[jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js)|京喜签到|| From ace308893563d8571c93d35504f233f06dc41946 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 27 Jan 2021 21:59:09 +0800 Subject: [PATCH 1096/1259] Update update_ios_task.yml --- .github/workflows/update_ios_task.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update_ios_task.yml b/.github/workflows/update_ios_task.yml index e9fd2094..aa9fb214 100644 --- a/.github/workflows/update_ios_task.yml +++ b/.github/workflows/update_ios_task.yml @@ -7,8 +7,8 @@ on: - cron: '0 4,16 * * *' repository_dispatch: types: update_ios_task - #push: - # branches: [ master ] + push: + branches: [ master ] jobs: build: runs-on: ubuntu-latest From b552ee5f0875e582c433d1580b2245c456fd7b0a Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 27 Jan 2021 21:59:32 +0800 Subject: [PATCH 1097/1259] Update update_list.yml --- .github/workflows/update_list.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update_list.yml b/.github/workflows/update_list.yml index 3256aeff..458e596c 100644 --- a/.github/workflows/update_list.yml +++ b/.github/workflows/update_list.yml @@ -7,8 +7,8 @@ on: - cron: '1 5,17 * * *' repository_dispatch: types: update_list - #push: - # branches: [ master ] + push: + branches: [ master ] jobs: build: runs-on: ubuntu-latest From c6024e4dfcc024714988360de961c4f17d25ae86 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Wed, 27 Jan 2021 22:06:44 +0800 Subject: [PATCH 1098/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 云函数新增活动脚本 --- serverless.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/serverless.yml b/serverless.yml index b75c4027..72c4b620 100644 --- a/serverless.yml +++ b/serverless.yml @@ -16,12 +16,12 @@ inputs: memorySize: 128 # 内存大小,单位MB timeout: 900 # 超时时间,单位秒 events: # 触发器 - - timer: # 签到 + - timer: #签到 #源头好物红包 parameters: - name: jd_bean_sign + name: beansign_coupon cronExpression: "0 0 0 * * * *" enable: true - argument: jd_bean_sign + argument: jd_bean_sign&jd_coupon - timer: #东东超市兑换奖品 #摇京豆 #京东汽车兑换 parameters: name: blueCoin_clublottery_carexchange @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_small_home&jd_live&jd_firecrackers - - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #京东汽车 + - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #京东汽车 #京东秒秒币 #小鸽有礼 parameters: - name: redPacket_shop_unsubscribe_unbind_lotteryMachine_car + name: redPacket_shop_unsubscribe_unbind_lotteryMachine_car_ms_xg cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_car + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_car&jd_ms&jd_xg - timer: #京东天天加速 #天天提鹅 #京东炸年兽 parameters: name: speed_daily_egg_nian @@ -64,18 +64,18 @@ inputs: cronExpression: "0 15 * * * * *" enable: true argument: jd_superMarket - - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #闪购盲盒 #京东年货节 #京东神仙书院 #京东神仙书院答题 + - timer: #京豆变动通知 #疯狂的joy #京东排行榜 #领京豆额外奖励 #闪购盲盒 #京东年货节 #京东神仙书院 #京东神仙书院答题 #盲盒抽京豆 parameters: - name: beanchange_crazyjoy_rankingList_beanhome_sgmh_nh_immortal + name: beanchange_crazyjoy_rankingList_beanhome_sgmh_nh_immortal_mh cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal@jd_immortal_answer - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR #京东炸年兽小程序 + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal@jd_immortal_answer&jd_mh + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR #京东炸年兽小程序 #京东手机年终奖 parameters: - name: pigPet_syj_kd_jdzz_cash_sign_niansign_nianar_nianwechat + name: pigPet_syj_kd_jdzz_cash_sign_niansign_nianar_nianwechat_fes cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_nian_ar&jd_nian_wechat + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_nian_ar&jd_nian_wechat&jd_festival environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 804e8b2f7a6c0b981134bf36eee1d9809aad593a Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 22:11:04 +0800 Subject: [PATCH 1099/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=B6=85=E7=BA=A7?= =?UTF-8?q?=E7=9B=92=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_super_box.js | 514 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 514 insertions(+) create mode 100644 jd_super_box.js diff --git a/jd_super_box.js b/jd_super_box.js new file mode 100644 index 00000000..63fff646 --- /dev/null +++ b/jd_super_box.js @@ -0,0 +1,514 @@ +/* + * @Author: shylocks https://github.com/shylocks + * @Date: 2021-01-27 16:25:41 + * @Last Modified by: shylocks + * @Last Modified time: 2021-01-27 21:25:41 + */ +/* +京东超级盒子 +活动时间:未知 +更新地址:https://raw.githubusercontent.com/shylocks/Loon/main/jd_festival.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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js, tag=京东超级盒子, enabled=true + +================Loon============== +[Script] +cron "20 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js,tag=京东超级盒子 + +===============Surge================= +京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js + +============小火箭========= +京东超级盒子 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 { + 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); +} +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`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空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) { + for(let vo of data.data.taskItemList){ + await doTask(taskId,taskType,vo.itemId) + 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 { + 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) { + $.earn += parseFloat(data.data.discount) + console.log(`获得${data.data.discount}红包`) + } + 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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From 1dc61738931d7e6ea1e7d9ed160fc0f9d219401d Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 27 Jan 2021 22:16:35 +0800 Subject: [PATCH 1100/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_super_box.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_super_box.js b/jd_super_box.js index 63fff646..f3156833 100644 --- a/jd_super_box.js +++ b/jd_super_box.js @@ -7,7 +7,7 @@ /* 京东超级盒子 活动时间:未知 -更新地址:https://raw.githubusercontent.com/shylocks/Loon/main/jd_festival.js +更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/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 From 1746525a6f8aa7a2eddced5f415e421e3b17cc89 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 27 Jan 2021 22:19:48 +0800 Subject: [PATCH 1101/1259] Update update_ios_task.yml --- .github/workflows/update_ios_task.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update_ios_task.yml b/.github/workflows/update_ios_task.yml index aa9fb214..08f6c126 100644 --- a/.github/workflows/update_ios_task.yml +++ b/.github/workflows/update_ios_task.yml @@ -3,8 +3,8 @@ name: update_ios_task on: workflow_dispatch: - schedule: - - cron: '0 4,16 * * *' + #schedule: + #- cron: '0 4,16 * * *' repository_dispatch: types: update_ios_task push: @@ -12,7 +12,7 @@ on: jobs: build: runs-on: ubuntu-latest - if: github.event.repository.owner.id == github.event.sender.id + #if: github.event.repository.owner.id == github.event.sender.id steps: - name: Checkout uses: actions/checkout@v2 From c115e2a9664924b884de9e053697074cc38e5e99 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Wed, 27 Jan 2021 14:20:12 +0000 Subject: [PATCH 1102/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0Readme=E4=B8=AD?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=B8=85=E5=8D=95=E5=88=97=E8=A1=A8=20by=20l?= =?UTF-8?q?xk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ccddb3d..9d85a80b 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ |[jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| |[jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| |[jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|[jd_super_box.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| |[jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| |[jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js)|注销京东会员卡|| |[jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js)|取关京东店铺和商品|| From 35d0c154db4db150c3950aa987e3fecda44626b0 Mon Sep 17 00:00:00 2001 From: LXK9301 <72646373+LXK9301@users.noreply.github.com> Date: Wed, 27 Jan 2021 22:20:30 +0800 Subject: [PATCH 1103/1259] Update update_list.yml --- .github/workflows/update_list.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update_list.yml b/.github/workflows/update_list.yml index 458e596c..a50421ce 100644 --- a/.github/workflows/update_list.yml +++ b/.github/workflows/update_list.yml @@ -3,8 +3,8 @@ name: update_list on: workflow_dispatch: - schedule: - - cron: '1 5,17 * * *' + #schedule: + #- cron: '1 5,17 * * *' repository_dispatch: types: update_list push: @@ -12,7 +12,7 @@ on: jobs: build: runs-on: ubuntu-latest - if: github.event.repository.owner.id == github.event.sender.id + #if: github.event.repository.owner.id == github.event.sender.id steps: - name: Checkout uses: actions/checkout@v2 From 31593b3aa3219197883eb715fc3b4a150be1e749 Mon Sep 17 00:00:00 2001 From: lxk0301 Date: Wed, 27 Jan 2021 14:20:47 +0000 Subject: [PATCH 1104/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=AB=AF3?= =?UTF-8?q?=E5=A4=A7=E8=BD=AF=E4=BB=B6=E8=AE=A2=E9=98=85=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20by=20lxk0301=20Github=20Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 +++ QuantumultX/lxk0301_gallery.json | 1 + Surge/lxk0301_Task.sgmodule.sgmodule | 1 + 3 files changed, 5 insertions(+) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 91aac7aa..851f2cb3 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -166,6 +166,9 @@ cron "8 0-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_s # 东东超市 cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,tag=东东超市 +# 京东超级盒子 +cron "20 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js,tag=京东超级盒子 + # 赚京豆 cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index e688fdf3..689722e8 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -49,6 +49,7 @@ "16 22 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", "11 1-23/5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", + "20 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js, tag=京东超级盒子, enabled=true", "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", "55 23 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 15fc928f..a6736645 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -61,6 +61,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js 天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js 东东超市 = type=cron,cronexp="11 1-23/5 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js +京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js 赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js 注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js From 8188d1387232223148068d564e570d62e1fa18e3 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 28 Jan 2021 01:01:15 +0800 Subject: [PATCH 1105/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 65 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index d7b6e504..dc80af20 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -195,11 +195,14 @@ function getHomeData(info = false) { } else { data = JSON.parse(data); if (data && data['retCode'] === "200") { - const {userCoinNum} = data.result + const {userCoinNum, userRemainScore} = data.result if (info) { $.earn = userCoinNum - $.coin } else { - console.log(`当前用户金币${userCoinNum}`) + console.log(`当前用户金币${userCoinNum},积分${userRemainScore}`) + if (userRemainScore) { + // await getExchangeInfo() + } } $.coin = userCoinNum } else { @@ -217,6 +220,64 @@ function getHomeData(info = false) { }) } +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 (exchageRate === 1.4) { + 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}京豆`) + } else { + $.risk = true + console.log(`账号被风控,无法参与活动`) + message += `账号被风控,无法参与活动\n` + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }) + }) +} + function getTaskList(body = {}) { return new Promise(resolve => { From d0d9c166f9e70bfed5a8c4021ec9ce26fa4b8c3b Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 28 Jan 2021 01:03:29 +0800 Subject: [PATCH 1106/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 63645414..40ab30e4 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQvA' + `IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU`, + `IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU` ] !(async () => { await requireConfig(); @@ -791,8 +791,10 @@ function pkInfo() { if (data.code === 0 && data.data && data.data.bizCode === 0) { console.log(`\n您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}\n`) let info = data.data.result.groupPkInfo - if (info.dayAward) - console.log(`白天关卡:${info.dayAward}元红包,完成进度 ${info.dayTotalValue}/${info.dayTargetSell}`) + if (info.dayAward) { + console.log(`白天关卡:${info.dayAward}元红包,完成进度 ${info.dayTotalValue || 0}/${info.dayTargetSell}`) + console.log(`团队红包:${data.data.result.groupInfo.groupAward}`) + } else { function secondToDate(result) { var h = Math.floor(result / 3600); From 55d7fe90d361d8d258e68aefc9a1873240154ab3 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 28 Jan 2021 01:08:21 +0800 Subject: [PATCH 1107/1259] =?UTF-8?q?=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=85=91=E6=8D=A2=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index dc80af20..7ddacdf7 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -31,6 +31,8 @@ const notify = $.isNode() ? require('./sendNotify') : ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; +let scoreToBeans = $.isNode()?(process.env.JD_IMMORTAL_SCORE || 700):$.getdata('scoreToBeans') || 700; //兑换多少数量的京豆(20或者1000),0表示不兑换,默认兑换20京豆,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可 + //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; if ($.isNode()) { @@ -58,6 +60,7 @@ const inviteCodes = [ $.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]; @@ -201,7 +204,7 @@ function getHomeData(info = false) { } else { console.log(`当前用户金币${userCoinNum},积分${userRemainScore}`) if (userRemainScore) { - // await getExchangeInfo() + await getExchangeInfo() } } $.coin = userCoinNum @@ -232,7 +235,7 @@ function getExchangeInfo() { if (data && data['retCode'] === "200") { const {userRemainScore, exchageRate} = data.result console.log(`当前用户兑换比率${exchageRate}`) - if (exchageRate === 1.4) { + if (exchageRate === 1.4 && userRemainScore >= scoreToBeans) { console.log(`已达到最大比率,去兑换`) await exchange() } From bf77b67edcb5ee90076760d728abf2db11334a3d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 09:57:52 +0800 Subject: [PATCH 1108/1259] Update --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 63645414..2f403328 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,7 +50,7 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A', + 'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY', 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQvA' ] !(async () => { From 6318c514c26ac0516286d4de6d68ac24315f82af Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 10:46:29 +0800 Subject: [PATCH 1109/1259] Update --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 2f403328..c29e1217 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEd0@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifX@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHb@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kk@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-8A@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQvA' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_w', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_w' ] !(async () => { await requireConfig(); From 5fab97116b63720d29c908917bc205e14eac5aef Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 13:48:27 +0800 Subject: [PATCH 1110/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E5=85=91=E6=8D=A2=E4=BA=AC=E8=B1=86(?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E9=BB=98=E8=AE=A4=E4=B8=BA=EF=BC=9A=E8=87=B3?= =?UTF-8?q?=E5=B0=91700=E7=A7=AF=E5=88=86=EF=BC=8C1.4=E5=80=8D=E7=8E=87)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 69 ++++++++++++++++++++++++++++++++++++++++++++++++-- jd_nian.js | 4 +-- 2 files changed, 69 insertions(+), 4 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index d7b6e504..72d02a00 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -1,6 +1,7 @@ /* 京东神仙书院 活动时间:2021-1-20至2021-2-5 +增加自动积分兑换京豆(条件默认为:至少700积分,1.4倍率) 暂不加入品牌会员,需要自行填写坐标,用于做逛身边好店任务 环境变量:JD_IMMORTAL_LATLON(经纬度) 示例:JD_IMMORTAL_LATLON={"lat":33.1, "lng":118.1} @@ -31,6 +32,8 @@ const notify = $.isNode() ? require('./sendNotify') : ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; +let scoreToBeans = $.isNode()?(process.env.JD_IMMORTAL_SCORE || 700):$.getdata('scoreToBeans') || 700; //兑换多少数量的京豆(20或者1000),0表示不兑换,默认兑换20京豆,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可 + //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; if ($.isNode()) { @@ -58,6 +61,7 @@ const inviteCodes = [ $.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]; @@ -195,11 +199,14 @@ function getHomeData(info = false) { } else { data = JSON.parse(data); if (data && data['retCode'] === "200") { - const {userCoinNum} = data.result + const {userCoinNum, userRemainScore} = data.result if (info) { $.earn = userCoinNum - $.coin } else { - console.log(`当前用户金币${userCoinNum}`) + console.log(`当前用户金币${userCoinNum},积分${userRemainScore}`) + if (userRemainScore) { + await getExchangeInfo() + } } $.coin = userCoinNum } else { @@ -217,6 +224,64 @@ function getHomeData(info = false) { }) } +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 (exchageRate === 1.4 && 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}京豆`) + } else { + $.risk = true + console.log(`账号被风控,无法参与活动`) + message += `账号被风控,无法参与活动\n` + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(); + } + }) + }) +} + function getTaskList(body = {}) { return new Promise(resolve => { diff --git a/jd_nian.js b/jd_nian.js index c29e1217..04ff6d3f 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_w', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_w' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_w@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQsw', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_w@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQsw' ] !(async () => { await requireConfig(); From 1090f480a7e8f602f263d3f7481ea0e9b58514c4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 14:27:50 +0800 Subject: [PATCH 1111/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E3=80=82=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8(=E9=9B=86=E9=9E=AD=E7=82=AE=E8=B5=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JD_extra_cookie.js | 6 +- Loon/lxk0301_LoonTask.conf | 142 +++++++++--------- QuantumultX/lxk0301_cookies.conf | 15 +- QuantumultX/lxk0301_gallery.json | 109 +++++++------- README.md | 139 +++++++++-------- Surge/lxk0301_Task.sgmodule.sgmodule | 124 ++++++++------- activity/jd_818.js | 6 +- activity/jd_apple_live.js | 8 +- activity/jd_digital_floor.js | 10 +- activity/jd_ds.js | 10 +- .../jd_firecrackers.js | 8 +- activity/jd_health.js | 8 +- activity/jd_jdh.js | 8 +- activity/jd_jxstory.js | 8 +- activity/jd_live_redrain.js | 10 +- activity/jd_live_redrain2.js | 10 +- activity/jd_mohe.js | 6 +- activity/jd_ms_redrain.js | 10 +- activity/jd_pubg.js | 8 +- activity/jd_split.js | 8 +- activity/jd_watch.js | 8 +- activity/jd_xtg.js | 8 +- activity/jr_sign.js | 10 +- backUp/jd_Goods.js | 2 +- backUp/jd_fruit_double.js | 6 +- backUp/jd_joy2.js | 4 +- backUp/jd_plantBean_double.js | 6 +- backUp/xmSports.js | 12 +- backUp/xmly_speed_ccokie.js | 6 +- index.js | 2 +- jd_bean_change.js | 10 +- jd_bean_home.js | 10 +- jd_blueCoin.js | 10 +- jd_bookshop.js | 8 +- jd_car.js | 10 +- jd_car_exchange.js | 10 +- jd_cash.js | 8 +- jd_club_lottery.js | 8 +- jd_coupon.js | 10 +- jd_crazy_joy.js | 8 +- jd_crazy_joy_coin.js | 2 +- jd_daily_egg.js | 8 +- jd_dreamFactory.js | 8 +- jd_festival.js | 10 +- jd_fruit.js | 10 +- jd_get_share_code.js | 10 +- jd_immortal.js | 8 +- jd_immortal_answer.js | 8 +- jd_jdfactory.js | 8 +- jd_jdzz.js | 8 +- jd_joy.js | 8 +- jd_joy_feedPets.js | 8 +- jd_joy_help.js | 8 +- jd_joy_reward.js | 8 +- jd_joy_run.js | 18 +-- jd_joy_steal.js | 8 +- jd_jxnc.js | 10 +- jd_kd.js | 10 +- jd_live.js | 8 +- jd_mh.js | 10 +- jd_moneyTree.js | 10 +- jd_ms.js | 10 +- jd_necklace.js | 8 +- jd_nh.js | 8 +- jd_nian.js | 8 +- jd_nianCollect.js | 8 +- jd_nian_ar.js | 8 +- jd_nian_sign.js | 8 +- jd_nian_wechat.js | 8 +- jd_pet.js | 10 +- jd_petTreasureBox.js | 6 +- jd_pigPet.js | 8 +- jd_plantBean.js | 10 +- jd_redPacket.js | 6 +- jd_sgmh.js | 10 +- jd_shop.js | 6 +- jd_small_home.js | 10 +- jd_speed.js | 10 +- jd_super_box.js | 10 +- jd_syj.js | 10 +- jd_unbind.js | 8 +- jd_unsubscribe.js | 8 +- jd_xg.js | 10 +- jx_sign.js | 8 +- lxk0301.boxjs.json | 114 +++++++------- update_list.sh | 4 +- update_task.sh | 18 +-- 87 files changed, 657 insertions(+), 670 deletions(-) rename jd_firecrackers.js => activity/jd_firecrackers.js (96%) diff --git a/JD_extra_cookie.js b/JD_extra_cookie.js index 891099cf..789f7a66 100644 --- a/JD_extra_cookie.js +++ b/JD_extra_cookie.js @@ -21,15 +21,15 @@ hostname = wq.jd.com ===================Quantumult X===================== [rewrite_local] # 获取多账号京东Cookie -https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js +https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js ===================Loon=================== [Script] -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js, tag=获取多账号京东Cookie ===================Surge=================== [Script] -获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js,script-update-interval=0 */ const APIKey = "CookiesJD"; diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 851f2cb3..9ed2cfa2 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -1,191 +1,185 @@ # IOS Loon Task&Cookies配置 By LXK9301 -# GitHub主页(https://github.com/LXK9301/jd_scripts) +# GitHub主页(https://gitee.com/lxk0301/jd_scripts/tree/master) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) -# Loon的Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf -# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) +# Loon的Task&Cookies脚本订阅链接: https://gitee.com/lxk0301/jd_scripts/raw/master/Loon/lxk0301_LoonTask.conf +# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://gitee.com/lxk0301/jd_scripts/raw/master/Loon/lxk0301_LoonTask.conf) hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# 获取多账号京东Cookie -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js, tag=获取多账号京东Cookie - # 京豆变动通知 -cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 +cron "2 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知 # 领京豆额外奖励 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励 # 东东超市兑换奖品 -cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=东东超市兑换奖品 +cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js,tag=东东超市兑换奖品 # 口袋书店 -cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 +cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 # 京东汽车 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 # 京东汽车兑换 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 # 签到领现金 -cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js,tag=签到领现金 +cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 # 摇京豆 -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 +cron "5 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js,tag=摇京豆 # 源头好物红包 -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js, tag=源头好物红包 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包 # crazyJoy任务 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js,tag=crazyJoy任务 # 天天提鹅 -cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js,tag=天天提鹅 +cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js,tag=天天提鹅 # 京喜工厂 -cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 +cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js,tag=京喜工厂 + +# 获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js, tag=获取多账号京东Cookie # 京东手机年终奖 -cron "15 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, tag=京东手机年终奖 - -# 集鞭炮赢京豆 -cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 +cron "15 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖 # 东东农场 -cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 +cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js,tag=东东农场 # 获取互助码 -cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码 +cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 # 京东神仙书院 -cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 # 京东神仙书院答题 -cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js,tag=京东神仙书院答题 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 # 东东工厂 -cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 +cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 # 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 # 宠汪汪🐕喂食 -cron "15 0-23/1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 +cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 -http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 # 宠汪汪积分兑换奖品 -cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 +cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 # 宠汪汪赛跑 -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 +cron "15 10 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 # 宠汪汪助力更新Token -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力更新Token +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力更新Token # 宠汪汪助力获取Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力获取Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力获取Token # 宠汪汪偷好友积分与狗粮 -cron "0 0-10/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 +cron "0 0-10/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 # 京喜农场 -cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js,tag=京喜农场 - -# 京喜农场cookie -http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js, requires-body=false, timeout=3600, tag=京喜农场cookie +cron "0 9,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js,tag=京喜农场 # 京东快递签到 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js, tag=京东快递签到 # 京东直播 -cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js,tag=京东直播 +cron "10-20/5 12 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js,tag=京东直播 # 盲盒抽京豆 -cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js,tag=盲盒抽京豆 +cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js,tag=盲盒抽京豆 # 京东摇钱树 -cron "3 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 +cron "3 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js,tag=京东摇钱树 # 京东秒秒币 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js,tag=京东秒秒币 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js,tag=京东秒秒币 # 点点券 -cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js,tag=点点券 +cron "10 0,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js,tag=点点券 # 京东年货节 -cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js,tag=京东年货节 +cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 # 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 - -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 # 京东炸年兽AR -cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR # 京东炸年兽签到任务🧨 -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 +cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 -cron "50 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 + +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 # 东东萌宠 -cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 +cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 # 聚宝盆投狗粮辅助 -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 # 金融养猪 -cron "12 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪 +cron "12 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪 # 京东种豆得豆 -cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 +cron "1 7-21/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js,tag=京东种豆得豆 # 京东全民开红包 -cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 +cron "1 1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js, tag=京东全民开红包 # 闪购盲盒 -cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js, tag=闪购盲盒 # 进店领豆 -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js,tag=进店领豆 # 东东小窝 -cron "16 22 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 +cron "16 22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝 # ✈️天天加速 -cron "8 0-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 - -# 东东超市 -cron "11 1-23/5 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js,tag=东东超市 +cron "8 0-23/3 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js,tag=京东天天加速 # 京东超级盒子 -cron "20 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js,tag=京东超级盒子 +cron "20 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js,tag=京东超级盒子 + +# 东东超市 +cron "11 1-23/5 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js,tag=东东超市 # 赚京豆 -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆 # 注销京东会员卡 -cron "55 23 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 +cron "55 23 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js,tag=注销京东会员卡 # 取关京东店铺和商品 -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 +cron "55 23 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js,tag=取关京东店铺商品 # 小鸽有礼 -cron "5 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js,tag=小鸽有礼 +cron "5 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js,tag=小鸽有礼 # 京喜签到 -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js,tag=京喜签到 +cron "5 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js,tag=京喜签到 # 小米运动 -cron "15 17 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 +cron "15 17 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, tag=小米运动 # 小米运动获取Token -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=3600, tag=小米运动获取Token +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, requires-body=true, timeout=3600, tag=小米运动获取Token diff --git a/QuantumultX/lxk0301_cookies.conf b/QuantumultX/lxk0301_cookies.conf index c5f36e8f..2e648010 100644 --- a/QuantumultX/lxk0301_cookies.conf +++ b/QuantumultX/lxk0301_cookies.conf @@ -1,22 +1,19 @@ hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com, wq.jd.com # 获取多账号京东Cookie -https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js +https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js # 宠汪汪强制为别人助力 -^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js +^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js # 宠汪汪赛跑 -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= url script-response-body https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js # 宠汪汪赛跑 -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js - -# 京喜农场 -^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js # 聚宝盆投狗粮辅助 -^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js +^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js # 小米运动 -^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 689722e8..a25bcc0d 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -1,60 +1,59 @@ { "name": "LXK9301 task gallery", - "description": "https://github.com/LXK9301/jd_scripts", + "description": "https://gitee.com/lxk0301/jd_scripts/tree/master", "task": [ - "2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", - "0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", - "1 8,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", - "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", - "2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", - "0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", - "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true", - "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true", - "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true", - "15 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", - "10 8,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", - "20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", - "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", - "15 0-23/1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", - "0 0-16/8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", - "15 10 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", - "0 0-10/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", - "0 9,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true", - "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true", - "10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js, tag=盲盒抽京豆, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_mh.jpg, enabled=true", - "3 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true", - "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true", - "10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", - "0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", - "12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", - "1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", - "1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", - "20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", - "16 22 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", - "8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", - "11 1-23/5 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", - "20 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js, tag=京东超级盒子, enabled=true", - "10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", - "55 23 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", - "55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "5 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js, tag=小鸽有礼, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_xg.jpg, enabled=true", - "5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true" + "2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", + "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", + "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true", + "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true", + "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true", + "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", + "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", + "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", + "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", + "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "0 9,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true", + "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true", + "10-20/5 12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js, tag=京东直播, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js, tag=盲盒抽京豆, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_mh.jpg, enabled=true", + "3 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true", + "10 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", + "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", + "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", + "1 1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", + "16 22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", + "8 0-23/3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", + "20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, enabled=true", + "11 1-23/5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", + "55 23 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", + "55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "5 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js, tag=小鸽有礼, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_xg.jpg, enabled=true", + "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "15 17 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true" ] } diff --git a/README.md b/README.md index 9d85a80b..79efb839 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ #### 说明 -1. 其中 [jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js) 可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) +1. 其中 [jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js) 可N个京东账号,Node.js专用,核心脚本是JD_DailyBonus.js, IOS软件用户请使用NobyDa的 [JD_DailyBonus.js](https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js) 2. 以字母排序。 @@ -32,75 +32,74 @@ | 文件 | 名称 | 活动入口 | | - | - | - | -|[jd_bean_change.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js)|京豆变动通知|| -|[jd_bean_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| -|[jd_bean_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| -|[jd_blueCoin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| -|[jd_bookshop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|[jd_car.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|[jd_car_exchange.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|[jd_cash.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| -|[jd_club_lottery.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|[jd_coupon.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|[jd_crazy_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|[jd_crazy_joy_coin.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|[jd_daily_egg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|[jd_dreamFactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| -|[jd_family.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|[jd_festival.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| -|[jd_firecrackers.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js)|集鞭炮赢京豆|京东APP首页-发现好货-悬浮窗领京豆| -|[jd_fruit.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| -|[jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|[jd_immortal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|[jd_immortal_answer.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|[jd_jdfactory.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| -|[jd_jdzz.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|[jd_joy.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|[jd_joy_feedPets.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|[jd_joy_help.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|[jd_joy_reward.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| -|[jd_joy_run.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| -|[jd_joy_steal.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| -|[jd_jxnc.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|[jd_kd.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| -|[jd_live.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js)|京东直播|京东APP首页-京东直播| -|[jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| -|[jd_mh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| -|[jd_moneyTree.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| -|[jd_ms.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| -|[jd_necklace.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|[jd_nh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|[jd_nian.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|[jd_nianCollect.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|[jd_nian_ar.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|[jd_nian_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|[jd_nian_wechat.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|[jd_pet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|[jd_petTreasureBox.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| -|[jd_pigPet.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|[jd_plantBean.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|[jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|[jd_redPacket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|[jd_sgmh.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|[jd_shop.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|[jd_small_home.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|[jd_speed.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|[jd_superMarket.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|[jd_super_box.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|[jd_syj.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|[jd_unbind.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js)|注销京东会员卡|| -|[jd_unsubscribe.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|[jd_xg.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|[jx_sign.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js)|京喜签到|| +|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| +|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| +|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| +|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| +|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| +|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| +|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| +|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| +|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| +|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| +|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| +|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| +|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| +|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| +|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| #### 搬运脚本 -1. 【 [@yangtingxiao](https://github.com/yangtingxiao) 】 京东抽奖机([jd_lotteryMachine.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_lotteryMachine.js)) +1. 【 [@yangtingxiao](https://github.com/yangtingxiao) 】 京东抽奖机([jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)) -2. 【 [@yangtingxiao](https://github.com/yangtingxiao) 】 京东排行榜([jd_rankingList.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_rankingList.js)) +2. 【 [@yangtingxiao](https://github.com/yangtingxiao) 】 京东排行榜([jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)) **脚本兼容: [QuantumultX](https://apps.apple.com/us/app/quantumult-x/id1443988620), [Surge](https://apps.apple.com/us/app/surge-4/id1442620678), [Loon](https://apps.apple.com/us/app/loon/id1373567447), 小火箭, JSBox, Node.js** @@ -108,7 +107,7 @@ - [邀请码互助入口](https://github.com/LXK9301/jd_scripts/discussions) -- [获取各类活动互助码脚本 jd_get_share_code.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js) +- [获取各类活动互助码脚本 jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js) - [邀请码使用规范](githubAction.md#互助码类环境变量)(仅限云端) @@ -130,19 +129,19 @@ ### 2. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) -##### BoxJs订阅地址:[lxk0301.boxjs.json](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/lxk0301.boxjs.json) +##### BoxJs订阅地址:[lxk0301.boxjs.json](https://gitee.com/lxk0301/jd_scripts/raw/master/lxk0301.boxjs.json) -##### 获取京东cookie [JD_extra_cookie.js](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js) +##### 获取京东cookie [JD_extra_cookie.js](https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js) ##### 订阅链接: -- Surge:Task&Cookies脚本模块地址: [lxk0301_Task.sgmodule.sgmodule](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule) +- Surge:Task&Cookies脚本模块地址: [lxk0301_Task.sgmodule.sgmodule](https://gitee.com/lxk0301/jd_scripts/raw/master/Surge/lxk0301_Task.sgmodule.sgmodule) -- Loon:Task&Cookies脚本订阅链接: [lxk0301_LoonTask.conf](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf) +- Loon:Task&Cookies脚本订阅链接: [lxk0301_LoonTask.conf](https://gitee.com/lxk0301/jd_scripts/raw/master/Loon/lxk0301_LoonTask.conf) -- QuantumultX Task脚本订阅链接: [lxk0301_gallery.json](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_gallery.json) +- QuantumultX Task脚本订阅链接: [lxk0301_gallery.json](https://gitee.com/lxk0301/jd_scripts/raw/master/QuantumultX/lxk0301_gallery.json) -- QuantumultX cookie脚本订阅链接: [lxk0301_cookies.conf](https://raw.githubusercontent.com/LXK9301/jd_scripts/master/QuantumultX/lxk0301_cookies.conf) +- QuantumultX cookie脚本订阅链接: [lxk0301_cookies.conf](https://gitee.com/lxk0301/jd_scripts/raw/master/QuantumultX/lxk0301_cookies.conf) ## 赞赏码(开发维护不易,请赏杯茶水费) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index a6736645..9dfc0532 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -2,73 +2,71 @@ #!desc=iOS Tasks&Cookies 模块配置 # Task&Cookies模块配置 By LXK9301 -# GitHub主页(https://github.com/LXK9301/jd_scripts) +# GitHub主页(https://gitee.com/lxk0301/jd_scripts/tree/master) # TG讨论组 (https://t.me/JD_fruit_pet) # TG通知频道 (https://t.me/jdfruit) -# Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule +# Surge的Task&Cookies脚本模块地址: https://gitee.com/lxk0301/jd_scripts/raw/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] -获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/JD_extra_cookie.js,script-update-interval=0 -京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js -领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js -东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js -口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js -签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js -摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js -源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js -crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js -天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js -京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js -京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js -集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js -东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js -获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js -京东神仙书院答题 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js -东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js -京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js -京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js -宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js -宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js -宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js -京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js -京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path= https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js -京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js -京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js -盲盒抽京豆 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js -京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js -京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js -点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js -京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js -京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js -京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js -东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js -聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js -京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js -京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js -京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js -闪购盲盒 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js -进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js -东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js -天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js -东东超市 = type=cron,cronexp="11 1-23/5 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js -京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js -赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js -注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js -取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js -小鸽有礼 = type=cron,cronexp="5 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js -京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js -小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js -小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js +领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js +东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js +口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js +签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js +摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js +源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js +crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js +天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js +京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js,script-update-interval=0 +京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js +东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js +获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js +京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js +京东神仙书院答题 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js +京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js +京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js +宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js +宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js +宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js +宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js +宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js +宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js +京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js +京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js +京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js +盲盒抽京豆 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js +京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js +京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js +点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js +京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js +京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js +京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js +聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js +京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js +京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js +京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js +闪购盲盒 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js +进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js +东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js +天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js +京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js +东东超市 = type=cron,cronexp="11 1-23/5 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js +赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js +注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js +取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js +小鸽有礼 = type=cron,cronexp="5 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js +京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js +小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js +小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js [MITM] hostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com, wq.jd.com diff --git a/activity/jd_818.js b/activity/jd_818.js index 969f7c3c..9d228e3c 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -22,12 +22,12 @@ // quantumultx [task_local] #京东手机狂欢城 -1 0-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js, tag=京东手机狂欢城, enabled=true +1 0-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城, enabled=true // Loon [Script] -cron "1 0-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js,tag=京东手机狂欢城 +cron "1 0-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js,tag=京东手机狂欢城 // Surge -京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_818.js +京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js */ const $ = new Env('京东手机狂欢城'); diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js index 95446f9b..2fd724fd 100644 --- a/activity/jd_apple_live.js +++ b/activity/jd_apple_live.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #苹果抽奖机 -10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js, tag=苹果抽奖机, enabled=true +10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_apple_live.js, tag=苹果抽奖机, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js,tag=苹果抽奖机 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_apple_live.js,tag=苹果抽奖机 ===============Surge================= -苹果抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js +苹果抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_apple_live.js ============小火箭========= -苹果抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_apple_live.js, cronexpr="10 0 * * *", timeout=3600, enable=true +苹果抽奖机 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_apple_live.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('苹果抽奖机'); diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js index fc097e6e..7f2b96b1 100644 --- a/activity/jd_digital_floor.js +++ b/activity/jd_digital_floor.js @@ -4,23 +4,23 @@ 共计25京豆,一天运行一次即可 活动时间:2020-12-4 到 2020-12-11 活动入口:https://prodev.m.jd.com/mall/active/nKxVyPnuLwAsQSTfidZ9z4RKVZy/index.html#/ -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_digital_floor.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #数码加购京豆 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js, tag=数码加购京豆 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_digital_floor.js, tag=数码加购京豆 ===============Surge================= -数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js +数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_digital_floor.js ============小火箭========= -数码加购京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_digital_floor.js, cronexpr="10 7 * * *", timeout=3600, enable=true +数码加购京豆 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_digital_floor.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('数码加购京豆'); diff --git a/activity/jd_ds.js b/activity/jd_ds.js index c6354377..9e64a7a1 100644 --- a/activity/jd_ds.js +++ b/activity/jd_ds.js @@ -8,24 +8,24 @@ 京东代属脚本,类似十元街,⚠️⚠️⚠️⚠️限校园用户可使用,其他用户签到失败无京豆 一周签到下来可获得30京豆,一天任意时刻运行一次即可 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ds.js 参考github@jidesheng6修改而来 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东代属 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, tag=京东代属 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ds.js, tag=京东代属 ===============Surge================= -京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js +京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ds.js ============小火箭========= -京东代属 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ds.js, cronexpr="10 7 * * *", timeout=3600, enable=true +京东代属 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ds.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('京东代属'); diff --git a/jd_firecrackers.js b/activity/jd_firecrackers.js similarity index 96% rename from jd_firecrackers.js rename to activity/jd_firecrackers.js index 6c8430c1..c258b5ef 100644 --- a/jd_firecrackers.js +++ b/activity/jd_firecrackers.js @@ -13,17 +13,17 @@ ============Quantumultx=============== [task_local] #集鞭炮赢京豆 -10 8,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +10 8,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "10 8,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js,tag=集鞭炮赢京豆 +cron "10 8,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_firecrackers.js,tag=集鞭炮赢京豆 ===============Surge================= -集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js +集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_firecrackers.js ============小火箭========= -集鞭炮赢京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_firecrackers.js, cronexpr="10 8,21 * * *", timeout=3600, enable=true +集鞭炮赢京豆 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_firecrackers.js, cronexpr="10 8,21 * * *", timeout=3600, enable=true */ const $ = new Env('集鞭炮赢京豆'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/activity/jd_health.js b/activity/jd_health.js index 6259c081..afce7df1 100644 --- a/activity/jd_health.js +++ b/activity/jd_health.js @@ -7,17 +7,17 @@ ============Quantumultx=============== [task_local] #健康抽奖机 -10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js, tag=健康抽奖机, enabled=true +10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_health.js, tag=健康抽奖机, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js,tag=健康抽奖机 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_health.js,tag=健康抽奖机 ===============Surge================= -健康抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js +健康抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_health.js ============小火箭========= -健康抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_health.js, cronexpr="10 0 * * *", timeout=3600, enable=true +健康抽奖机 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_health.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('健康抽奖机'); diff --git a/activity/jd_jdh.js b/activity/jd_jdh.js index 28389705..9ee8c647 100644 --- a/activity/jd_jdh.js +++ b/activity/jd_jdh.js @@ -6,17 +6,17 @@ ============Quantumultx=============== [task_local] #京东健康 -10 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png, enabled=true +10 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js,tag=京东健康 +cron "10 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdh.js,tag=京东健康 ===============Surge================= -京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js +京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdh.js ============小火箭========= -京东健康 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdh.js, cronexpr="10 8 * * *", timeout=3600, enable=true +京东健康 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdh.js, cronexpr="10 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东健康'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js index f762ffcf..5dbf7600 100644 --- a/activity/jd_jxstory.js +++ b/activity/jd_jxstory.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京喜故事 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js, tag=京喜故事, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxstory.js, tag=京喜故事, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js,tag=京喜故事 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxstory.js,tag=京喜故事 ===============Surge================= -京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js +京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxstory.js ============小火箭========= -京喜故事 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=3600, enable=true +京喜故事 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxstory.js, cronexpr="10 * * * *", timeout=3600, enable=true */ diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js index 0ae4d67d..8fddefb0 100644 --- a/activity/jd_live_redrain.js +++ b/activity/jd_live_redrain.js @@ -2,23 +2,23 @@ 直播红包雨 每天0,9,11,13,15,17,19,20,21,23可领,每日上限未知 活动时间:2020-12-14 到 2020-12-31 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +0 0,9,11,13,15,17,19,20,21,23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, tag=直播红包雨 +cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js +直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live_redrain.js ============小火箭========= -直播红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=3600, enable=true +直播红包雨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 = { diff --git a/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js index fb8986d9..34f89cf8 100644 --- a/activity/jd_live_redrain2.js +++ b/activity/jd_live_redrain2.js @@ -2,23 +2,23 @@ 超级直播间红包雨 每天20-23半点可领,每日上限未知 活动时间:活动时间未知 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live_redrain2.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #超级直播间红包雨 -30 20-23/1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +30 20-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js, tag=超级直播间红包雨 +cron "30 20-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live_redrain2.js, tag=超级直播间红包雨 ===============Surge================= -超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js +超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live_redrain2.js ============小火箭========= -超级直播间红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live_redrain2.js, cronexpr="30 20-23/1 * * *", timeout=3600, enable=true +超级直播间红包雨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live_redrain2.js, cronexpr="30 20-23/1 * * *", timeout=3600, enable=true */ const $ = new Env('超级直播间红包雨'); diff --git a/activity/jd_mohe.js b/activity/jd_mohe.js index 0684cbb3..dbbe0ebe 100644 --- a/activity/jd_mohe.js +++ b/activity/jd_mohe.js @@ -8,12 +8,12 @@ // quantumultx [task_local] #热8超级盲盒 -1 0,1-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js, tag=热8超级盲盒, enabled=true +1 0,1-23/3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mohe.js, tag=热8超级盲盒, enabled=true // Loon [Script] -cron "1 0,1-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js,tag=热8超级盲盒 +cron "1 0,1-23/3 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mohe.js,tag=热8超级盲盒 // Surge -热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mohe.js +热8超级盲盒 = type=cron,cronexp=1 0,1-23/3 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mohe.js */ const $ = new Env('热8超级盲盒'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/activity/jd_ms_redrain.js b/activity/jd_ms_redrain.js index 14137979..4f98f32a 100644 --- a/activity/jd_ms_redrain.js +++ b/activity/jd_ms_redrain.js @@ -2,23 +2,23 @@ 秒杀红包雨,可以获取3次,一天运行一次即可 活动时间:2020-12-1 到 2020-12-31 活动入口:首页👉秒杀👉往下拉(手指向上滑动)👉可以看到狂撒2亿京东 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms_redrain.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #秒杀红包雨 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, tag=秒杀红包雨 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms_redrain.js, tag=秒杀红包雨 ===============Surge================= -秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js +秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms_redrain.js ============小火箭========= -秒杀红包雨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=3600, enable=true +秒杀红包雨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('秒杀红包雨'); diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js index d9a92c95..129a782b 100644 --- a/activity/jd_pubg.js +++ b/activity/jd_pubg.js @@ -8,17 +8,17 @@ PUBG ,运行时间会比较久,Surge请加大timeout时间 ============Quantumultx=============== [task_local] #PUBG -10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js, tag=PUBG, enabled=true +10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pubg.js, tag=PUBG, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js,tag=PUBG +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pubg.js,tag=PUBG ===============Surge================= -PUBG = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js +PUBG = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pubg.js ============小火箭========= -PUBG = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pubg.js, cronexpr="10 0 * * *", timeout=3600, enable=true +PUBG = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pubg.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('PUBG'); !function(n) { diff --git a/activity/jd_split.js b/activity/jd_split.js index 4e3defa0..aa2f2e60 100644 --- a/activity/jd_split.js +++ b/activity/jd_split.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #金榜年终奖 -10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js, tag=年终奖, enabled=true +10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_split.js, tag=年终奖, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js,tag=年终奖 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_split.js,tag=年终奖 ===============Surge================= -金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js +金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_split.js ============小火箭========= -金榜年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_split.js, cronexpr="10 0 * * *", timeout=3600, enable=true +金榜年终奖 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_split.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('金榜年终奖'); diff --git a/activity/jd_watch.js b/activity/jd_watch.js index 829f1a33..20b72d5f 100644 --- a/activity/jd_watch.js +++ b/activity/jd_watch.js @@ -11,17 +11,17 @@ ============Quantumultx=============== [task_local] #京东看一看 -10 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js, tag=京东看一看, enabled=true +10 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_watch.js, tag=京东看一看, enabled=true ================Loon============== [Script] -cron "10 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js,tag=京东看一看 +cron "10 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_watch.js,tag=京东看一看 ===============Surge================= -京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js +京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_watch.js ============小火箭========= -京东看一看 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_watch.js, cronexpr="10 9 * * *", timeout=3600, enable=true +京东看一看 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_watch.js, cronexpr="10 9 * * *", timeout=3600, enable=true */ const $ = new Env('京东看一看'); let acceptBody = [ diff --git a/activity/jd_xtg.js b/activity/jd_xtg.js index 457d428d..f13d5fd1 100644 --- a/activity/jd_xtg.js +++ b/activity/jd_xtg.js @@ -5,7 +5,7 @@ * @Last Modified time: 2020-11-05 00:35:04 */ /** - 星推官脚本 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js + 星推官脚本 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xtg.js 星推官活动地址:https://prodev.m.jd.com/mall/active/3gSzKSnvrrhYushciUpzHcDnkYE3/index.html 活动时间:2020年10月21日 00:00:00-2020年11月11日 23:59:59 京豆先到先得!!!!!!!!!!! @@ -17,12 +17,12 @@ // quantumultx [task_local] #京东星推官 - 2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js, tag=京东星推官, enabled=true + 2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xtg.js, tag=京东星推官, enabled=true // Loon [Script] - cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js,tag=京东星推官 + cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xtg.js,tag=京东星推官 // Surge - 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xtg.js + 京东星推官 = type=cron,cronexp=2 0 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xtg.js */ const $ = new Env('京东星推官'); const activeEndTime = '2020/11/11 23:59:59+08:00';//活动结束时间 diff --git a/activity/jr_sign.js b/activity/jr_sign.js index a3ebde39..a55fc185 100644 --- a/activity/jr_sign.js +++ b/activity/jr_sign.js @@ -1,23 +1,23 @@ /* 金融打卡领年终奖 活动时间:2020-12-8 到 2020-12-31 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jr_sign.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #金融打卡领年终奖 -10 6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +10 6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, tag=金融打卡领年终奖 +cron "10 6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jr_sign.js, tag=金融打卡领年终奖 ===============Surge================= -金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js +金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jr_sign.js ============小火箭========= -金融打卡领年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jr_sign.js, cronexpr="10 6 * * *", timeout=3600, enable=true +金融打卡领年终奖 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jr_sign.js, cronexpr="10 6 * * *", timeout=3600, enable=true */ const $ = new Env('金融打卡领年终奖'); diff --git a/backUp/jd_Goods.js b/backUp/jd_Goods.js index 60d6c6ea..16f5b636 100644 --- a/backUp/jd_Goods.js +++ b/backUp/jd_Goods.js @@ -1,5 +1,5 @@ // 半自动提醒心愿单50京豆。 -// 15 */4 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/jd_Goods.js +// 15 */4 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/jd_Goods.js const $ = new Env('心愿单50京豆'); diff --git a/backUp/jd_fruit_double.js b/backUp/jd_fruit_double.js index 997582d2..de2e3962 100644 --- a/backUp/jd_fruit_double.js +++ b/backUp/jd_fruit_double.js @@ -5,12 +5,12 @@ jd免费水果 搬的https://github.com/liuxiaoyucc/jd-helper/blob/a6f275d978574 // quantumultx [task_local] #jd免费水果 -5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/znz1992/Gallery/master/jdsg.png, enabled=true +5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/znz1992/Gallery/master/jdsg.png, enabled=true // Loon [Script] -cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 +cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js,tag=东东农场 // Surge -// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +// 宠汪汪偷好友积分与狗粮 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js 互助码shareCode请先手动运行脚本查看打印可看到 一天只能帮助4个人。多出的助力码无效 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save diff --git a/backUp/jd_joy2.js b/backUp/jd_joy2.js index cca550f5..30790450 100644 --- a/backUp/jd_joy2.js +++ b/backUp/jd_joy2.js @@ -9,10 +9,10 @@ Combine from Zero-S1/JD_tools(https://github.com/Zero-S1/JD_tools) // quantumultx // [task_local] // #京东宠汪汪 -// 15 1,2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/znz1992/Gallery/master/jdww.png, enabled=true +// 15 1,2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/znz1992/Gallery/master/jdww.png, enabled=true // Loon // [Script] -// cron "15 1,2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 +// cron "15 1,2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 const name = '京东宠汪汪'; const $ = new Env(name); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/backUp/jd_plantBean_double.js b/backUp/jd_plantBean_double.js index fa5890b0..7894c513 100644 --- a/backUp/jd_plantBean_double.js +++ b/backUp/jd_plantBean_double.js @@ -7,12 +7,12 @@ 互助码shareCode请先手动运行脚本查看打印可看到 // quantumultx [task_local] -1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true +1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true // Loon [Script] -cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 +cron "1 7-21/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js,tag=京东种豆得豆 // Surge -// 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +// 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js 一天只能帮助3个人。多出的助力码无效 注:如果使用Node.js, 需自行安装'crypto-js,got,http-server,tough-cookie'模块. 例: npm install crypto-js http-server tough-cookie got --save */ diff --git a/backUp/xmSports.js b/backUp/xmSports.js index 62c3299e..a1e3505e 100644 --- a/backUp/xmSports.js +++ b/backUp/xmSports.js @@ -14,19 +14,19 @@ APP Store下载小米运动APP hostname = account.huami.com Surge [Script] -小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js -小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js +小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js 圈X [task_local] # 小米运动 -15 17 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true +15 17 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true [rewrite_local] # 小米运动获取Token -^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js +^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js Loon [Script] -cron "15 17 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, tag=小米运动 -http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js, requires-body=true, timeout=3600, tag=小米运动获取Token +cron "15 17 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, tag=小米运动 +http-response ^https:\/\/account\.huami\.com\/v2\/client\/login script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, requires-body=true, timeout=3600, tag=小米运动获取Token */ const $ = new Env('小米运动'); diff --git a/backUp/xmly_speed_ccokie.js b/backUp/xmly_speed_ccokie.js index 687ef3a7..d62f1881 100644 --- a/backUp/xmly_speed_ccokie.js +++ b/backUp/xmly_speed_ccokie.js @@ -5,14 +5,14 @@ [MITM] hostname = m.ximalaya.com Surge - 喜马拉雅极速版Cookie = type=http-request,pattern=https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmly_speed_ccokie.js + 喜马拉雅极速版Cookie = type=http-request,pattern=https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmly_speed_ccokie.js Loon: - http-request https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmly_speed_ccokie.js + http-request https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmly_speed_ccokie.js , requires-body=true, timeout=3600, tag=喜马拉雅极速版Cookie QX: [rewrite_local] # 喜马拉雅极速版Cookie - https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmly_speed_ccokie.js + https:\/\/m\.ximalaya\.com\/speed\/task-center\/account\/coin url script-request-header https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmly_speed_ccokie.js */ const $ = new Env('喜马拉雅极速版获取cookie') diff --git a/index.js b/index.js index 1e4ac780..02ee6309 100644 --- a/index.js +++ b/index.js @@ -16,7 +16,7 @@ exports.main_handler = async (event, context, callback) => { //}) //3.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数不推荐) - request('https://raw.githubusercontent.com/LXK9301/jd_scripts/master/' + v + '.js', function (error, response, body) { + request('https://gitee.com/lxk0301/jd_scripts/raw/master/' + v + '.js', function (error, response, body) { eval(response.body) }) } diff --git a/jd_bean_change.js b/jd_bean_change.js index 495302db..c2a1d2d1 100644 --- a/jd_bean_change.js +++ b/jd_bean_change.js @@ -5,7 +5,7 @@ * @Last Modified time: 2020-12-22 10:25:41 */ /* -京豆变动通知脚本:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js +京豆变动通知脚本:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js 统计昨日京豆的变化情况,包括收入,支出,以及显示当前京豆数量,目前小问题:下单使用京豆后,退款重新购买会出现异常 网页查看地址 : https://bean.m.jd.com/bean/signIndex.actionbeanDetail/index.action?resourceValue=bean 支持京东双账号 @@ -13,16 +13,16 @@ ============QuantumultX============== [task_local] #京豆变动通知 -2 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon=============== [Script] -cron "2 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, tag=京豆变动通知 +cron "2 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知 =============Surge=========== [Script] -京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js +京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js ============小火箭========= -京豆变动通知 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_change.js, cronexpr="2 9 * * *", timeout=3600, enable=true +京豆变动通知 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, cronexpr="2 9 * * *", timeout=3600, enable=true */ const $ = new Env('京豆变动通知'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_bean_home.js b/jd_bean_home.js index 63904e78..11401989 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -2,23 +2,23 @@ 领京豆额外奖励&抢京豆 脚本自带助力码,介意者可将 29行 helpAuthor 变量设置为 false 活动入口:京东APP首页-领京豆 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #领京豆额外奖励 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, tag=领京豆额外奖励 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励 ===============Surge================= -领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js +领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js ============小火箭========= -领京豆额外奖励 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bean_home.js, cronexpr="10 7 * * *", timeout=3600, enable=true +领京豆额外奖励 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('领京豆额外奖励'); diff --git a/jd_blueCoin.js b/jd_blueCoin.js index 4a184753..d5f7f905 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -1,5 +1,5 @@ /* -东东超市兑换奖品 脚本地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js +东东超市兑换奖品 脚本地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 感谢@yangtingxiao提供PR 更新时间:2020-12-24 活动入口:京东APP我的-更多工具-东东超市 @@ -8,17 +8,17 @@ ============QuantumultX============== [task_local] #东东超市兑换奖品 -0 0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true +0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true ====================Loon================= [Script] -cron "0 0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js,tag=东东超市兑换奖品 +cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js,tag=东东超市兑换奖品 ===================Surge================== -东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js +东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js ============小火箭========= -东东超市兑换奖品 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js, cronexpr="0 0 0 * * *", timeout=3600, enable=true +东东超市兑换奖品 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, cronexpr="0 0 0 * * *", timeout=3600, enable=true */ const $ = new Env('东东超市兑换奖品'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_bookshop.js b/jd_bookshop.js index 0385becf..417391d8 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -6,17 +6,17 @@ ============Quantumultx=============== [task_local] #口袋书店 -1 8,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "1 8,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js,tag=口袋书店 +cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 ===============Surge================= -口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js +口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js ============小火箭========= -口袋书店 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_bookshop.js, cronexpr="1 8,12,18* * *", timeout=3600, enable=true +口袋书店 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, cronexpr="1 8,12,18* * *", timeout=3600, enable=true */ const $ = new Env('口袋书店'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_car.js b/jd_car.js index 132ade0b..5c0317a4 100644 --- a/jd_car.js +++ b/jd_car.js @@ -2,23 +2,23 @@ 京东汽车,签到满500赛点可兑换500京豆,一天运行一次即可 长期活动 活动入口:京东APP首页-京东汽车-屏幕右中部,车主福利 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东汽车 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, tag=京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 ===============Surge================= -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js ============小火箭========= -京东汽车 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car.js, cronexpr="10 7 * * *", timeout=3600, enable=true +京东汽车 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('京东汽车'); diff --git a/jd_car_exchange.js b/jd_car_exchange.js index 99731961..9352fa9d 100644 --- a/jd_car_exchange.js +++ b/jd_car_exchange.js @@ -5,24 +5,24 @@ 活动入口:京东APP首页-京东汽车-屏幕右中部,车主福利 活动网页地址:https://h5.m.jd.com/babelDiy/Zeus/44bjzCpzH9GpspWeBzYSqBA7jEtP/index.html#/journey -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange 已支持IOS, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东汽车兑换 -0 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true ================Loon============== [Script] -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, tag=京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 ===============Surge================= -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js ============小火箭========= -京东汽车兑换 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_car_exchange.js, cronexpr="0 0 * * *", timeout=3600, enable=true +京东汽车兑换 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, cronexpr="0 0 * * *", timeout=3600, enable=true */ const $ = new Env('京东汽车兑换'); diff --git a/jd_cash.js b/jd_cash.js index b10cce39..4260ec90 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -7,17 +7,17 @@ ============Quantumultx=============== [task_local] #签到领现金 -2 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "2 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js,tag=签到领现金 +cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 ===============Surge================= -签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js +签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js ============小火箭========= -签到领现金 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_cash.js, cronexpr="2 0 * * *", timeout=3600, enable=true +签到领现金 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, cronexpr="2 0 * * *", timeout=3600, enable=true */ const $ = new Env('签到领现金'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_club_lottery.js b/jd_club_lottery.js index b343e936..ec822c1b 100644 --- a/jd_club_lottery.js +++ b/jd_club_lottery.js @@ -13,16 +13,16 @@ Modified from https://github.com/Zero-S1/JD_tools/blob/master/JD_vvipclub.py ============QuantumultX============== [task_local] #摇京豆 -5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true +5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true =================Loon=============== [Script] -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js,tag=摇京豆 +cron "5 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js,tag=摇京豆 =================Surge============== [Script] -摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js +摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js ============小火箭========= -摇京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_club_lottery.js, cronexpr="5 0 * * *", timeout=3600, enable=true +摇京豆 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, cronexpr="5 0 * * *", timeout=3600, enable=true */ const $ = new Env('摇京豆'); diff --git a/jd_coupon.js b/jd_coupon.js index 08d7932c..e26a0508 100644 --- a/jd_coupon.js +++ b/jd_coupon.js @@ -1,24 +1,24 @@ /* 源头好物红包 活动时间:未知 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true +0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js, tag=源头好物红包 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包 ===============Surge================= -源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js +源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js ============小火箭========= -源头好物红包 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_coupon.js, cronexpr="0 0 * * *", timeout=3600, enable=true +源头好物红包 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, cronexpr="0 0 * * *", timeout=3600, enable=true */ const $ = new Env('源头好物红包'); diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 31b67187..a2f92c23 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -9,17 +9,17 @@ crazyJoy任务 ============Quantumultx=============== [task_local] #crazyJoy任务 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js,tag=crazyJoy任务 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js,tag=crazyJoy任务 ===============Surge================= -crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js +crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js ============小火箭========= -crazyJoy任务 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy.js, cronexpr="10 7 * * *", timeout=3600, enable=true +crazyJoy任务 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index a2ecaa08..a5498160 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -3,7 +3,7 @@ crazy joy 挂机领金币/宝箱专用 活动入口:京东APP我的-更多工具-疯狂的JOY ⚠️建议云端使用。手机端不建议使用(会一直跑下去,永不停止) -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_crazy_joy_coin.js +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js */ diff --git a/jd_daily_egg.js b/jd_daily_egg.js index 7b93ce8f..5507ad3c 100644 --- a/jd_daily_egg.js +++ b/jd_daily_egg.js @@ -13,17 +13,17 @@ TODO ============Quantumultx=============== [task_local] #天天提鹅 -10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true +10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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/LXK9301/jd_scripts/master/jd_daily_egg.js,tag=天天提鹅 +cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js,tag=天天提鹅 ===============Surge================= -天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js +天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js ============小火箭========= -天天提鹅 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_daily_egg.js, cronexpr="10 * * * *", timeout=3600, enable=true +天天提鹅 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js, cronexpr="10 * * * *", timeout=3600, enable=true */ const $ = new Env('天天提鹅'); let cookiesArr = [], cookie = ''; diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 7243583a..bf596c53 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京喜工厂 -10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true +10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true ================Loon============== [Script] -cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js,tag=京喜工厂 +cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js,tag=京喜工厂 ===============Surge================= -京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js +京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js ============小火箭========= -京喜工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=3600, enable=true +京喜工厂 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, cronexpr="10 * * * *", timeout=3600, enable=true */ // prettier-ignore diff --git a/jd_festival.js b/jd_festival.js index 3311ec44..4ad4428a 100644 --- a/jd_festival.js +++ b/jd_festival.js @@ -1,24 +1,24 @@ /* 京东手机年终奖 活动时间:2021年1月26日~2021年2月8日 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 活动入口:https://shopping-festival.m.jd.com 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东手机年终奖 -15 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true +15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true ================Loon============== [Script] -cron "15 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, tag=京东手机年终奖 +cron "15 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖 ===============Surge================= -京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js +京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js ============小火箭========= -京东手机年终奖 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_festival.js, cronexpr="15 0 * * *", timeout=3600, enable=true +京东手机年终奖 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, cronexpr="15 0 * * *", timeout=3600, enable=true */ const $ = new Env('京东手机年终奖'); diff --git a/jd_fruit.js b/jd_fruit.js index 0164570e..55b32c2f 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -1,5 +1,5 @@ /* -东东水果:脚本更新地址 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js +东东水果:脚本更新地址 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 更新时间:2021-1-9 活动入口:京东APP我的-更多工具-东东农场 东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html @@ -10,16 +10,16 @@ ==========================Quantumultx========================= [task_local] #jd免费水果 -5 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true +5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true =========================Loon============================= [Script] -cron "5 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js,tag=东东农场 +cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js,tag=东东农场 =========================Surge============================ -东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js +东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js =========================小火箭=========================== -东东农场 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js, cronexpr="5 6-18/6 * * *", timeout=3600, enable=true +东东农场 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, cronexpr="5 6-18/6 * * *", timeout=3600, enable=true jd免费水果 搬的https://github.com/liuxiaoyucc/jd-helper/blob/a6f275d9785748014fc6cca821e58427162e9336/fruit/fruit.js */ diff --git a/jd_get_share_code.js b/jd_get_share_code.js index ad196447..a2b8e2b9 100644 --- a/jd_get_share_code.js +++ b/jd_get_share_code.js @@ -2,23 +2,23 @@ 一键获取我仓库所有需要互助类脚本的互助码(邀请码)(其中京东赚赚jd_jdzz.js如果今天达到5人助力则不能提取互助码) 没必要设置(cron)定时执行,需要的时候,自己手动执行一次即可 注:临时活动的互助码不添加到此处,如有需要请手动运行对应临时活动脚本 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #获取互助码 -20 13 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "20 13 * * 6" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, tag=获取互助码 +cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 ===============Surge================= -获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js +获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js ============小火箭========= -获取互助码 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_get_share_code.js, cronexpr="20 13 * * 6", timeout=3600, enable=true +获取互助码 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, cronexpr="20 13 * * 6", timeout=3600, enable=true */ const $ = new Env("获取互助码"); const JD_API_HOST = "https://api.m.jd.com/client.action"; diff --git a/jd_immortal.js b/jd_immortal.js index 72d02a00..94d5debe 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -13,17 +13,17 @@ boxjs IMMORTAL_LATLON ============Quantumultx=============== [task_local] #京东神仙书院 -20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js,tag=京东神仙书院 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 ===============Surge================= -京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js +京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js ============小火箭========= -京东神仙书院 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js, cronexpr="20 8 * * *", timeout=3600, enable=true +京东神仙书院 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, cronexpr="20 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东神仙书院'); diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index d5b90396..eb18eec7 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京东神仙书院答题 -20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js,tag=京东神仙书院答题 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 ===============Surge================= -京东神仙书院答题 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js +京东神仙书院答题 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js ============小火箭========= -京东神仙书院答题 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal_answer.js, cronexpr="20 8 * * *", timeout=3600, enable=true +京东神仙书院答题 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, cronexpr="20 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东神仙书院答题'); diff --git a/jd_jdfactory.js b/jd_jdfactory.js index 840f301f..445671ca 100644 --- a/jd_jdfactory.js +++ b/jd_jdfactory.js @@ -17,17 +17,17 @@ ============Quantumultx=============== [task_local] #东东工厂 -10 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true +10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true ================Loon============== [Script] -cron "10 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js,tag=东东工厂 +cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 ===============Surge================= -东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js +东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js ============小火箭========= -东东工厂 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js, cronexpr="10 * * * *", timeout=3600, enable=true +东东工厂 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, cronexpr="10 * * * *", timeout=3600, enable=true */ const $ = new Env('东东工厂'); diff --git a/jd_jdzz.js b/jd_jdzz.js index 57d7b7cb..22a922e2 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] # 京东赚赚 -10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true +10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js,tag=京东赚赚 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 ===============Surge================= -京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js +京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js ============小火箭========= -京东赚赚 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdzz.js, cronexpr="10 0 * * *", timeout=3600, enable=true +京东赚赚 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('京东赚赚'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_joy.js b/jd_joy.js index bb765222..8ae71195 100644 --- a/jd_joy.js +++ b/jd_joy.js @@ -11,18 +11,18 @@ Combine from Zero-S1/JD_tools(https://github.com/Zero-S1/JD_tools) ==========Quantumult X========== [task_local] #京东宠汪汪 -15 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true ============Loon=========== [Script] -cron "15 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js,tag=京东宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 ============Surge========== [Script] -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js ===============小火箭========== -京东宠汪汪 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js, cronexpr="15 0-23/2 * * *", timeout=3600, enable=true +京东宠汪汪 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, cronexpr="15 0-23/2 * * *", timeout=3600, enable=true */ const $ = new Env('宠汪汪'); diff --git a/jd_joy_feedPets.js b/jd_joy_feedPets.js index e088d1b5..5ecd970b 100644 --- a/jd_joy_feedPets.js +++ b/jd_joy_feedPets.js @@ -7,18 +7,18 @@ ==============Quantumult X============== [task_local] #京东宠汪汪喂食 -15 0-23/1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true ==============Loon=============== [Script] -cron "15 0-23/1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 +cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 =========Surge============= [Script] -京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js +京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js ===============小火箭========== -京东宠汪汪喂食 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_feedPets.js, cronexpr="15 0-23/1 * * *", timeout=3600, enable=true +京东宠汪汪喂食 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, cronexpr="15 0-23/1 * * *", timeout=3600, enable=true */ diff --git a/jd_joy_help.js b/jd_joy_help.js index 56e52f8e..f1aafa8f 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -1,6 +1,6 @@ /* 宠汪汪强制为别人助力(助力一个好友你自己可以获得30积分,一天上限是帮助3个好友,自己获得90积分,不管助力是否成功,对方都会成为你的好友) -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js 更新时间:2021-1-21 活动入口:京东APP我的-更多工具-宠汪汪 目前提供了304位好友的friendPin供使用。脚本随机从里面获取一个,助力成功后,退出小程序重新点击进去开始助力新的好友 @@ -17,15 +17,15 @@ new Env('宠汪汪强制为别人助力');//此处忽略即可,为自动生成 hostname = draw.jdfcloud.com ======================Surge===================== [Script] -宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js +宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js ===================Quantumult X===================== [rewrite_local] -^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js +^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin url script-request-header https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js =====================Loon===================== [Script] -http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 你也可从下面链接拿好友的friendPin(复制链接到有京东ck的浏览器打开即可) diff --git a/jd_joy_reward.js b/jd_joy_reward.js index 2473e4d6..965c0375 100644 --- a/jd_joy_reward.js +++ b/jd_joy_reward.js @@ -10,17 +10,17 @@ ==============Quantumult X============== [task_local] #宠汪汪积分兑换奖品 -0 0-16/8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true ==============Loon============== [Script] -cron "0 0-16/8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 +cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 ================Surge=============== -宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js +宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js ===============小火箭========== -宠汪汪积分兑换奖品 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js, cronexpr="0 0-16/8 * * *", timeout=3600, enable=true +宠汪汪积分兑换奖品 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, cronexpr="0 0-16/8 * * *", timeout=3600, enable=true */ const $ = new Env('宠汪汪积分兑换奖品'); let joyRewardName = 20;//是否兑换京豆,默认开启兑换功能,其中20为兑换20京豆,500为兑换500京豆,0为不兑换京豆.数量有限先到先得 diff --git a/jd_joy_run.js b/jd_joy_run.js index 8c41754f..46248f6e 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -14,25 +14,25 @@ hostname = draw.jdfcloud.com ===========Surge================= [Script] -宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js -宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js +宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js +宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js +宠汪汪助力获取Token = type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js ===================Quantumult X===================== [task_local] # 宠汪汪邀请助力与赛跑助力 -15 10 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true [rewrite_local] # 宠汪汪助力更新Token -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= url script-response-body https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js # 宠汪汪助力获取Token -^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js +^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js =====================Loon===================== [Script] -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 -http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力更新Token -http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力获取Token +cron "15 10 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力 +http-response ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code= script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力更新Token +http-request ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, requires-body=true, timeout=3600, tag=宠汪汪助力获取Token **/ const isRequest = typeof $request != "undefined" const $ = new Env('宠汪汪赛跑'); diff --git a/jd_joy_steal.js b/jd_joy_steal.js index fe968190..2918c0f2 100644 --- a/jd_joy_steal.js +++ b/jd_joy_steal.js @@ -15,17 +15,17 @@ IOS用户支持京东双账号,NodeJs用户支持N个京东账号 ==========Quantumult X========== [task_local] #宠汪汪偷好友积分与狗粮 -0 0-10/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true +0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true =======Loon======== [Script] -cron "0 0-10/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 +cron "0 0-10/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js,tag=宠汪汪偷好友积分与狗粮 ========Surge========== -宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js +宠汪汪偷好友积分与狗粮 = type=cron,cronexp="0 0-10/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js =======小火箭===== -宠汪汪偷好友积分与狗粮 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_steal.js, cronexpr="0 0-10/2 * * *", timeout=3600, enable=true +宠汪汪偷好友积分与狗粮 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, cronexpr="0 0-10/2 * * *", timeout=3600, enable=true */ const $ = new Env('宠汪汪偷好友积分与狗粮'); diff --git a/jd_jxnc.js b/jd_jxnc.js index 431b2b73..36bd2854 100644 --- a/jd_jxnc.js +++ b/jd_jxnc.js @@ -3,7 +3,7 @@ 本脚本搬运自 https://github.com/whyour/hundun/blob/master/quanx/jx_nc.js 感谢 @whyour 大佬 -京喜农场:脚本更新地址 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js +京喜农场:脚本更新地址 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js 更新时间:2021-01-10 22:47:51 活动入口:京喜APP我的-京喜农场 东东农场活动链接:https://wqsh.jd.com/sns/201912/12/jxnc/detail.html?ptag=7155.9.32&smp=b47f4790d7b2a024e75279f55f6249b9&active=jdnc_1_chelizi1205_2 @@ -15,21 +15,21 @@ hostname = wq.jd.com ==========================Quantumultx========================= [task_local] -0 9,12,18 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true +0 9,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true [rewrite_local] # 京喜农场APP种子Token ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask url script-request-header https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================Loon============================= [Script] http-request ^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js, requires-body=false, timeout=3600, tag=京喜农场cookie -cron "0 9,12,18 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js,tag=京喜农场 +cron "0 9,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js,tag=京喜农场 =========================Surge============================ -京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js +京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js 京喜农场cookie = type=http-request,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,requires-body=0,max-size=0,script-path= https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js =========================小火箭=========================== -京喜农场 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=3600, enable=true +京喜农场 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=3600, enable=true 京喜农场APP种子cookie = type=http-request,script-path=https://raw.githubusercontent.com/whyour/hundun/master/quanx/jx_nc.cookie.js,pattern=^https\:\/\/wq\.jd\.com\/cubeactive\/farm\/dotask,max-size=131072,timeout=3600,enable=true 特别说明: diff --git a/jd_kd.js b/jd_kd.js index 168a16b6..4dce2d24 100644 --- a/jd_kd.js +++ b/jd_kd.js @@ -2,24 +2,24 @@ 京东快递签到 活动入口:https://jingcai-h5.jd.com/#/ 签到领豆,14天内满4次和7次享额外奖励,每天运行一次即可 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #京东快递签到 -10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true +10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js, tag=京东快递签到, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_kd.png, enabled=true ================Loon============== [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, tag=京东快递签到 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js, tag=京东快递签到 ===============Surge================= -京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js +京东快递签到 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js ============小火箭========= -京东快递签到 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_kd.js, cronexpr="10 0 * * *", timeout=3600, enable=true +京东快递签到 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js, cronexpr="10 0 * * *", timeout=3600, enable=true */ const $ = new Env('京东快递签到'); diff --git a/jd_live.js b/jd_live.js index 0beab58f..cd1a60d1 100644 --- a/jd_live.js +++ b/jd_live.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #京东直播 -10-20/5 12 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, tag=京东直播, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +10-20/5 12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js, tag=京东直播, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "10-20/5 12 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js,tag=京东直播 +cron "10-20/5 12 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js,tag=京东直播 ===============Surge================= -京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js +京东直播 = type=cron,cronexp="10-20/5 12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js ============小火箭========= -京东直播 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_live.js, cronexpr="10-20/5 12 * * *", timeout=3600, enable=true +京东直播 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js, cronexpr="10-20/5 12 * * *", timeout=3600, enable=true */ const $ = new Env('京东直播'); diff --git a/jd_mh.js b/jd_mh.js index 6f525f9c..4a3f9beb 100644 --- a/jd_mh.js +++ b/jd_mh.js @@ -7,24 +7,24 @@ /* 盲盒抽京豆 活动时间:2021年1月6日~2021年2月5日 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js, tag=盲盒抽京豆, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_mh.jpg, enabled=true +1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js,tag=盲盒抽京豆 +cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js,tag=盲盒抽京豆 ===============Surge================= -盲盒抽京豆 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js +盲盒抽京豆 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js ============小火箭========= -盲盒抽京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_mh.js, cronexpr="1 8,12,18* * *", timeout=200, enable=true +盲盒抽京豆 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js, cronexpr="1 8,12,18* * *", timeout=200, enable=true */ const $ = new Env('盲盒抽京豆'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 874e62b6..b24906e3 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -1,5 +1,5 @@ /* -京东摇钱树 :https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js +京东摇钱树 :https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js 更新时间:2020-11-16 活动入口:京东APP我的-更多工具-摇钱树 京东摇钱树支持京东双账号 @@ -7,17 +7,17 @@ ===============Quantumultx=============== [task_local] #京东摇钱树 -3 0-23/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true +3 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true ==============Loon=========== [Script] -cron "3 0-23/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js,tag=京东摇钱树 +cron "3 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js,tag=京东摇钱树 ===============Surge=========== -京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js +京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js ============小火箭========= -京东摇钱树 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js, cronexpr="3 0-23/2 * * *", timeout=3600, enable=true +京东摇钱树 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js, cronexpr="3 0-23/2 * * *", timeout=3600, enable=true */ const $ = new Env('京东摇钱树'); diff --git a/jd_ms.js b/jd_ms.js index 87338803..9a2ccdcb 100644 --- a/jd_ms.js +++ b/jd_ms.js @@ -8,23 +8,23 @@ 京东秒秒币 一天签到100币左右,100币可兑换1毛钱红包,推荐攒着配合农场一起用 活动时间:长期活动 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js 活动入口:京东app-京东秒杀-签到领红包 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js ============Quantumultx=============== [task_local] #京东秒秒币 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js,tag=京东秒秒币 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js,tag=京东秒秒币 ===============Surge================= -京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js +京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js ============小火箭========= -京东秒秒币 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_ms.js, cronexpr="10 7 * * *", timeout=200, enable=true +京东秒秒币 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js, cronexpr="10 7 * * *", timeout=200, enable=true */ const $ = new Env('京东秒秒币'); diff --git a/jd_necklace.js b/jd_necklace.js index 64f4e054..75702267 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -13,17 +13,17 @@ ===============Quantumultx=============== [task_local] #点点券 -10 0,20 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +10 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "10 0,20 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js,tag=点点券 +cron "10 0,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js,tag=点点券 ===============Surge================= -点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js +点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js ============小火箭========= -点点券 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_necklace.js, cronexpr="10 0,20 * * *", timeout=3600, enable=true +点点券 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js, cronexpr="10 0,20 * * *", timeout=3600, enable=true */ const $ = new Env('点点券'); diff --git a/jd_nh.js b/jd_nh.js index b9cf4232..edec6634 100644 --- a/jd_nh.js +++ b/jd_nh.js @@ -14,17 +14,17 @@ ============Quantumultx=============== [task_local] #京东年货节 -1 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "1 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js,tag=京东年货节 +cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 ===============Surge================= -京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js +京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js ============小火箭========= -京东年货节 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nh.js, cronexpr="1 7 * * *", timeout=3600, enable=true +京东年货节 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, cronexpr="1 7 * * *", timeout=3600, enable=true */ const $ = new Env('京东年货节'); diff --git a/jd_nian.js b/jd_nian.js index 04ff6d3f..7c78b9c6 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽🧨 -0 9,12,20,21 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true +0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] -cron "0 9,12,20,21 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js,tag=京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 ===============Surge================= -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js ============小火箭========= -京东炸年兽🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian.js, cronexpr="0 9,12,20,21 * * *", timeout=3600, enable=true +京东炸年兽🧨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, cronexpr="0 9,12,20,21 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽🧨'); diff --git a/jd_nianCollect.js b/jd_nianCollect.js index 8fe6d799..8c8b1fac 100644 --- a/jd_nianCollect.js +++ b/jd_nianCollect.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽🧨 -50 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true +50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true ================Loon============== [Script] -cron "50 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js,tag=京东收🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 ===============Surge================= -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js ============小火箭========= -京东收🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nianCollect.js, cronexpr="50 * * * *", timeout=3600, enable=true +京东收🧨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, cronexpr="50 * * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽领爆竹🧨'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_nian_ar.js b/jd_nian_ar.js index 3015da00..7a752f15 100644 --- a/jd_nian_ar.js +++ b/jd_nian_ar.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽AR -0 9 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true +0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] -cron "0 9 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js,tag=京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR ===============Surge================= -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js ============小火箭========= -京东炸年兽AR = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_ar.js, cronexpr="0 9 * * *", timeout=3600, enable=true +京东炸年兽AR = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, cronexpr="0 9 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽AR'); diff --git a/jd_nian_sign.js b/jd_nian_sign.js index 4e702fec..0c242e68 100644 --- a/jd_nian_sign.js +++ b/jd_nian_sign.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽签到任务🧨 -30 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true +30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] -cron "30 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 +cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 ===============Surge================= -京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js +京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js ============小火箭========= -京东炸年兽签到任务🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_sign.js, cronexpr="30 8 * * *", timeout=3600, enable=true +京东炸年兽签到任务🧨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, cronexpr="30 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽签到任务🧨'); diff --git a/jd_nian_wechat.js b/jd_nian_wechat.js index 0db09762..985e6d2f 100644 --- a/jd_nian_wechat.js +++ b/jd_nian_wechat.js @@ -9,17 +9,17 @@ ============Quantumultx=============== [task_local] #京东炸年兽小程序🧨 -50 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true +50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true ================Loon============== [Script] -cron "50 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 ===============Surge================= -京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js +京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js ============小火箭========= -京东炸年兽小程序🧨 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_nian_wechat.js, cronexpr="50 8 * * *", timeout=3600, enable=true +京东炸年兽小程序🧨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, cronexpr="50 8 * * *", timeout=3600, enable=true */ const $ = new Env('京东炸年兽小程序🧨'); diff --git a/jd_pet.js b/jd_pet.js index e861f572..3b2e61f5 100644 --- a/jd_pet.js +++ b/jd_pet.js @@ -1,5 +1,5 @@ /* -东东萌宠 更新地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js +东东萌宠 更新地址: https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 更新时间:2021-01-19 活动入口:京东APP我的-更多工具-东东萌宠 已支持IOS双京东账号,Node.js支持N个京东账号 @@ -11,17 +11,17 @@ =================================Quantumultx========================= [task_local] #东东萌宠 -15 6-18/6 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true +15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true =================================Loon=================================== [Script] -cron "15 6-18/6 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js,tag=东东萌宠 +cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 ===================================Surge================================ -东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js +东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js ====================================小火箭============================= -东东萌宠 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js, cronexpr="15 6-18/6 * * *", timeout=3600, enable=true +东东萌宠 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, cronexpr="15 6-18/6 * * *", timeout=3600, enable=true */ const $ = new Env('东东萌宠'); diff --git a/jd_petTreasureBox.js b/jd_petTreasureBox.js index 27fe31ec..fd74ed40 100644 --- a/jd_petTreasureBox.js +++ b/jd_petTreasureBox.js @@ -12,15 +12,15 @@ 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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js +聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js ===================Quantumult X===================== [rewrite_local] -^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js +^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js =====================Loon===================== [Script] -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 +http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 */ let body = $response.body; diff --git a/jd_pigPet.js b/jd_pigPet.js index af0a5e8e..3d594a3a 100644 --- a/jd_pigPet.js +++ b/jd_pigPet.js @@ -16,17 +16,17 @@ ===============Quantumultx=============== [task_local] #京东金融养猪猪 -12 * * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true +12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true ================Loon============== [Script] -cron "12 * * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, tag=京东金融养猪猪 +cron "12 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪 ===============Surge================= -京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js +京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js ============小火箭========= -京东金融养猪猪 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pigPet.js, cronexpr="12 * * * *", timeout=3600, enable=true +京东金融养猪猪 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, cronexpr="12 * * * *", timeout=3600, enable=true */ const $ = new Env('金融养猪'); diff --git a/jd_plantBean.js b/jd_plantBean.js index 0710c959..7c55c7fc 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -1,5 +1,5 @@ /* -种豆得豆 脚本更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js +种豆得豆 脚本更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js 更新时间:2021-1-16 活动入口:京东APP我的-更多工具-种豆得豆 已支持IOS京东双账号,云端N个京东账号 @@ -9,17 +9,17 @@ 每个京东账号每天只能帮助3个人。多出的助力码将会助力失败。 =====================================Quantumult X================================= [task_local] -1 7-21/2 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true +1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true =====================================Loon================================ [Script] -cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js,tag=京东种豆得豆 +cron "1 7-21/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js,tag=京东种豆得豆 ======================================Surge========================== -京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js +京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js ====================================小火箭============================= -京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=3600, enable=true +京东种豆得豆 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=3600, enable=true 搬的https://github.com/uniqueque/QuantumultX/blob/4c1572d93d4d4f883f483f907120a75d925a693e/Script/jd_plantBean.js */ diff --git a/jd_redPacket.js b/jd_redPacket.js index e1e01b22..ec314beb 100644 --- a/jd_redPacket.js +++ b/jd_redPacket.js @@ -19,13 +19,13 @@ ================QuantumultX================== [task_local] #京东全民开红包 -1 1 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true +1 1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true ===================Loon============== [Script] -cron "1 1 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js, tag=京东全民开红包 +cron "1 1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js, tag=京东全民开红包 ===============Surge=============== [Script] -京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_redPacket.js +京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js */ const $ = new Env('京东全民开红包'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_sgmh.js b/jd_sgmh.js index 88d3e882..f87f8531 100644 --- a/jd_sgmh.js +++ b/jd_sgmh.js @@ -4,23 +4,23 @@ 修改自 @yangtingxiao 抽奖机脚本 活动入口:京东APP首页-闪购-闪购盲盒 网页地址:https://h5.m.jd.com/babelDiy/Zeus/3vzA7uGuWL2QeJ5UeecbbAVKXftQ/index.html -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #闪购盲盒 -20 8 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "20 8 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, tag=闪购盲盒 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js, tag=闪购盲盒 ===============Surge================= -闪购盲盒 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js +闪购盲盒 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js ============小火箭========= -闪购盲盒 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_sgmh.js, cronexpr="20 8 * * *", timeout=3600, enable=true +闪购盲盒 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js, cronexpr="20 8 * * *", timeout=3600, enable=true */ const $ = new Env('闪购盲盒'); diff --git a/jd_shop.js b/jd_shop.js index b84d5924..89b7fcf2 100644 --- a/jd_shop.js +++ b/jd_shop.js @@ -7,13 +7,13 @@ ===============Quantumultx=============== [task_local] #进店领豆 -10 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true +10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true ================Loon============ [Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js,tag=进店领豆 +cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js,tag=进店领豆 ==============Surge=============== [Script] -进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_shop.js +进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js */ const $ = new Env('进店领豆'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_small_home.js b/jd_small_home.js index 4ba32f01..9709ca81 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -5,7 +5,7 @@ * @Last Modified time: 2021-1-22 14:27:20 */ /* -东东小窝 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js +东东小窝 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js 现有功能: 做日常任务任务,每日抽奖(有机会活动京豆,使用的是免费机会,不消耗WO币) 自动使用WO币购买装饰品可以获得京豆,分别可获得5,20,50,100,200,400,700,1200京豆) @@ -24,17 +24,17 @@ https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html ===============Quantumultx=============== [task_local] #东东小窝 -16 22 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true +16 22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, tag=东东小窝 +cron "16 22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝 ===============Surge================= -东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js +东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js ============小火箭========= -东东小窝 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_small_home.js, cronexpr="16 22 * * *", timeout=3600, enable=true +东东小窝 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, cronexpr="16 22 * * *", timeout=3600, enable=true */ const $ = new Env('东东小窝'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jd_speed.js b/jd_speed.js index 2aeb71e6..cce0e0cc 100644 --- a/jd_speed.js +++ b/jd_speed.js @@ -1,5 +1,5 @@ /* -京东天天加速链接:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js +京东天天加速链接:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js 更新时间:2020-12-25 活动入口:京东APP我的-更多工具-天天加速 支持京东双账号 @@ -10,17 +10,17 @@ =================QuantumultX============== [task_local] #天天加速 -8 0-23/3 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true +8 0-23/3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true ============Loon================ [Script] -cron "8 0-23/3 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js,tag=京东天天加速 +cron "8 0-23/3 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js,tag=京东天天加速 ===========Surge============ -天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js +天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js ==============小火箭============= -天天加速 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js, cronexpr="11 0-23/3 * * *", timeout=3600, enable=true +天天加速 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js, cronexpr="11 0-23/3 * * *", timeout=3600, enable=true */ const $ = new Env('✈️天天加速'); diff --git a/jd_super_box.js b/jd_super_box.js index f3156833..13f7bffc 100644 --- a/jd_super_box.js +++ b/jd_super_box.js @@ -7,24 +7,24 @@ /* 京东超级盒子 活动时间:未知 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js, tag=京东超级盒子, enabled=true +20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, enabled=true ================Loon============== [Script] -cron "20 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js,tag=京东超级盒子 +cron "20 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js,tag=京东超级盒子 ===============Surge================= -京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js +京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js ============小火箭========= -京东超级盒子 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_super_box.js, cronexpr="20 7 * * *", timeout=3600, enable=true +京东超级盒子 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, cronexpr="20 7 * * *", timeout=3600, enable=true */ const $ = new Env('京东超级盒子'); diff --git a/jd_syj.js b/jd_syj.js index 68a65524..8b50d811 100644 --- a/jd_syj.js +++ b/jd_syj.js @@ -7,24 +7,24 @@ /* 赚京豆脚本,一周签到下来可获得30京豆,一天任意时刻运行一次即可 活动入口:赚京豆(微信小程序)-赚京豆-签到领京豆 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js 参考github@jidesheng6修改而来 已支持IOS双京东账号, Node.js支持N个京东账号 脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js ============Quantumultx=============== [task_local] #赚京豆 -10 7 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true +10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true ================Loon============== [Script] -cron "10 7 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, tag=赚京豆 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆 ===============Surge================= -赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js +赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js ============小火箭========= -赚京豆 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_syj.js, cronexpr="10 7 * * *", timeout=3600, enable=true +赚京豆 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, cronexpr="10 7 * * *", timeout=3600, enable=true */ const $ = new Env('赚京豆'); diff --git a/jd_unbind.js b/jd_unbind.js index b8ae9236..330e82d0 100644 --- a/jd_unbind.js +++ b/jd_unbind.js @@ -6,14 +6,14 @@ ==========Quantumult X========== [task_local] #注销京东会员卡 -55 23 * * 6 https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true +55 23 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js,tag=注销京东会员卡 +cron "55 23 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js,tag=注销京东会员卡 ========Surge========== -注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js +注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js =======小火箭===== -注销京东会员卡 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js, cronexpr="10 23 * * 6", timeout=3600, enable=true +注销京东会员卡 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, cronexpr="10 23 * * 6", timeout=3600, enable=true */ const $ = new Env('注销京东会员卡'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_unsubscribe.js b/jd_unsubscribe.js index f7031f1b..45ae8854 100644 --- a/jd_unsubscribe.js +++ b/jd_unsubscribe.js @@ -9,14 +9,14 @@ ==============Quantumult X=========== [task_local] #取关京东店铺商品 -55 23 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ===========Loon============ [Script] -cron "55 23 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js,tag=取关京东店铺商品 +cron "55 23 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js,tag=取关京东店铺商品 ============Surge============= -取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js +取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js ===========小火箭======== -取关京东店铺商品 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js, cronexpr="55 23 * * *", timeout=3600, enable=true +取关京东店铺商品 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js, cronexpr="55 23 * * *", timeout=3600, enable=true */ const $ = new Env('取关京东店铺和商品'); //Node.js用户请在jdCookie.js处填写京东ck; diff --git a/jd_xg.js b/jd_xg.js index f547efc3..0ecf38ee 100644 --- a/jd_xg.js +++ b/jd_xg.js @@ -8,24 +8,24 @@ 小鸽有礼 抽奖可获得京豆和快递优惠券 活动时间:2021年1月15日至2021年2月19日 -更新地址:https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/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 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js, tag=小鸽有礼, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_xg.jpg, enabled=true +5 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js,tag=小鸽有礼 +cron "5 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js,tag=小鸽有礼 ===============Surge================= -小鸽有礼 = type=cron,cronexp="5 7 * * *",wake-system=1,timeout=200,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js +小鸽有礼 = type=cron,cronexp="5 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js ============小火箭========= -小鸽有礼 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_xg.js, cronexpr="5 7 * * *", timeout=200, enable=true +小鸽有礼 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js, cronexpr="5 7 * * *", timeout=200, enable=true */ const $ = new Env('小鸽有礼'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/jx_sign.js b/jx_sign.js index 80062443..71befda6 100644 --- a/jx_sign.js +++ b/jx_sign.js @@ -5,17 +5,17 @@ ============Quantumultx=============== [task_local] #京喜签到 -5 0 * * * https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "5 0 * * *" script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js,tag=京喜签到 +cron "5 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js,tag=京喜签到 ===============Surge================= -京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js +京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js ============小火箭========= -京喜签到 = type=cron,script-path=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jx_sign.js, cronexpr="5 0 * * *", timeout=3600, enable=true +京喜签到 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js, cronexpr="5 0 * * *", timeout=3600, enable=true */ const $ = new Env('京喜签到'); const notify = $.isNode() ? require('./sendNotify') : ''; diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index c8db08b3..c44d82f4 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -1,9 +1,9 @@ { - "id": "LXK9301.app.sub", - "name": "LXK9301脚本订阅", - "author": "@LXK9301", + "id": "lxk0301.app.sub", + "name": "lxk0301脚本订阅", + "author": "@lxk0301", "icon": "https://avatars0.githubusercontent.com/u/21308593?s=52&v=4", - "repo": "https://github.com/LXK9301/jd_scripts/", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master/", "apps": [ { "id": "JD_Cookies", @@ -11,7 +11,7 @@ "keys": ["CookiesJD"], "descs_html": [ "请勿随意在输入框修改内容,建议通过脚本去获取cookie,若要修改,请按照JSON 格式修改。", - "脚本地址【京东多 CK获取】,并按照此脚本注释进行配置", + "脚本地址【京东多 CK获取】,并按照此脚本注释进行配置", "使用方式【个人中心】获取对应的数据Code", "注:如与NobyDa的京东cookie重复,建议在此处删除重复的cookie" ], @@ -53,8 +53,8 @@ "desc": "不懂不知不会UserAgent的请不要随意填写内容,如需填写使用建议使用京东APP的UserAgent" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", "icons": [ "https://raw.githubusercontent.com/Orz-3/mini/master/jd.png", "https://raw.githubusercontent.com/Orz-3/task/master/jd.png" @@ -164,9 +164,9 @@ "desc": "京东水果互助码.这是别人的shareCode,你帮别人助力." } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_fruit.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdnc_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png" @@ -282,9 +282,9 @@ "desc": "东东萌宠互助码.这是别人的shareCode,你帮别人助力." } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_pet.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdmc_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png" @@ -368,9 +368,9 @@ "desc": "种豆得豆互助码.这是别人的助力码,你帮别人助力." } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_plantBean.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdzd_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png" @@ -435,9 +435,9 @@ ] } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdcww_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png" @@ -481,9 +481,9 @@ ] } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_reward.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdcww_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png" @@ -567,9 +567,9 @@ "desc": "多个账号使用英文逗号','隔开,最多6个" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_joy_run.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdcww_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png" @@ -595,9 +595,9 @@ "desc": "是否卖出金果获得金币,金币具有有效期,默认不卖出" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_moneyTree.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdyqs_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png" @@ -616,9 +616,9 @@ "desc": "运行京东天天加速脚本时不发出系统弹窗通知" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_speed.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jdjs_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png" @@ -668,9 +668,9 @@ "desc": "匹配到此处店铺后面(包括此店铺)的不再进行取关(此处内容请尽量从头开始输入店铺名称)" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unsubscribe.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js", "icons": [ "https://raw.githubusercontent.com/Orz-3/mini/master/jd.png", "https://raw.githubusercontent.com/Orz-3/task/master/jd.png" @@ -706,9 +706,9 @@ "desc": "不想注销的店铺会员卡名称" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_unbind.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png" @@ -741,12 +741,12 @@ "desc": "运行脚本消耗金币进行抽奖,默认抽奖" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", "scripts":[ { "name" : "东东超市", - "script" : "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_superMarket.js" + "script" : "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js" } ], "icons": [ @@ -777,12 +777,12 @@ "desc": "输入兑换奖品名称(默认不兑换奖品)" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", "scripts": [ { "name" : "东东超市兑换奖品", - "script" : "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_blueCoin.js" + "script" : "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js" } ], "icons": [ @@ -791,7 +791,7 @@ ] }, { - "id": "LXK9301Webhook", + "id": "lxk0301Webhook", "name": "Webhook", "keys": [ "ACTIONS_TRIGGER_TOKEN", @@ -812,7 +812,7 @@ "name": "github 用户名", "val": "", "type": "text", - "desc": "例如:LXK9301" + "desc": "例如:lxk0301" }, { "id": "repo", @@ -829,9 +829,9 @@ "desc": ".github/workflows/路径里面yml文件repository_dispatch项目的types值,例如jd_fruit.yml里面的值为fruit,多个使用英文逗号','隔开" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/webhook.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/webhook.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/webhooks_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/webhooks.png" @@ -868,9 +868,9 @@ "desc": "需要修改最小的运动步数的数字,例如:25000" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/backUp/xmSports.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/xmyd_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png" @@ -891,9 +891,9 @@ "desc": "请尽量填写完整和别的商品有区分度" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_jdfactory.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js", "icons": [ "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory_mini.png", "https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png" @@ -918,9 +918,9 @@ "desc": "示例:{\"lat\":33.1, \"lng\":118.1}" } ], - "author": "@LXK9301", - "repo": "https://github.com/LXK9301/jd_scripts", - "script": "https://raw.githubusercontent.com/LXK9301/jd_scripts/master/jd_immortal.js", + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js", "icons": [ "https://m.360buyimg.com/babel/jfs/t1/165970/14/3741/2184/600585feE6fb250f8/77db4ca560e006be.png", "https://m.360buyimg.com/babel/jfs/t1/165970/14/3741/2184/600585feE6fb250f8/77db4ca560e006be.png" diff --git a/update_list.sh b/update_list.sh index f247aaed..6d227d9e 100644 --- a/update_list.sh +++ b/update_list.sh @@ -8,8 +8,8 @@ WorkDir=$(cd $(dirname $0); pwd) JsList=($(cd $WorkDir; ls *.js | grep -E "j[drx]_")) FileReadme=$WorkDir/README.md -UrlBlob=https://github.com/LXK9301/jd_scripts/blob/master/ -UrlRaw=https://raw.githubusercontent.com/LXK9301/jd_scripts/master/ +UrlBlob=https://gitee.com/lxk0301/jd_scripts/blob/master/ +UrlRaw=https://gitee.com/lxk0301/jd_scripts/raw/master/ SheetHead="| 文件 | 名称 | 活动入口 |\n| - | - | - |" ## 删除标记行的内容 diff --git a/update_task.sh b/update_task.sh index 73353e9c..b52a52ec 100644 --- a/update_task.sh +++ b/update_task.sh @@ -14,11 +14,11 @@ FileQxRe=$WorkDir/QuantumultX/lxk0301_cookies.conf FileSurge=$WorkDir/Surge/lxk0301_Task.sgmodule.sgmodule ## task清单顶部内容 -CommentsLoon="# IOS Loon Task&Cookies配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Loon的Task&Cookies脚本订阅链接: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf\n# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Loon/lxk0301_LoonTask.conf)\n\nhostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" -CommentsQx='{\n "name": "LXK9301 task gallery",\n "description": "https://github.com/LXK9301/jd_scripts",\n "task": [' +CommentsLoon="# IOS Loon Task&Cookies配置 By LXK9301\n# GitHub主页(https://gitee.com/lxk0301/jd_scripts/tree/master)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Loon的Task&Cookies脚本订阅链接: https://gitee.com/lxk0301/jd_scripts/raw/master/Loon/lxk0301_LoonTask.conf\n# 使用方法:打开APP,顶部的配置 -> 脚本 -> 订阅脚本- > 点击右上角+号 -> 添加url链接 (https://gitee.com/lxk0301/jd_scripts/raw/master/Loon/lxk0301_LoonTask.conf)\n\nhostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com" +CommentsQx='{\n "name": "LXK9301 task gallery",\n "description": "https://gitee.com/lxk0301/jd_scripts/tree/master",\n "task": [' CommentsQxRe="hostname = api.m.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com, wq.jd.com" -CommentsSurgeHead="#!name=LXK9301 iOS Tasks&Cookies Module\n#!desc=iOS Tasks&Cookies 模块配置\n\n# Task&Cookies模块配置 By LXK9301\n# GitHub主页(https://github.com/LXK9301/jd_scripts)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task&Cookies脚本模块地址: https://raw.githubusercontent.com/LXK9301/jd_scripts/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]" +CommentsSurgeHead="#!name=LXK9301 iOS Tasks&Cookies Module\n#!desc=iOS Tasks&Cookies 模块配置\n\n# Task&Cookies模块配置 By LXK9301\n# GitHub主页(https://gitee.com/lxk0301/jd_scripts/tree/master)\n# TG讨论组 (https://t.me/JD_fruit_pet)\n# TG通知频道 (https://t.me/jdfruit)\n# Surge的Task&Cookies脚本模块地址: https://gitee.com/lxk0301/jd_scripts/raw/master/Surge/lxk0301_Task.sgmodule.sgmodule\n\n[Script]" CommentsSurgeTail="\n[MITM]\nhostname = %APPEND% wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com, wq.jd.com" @@ -33,13 +33,13 @@ do TaskName=$(grep "new Env" $file | awk -F "'|\"" '{print $2}') if [[ -n $TaskName ]]; then echo -e "\n# $TaskName" >> $FileLoon - grep -E "cron.+script-path.+https://raw\.githubusercontent\.com.+tag" $file >> $FileLoon - grep -E "https://raw\.githubusercontent\.com.+tag.+enabled" $file | perl -pe 's|(.+\w)|\1",|' | perl -pe 's|^| \"|' >> $FileQx - grep -E "type.+cronexp.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge + grep -E "cron.+script-path.+https://gitee\.com.+tag" $file >> $FileLoon + grep -E "https://gitee\.com.+tag.+enabled" $file | perl -pe 's|(.+\w)|\1",|' | perl -pe 's|^| \"|' >> $FileQx + grep -E "type.+cronexp.+script-path.+https://gitee\.com" $file >> $FileSurge fi - grep -E "http-(request|response).+script-path.+https://raw\.githubusercontent\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|" >> $FileLoon - grep -E "script-(request|response)-.+https://raw\.githubusercontent\.com" $file | perl -pe "s|(.+)|\n# $TaskName\n\1|" >> $FileQxRe - grep -E "type=http-(request|response).+pattern.+script-path.+https://raw\.githubusercontent\.com" $file >> $FileSurge + grep -E "http-(request|response).+script-path.+https://gitee\.com.+tag" $file | perl -pe "s|(.+tag=)(.+)|\n# \2\n\1\2|" >> $FileLoon + grep -E "script-(request|response)-.+https://gitee\.com" $file | perl -pe "s|(.+)|\n# $TaskName\n\1|" >> $FileQxRe + grep -E "type=http-(request|response).+pattern.+script-path.+https://gitee\.com" $file >> $FileSurge done echo -e " ]\n}" >> $FileQx echo -e $CommentsSurgeTail >> $FileSurge From 2fdbc16f47f3412881767f97301b2f85d6e274b6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 15:07:10 +0800 Subject: [PATCH 1112/1259] update --- README.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 79efb839..3304763c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -## 请勿使用github action、滥用github资源会封我仓库以及账号,如再被封,则金盆洗手。[详见](https://github.com/LXK9301/jd_scripts/issues/3) - ## 特别声明: * 本仓库发布的Script项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断. @@ -105,8 +103,6 @@ ## 邀请码互助 -- [邀请码互助入口](https://github.com/LXK9301/jd_scripts/discussions) - - [获取各类活动互助码脚本 jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js) - [邀请码使用规范](githubAction.md#互助码类环境变量)(仅限云端) @@ -115,21 +111,21 @@ ### 1. Docker1 -- [部署方法](https://github.com/LXK9301/jd_scripts/tree/master/docker) +- [部署方法](./docker) -- [环境变量集合](https://github.com/LXK9301/jd_scripts/blob/master/githubAction.md) +- [环境变量集合](./githubAction.md) - 获取京东cookie教程可参考: - + [浏览器获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie.md) + + [浏览器获取京东cookie教程](./backUp/GetJdCookie.md) - + [插件获取京东cookie教程](https://github.com/LXK9301/jd_scripts/blob/master/backUp/GetJdCookie2.md) + + [插件获取京东cookie教程](./backUp/GetJdCookie2.md) + 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) ### 2. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) -##### BoxJs订阅地址:[lxk0301.boxjs.json](https://gitee.com/lxk0301/jd_scripts/raw/master/lxk0301.boxjs.json) +##### BoxJs订阅地址:[lxk0301.boxjs.json](./lxk0301.boxjs.json) ##### 获取京东cookie [JD_extra_cookie.js](https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js) From 3a381aa2ef78d31aa5185eabd7fd0a79472e651f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 15:10:09 +0800 Subject: [PATCH 1113/1259] update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3304763c..7b89969a 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ ### 2. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) -##### BoxJs订阅地址:[lxk0301.boxjs.json](./lxk0301.boxjs.json) +##### BoxJs订阅地址:[lxk0301.boxjs.json](https://gitee.com/lxk0301/jd_scripts/raw/master/lxk0301.boxjs.json) ##### 获取京东cookie [JD_extra_cookie.js](https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js) From 856d7617dfb147d4b7d9bd4d106741ecd0f0da20 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 15:17:03 +0800 Subject: [PATCH 1114/1259] update --- .github/workflows/repo_sync.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/repo_sync.yml b/.github/workflows/repo_sync.yml index 31a37eb9..ce03db19 100644 --- a/.github/workflows/repo_sync.yml +++ b/.github/workflows/repo_sync.yml @@ -26,7 +26,7 @@ jobs: uses: repo-sync/github-sync@v2 if: env.PAT with: - source_repo: "https://github.com/LXK9301/jd_scripts.git" + source_repo: "https://gitee.com/lxk0301/jd_scripts.git" source_branch: "master" destination_branch: "master" github_token: ${{ secrets.PAT }} From 1ce368d6b7b6ef663b035e74f2c3328e6001972e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 15:23:08 +0800 Subject: [PATCH 1115/1259] update --- serverless.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverless.yml b/serverless.yml index 72c4b620..81335f58 100644 --- a/serverless.yml +++ b/serverless.yml @@ -69,7 +69,7 @@ inputs: name: beanchange_crazyjoy_rankingList_beanhome_sgmh_nh_immortal_mh cronExpression: "0 30 7 * * * *" enable: true - argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal@jd_immortal_answer&jd_mh + argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal&jd_immortal_answer&jd_mh - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR #京东炸年兽小程序 #京东手机年终奖 parameters: name: pigPet_syj_kd_jdzz_cash_sign_niansign_nianar_nianwechat_fes From e45276d173dd5913eff38aa4ec67e5a56e2c05d4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 17:00:20 +0800 Subject: [PATCH 1116/1259] =?UTF-8?q?=E7=A5=9E=E4=BB=99=E4=B9=A6=E9=99=A2?= =?UTF-8?q?=E7=AD=94=E9=A2=98=EF=BC=8C=E4=BA=91=E7=AB=AF=E5=8F=AF=E4=B8=80?= =?UTF-8?q?=E5=A4=A9=E8=BF=90=E8=A1=8C=E4=B8=80=E6=AC=A1=E5=8D=B3=E5=8F=AF?= =?UTF-8?q?=E7=AD=94=E5=AE=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal_answer.js | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index eb18eec7..04331e5d 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -13,13 +13,13 @@ ================Loon============== [Script] -cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 ===============Surge================= -京东神仙书院答题 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js ============小火箭========= -京东神仙书院答题 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, cronexpr="20 8 * * *", timeout=3600, enable=true +京东神仙书院答题 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, cronexpr="20 * * * *", timeout=3600, enable=true */ const $ = new Env('京东神仙书院答题'); @@ -59,6 +59,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; $.isLogin = true; $.nickName = ''; message = ''; + $.stopAnswer = false; await TotalBean(); console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); if (!$.isLogin) { @@ -86,7 +87,17 @@ async function jdImmortalAnswer() { $.earn = 0 await getHomeData() if ($.risk) return - await getQuestions() + 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) @@ -210,7 +221,14 @@ function getQuestions() { 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(`答题开启失败`) } } From 63368ab511f3bebe4e94669be706402d14f51adc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 17:01:41 +0800 Subject: [PATCH 1117/1259] =?UTF-8?q?=E5=8E=BB=E6=8E=89docker=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E8=84=9A=E6=9C=AC=EF=BC=8C=E8=B0=83=E6=95=B4=E7=A5=9E?= =?UTF-8?q?=E4=BB=99=E4=B9=A6=E9=99=A2=E7=AD=94=E9=A2=98cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 5157ccc2..e9a69529 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -16,13 +16,12 @@ 50 0,1,8 * * * node /scripts/jd_nian_ar.js >> /scripts/logs/jd_nian_ar.log 2>&1 #京东炸年兽小程序 50 0,1,8 * * * node /scripts/jd_nian_wechat.js >> /scripts/logs/jd_nian_wechat.log 2>&1 -# 集鞭炮赢京豆 -38 8,21 * * * node /scripts/jd_firecrackers.js >> /scripts/logs/jd_firecrackers.log 2>&1 + #京东神仙书院(活动时间:2021-1-20至2021-2-5) 30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 #京东神仙书院答题(活动时间:2021-1-20至2021-2-5) -5 */2 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 +5 1 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 ##############长期活动############## # 签到 From f643f8221624b5a7a4c700500cf9ed7967b4635a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 17:09:38 +0800 Subject: [PATCH 1118/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2=E7=AD=94=E9=A2=98=E6=89=8B=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?cron=E8=B0=83=E6=95=B4=E4=B8=BA1=E5=B0=8F=E6=97=B6=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=EF=BC=8C=E5=8F=AF=E4=B8=80=E5=A4=A9=E7=AD=94=E5=AE=8C?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E9=A2=98=E7=9B=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- QuantumultX/lxk0301_gallery.json | 4 ++-- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- jd_cash.js | 6 +++--- jd_immortal_answer.js | 2 +- jd_super_box.js | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 9ed2cfa2..05a84a24 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -59,7 +59,7 @@ cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 # 京东神仙书院答题 -cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index a25bcc0d..1ba90708 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -18,7 +18,7 @@ "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -47,7 +47,7 @@ "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", "16 22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", - "20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, enabled=true", + "20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "11 1-23/5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", "55 23 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 9dfc0532..de783315 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -25,7 +25,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js 京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js -京东神仙书院答题 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js 京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js diff --git a/jd_cash.js b/jd_cash.js index 4260ec90..b58c9220 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -29,8 +29,8 @@ let cookiesArr = [], cookie = '', message; let helpAuthor = true; const randomCount = $.isNode() ? 20 : 5; const inviteCodes = [ - `-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaO7jMvwh-W_VzyUX0Q`, - `-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaO7jMvwh-W_VzyUX0Q` + `-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaO7jMvwh-W_VzyUX0Q@eU9YaurkY69zoj3UniVAgg@eU9YaOnjYK4j-GvWmXIWhA`, + `-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaO7jMvwh-W_VzyUX0Q@eU9YaurkY69zoj3UniVAgg@eU9YaOnjYK4j-GvWmXIWhA` ] if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { @@ -87,7 +87,7 @@ async function jdCash() { await shareCodesFormat() await helpFriends() await index(true) - // await getReward() + await getReward() await showMsg() } function index(info=false) { diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index 04331e5d..b1c6e98a 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -9,7 +9,7 @@ ============Quantumultx=============== [task_local] #京东神仙书院答题 -20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] diff --git a/jd_super_box.js b/jd_super_box.js index 13f7bffc..ec7de93e 100644 --- a/jd_super_box.js +++ b/jd_super_box.js @@ -14,7 +14,7 @@ ============Quantumultx=============== [task_local] #京东超级盒子 -20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, enabled=true +20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] From c7c5987af68e1d2ffbe9621745a1ac6171255a41 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 28 Jan 2021 18:15:59 +0800 Subject: [PATCH 1119/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99?= =?UTF-8?q?=E4=B9=A6=E9=99=A2=E7=AD=94=E9=A2=98=E4=BC=98=E5=8C=96=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E4=BB=8Eoss=E6=9C=AA=E5=8F=96=E5=88=B0=E9=A2=98?= =?UTF-8?q?=E5=BA=93=EF=BC=8C=E5=88=99=E5=8F=96=E8=84=9A=E6=9C=AC=E5=86=85?= =?UTF-8?q?=E7=BD=AE=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal_answer.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index b1c6e98a..a86962a6 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -311,6 +311,7 @@ function answer(body = {}) { function bing(str) { return new Promise(resolve => { + $.ckjar = null; $.get({ url: `https://www.bing.com/search?q=${str}`, headers: { @@ -420,7 +421,8 @@ function requireTk() { } }, (err, resp, data) => { try { - $.tk = JSON.parse(data).RECORDS + $.tk = JSON.parse(data).RECORDS; + if (!$.tk) $.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":"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":"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"}] } catch (e) { console.log(e) } finally { From 2b685790fb839e740d82c16d97ffb286ad4096bd Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 28 Jan 2021 22:18:04 +0800 Subject: [PATCH 1120/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_super_box.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/jd_super_box.js b/jd_super_box.js index f3156833..4c6c634d 100644 --- a/jd_super_box.js +++ b/jd_super_box.js @@ -282,8 +282,12 @@ function draw() { data = JSON.parse(data); if (data.success) { if(data.data.discount) { - $.earn += parseFloat(data.data.discount) - console.log(`获得${data.data.discount}红包`) + if(data.data.rewardType===2) { + $.earn += parseFloat(data.data.discount) + console.log(`获得${data.data.discount}红包`) + }else{ + console.log(`获得优惠券`) + } } else console.log(`获得空气`) From c19d947c1c9ee9c57d17b83212edfb0390a30187 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 28 Jan 2021 23:13:35 +0800 Subject: [PATCH 1121/1259] =?UTF-8?q?Docker=E5=A2=9E=E5=8A=A0cron=EF=BC=8C?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=B8=85=E5=8D=95=E5=A2=9E=E5=8A=A0=E5=BA=8F?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 122 ++++++++++++++++++++--------------------- docker/crontab_list.sh | 12 ++++ update_list.sh | 5 +- 3 files changed, 75 insertions(+), 64 deletions(-) diff --git a/README.md b/README.md index 7b89969a..c77282d1 100644 --- a/README.md +++ b/README.md @@ -28,67 +28,67 @@ -| 文件 | 名称 | 活动入口 | -| - | - | - | -|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| -|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| -|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| -|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| -|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| -|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| -|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| -|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| -|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| -|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| -|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| -|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| -|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| -|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| -|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| -|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| -|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| -|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| -|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| -|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +| 序号 | 文件 | 名称 | 活动入口 | +| :-: | - | - | - | +|1|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| +|2|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| +|3|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| +|4|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| +|5|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| +|6|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|7|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| +|9|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| +|10|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| +|11|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|12|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|13|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|14|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|15|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|16|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| +|17|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|18|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|19|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|20|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|21|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|22|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|23|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|24|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|25|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|28|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|29|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|30|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| +|31|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| +|32|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|33|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| +|34|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|35|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| +|36|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|37|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|38|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|39|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|40|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|41|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|42|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|43|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|44|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| +|45|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|46|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|47|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|48|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|49|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|50|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|51|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|52|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|53|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|54|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|55|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|56|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|57|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|58|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|59|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index e9a69529..9345f0c8 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -108,3 +108,15 @@ # */20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 # 闪购盲盒 27 8 * * * node /scripts/jd_sgmh.js >> /scripts/logs/jd_sgmh.log 2>&1 +# 源头好物红包 +0 0 * * * node /scripts/jd_coupon.js >> /scripts/logs/jd_coupon.log 2>&1 +# 京东手机年终奖 +15 0 * * * node /scripts/jd_festival.js >> /scripts/logs/jd_festival.log 2>&1 +# 盲盒抽京豆 +1 7 * * * node /scripts/jd_mh.js >> /scripts/logs/jd_mh.log 2>&1 +# 京东秒秒币 +10 7 * * * node /scripts/jd_ms.js >> /scripts/logs/jd_ms.log 2>&1 +# 小鸽有礼 +5 7 * * * node /scripts/jd_xg.js >> /scripts/logs/jd_xg.log 2>&1 +# 京东超级盒子 +20 7 * * * node /scripts/jd_super_box.js >> /scripts/logs/jd_super_box.log 2>&1 diff --git a/update_list.sh b/update_list.sh index 6d227d9e..e5819283 100644 --- a/update_list.sh +++ b/update_list.sh @@ -8,9 +8,8 @@ WorkDir=$(cd $(dirname $0); pwd) JsList=($(cd $WorkDir; ls *.js | grep -E "j[drx]_")) FileReadme=$WorkDir/README.md -UrlBlob=https://gitee.com/lxk0301/jd_scripts/blob/master/ UrlRaw=https://gitee.com/lxk0301/jd_scripts/raw/master/ -SheetHead="| 文件 | 名称 | 活动入口 |\n| - | - | - |" +SheetHead="| 序号 | 文件 | 名称 | 活动入口 |\n| :-: | - | - | - |" ## 删除标记行的内容 StartLine=$(($(grep -n "标记开始" "$FileReadme" | awk -F ":" '{print $1}') + 1)) @@ -28,6 +27,6 @@ for ((i=0; i<${#JsList[*]}; i++)); do Entry="[活动地址]($Entry)" fi Raw="$UrlRaw${JsList[i]}" - Sheet="$Sheet\n|[${JsList[i]}]($Raw)|$Name|$Entry|" + Sheet="$Sheet\n|$(($i + 1))|[${JsList[i]}]($Raw)|$Name|$Entry|" done echo -e "$Sheet\n$Tail" >> $FileReadme \ No newline at end of file From b5456ecf878db2f23005fdc01f63a31c5c605888 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 28 Jan 2021 23:22:10 +0800 Subject: [PATCH 1122/1259] Add --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c77282d1..abc7a212 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,11 @@ + 京东APP扫码获取cookie(此种方式获取的cookie有效期为90天)(执行`node getJDCookie.js`即可) -### 2. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) +### 2. Docker2 + +- 请见 [这里](https://hub.docker.com/r/evinedeng/jd) + +### 3. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) ##### BoxJs订阅地址:[lxk0301.boxjs.json](https://gitee.com/lxk0301/jd_scripts/raw/master/lxk0301.boxjs.json) From d90f1cabfca08cd7eee0c1d49451c273a7d3bb9f Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 29 Jan 2021 00:35:59 +0800 Subject: [PATCH 1123/1259] debug --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 7c78b9c6..5156640a 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_w@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQsw', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdI@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifY@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHU@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_KY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_w@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvQsw' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdM@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifZ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHV', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdM@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifZ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHV', ] !(async () => { await requireConfig(); From 5eba7b2c6a424bb94a14377daac7cd8593de9a01 Mon Sep 17 00:00:00 2001 From: Sayuri <393366046@qq.com> Date: Fri, 29 Jan 2021 08:36:03 +0800 Subject: [PATCH 1124/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E5=A4=B1=E6=95=88=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index 81335f58..d9253f30 100644 --- a/serverless.yml +++ b/serverless.yml @@ -40,12 +40,12 @@ inputs: cronExpression: "0 3 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory&jd_nianCollect - - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗 #点点券 #东东小窝 #京东直播18豆 #集鞭炮赢京豆 + - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗 #点点券 #东东小窝 #京东直播18豆 parameters: - name: joyreward_joysteal_necklace_smallhome_live_firecrackers + name: joyreward_joysteal_necklace_smallhome_live cronExpression: "0 0 0-16/8,20 * * * *" enable: true - argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_small_home&jd_live&jd_firecrackers + argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_small_home&jd_live - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #京东汽车 #京东秒秒币 #小鸽有礼 parameters: name: redPacket_shop_unsubscribe_unbind_lotteryMachine_car_ms_xg From fc1470e4f403795e2166dc5f31e801dda9c3c8dd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 29 Jan 2021 09:02:36 +0800 Subject: [PATCH 1125/1259] update --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 5156640a..880ec02f 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdM@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifZ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHV', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdM@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifZ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHV', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdM@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifZ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHV@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kc@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_g', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdM@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifZ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHV@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kc@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_g', ] !(async () => { await requireConfig(); From 785de0525c6e1ce2493705aa4d568f90cd6d7d5d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 29 Jan 2021 09:12:51 +0800 Subject: [PATCH 1126/1259] =?UTF-8?q?=E7=A7=AF=E5=88=86=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E4=BA=AC=E8=B1=86=E6=88=90=E5=8A=9F=E5=90=8E=EF=BC=8C=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jd_immortal.js b/jd_immortal.js index 94d5debe..dbad162f 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -267,6 +267,8 @@ function exchange() { 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 { $.risk = true console.log(`账号被风控,无法参与活动`) From 375a222651b7fc0bcf58389e08449a7eefffbdcd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 29 Jan 2021 09:33:56 +0800 Subject: [PATCH 1127/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E5=85=88?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=86=85=E7=BD=AE=E9=A2=98=E5=BA=93=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=89=BE=E4=B8=8D=E5=88=B0=E5=86=8D=E5=8E=BB=E7=BA=BF?= =?UTF-8?q?=E4=B8=8A=E9=A2=98=E5=BA=93=E5=AF=BB=E6=89=BE=E7=AD=94=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal_answer.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index a86962a6..3ebde23c 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -50,7 +50,8 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); return; } - await requireTk() + // 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":"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":"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]; @@ -172,9 +173,23 @@ function getQuestions() { let ans = JSON.parse(ques.correct) let opt = vo.options.filter(bo => bo.optionDesc === ans.optionDesc) if (opt.length) { - console.log(`在题库中找到题啦~`) + console.log(`在脚本内置题库中找到题啦~`) option = opt[0] hasFound = true + } else { + console.log(`在脚本内置题库中 未找到答案,去线上题库寻找~`); + await requireTk(); + 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 + } + } } } @@ -422,7 +437,6 @@ function requireTk() { }, (err, resp, data) => { try { $.tk = JSON.parse(data).RECORDS; - if (!$.tk) $.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":"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":"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"}] } catch (e) { console.log(e) } finally { From df68003e1c8cb5449811295ad8f59825dba1f1a1 Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 29 Jan 2021 09:38:36 +0800 Subject: [PATCH 1128/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BA=BF=E4=B8=8A?= =?UTF-8?q?=E9=A2=98=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal_answer.js | 48 +++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index 3ebde23c..50fea157 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -178,10 +178,8 @@ function getQuestions() { hasFound = true } else { console.log(`在脚本内置题库中 未找到答案,去线上题库寻找~`); - await requireTk(); - ques = $.tk.filter(qo => qo.questionId === vo.questionId); - if (ques.length) { - ques = ques[0] + 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) { @@ -282,6 +280,30 @@ function submitQues(question) { }) } +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) => { @@ -427,24 +449,6 @@ function TotalBean() { }) } -function requireTk() { - return new Promise(resolve => { - $.get({ - url: `http://qn6l5d6wm.hn-bkt.clouddn.com/question.json?t=${new Date().getTime()}`, - headers: { - '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 { - $.tk = JSON.parse(data).RECORDS; - } catch (e) { - console.log(e) - } finally { - resolve() - } - }) - }) -} function safeGet(data) { try { From 494da2d2bb3ba499c0d6090ec04979c2fde2bcf2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 29 Jan 2021 10:00:39 +0800 Subject: [PATCH 1129/1259] =?UTF-8?q?=E4=B8=9C=E4=B8=9C=E8=B6=85=E5=B8=82?= =?UTF-8?q?=E8=B0=83=E6=95=B4cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 2 +- QuantumultX/lxk0301_gallery.json | 2 +- Surge/lxk0301_Task.sgmodule.sgmodule | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 05a84a24..f7d7a7ad 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -161,7 +161,7 @@ cron "8 0-23/3 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste cron "20 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js,tag=京东超级盒子 # 东东超市 -cron "11 1-23/5 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js,tag=东东超市 +cron "11 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js,tag=东东超市 # 赚京豆 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 1ba90708..f5bf7bfd 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -48,7 +48,7 @@ "16 22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", "20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "11 1-23/5 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", + "11 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", "55 23 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index de783315..0bbbf089 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -59,7 +59,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js 天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js 京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js -东东超市 = type=cron,cronexp="11 1-23/5 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js +东东超市 = type=cron,cronexp="11 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js 赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js 注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js From 4fd1ac776d43af3dbe49d5503eda90c482f09ad8 Mon Sep 17 00:00:00 2001 From: Sayuri <393366046@qq.com> Date: Fri, 29 Jan 2021 15:58:51 +0800 Subject: [PATCH 1130/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E8=B6=85=E7=BA=A7=E7=9B=92=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverless.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverless.yml b/serverless.yml index d9253f30..617c4732 100644 --- a/serverless.yml +++ b/serverless.yml @@ -16,12 +16,12 @@ inputs: memorySize: 128 # 内存大小,单位MB timeout: 900 # 超时时间,单位秒 events: # 触发器 - - timer: #签到 #源头好物红包 + - timer: #签到 #源头好物红包 #京东超级盒子 parameters: - name: beansign_coupon + name: beansign_coupon_superbox cronExpression: "0 0 0 * * * *" enable: true - argument: jd_bean_sign&jd_coupon + argument: jd_bean_sign&jd_coupon&jd_super_box - timer: #东东超市兑换奖品 #摇京豆 #京东汽车兑换 parameters: name: blueCoin_clublottery_carexchange From a5a7f6b8a9b79d55ace0f5445b4564d149d3cba2 Mon Sep 17 00:00:00 2001 From: AboutCXJ <290361272@qq.com> Date: Fri, 29 Jan 2021 16:34:22 +0800 Subject: [PATCH 1131/1259] =?UTF-8?q?=E9=9A=8F=E6=9C=BA=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=BF=90=E8=A1=8Cdefault=5Ftask.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 46 ++++++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index d0b79d19..ee813713 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -43,19 +43,11 @@ else echo "当前只使用了默认定时任务文件 $DEFAULT_LIST_FILE ..." fi -##可能存在旧版crontab里面有default_task.sh任务有就直接删除,否则可能会任务重复 -sed -i "/default_task.sh/d" $mergedListFile -echo "第3步判断是否配置了默认脚本更新任务..." -if [ $(grep -c "docker_entrypoint.sh" $mergedListFile) -eq '0' ]; then - echo "合并后的定时任务文件,未包含必须的默认定时任务,增加默认定时任务..." - echo -e >>$mergedListFile - echo "52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile -else - echo "已配置默认脚本更新任务。" -fi -echo "第4步判断是否配置了随即延迟参数..." + + +echo "第3步判断是否配置了随即延迟参数..." if [ $RANDOM_DELAY_MAX ]; then if [ $RANDOM_DELAY_MAX -ge 1 ]; then echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中..." @@ -65,7 +57,7 @@ else echo "未配置随即延迟对应的环境变量,故不设置延迟任务..." fi -echo "第5步判断是否配置自定义shell执行脚本..." +echo "第4步判断是否配置自定义shell执行脚本..." if [ 0"$CUSTOM_SHELL_FILE" = "0" ]; then echo "未配置自定shell脚本文件,跳过执行。" else @@ -90,7 +82,7 @@ fi -echo "第6步删除不运行的脚本任务..." +echo "第5步删除不运行的脚本任务..." if [ $DO_NOT_RUN_SCRIPTS ]; then echo "您配置了不运行的脚本:$DO_NOT_RUN_SCRIPTS" arr=${DO_NOT_RUN_SCRIPTS//&/ } @@ -101,6 +93,34 @@ if [ $DO_NOT_RUN_SCRIPTS ]; then fi +echo "第6步设定下次运行docker_entrypoint.sh时间..." +echo "删除原有docker_entrypoint.sh任务" +sed -ie '/'docker_entrypoint.sh'/d' ${mergedListFile} + + +current_min=$(date +%M) +echo "当前分钟:${current_min}" + +#当前分钟大于1,则随机一个小于当前分钟的,否则为59 +if [ $current_min -ge 1 ]; then + random_min=$(($RANDOM % $current_min)) +else + random_min=59 +fi + +echo "下次运行的分钟:${random_min}" + +#小时间隔1-3随机 +random_h=$(($RANDOM % 3+1)) + +echo "小时间隔调整为${random_h}" + +echo -e >>$mergedListFile +echo "#必须要的默认定时任务请勿删除" >> ${mergedListFile} +echo ""${random_min}" */"${random_h}" * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >> ${mergedListFile} + + + echo "第7步增加 |ts 任务日志输出时间戳..." sed -i "/\( ts\| |ts\|| ts\)/!s/>>/\|ts >>/g" $mergedListFile From dc4e26b5ff350feb2e5a75bdbffd11495148869c Mon Sep 17 00:00:00 2001 From: AboutCXJ <290361272@qq.com> Date: Fri, 29 Jan 2021 16:37:42 +0800 Subject: [PATCH 1132/1259] =?UTF-8?q?=E4=B8=8A=E4=B8=80=E4=B8=AApr?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E9=9A=8F=E6=9C=BA=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=BF=90=E8=A1=8Cdocker=5Fentrypoint=EF=BC=8C=E6=95=85?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E9=9C=80=E8=A6=81=E8=AF=A5=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 9345f0c8..c64a0ae6 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -1,5 +1,3 @@ -#必须要的默认定时任务请勿删除 -52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1 # 每3天的23:50分清理一次日志 50 23 */3 * * rm -rf /scripts/logs/*.log From fdf80e66eae2eb951b8c42c1f4c2960019e9f276 Mon Sep 17 00:00:00 2001 From: Jone2008 <8174058+jone2008@user.noreply.gitee.com> Date: Fri, 29 Jan 2021 17:14:40 +0800 Subject: [PATCH 1133/1259] update tencentscf.js. --- tencentscf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tencentscf.js b/tencentscf.js index 94680cba..f5b128e6 100644 --- a/tencentscf.js +++ b/tencentscf.js @@ -10,7 +10,7 @@ const clientConfig = { secretId: process.env.TENCENT_SECRET_ID, secretKey: process.env.TENCENT_SECRET_KEY, }, - region: process.env.TENCENT_REGION, // 区域参考,https://cloud.tencent.com/document/product/213/6091 + region: process.env.TENCENT_REGION, // 区域参考,https://cloud.tencent.com/document/product/583/17299 profile: { httpProfile: { endpoint: "scf.tencentcloudapi.com", From db785c47d92a08bb0165daeb903fc933b89b9bbf Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 29 Jan 2021 19:05:03 +0800 Subject: [PATCH 1134/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian_ar.js | 2 +- jd_nian_sign.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian_ar.js b/jd_nian_ar.js index 7a752f15..b890a3ff 100644 --- a/jd_nian_ar.js +++ b/jd_nian_ar.js @@ -134,7 +134,7 @@ function getHomeData(info=false) { $.secretp = null return } - console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore}🧨`) + console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨`) if(info) { message += `当前爆竹${$.userInfo.raiseInfo.remainScore}🧨\n` diff --git a/jd_nian_sign.js b/jd_nian_sign.js index 0c242e68..3578efed 100644 --- a/jd_nian_sign.js +++ b/jd_nian_sign.js @@ -136,7 +136,7 @@ function getHomeData(info=false) { $.secretp = null return } - console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore}🧨`) + console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨`) } else{ $.secretp = null From fee9ff50d8d84685911019169d769396b3f8194c Mon Sep 17 00:00:00 2001 From: Penley Date: Fri, 29 Jan 2021 21:56:16 +0800 Subject: [PATCH 1135/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0js=E6=96=87=E4=BB=B6=E8=8E=B7=E5=8F=96=E9=80=94?= =?UTF-8?q?=E5=BE=84=E7=9A=84=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/index.js b/index.js index 02ee6309..40d28368 100644 --- a/index.js +++ b/index.js @@ -1,24 +1,38 @@ //'use strict'; exports.main_handler = async (event, context, callback) => { try { + const { SCF_SOURCE_TYPE, SCF_SOURCE_URL } = process.env //如果想在一个定时触发器里面执行多个js文件需要在定时触发器的【附加信息】里面填写对应的名称,用 & 链接 //例如我想一个定时触发器里执行jd_speed.js和jd_bean_change.js,在定时触发器的【附加信息】里面就填写 jd_speed&jd_bean_change for (const v of event["Message"].split("&")) { console.log(v); var request = require('request'); - //1.执行自己上传的js文件 - //delete require.cache[require.resolve('./'+v+'.js')]; - //require('./'+v+'.js') - - //2.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 - //request('https://gitee.com/lxk0301/jd_scripts/raw/master/'+v+'.js', function (error, response, body) { - // eval(response.body) - //}) - - //3.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数不推荐) - request('https://gitee.com/lxk0301/jd_scripts/raw/master/' + v + '.js', function (error, response, body) { - eval(response.body) - }) + switch (SCF_SOURCE_TYPE) { + case 'local': + //1.执行自己上传的js文件 + delete require.cache[require.resolve('./'+v+'.js')]; + require('./'+v+'.js') + break; + case 'git': + //2.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数不推荐) + request(`https://raw.githubusercontent.com/LXK9301/jd_scripts/master/${v}.js`, function (error, response, body) { + eval(response.body) + }) + break; + case 'custom': + //3.执行自定义远端js文件网址 + if (!SCF_SOURCE_URL) return console.log('自定义模式需要设置SCF_SOURCE_URL变量') + request(`${SCF_SOURCE_URL}${v}.js`, function (error, response, body) { + eval(response.body) + }) + break; + default: + //4.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 + request(`https://gitee.com/lxk0301/jd_scripts/raw/master/${v}.js`, function (error, response, body) { + eval(response.body) + }) + break; + } } } catch (e) { console.error(e) From 7dfa20283c5ace650bc6f62a54c723aa2df2621d Mon Sep 17 00:00:00 2001 From: anonymous Date: Fri, 29 Jan 2021 23:40:35 +0800 Subject: [PATCH 1136/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_list.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/update_list.sh b/update_list.sh index e5819283..977b8d70 100644 --- a/update_list.sh +++ b/update_list.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash ## Author: https://github.com/EvineDeng -## Modified: 2021-01-24 -## Version: v1.0.0 +## Modified: 2021-01-29 +## Version: v1.0.1 ## 网址、路径、文件、标记信息以及表头 WorkDir=$(cd $(dirname $0); pwd) @@ -23,9 +23,7 @@ Sheet=$SheetHead for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') Entry=$(grep -E "活动入口" ${JsList[i]} | awk -F ":|: " '{print $2}') - if [[ $(echo $Entry | grep "http") != "" ]]; then - Entry="[活动地址]($Entry)" - fi + [[ $Entry == http* ]] && Entry="[活动地址]($Entry)" Raw="$UrlRaw${JsList[i]}" Sheet="$Sheet\n|$(($i + 1))|[${JsList[i]}]($Raw)|$Name|$Entry|" done From ce83e7982d12f8002673e29b508e4900ab530ab4 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 30 Jan 2021 00:16:43 +0800 Subject: [PATCH 1137/1259] =?UTF-8?q?=E8=B7=B3=E5=87=BA=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_super_box.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jd_super_box.js b/jd_super_box.js index cec9de2e..bf79a519 100644 --- a/jd_super_box.js +++ b/jd_super_box.js @@ -181,8 +181,10 @@ function getTaskDetail(taskId,taskType) { 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 { @@ -220,6 +222,7 @@ function doTask(taskId,taskType,itemId) { if (data.success) { console.log(`任务完成成功`) } else { + $.canDone = false console.log(`任务完成失败`) } } From 10e448c8fd27cbdb58828803dbbe72dd57dac793 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 30 Jan 2021 00:23:48 +0800 Subject: [PATCH 1138/1259] debug --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 880ec02f..8f7e2312 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdM@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifZ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHV@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kc@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_g', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEdM@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McifZ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvHV@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_Kc@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp-_g', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENo@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibQ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDc', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENo@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibQ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDc', ] !(async () => { await requireConfig(); From 4a8cda7496038f410afbc95abbf449cf89be31fd Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 30 Jan 2021 01:32:13 +0800 Subject: [PATCH 1139/1259] =?UTF-8?q?5G=E7=8B=82=E6=AC=A2=E5=9F=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_5g.js | 664 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 664 insertions(+) create mode 100644 jd_5g.js diff --git a/jd_5g.js b/jd_5g.js new file mode 100644 index 00000000..0750819d --- /dev/null +++ b/jd_5g.js @@ -0,0 +1,664 @@ +/* +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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true + +================Loon============== +[Script] +cron "0 0,6,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城 + +===============Surge================= +5G狂欢城 = type=cron,cronexp="0 0,6,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js + +============小火箭========= +5G狂欢城 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { + 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); +} +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 + await getToday() + 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 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) + } + } + } 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}` + console.log(`用户当前积分:${data.data.integralNum}`) + } else { + console.log(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(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(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(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(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(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(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(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(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(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}`); + } else { + console.log(data) + } + } + } 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/818/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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + +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": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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://gitee.com/lxk0301/updateTeam/raw/master/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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0")} + }, 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)} From 44ec4a4013108b36fb7df4fbce34783f6212f726 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 30 Jan 2021 01:33:21 +0800 Subject: [PATCH 1140/1259] 5g --- jd_5g.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_5g.js b/jd_5g.js index 0750819d..60b0f1c4 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -190,7 +190,7 @@ function getActInfo() { } else { data = JSON.parse(data); if (data && data['code'] === 200) { - message += `当前积分:${data.data.integralNum}` + message += `用户当前积分:${data.data.integralNum}\n` console.log(`用户当前积分:${data.data.integralNum}`) } else { console.log(data) From 87101037c96423b861c6fae77c40441ce1d42c98 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 30 Jan 2021 07:51:38 +0800 Subject: [PATCH 1141/1259] update --- Loon/lxk0301_LoonTask.conf | 33 ++++---- QuantumultX/lxk0301_gallery.json | 11 +-- README.md | 119 ++++++++++++++------------- Surge/lxk0301_Task.sgmodule.sgmodule | 11 +-- docker/crontab_list.sh | 3 + 5 files changed, 93 insertions(+), 84 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index f7d7a7ad..4116c2ec 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -7,6 +7,9 @@ hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +# 5G狂欢城 +cron "0 0,6,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城 + # 京豆变动通知 cron "2 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知 @@ -19,12 +22,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车 -cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 - # 京东汽车兑换 cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 +# 京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -55,27 +58,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院 -cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 - # 京东神仙书院答题 cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +# 京东神仙书院 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -115,21 +118,21 @@ cron "10 0,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 - # 京东炸年兽AR cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + +# 京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index f5bf7bfd..1011fb91 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -2,12 +2,13 @@ "name": "LXK9301 task gallery", "description": "https://gitee.com/lxk0301/jd_scripts/tree/master", "task": [ + "0 0,6,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -17,12 +18,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -34,11 +35,11 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true", "10 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/README.md b/README.md index abc7a212..52c68c07 100644 --- a/README.md +++ b/README.md @@ -30,65 +30,66 @@ | 序号 | 文件 | 名称 | 活动入口 | | :-: | - | - | - | -|1|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| -|2|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| -|3|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| -|4|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| -|5|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|6|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|7|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|8|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| -|9|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|10|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|11|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|12|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|13|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|14|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| -|15|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|16|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| -|17|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| -|18|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|19|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|20|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|21|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| -|22|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|23|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|24|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|25|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|26|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| -|28|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| -|29|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|30|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| -|31|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| -|32|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| -|33|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| -|34|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| -|35|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| -|36|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|37|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|38|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|39|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|40|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|41|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|42|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|43|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|44|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| -|45|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|46|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|47|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|48|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|49|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|50|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|51|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|52|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|53|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|54|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|55|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|56|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|57|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|58|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|59|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +|1|[jd_5g.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js)|5G狂欢城|暂无| +|2|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| +|3|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| +|4|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| +|5|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| +|6|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| +|7|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|9|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| +|10|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| +|11|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| +|12|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|13|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|14|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|15|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|16|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|17|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| +|18|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|19|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|20|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|21|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|22|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|23|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|24|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|25|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|28|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|29|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|30|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|31|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| +|32|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| +|33|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|34|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| +|35|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|36|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| +|37|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|38|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|39|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|40|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|41|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|42|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|43|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|44|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|45|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| +|46|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|47|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|48|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|49|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|50|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|51|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|52|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|53|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|54|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|55|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|56|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|57|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|58|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|59|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|60|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 0bbbf089..91b7bd23 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,12 +8,13 @@ # Surge的Task&Cookies脚本模块地址: https://gitee.com/lxk0301/jd_scripts/raw/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] +5G狂欢城 = type=cron,cronexp="0 0,6,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -24,13 +25,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -44,11 +45,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 9345f0c8..c2a0241f 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -22,6 +22,9 @@ #京东神仙书院答题(活动时间:2021-1-20至2021-2-5) 5 1 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 +# 5G狂欢城 +0 */6 * * * node /scripts/jd_5g.js >> /scripts/log/jd_5g.log 2>&1 + ##############长期活动############## # 签到 From 317cc69d5f3b9f117b2a915a6ef9722626836cee Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 30 Jan 2021 09:43:36 +0800 Subject: [PATCH 1142/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=A3=8E=E6=8E=A7?= =?UTF-8?q?=E8=B4=A6=E6=88=B7=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_5g.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jd_5g.js b/jd_5g.js index 60b0f1c4..84b7c864 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -90,7 +90,13 @@ 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() @@ -169,7 +175,10 @@ function getToday() { if (data && data['code'] === 200) { console.log(data.data.rsMsg) } else { - console.log(data) + console.log(data.msg) + if(data.code===1002){ + $.risk = true + } } } } catch (e) { From d63ac6628d2eb6f373c7fff485256aa4f34e1e92 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 10:20:44 +0800 Subject: [PATCH 1143/1259] update --- jd_nian.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 8f7e2312..08ecd17b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,9 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENo@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibQ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDc', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENo@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibQ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDc', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENo@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibQ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDc@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a4@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9w', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENo@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibQ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDc@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a4@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9w', +'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a4@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9w' ] !(async () => { await requireConfig(); From 849fe2db66ff5333201e6bd717e5a1fbf2e64583 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 10:42:08 +0800 Subject: [PATCH 1144/1259] update --- jd_immortal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_immortal.js b/jd_immortal.js index dbad162f..35572617 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -236,7 +236,7 @@ function getExchangeInfo() { if (data && data['retCode'] === "200") { const {userRemainScore, exchageRate} = data.result console.log(`当前用户兑换比率${exchageRate}`) - if (exchageRate === 1.4 && userRemainScore >= scoreToBeans) { + if (userRemainScore >= scoreToBeans) { console.log(`已达到最大比率,去兑换`) await exchange() } From fb69e3b94eb5e4aa90213d4ca94bf974dd0617b9 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 30 Jan 2021 12:14:16 +0800 Subject: [PATCH 1145/1259] =?UTF-8?q?fix=E4=BA=91=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E8=AE=BE=E7=BD=AE=E9=94=99=E8=AF=AF=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index 40d28368..bff9d9df 100644 --- a/index.js +++ b/index.js @@ -1,13 +1,13 @@ //'use strict'; exports.main_handler = async (event, context, callback) => { try { - const { SCF_SOURCE_TYPE, SCF_SOURCE_URL } = process.env + const { TENCENTSCF_SOURCE_TYPE, TENCENTSCF_SOURCE_URL } = process.env //如果想在一个定时触发器里面执行多个js文件需要在定时触发器的【附加信息】里面填写对应的名称,用 & 链接 //例如我想一个定时触发器里执行jd_speed.js和jd_bean_change.js,在定时触发器的【附加信息】里面就填写 jd_speed&jd_bean_change for (const v of event["Message"].split("&")) { console.log(v); var request = require('request'); - switch (SCF_SOURCE_TYPE) { + switch (TENCENTSCF_SOURCE_TYPE) { case 'local': //1.执行自己上传的js文件 delete require.cache[require.resolve('./'+v+'.js')]; @@ -21,8 +21,8 @@ exports.main_handler = async (event, context, callback) => { break; case 'custom': //3.执行自定义远端js文件网址 - if (!SCF_SOURCE_URL) return console.log('自定义模式需要设置SCF_SOURCE_URL变量') - request(`${SCF_SOURCE_URL}${v}.js`, function (error, response, body) { + if (!TENCENTSCF_SOURCE_URL) return console.log('自定义模式需要设置TENCENTSCF_SOURCE_URL变量') + request(`${TENCENTSCF_SOURCE_URL}${v}.js`, function (error, response, body) { eval(response.body) }) break; From 050a7eb9d0668552e7f7fe65da5cb60bbf7a2889 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 30 Jan 2021 12:47:22 +0800 Subject: [PATCH 1146/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=91=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backUp/tencentscf.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backUp/tencentscf.md b/backUp/tencentscf.md index d9bee915..ab3e348c 100644 --- a/backUp/tencentscf.md +++ b/backUp/tencentscf.md @@ -112,6 +112,10 @@ triggers: 目前因为云函数改版升级,原GitHub Action部署云函数方案需要作出相应调整,secret变量新增`SCF_REGION`和`TENCENT_FUNCTION_NAME`。`SCF_REGION`用于控制部署区域的选择,具体参数代码填写可以自行查找官方说明 [地域和可用区](https://cloud.tencent.com/document/product/213/6091) `TENCENT_FUNCTION_NAME`用于控制部署到云函数后函数名的命名。
+## 4. 配置index.js中secrets变量说明 +现在可以通过secret设置自定义index.js中的执行方式,环境变量分别为`TENCENTSCF_SOURCE_TYPE`和`TENCENTSCF_SOURCE_URL`,其中`TENCENTSCF_SOURCE_TYPE`值可以选取`local`、`git`、`custom`具体含义[参考这里](githubAction.md#下方提供使用到的-secrets全集合)。`TENCENTSCF_SOURCE_URL`格式为包含raw的URL,例如:`https://raw.githubusercontent.com/LXK9301/jd_scripts/master/`或`https://gitee.com/lxk0301/jd_scripts/raw/master/`
+ + ### __重要的说三遍__ ### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 ### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接 From 9eca857e22b7d260a2ae887754f83b42875b428b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 12:57:01 +0800 Subject: [PATCH 1147/1259] update --- jd_joy_run.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_joy_run.js b/jd_joy_run.js index 46248f6e..0249b747 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -41,7 +41,7 @@ const JD_BASE_API = `https://draw.jdfcloud.com//pet`; //下面给出好友邀请助力的示例填写规则 let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45a6b5953b15b,zooooo58,jd_66f5cecc1efcd,jd_41345a6f96aa5"]; //下面给出好友赛跑助力的示例填写规则 -let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_41345a6f96aa5,jd_704a2e5e28a66,zooooo58"]; +let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_45a6b5953b15b,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_41345a6f96aa5,jd_704a2e5e28a66,zooooo58"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); // $.LKYLToken = $.getdata('jdJoyRunToken'); const friendsArr = ["jd_DcDTMOblJHiM", "jd_553ea3a6ef2f4", "yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"]; From 9753979e232264af507eef93cdd964f2589ea5d1 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 30 Jan 2021 12:57:52 +0800 Subject: [PATCH 1148/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=87=AA=E5=AE=9A=E4=B9=89=E6=89=A7=E8=A1=8Cindex.js?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E7=9A=84secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index f08df3a4..d84b8d3f 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -26,10 +26,11 @@ jobs: - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | - if [ $SCF_REGION ]; then sed -i "s/region:.*$/region: $SCF_REGION/g" serverless.yml; fi; if [ $JD_COOKIE ]; then sed -i "/variables/a\ JD_COOKIE: $JD_COOKIE" serverless.yml; fi; if [ $JD_DEBUG ]; then sed -i "/variables/a\ JD_DEBUG: $JD_DEBUG" serverless.yml; fi; if [ $JD_USER_AGENT ]; then sed -i "/variables/a\ JD_USER_AGENT: $JD_USER_AGENT" serverless.yml; fi; + if [ $TENCENTSCF_SOURCE_TYPE ]; then sed -i "/variables/a\ TENCENTSCF_SOURCE_TYPE: $TENCENTSCF_SOURCE_TYPE" serverless.yml; fi; + if [ $TENCENTSCF_SOURCE_URL ]; then sed -i "/variables/a\ TENCENTSCF_SOURCE_URL: $TENCENTSCF_SOURCE_URL" serverless.yml; fi; if [ $PUSH_KEY ]; then sed -i "/variables/a\ PUSH_KEY: $PUSH_KEY" serverless.yml; fi; if [ $BARK_PUSH ]; then sed -i "/variables/a\ BARK_PUSH: $BARK_PUSH" serverless.yml; fi; if [ $BARK_SOUND ]; then sed -i "/variables/a\ BARK_SOUND: $BARK_SOUND" serverless.yml; fi; @@ -94,10 +95,11 @@ jobs: cat serverless.yml env env: #因为直接读取secrets里面的值很多字符不会自动转译,导致写入serverless.yml异常,所以设置到环境变量,在读取环境变量转译过的值 - SCF_REGION: ${{ secrets.SCF_REGION }} JD_COOKIE: ${{ secrets.JD_COOKIE}} JD_DEBUG: ${{ secrets.JD_DEBUG}} JD_USER_AGENT: ${{ secrets.JD_USER_AGENT}} + TENCENTSCF_SOURCE_TYPE: ${{ secrets.TENCENTSCF_SOURCE_TYPE}} + TENCENTSCF_SOURCE_URL: ${{ secrets.TENCENTSCF_SOURCE_URL}} PUSH_KEY: ${{ secrets.PUSH_KEY}} BARK_PUSH: ${{ secrets.BARK_PUSH}} BARK_SOUND: ${{ secrets.BARK_SOUND}} From 5ccf5cf26d06d0308013f5dc587ddc8074b5c1b4 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 30 Jan 2021 13:20:09 +0800 Subject: [PATCH 1149/1259] =?UTF-8?q?update=20index.js=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index bff9d9df..49e46fa0 100644 --- a/index.js +++ b/index.js @@ -27,7 +27,7 @@ exports.main_handler = async (event, context, callback) => { }) break; default: - //4.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 + //4.执行国内gitee远端的js文件(如果部署在国内节点,选择1或3。默认使用gitee的方式) request(`https://gitee.com/lxk0301/jd_scripts/raw/master/${v}.js`, function (error, response, body) { eval(response.body) }) From 5a1f4e1762dd835c475a9fcac2fdec33b382737f Mon Sep 17 00:00:00 2001 From: anonymous Date: Sat, 30 Jan 2021 13:33:30 +0800 Subject: [PATCH 1150/1259] Fix --- docker/crontab_list.sh | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index ebb2e3bc..a9fbd6df 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -2,26 +2,24 @@ 50 23 */3 * * rm -rf /scripts/logs/*.log ##############短期活动############## -#年货节(活动时间:2021年1月9日-2021年2月9日) +# 年货节(活动时间:2021年1月9日-2021年2月9日) 10 8 * * * node /scripts/jd_nh.js >> /scripts/logs/jd_nh.log 2>&1 -#京东炸年兽集爆竹(活动时间:2021-1-18至2021-2-11)怕有遗漏故多运行几次 +# 京东炸年兽集爆竹(活动时间:2021-1-18至2021-2-11)怕有遗漏故多运行几次 0 * * * * node /scripts/jd_nian.js >> /scripts/logs/jd_nian.log 2>&1 -#专门收集每秒产生的爆竹(1小时运行一次) +# 专门收集每秒产生的爆竹(1小时运行一次) 30 * * * * node /scripts/jd_nianCollect.js >> /scripts/logs/jd_nianCollect.log 2>&1 -#京东炸年兽签到任务🧨 +# 京东炸年兽签到任务🧨 50 0,1 * * * node /scripts/jd_nian_sign.js >> /scripts/logs/jd_nian_sign.log 2>&1 -#京东炸年兽AR +# 京东炸年兽AR 50 0,1,8 * * * node /scripts/jd_nian_ar.js >> /scripts/logs/jd_nian_ar.log 2>&1 -#京东炸年兽小程序 +# 京东炸年兽小程序 50 0,1,8 * * * node /scripts/jd_nian_wechat.js >> /scripts/logs/jd_nian_wechat.log 2>&1 - -#京东神仙书院(活动时间:2021-1-20至2021-2-5) +# 京东神仙书院(活动时间:2021-1-20至2021-2-5) 30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 - -#京东神仙书院答题(活动时间:2021-1-20至2021-2-5) +# 京东神仙书院答题(活动时间:2021-1-20至2021-2-5) 5 1 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 # 5G狂欢城 -0 */6 * * * node /scripts/jd_5g.js >> /scripts/log/jd_5g.log 2>&1 +0 */6 * * * node /scripts/jd_5g.js >> /scripts/logs/jd_5g.log 2>&1 ##############长期活动############## From f5c385574b45f60f024a44609c82c82720685909 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 14:19:28 +0800 Subject: [PATCH 1151/1259] =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E6=AD=BBua?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_5g.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_5g.js b/jd_5g.js index 84b7c864..6ece226a 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -598,7 +598,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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) => { From 21908ab4240477ccf786eb562305b0eb481d2e4f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 14:21:00 +0800 Subject: [PATCH 1152/1259] update --- jd_5g.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_5g.js b/jd_5g.js index 6ece226a..92c6b30c 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -548,7 +548,7 @@ function taskUrl(function_id,body) { "origin": "https://rdcseason.m.jd.com", "referer": "https://rdcseason.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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" } } } @@ -563,7 +563,7 @@ function taskPostUrl(function_id, body = "") { "origin": "https://rdcseason.m.jd.com", "referer": "https://rdcseason.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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" } } } @@ -581,7 +581,7 @@ function taskPostUrl2(function_id, body = {}, function_id2) { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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" } } } From 74044574fcb39921754ca8b836703aba0b6763b6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 14:40:15 +0800 Subject: [PATCH 1153/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8F=90=E9=86=92:?= =?UTF-8?q?alarm=5Fclock:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_5g.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_5g.js b/jd_5g.js index 92c6b30c..52112873 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -445,7 +445,7 @@ function getHelp() { } else { data = JSON.parse(data); if (data && data['code'] === 200) { - console.log(`您的好友助力码为:${data.data.shareId}`); + console.log(`您的好友助力码为:${data.data.shareId} \n注:此邀请码每天都变好!`); } else { console.log(data) } From 917907ba81e0c514982223dc7db011d76c7dc5f1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 14:50:01 +0800 Subject: [PATCH 1154/1259] update --- jd_5g.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_5g.js b/jd_5g.js index 52112873..eb95bef4 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -445,7 +445,7 @@ function getHelp() { } else { data = JSON.parse(data); if (data && data['code'] === 200) { - console.log(`您的好友助力码为:${data.data.shareId} \n注:此邀请码每天都变好!`); + console.log(`您的好友助力码为:${data.data.shareId} \n注:此邀请码每天都变!`); } else { console.log(data) } From 935a5fe23336afb0c2130a8c37cfec191ab8285f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 14:56:24 +0800 Subject: [PATCH 1155/1259] update --- jd_5g.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_5g.js b/jd_5g.js index eb95bef4..e5f354c8 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -462,7 +462,7 @@ function readShareCode() { console.log(`开始`) return new Promise(async resolve => { $.get({ - url: `http://jd.turinglabs.net/api/v2/jd/818/read/${randomCount}/`, + url: `http://jd.turinglabs.net/api/v2/jd/5g/read/${randomCount}/`, 'timeout': 10000 }, (err, resp, data) => { try { From ff00ec63fdd2304ded43a6173fd34a030e5dfa06 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 15:07:06 +0800 Subject: [PATCH 1156/1259] update --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 08ecd17b..db77d7c4 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -790,7 +790,7 @@ function pkInfo() { if (safeGet(data)) { data = JSON.parse(data); if (data.code === 0 && data.data && data.data.bizCode === 0) { - console.log(`\n您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}\n`) + console.log(`\n您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}\n注:此pk邀请码每天都变!`) let info = data.data.result.groupPkInfo if (info.dayAward) console.log(`白天关卡:${info.dayAward}元红包,完成进度 ${info.dayTotalValue}/${info.dayTargetSell}`) From 6aa6b6acc657d1c44855c6ab5929f07a88a25bc9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 18:11:24 +0800 Subject: [PATCH 1157/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9C=88x=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_5g.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/jd_5g.js b/jd_5g.js index e5f354c8..c1988d27 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -202,7 +202,7 @@ function getActInfo() { message += `用户当前积分:${data.data.integralNum}\n` console.log(`用户当前积分:${data.data.integralNum}`) } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -228,7 +228,7 @@ function getMeetingList() { await getMeetingPrize(vo['id']) } } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -251,7 +251,7 @@ function browseMeeting(id) { if (data && data['code'] === 200) { console.log(data.msg) } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -276,7 +276,7 @@ function getMeetingPrize(id) { $.score += parseInt(data.data.integralNum) console.log(`获得${data.data.jdNum}京豆,${data.data.integralNum}积分`) } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -302,7 +302,7 @@ function getGoodList() { await getGoodPrize(vo['id']) } } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -325,7 +325,7 @@ function browseGood(id) { if (data && data['code'] === 200) { console.log(data.msg) } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -350,7 +350,7 @@ function getGoodPrize(id) { $.score += parseInt(data.data.integralNum) console.log(`获得${data.data.jdNum}京豆,${data.data.integralNum}积分`) } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -376,7 +376,7 @@ function getShopList() { await getShopPrize(vo['shopId']) } } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -399,7 +399,7 @@ function browseShop(id) { if (data && data['code'] === 200) { console.log(data.msg) } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -424,7 +424,7 @@ function getShopPrize(id) { $.score += parseInt(data.data.integralNum) console.log(`获得${data.data.jdNum}京豆,${data.data.integralNum}积分`) } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { @@ -447,7 +447,7 @@ function getHelp() { if (data && data['code'] === 200) { console.log(`您的好友助力码为:${data.data.shareId} \n注:此邀请码每天都变!`); } else { - console.log(data) + console.log(JSON.stringify(data)) } } } catch (e) { From 7c45d78521cb5e7e55eb10b8aa19b0d3f253988a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 18:44:21 +0800 Subject: [PATCH 1158/1259] =?UTF-8?q?=E6=8A=8A=E7=8B=82=E6=AC=A2=E5=9F=8E?= =?UTF-8?q?=E5=86=99=E8=BF=9Bdocker=E9=87=8C=E9=9D=A2=EF=BC=8C=E5=A4=9A?= =?UTF-8?q?=E6=AC=A1=E8=BF=90=E8=A1=8C=E5=A2=9E=E5=A4=A7=E8=A2=AB=E5=8A=A9?= =?UTF-8?q?=E5=8A=9B=E5=88=B0=E7=9A=84=E5=87=A0=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 33 +- QuantumultX/lxk0301_gallery.json | 11 +- Surge/lxk0301_Task.sgmodule.sgmodule | 11 +- activity/jd_818.js | 78 +-- docker/crontab_list.sh | 2 +- jd_818.js | 937 +++++++++++++++++++++++++++ 6 files changed, 1008 insertions(+), 64 deletions(-) create mode 100644 jd_818.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 4116c2ec..c7ddcef3 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -10,6 +10,9 @@ hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.hua # 5G狂欢城 cron "0 0,6,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城 +# 京东手机狂欢城 +cron "0 0-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城 + # 京豆变动通知 cron "2 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知 @@ -22,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车兑换 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 - # 京东汽车 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 +# 京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -58,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院答题 -cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 - # 京东神仙书院 cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 +# 京东神仙书院答题 +cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -118,21 +121,21 @@ cron "10 0,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽AR -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR - -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 京东炸年兽🧨 cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 1011fb91..e54acc3d 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -3,12 +3,13 @@ "description": "https://gitee.com/lxk0301/jd_scripts/tree/master", "task": [ "0 0,6,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "0 0-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城, enabled=true", "2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -18,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -35,11 +36,11 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true", "10 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 91b7bd23..2700b95c 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -9,12 +9,13 @@ [Script] 5G狂欢城 = type=cron,cronexp="0 0,6,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js +京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -25,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js +京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -45,11 +46,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js diff --git a/activity/jd_818.js b/activity/jd_818.js index 9d228e3c..9f6a84a9 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -55,9 +55,9 @@ if ($.isNode()) { } const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; -const activeEndTime = '2020/11/11 23:59:59+08:00'; +const activeEndTime = '2021/2/5 23:59:59+08:00'; const addUrl = 'http://jd.turinglabs.net/helpcode/create/'; -const printUrl = `http://jd.turinglabs.net/helpcode/print/20/`; +const printUrl = `http://jd.turinglabs.net/api/v2/jd/5g/read/20/`; let helpCode = [] !(async () => { if (!cookiesArr[0]) { @@ -144,7 +144,7 @@ function listMeeting() { 'Accept': 'application/json, text/plain, */*', '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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' @@ -191,7 +191,7 @@ function listGoods() { 'Accept': 'application/json, text/plain, */*', '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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' @@ -237,7 +237,7 @@ function shopInfo() { 'Accept': 'application/json, text/plain, */*', '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + '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' @@ -290,7 +290,7 @@ function browseGoods(id) { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -324,7 +324,7 @@ function getGoodsPrize(id) { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -357,7 +357,7 @@ function browseShop(id) { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -390,7 +390,7 @@ function getShopPrize(id) { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -424,7 +424,7 @@ function browseMeeting(id) { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -457,7 +457,7 @@ function getMeetingPrize(id) { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -490,7 +490,7 @@ function myRank() { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -553,7 +553,7 @@ function saveJbean(id) { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -583,15 +583,17 @@ async function doHelp() { if (zone === 0) { nowTime += 28800000;//UTC-0时区加上8个小时 } - await updateShareCodes(); - if (!$.updatePkActivityIdRes) await updateShareCodesCDN(); - tempCode = $.updatePkActivityIdRes.shareCodes; + // await updateShareCodes(); + // if (!$.updatePkActivityIdRes) await updateShareCodesCDN(); + // 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();//访问收集的互助码 + //if (nowTime > new Date(nowTime).setHours(9, 0, 0, 0)) body = await printAPI();//访问收集的互助码 + body = await printAPI();//访问收集的互助码 if (body) { - console.log(`printAPI返回助力码数量:${body.replace(/"/g, '').split(',').length}`) - tempCode = tempCode.concat(body.replace(/"/g, '').split(',')) + // console.log(`printAPI返回助力码数量:${body.replace(/"/g, '').split(',').length}`) + // tempCode = tempCode.concat(body.replace(/"/g, '').split(',')) + tempCode = [...tempCode, ...body['data']] } console.log(`累计助力码数量:${tempCode.length}`) //去掉重复的 @@ -608,13 +610,13 @@ async function doHelp() { } function printAPI() { return new Promise(resolve => { - $.get({url: `${printUrl}`}, (err, resp, data) => { + $.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); + data = JSON.parse(data); } } catch (e) { $.logErr(e, resp) @@ -637,7 +639,7 @@ function toHelp(code) { "Cookie": cookie, "Connection": "keep-alive", "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;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -669,7 +671,7 @@ function getHelp() { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -684,7 +686,7 @@ function getHelp() { 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`); + // 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}`) @@ -692,16 +694,16 @@ function getHelp() { } 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}` - }) + // 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 @@ -730,7 +732,7 @@ function getListJbean() { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -765,7 +767,7 @@ function getListIntegral() { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -801,7 +803,7 @@ function getListRank() { "Accept": "application/json, text/plain, */*", "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + "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" @@ -883,7 +885,7 @@ function TotalBean() { "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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + "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) => { diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index a9fbd6df..dc1d174d 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -20,7 +20,7 @@ 5 1 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 # 5G狂欢城 0 */6 * * * node /scripts/jd_5g.js >> /scripts/logs/jd_5g.log 2>&1 - +0 */6 * * * node /scripts/jd_818.js >> /scripts/logs/jd_818.log 2>&1 ##############长期活动############## # 签到 diff --git a/jd_818.js b/jd_818.js new file mode 100644 index 00000000..727d4beb --- /dev/null +++ b/jd_818.js @@ -0,0 +1,937 @@ +/* + * @Author: LXK9301 https://github.com/LXK9301 + * @Date: 2020-11-03 09:25:47 + * @Last Modified by: LXK9301 + * @Last Modified time: 2020-11-23 12:27:07 + */ +/* +京东手机狂欢城活动,每日可获得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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城, enabled=true +=====================Loon================ +[Script] +cron "0 0-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城 +====================Surge================ +京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { + 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); + cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); +} + +const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; +const activeEndTime = '2021/2/5 23: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 = []; + 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($.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() { + 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() +} +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(); + // 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) { + // 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/LXK9301/updateTeam/master/jd_shareCodes.json') { + return new Promise(resolve => { + //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json + //https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json + $.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://raw.fastgit.org/LXK9301/updateTeam/master/jd_shareCodes.json') { + return new Promise(resolve => { + //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json + //https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json + $.get({url}, 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 + } + $.nickName = data['base'].nickname; + } 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}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); + if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/LXK9301/jd_scripts`) + } 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)} From b70e7d9bf513bec79129e7be311f7c96d1dae04e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 18:54:01 +0800 Subject: [PATCH 1159/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=20=E9=A2=86=E5=8F=96=E5=BE=80=E6=9C=9F=E6=8E=92=E5=90=8D?= =?UTF-8?q?=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_5g.js | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ jd_818.js | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) diff --git a/jd_5g.js b/jd_5g.js index c1988d27..bb7f96d0 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -113,6 +113,7 @@ async function jdFive() { await getShopList() console.log(`去帮助好友`) await helpFriends() + await myRank();//领取往期排名奖励 await getActInfo() await showMsg() } catch (e) { @@ -458,6 +459,101 @@ function getHelp() { }) }) } +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 => { diff --git a/jd_818.js b/jd_818.js index 727d4beb..0b3c6a7d 100644 --- a/jd_818.js +++ b/jd_818.js @@ -919,7 +919,7 @@ async function showMsg() { $.msg($.name, '活动已结束', `该活动累计获得京豆:${$.jbeanCount}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/LXK9301/jd_scripts`) } 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"}); + $.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) { From 0d1e37ddc3c0c79184b6733959f95f5eddd1d3d8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 20:33:08 +0800 Subject: [PATCH 1160/1259] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A5=BD=E5=8F=8B?= =?UTF-8?q?=E4=B8=BA30309=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_joy_help.js | 4 ++-- jd_joy_run.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_joy_help.js b/jd_joy_help.js index f1aafa8f..99009636 100644 --- a/jd_joy_help.js +++ b/jd_joy_help.js @@ -3,7 +3,7 @@ 更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js 更新时间:2021-1-21 活动入口:京东APP我的-更多工具-宠汪汪 -目前提供了304位好友的friendPin供使用。脚本随机从里面获取一个,助力成功后,退出小程序重新点击进去开始助力新的好友 +目前提供了30309位好友的friendPin供使用。脚本随机从里面获取一个,助力成功后,退出小程序重新点击进去开始助力新的好友 欢迎大家使用 https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 (currentPage=1表示第一页好友,=2表示第二页好友) 提供各自账号列表的friendPin给我 如果想设置固定好友,那下载下来放到本地使用,可以修改friendPin换好友(助力一好友后,更换一次friendPin里面的内容) @@ -33,7 +33,7 @@ http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*( https://jdjoy.jd.com/pet/getFriends?itemsPerPage=20¤tPage=1 */ let url = $request.url -const friendsArr = ["jd_41345a6f96aa5", "jd_45a6b5953b15b", "jd_45a6b5953b15b", "jd_704a2e5e28a66", "jd_66f5cecc1efcd", "jd_sIhNpDXJehOr", "jd_5851f32d4a083", "yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"] +const friendsArr = ["被折叠的记忆33","jd_7557b5f882acf","1209815-33190621","voxb","jd_60c91968f5779","Imnotwhoiam","tracyxu123","jacky_ma","虎贲1937","gdxx_hhw_m","13966269193_p","lxm3719","精神还是病","冬天冬至110","cocoty","jd_7bd7fb4cb6f82","yinlang46","jd_78f0d6524a1dc","wdxDdEiHWGeRxb","lxd5088","281309140","ypqian","jd_53df36eb204a0","henry1927_m","jd_752603c55d5d3","hnlymx","苏素红","hunter5213","wuyaoxin2012","setsail11","529577509-275616","15817094457_p","xyyshy1983","wdZFjkEVSAdaFy","88333498-57398981","jd_6610ed573c95e","wgrid","yhr_19820404","jd_76b37bc4f48dc","jd_7a9fbd6b875e7","jd_717cd34f51296","jd_6e348ece13e20","hqt_1988","花开花花落","jd_5a1329af66692","13872993806_p","chenshijie0416","P1neapple_m","明子溪","jd_59a9823f35496","jd_5b7cc9e532426","知足常乐自由飞翔","tangtangxiaoyue","jd_67c3f5c60aed7","cxhhcn","jd_56b0de7d9f47d","jd_611e082213c89","jd_4ab1734a949f1","354392569-110871","jd_5ff306cf94512","velennhk","jd_412498c6eeeb8","josua","蜜糖向日葵","jd_72311671abe3d","13008094886_p","wonghe","jd_4ba477ae26ff1","1069705301_m","lylflf123","jd_DzskmAWqwzlD","yangkaixiang","jd_592b225e3e263","jd_413d4539c4263","13902581495_p","天涯82301952","chamy99","hnlygudu","4607127-36658554","houjielala","kevinlen","204570195-134844","jd_vadDHUsmpSYm","jd_4fd63de4a6033","jd_461e384274c34","jd_41f7147738121","1147051-91577601","yang20678","jd_5b989f697d6e2","129867657-673064","佑一的夏天","jd_7f7814d692897","jd_7b6d6e7dc98f1","772826997_m","jd_FmcKiIMtOwpC","jd_63423cd594e8b","jd_71e77d9235cf5","ningjingde_meh","188810721-227782","dreamscometrue5120","云中鹤乐乐","jd_57156ec970076","623466-89793308","cq101030840","csmkaka","jd_4e4d9825e5fb1","jd_437b4f3fa5d83","gaohan0219","jd_DtamhJbBfTIb","jd_7b4b5a8207d90","fengduyidi","greatyunyun","jd_61683425167e6","jd_706c8fdab45af","jason7614","shevon85","失控de节奏","q_07","13166644472_p","aady丶","xiqial_m","jd_458825ccc2eb4","36453197-121619","jd_599646a803846","52032415-82431850","jd_6f916d2e318be","pan-guang","4349小丢丢","jd_7d33469dff8c5","q345665092","twogen","jd_6968d7dc24ba0","ququkoko","367210784-17070766","jd_610ec35319099","jd_5d7bcae4e6d17","jd_704a3e2d9c46b","jd_733ee77e8ca16","jd_502948d2b0e71","我爱玩游戏2012","15207695569_p","jd_6edb943cacbfb","jd_480c67e5d8819","limi363","MISCX","jd_7c8a7ad41e0c8","605612253_m","209649430-287793","jd_76d611ba9afaf","873937-50303892","jd_6064c9214e522","1176058947_m","31925640-481429","jd_423b97887f61d","zhouhuayh","雁南飞羊羊得亿","jd_63cd74e16d144","jd_539dc4aa25ed6","蒋周南19620607","jd_7c19732d17448","jd_618297dc33911","llbai11","jd_4a2970c6c6b09","jd_BvfYUytnBqQv","1123034-76073227","rockglass","jd_455da88071d1e","jd_7a4f6e65ca98f","jd_6f072cb5d59bf","hpseed001","tracyxyan","794826119-974749","jd_bUHzjYIiUkdk","jd_4d82dc61d0857","jd_706bb2ae5d924","q373456281","jd_7688619214526","jd_4a820fdf116dd","绿萝贝贝0708","jd_vuJPKtkTgnDy","ceiltop","lhx1220","zjw10wei32_m","怡秋","diablocp","983446382_m","1127157758-394132","754634469_m","1298361-36459413","jd_BeHLshNirani","caibaibai","18666404632_p","3818286-73685755","jd_481a39523f173","84795326-80349196","jd_76bef217859df","18923155789_p","wdypuifGSRbDln","418001066_m","6ird","540206926_m","jd_478f44263fce3","wdudNUlfawPZPg","jd_54ddb8af5374a","哎哟猪呀","qieziting","hujie5592427","jd_704a0d02ed793","jd_IfjaGQtbblpB","jd_68179e65e9fbd","niuming13603880535","wdNKCEOZqTqXTAT","鬼魅英雄","13453395506_p","wdQMkwHgxvotDX","jd_709659bfcd3d8","jd_66d25f1dd3267","jd_iFnquhpWWAzO","123by456","13916051043","scgameboy","jd_5db2a90394adb","Swiss-Knife","xunxun1982","jd_BLiGRtQCzhDE","skypjsfly","akingaja","jd_53f0d5608779c","jd_49edae2964101","jd_41cfa9d67438f","350402604-69748236","zhangshibao","KleinerSou_m","18311575050_p","18027486801_p","唯若linaa","1446025433-328227","龙岩","wdNRUvbJItetlvB","jd_rDYpRlFpvOcX","jd_6fc455fddb72a","jd_7c125a19294c1","陶子72","jd_5a80254ee91c6","zues1","sh19890627","jd_40a5adaba1d38","jd_602fdb17dfd69","jd_7b3e2647bb6c3","13631429708_p","8438837289","jd_409e05dd7cc59","wz1186590331","jd_620ceca400151","red_sc","jd_4ab1e47c65336","18810360626_p","flashlry","jd_482c5a6091198","momometal","1065713-70426898","jd_6777ee65f9fcc","naqahdah","jd_59ab86a736bac","jd_610b3d00928e5","gaolei_高磊","jd_5272d688195c5","wdAcHoxUjnHugr","jd_644d371af7178","xiaobo26","jd_43801d0025bee","jd_7dbe4f8a40a7d","jd_5e94880fc8172","15555717859_p","6389562-837919","98143069-88662384","1362245003-624122","s1762426005922243","jd_5f193ab9b8e45","67057795-179914","欧阳诗佳","1246996-54664157","jiaoay","jd_42b9c11dfb5ce","杉雨2011","734854387","jd_709c349f13b51","18601299756_p","jd_67d8430553c0b","mckee88888","jd_6f71ecea56bdc","zyjyc9998","roshore","jwjf","jd_430bb2e323389","13421288939_p","jd_5f256f27fdcd5","wang0251","jd_665d858a4252e","yinghualuanwu","jd_6f53253d117c5","她叫鲸鱼","jd_fptGRcTOUGEU","jd_4912dffffd4a4","stop10086","i_fun","15102761840_p","jd_795596bd920e6","jd_529a0a309d418","nahcoiii","gznzljr","webdone","jd_5f9079b45d0f3","15211488203_p","jd_7eb57e5ab2b0f","jd_7f704fd7fb976","w1013312320","1396539283_m","MARYMY88","jd_58962922123b5","pxx5707","jd_5f78f4d795319","jd_54130a3e282ea","13833221725_p","jd_481584b8101df","u_754782aec6c69","rzbaba","tygwd","Ctimes","xyl19900201","zb19881021","lbw39101","bsdcpp","jd_5c8de80a4bf88","luffy-314_m","llzmliujb","jd_67728f2eea746","jd_582eecf8d27a9","jd_51b70e5164da4","jd_55bd57b6c24f3","二次元之空","jerson2008","15721420-76490596","chencatw_m","jd_ewYCRdmukzQH","Xlp小麦","czfeng02","meoygua","lf19901226","yqing13_m","jd_5248436411777","jd_5e13adbb9590d","great智圣","jd_4bc481334d276","jd_gjEPUASxyAIL","jd_5bdf6d5da45c6","jd_61c2336346ca4","jd_74e2079316a02","jd_649bd30949791","17766997-548083","5317123-63418293","1920312-45955879","17762160-29337295","zhushidan100","jd_730d14ac5479e","hzh21","hellohuhua","张东旺1996","Askiter","jd_vDmiyakWaJUd","KK小肥肥","yiwuchendong","thankful2010","evenfast","a3253933","hqy51988","jd_4e403ef861d02","samsons","13976911784_p","873990762lin","niao08","jd_dhkcyiaoncJa","jd_CqdFAtZYbuZY","jd_4201282534a91","13692126822_p","谢世林1994","jd_689f156cb2a1b","jd_zkJTcPYkFJRu","26738986","l993716263","wdAmnDnMegtaKV","jd_7ced325aba4fd","jd_615fff14711dc","only25133","jd_61890bca936db","段小亦","jd_525d6e7a57e7c","jd_4f402c0bee353","jd_76a4259c8206d","jd_xcyHSXaXFTbn","seaqing","jd_nxVaPTmSAAPU","珠珠12","jd_6fcdc333ac5c1","10603954","srmlj_m","MLHK7288","children98","jd_47ba82eb392a5","jd_57284ea606edb","jd_4686dda7bc5d9","771091731_m","234140280_m","能蟹仔","smallbai09_m","jd_4176ed4f85901","60648497-286055","testmt","王亚菲lavender","jd_570e6894a5b2d","tiandongxv","jd_567d1d2d1d664","jd_4239b0a66acff","许如如","jd_738909f174875","lianhu7847_m","mystrjiang","jd_7f030ab776354","20068875-87628738","lonma","钥匙扣1996","huangrenlang","jd_4f7cd5b108733","raywithyou","jiangho666","chen132660","jd_5d8f0fc00d759","wdgOGLtOJjjbnp","yygt1158","1441581416-358048","1119741-80288729","15014100494_p","jd_pPnaZZNyzPxB","做一颗潇洒的蛋蛋","wdyklPvjrAfZtk","jd_617a7045d137c","Cain阿栋丶","39013455-723506","莫名之旅","wzywolfgang","jd_67c19b6b13ffe","18605665906_p","jd_687ba16ad5950","zealson116","jd_CdidEIVvtAls","jd_5fa95f15de374","jd_7b96efc863012","s1991963835132847","110581676-672140","631818745_m","1713440-94042466","leicastevens","a29739","jsjsjsjs001","75514181-528421","1547302868-391401","jd_5569c1c966877","aamber1209","jd_65ee28010f49d","琳琅满目cbb","意婕1212","25177893-156932","jd_4b514e09c088a","jd_7c7de935d2d9f","失色的星星","lmy812111787","qiuyuke","znlnzi","qiang19880930","13660443742_p","1073736-45428973","jd_572fa744f140a","jd_6e704406efef8","649297742_327799447","jd_4855e5328676e","jd_4fa238e4e3039","lyw966366","jd_6203fb62f028b","locexi00","jd_73055c9e6f28d","jd_xkWKwAWuvyEm","jd_4f5ef31eda5be","jd_54154982c707f","223919087-697191","64313685-323957","jpfx86jl","jd_57a9ce36823a6","suyugen","1382919-75464143","15165515680_p","18717177304_p","jd_5213fd3fd5e09","2894688469_m","jd_63e518e003c10","CYung","cnhzh","13630008207_p","wdnuhkcytHpfUs","srb1999","jd_4b8a70f3b06c3","jd_52b735734c807","jd_61886a502853f","jd_4b989aa65947c","252123421_m","SH13555717","guowen0327","jd_66d8f9fac5f2a","hnlymmx","joyce3703","satjing","小白白白白78891","最小峰","chan4881993","62001345-279873","1236724-862525","buu6","iamkgbfox","jadonglin","smilingpoplar","jd_EOfkGLiryBZC","wdGefYCBlyOuvz","13692255117_p","jd_50b3b7e547626","bobo1436337","jd_6b04659d0d2f1","18340836869_p","青春贵族","2025635-301297","turbo0122","15682785858_p","jd_6ac71801b823e","yuwangzhengmama","13122403452_p","winair2003_m","tristan111","jd_75453074a2fd5","18497592-38261102","jd_7339a2c5379e5","jd_643cced70ebe6","13592640583_p","jd_724efcf8d376a","jd_74b4a8ecb7eab","jd_74334ec5828b3","jd_ZBGOIfCyoroc","jd_7ea541fac2583","jd_KeLOZRMbzhph","金守旺","18027628252_p","175065824-351040","kidoboy","jd_5ec5da518d62a","jiaoanye","jd_407187dc6fe0f","jd_54ef7fa8780d2","aningstar","531136298_m","wdOGVQdkJKYrDC","ducheng1275","tb763069_22","jd_63f9f52454ab2","jd_7ef24b75d5f6c","jd_44eacf6e11a93","sm562145","网海一游","pxiaofu","15971143870_p","sadmini","1339758-16957083","18338750811_p","lie_c","38240968-222359","qsdydi","jd_4e68b48d16f7b","jd_6a25d457db175","jd_7da3259073a21","jd_45af19cd09bb6","贝崽2008","fire_online","jd_427423bdfbc07","39242147-966648","jd_70e0265d9aec6","jd_4b0b803cd64a0","mengkaicn","1094651733_m","jd_6552aa019ab41","ourfree","jd_60c14d350304b","138555963-81748582","fabrictoys","jd_4c22184b94beb","wdoFfhlLvMqjdJ","coyking1989","jd_68622307805e1","翟允众","jd_53a7c9a77433b","25816007-44716712","jd_6ee424ca0ed30","jd_79fa4fcf59516","76652954-88892171","jd_65615c42df69f","wu44520","shuai7cao","15738822237_p","45qing","jd_5b1e588da8d4a","jd_71f9acb100b28","canlin1001_m","jd_54102ea98b5c3","jd_487a00e04fa8f","jd_6b8fd11954fed","luwei900915","乱世飘零109","aabq","jd_731264ec0c2a1","laiying199_m","JRSD_WkaCV6789","adandd","少晖777","jd_7c8622efdc11d","青春风范","zhangxu410119","jd_4a100d1396dae","hnustqy","jd_5f7afb1891a6b","jd_5e0e369ccb52d","hanwei0708","jd_545f052743b8a","417088475-160276","u_7e4d24dcd8328","lcm201314","jd_79c4a300d72e1","小鹿Jenny","jd_75e98a665ef08","jd_6169b3411ed5b","muming88","jd_6843f22961860","jd_GQBQvehxQHEh","flylic","jd_64dfca009ebe7","jd_65e9625354a48","Phoebepai","670465509-522669","jd_5eca0a59832b2","15921888921_p","jd_7f93b6f546343","jd_56b7a4e092e85","jd_47e14b2a77d55","拓云焕","jd_4b601c5470955","ggz13156540246","62088413-340160","jonchen2015","jd_6b133dc8ce984","1361861-65733630","2102342-30254392","jd_55a4ece838e81","jd_64edfe305d1e3","jd_4cef5e8ffaa26","626528668","jd_tHDqWcwGkHiD","jd_DwJMjRWnrKWW","fclouder","wdpYWfrVFWcwnI","liu3412261984","AIGIOFirenze","994409011","439346544-751705","jd_4ec8b20e8de9c","jd_6f7ff0336c231","yjbonny","jd_kbUrAUxUSpzR","jd_4342df118e177","hbz_online","44787591-640051","wdCgWobBexvDPm","jd_6bf2b6376120a","wangmengpi","516187828_m","jd_578bdaf5c9b76","snn626","309373323_m","xhbccc","jd_ZTYdOXlnoAOx","jd_435c8deff4011","jd_796798aad09a1","jd_7febb4f3b30ae","13682627696_p","syabii","lin291203800","最青春21","xianhuaguzi","13717312120_p","jd_5553ff7cb4bb0","jd_4fe4e78e09bf4","我是疯子521","buu5","jd_517f643edee21","tinaone","plm010","zojyjg","jd_4c6b8340dfdbf","katyicy","三等奖疯狂","jd_422a56d05722d","leon_cheung","sonicjuejue","jd_5a8a874ae5281","jd_61d4f1cae4528","jd_nbMsHoTpbXmI","yushuangkui","jd_51a114b4c0531","jd_XlCRXukUZpcd","jd_66bd11bc9fbf5","wdjQkAbFobMTyo","18156012044_p","jd_596fd9fea411f","buu4","enson_lu","jd_60b01a89e1c1d","wdTnkEasojehAT","jay121169","jd_48500999f0ed9","89407275-15330334","蜗牛和风","我只爱细细","ky252571504","12822358-39504983","jd_703c4b109c7bf","jd_53bf7cb6fb8e6","misierwang","w446879031","13575858695_p","bojam","jd_4a4a0076dc217","jd_60b5454a32dbf","jd_4aea340026bc1","10879497-15420789","知浅浅浅","jd_5869333eb1fb9","85313072_m","n123896","wolf5956","jd_69a95c9fc3191","jd_798cc61d77c49","element.em_m","飘雪姑娘0","Moommn","longwu1031","jd_641052cfec02c","whfyyzjs","ye_zhigang","cptiptop","jd_6b1bf6d07ffc6","漠北晨霜","jd_41231dcf5509c","jd_74332d1d62a97","jd_5a62513463c50","18617376375_p","jd_553411e111288","1010961-59479764","jd_746ff1fc52dc9","yxgsir","59265796-847072","152987638-125545","jd_758f5224ee957","风格_舞","jd_5f5c4b5fa7d92","活在记忆中123","老白-B","jd_78a9a7455b0bd","剑舞笑红尘","jd_cbsGelPvzOHZ","jd_658295d82d7fe","yuxiang0826","buu1","jd_SJWSrLeuHIoL","295677090-265550","jd_7ad547237bac4","jd_5cf7aad6248fa","jd_7dd2c3c2aca0e","zkkcool","Yuan20690","6955172750","jd_sVAZpcMfjBCf","jd_7735b26c941ae","jd_4062462eeee55","jd_6f727e5cd0e5f","jd_4288b8c0cd94a","jd_7c92686db6ca8","jd_WfzUcWZJsfJz","18725992192_p","jd_64e37854e713f","playboyvak","hzh2","jd_5f4737a7a6b78","jd_79f72ee059031","69494003-551644","kokosspig","jd_52d2e1afcfd8e","linlin6622","jd_5c89b221b8bce","yp15074223282","jd_5ce55911c7b5a","莫凉浮华","匆匆的过路者","8318476-661809","122294312-396444","13813601711_p","qxhzj","wajames","jd_5f755a2537484","瓶子溪","11800534-358192","十四1113","jd_41687921a5896","MixOrange","qwe424123956","jd_7714cee615371","jd_6c073f8512571","Evine","a981684107","jd_598811fa328a4","jd_67932dce92a3d","jd_4b42520b292aa","18926907171_p","jd_750fd4822f18b","zj2202617","jd_54386fb0fa84a","jd_jkYikRqNQvQt","jd_77cf190fed028","wdTNqBUpAnfNww","希希ing","jd_51530d685f654","jd_7bb2be8dbd65c","寻纶","jd_5624f61c91575","jjchangxiangwu","18989990273_p","jd_44e413aa1a350","jd_mWYhywYlBNGt","1154688571_m","jd_678214ad40850","u_7337f9f4b9ae2","325710413-38090766","jinxiao2010","jd_428d930ca56a5","jd_7277d200aa1ac","jd_6b116f8e2dd43","jd_57650a30ef6eb","5189487878","pflifeshow","jd_720bbd0d3caec","jd_4f08a7e8638bd","18618422220_p","jd_60d497271825b","jd_5457f558bb042","是得其反","157946233-153445","咩料13","519714380-448799","jd_NgNWXMVkJIvk","jd_59acbbc7ca824","夏天的罗曼罗兰","qiandaoniaoren","1319394549-429166","18987201580_p","jd_6c971f75b17a2","jd_4a1baf73e37e6","1255452-23532332","京京之东","17276317-49798788","jd_598acd0f4eb1e","jd_772a1b322ce4f","xiaoyou93","jd_72b940be8c0f4","310709931-743081","tclmym","jd_QEVVkkDTQAlJ","jd_7631b126655b6","jd_59ecffd6b3b82","zufg24","s1719802111150509","jd_49df8780ef7ec","jd_7af5d16befe47","伊昇洛阳","一丨到底","zjm13","jd_68b419741438e","毒藥","16917726-833085","李小圈圈儿","aiqing1350","邂逅康桥","clwyd","quinn777","jd_sxiiBOAhBbvX","95696449-874279","jd_64b634001cbe5","jd_5fafb631c98af","天然10风","jd_kUkPJiqgzWQL","261319993_m","安安Jason","1183047222-157781","1398674-134752","iceshell","jd_739ca793de0ac","fanxin0411","wdNMFNdmIUZWMJt","492607767_m","jd_4449d884571e0","1201438983-369103","18181797763_p","就是那痞子","jd_5fd9a01fd461c","126276367-78754036","何红艳hehongyan","沈阳市gzq","吴豪杰","31525900-263512","77491991-50554085","jd_57905301dffa5","19484230-38382587","jd_4326aa1b7550c","garry-leung","ookamisama","zhanjianq","wojiaowangxiaogun","3425775_m","jd_463395c5244c3","lihao677","18663240833_p","jd_4aeb6e78374fb","Bergwind","jd_6e00e826f939b","jd_6db94355d9c0f","有风吹339","15697746787_p","jd_7d16207404195","jd_4b185c3d62df7","jd_6723ff58bd286","wyhzzqq_m","激情玖玖","月露东方","wdUkGnxktEIlPK","jd_54290b63fb07f","714618221","mwb1992062_m","mk5888","诗诺的小屋","nenana223","tanwm123456","334294291-186627","wy-liziqing","jd_7ec153e32e54c","jd_40c2d97aa11f2","239258308-820921","18670057607_p","lyn053","jd_677b249a3974a","Sun小劈","沫雪浠","826377445_m","jd_42d9ce3001acd","wdbtfWEfBVXBvq","jd_4649e7417dc41","xzc0001","jd_4caf9725d27fa","189546275-921778","jd_45e8fb791d335","jd_7222ca602765a","yeyutingfengyun","jd_787d54754ccf2","kangth","silenceott","jd_7cc10d6eb49dc","半度258","154469502","TYXtyx403","yfli5_10","jd_7e55a8e84233a","wdNpCXMOIswtMRn","tsldh","jd_563019d400a71","jd_6f1f0722f8365","我从传闻听说过","jhzhang_09","134795344-89911673","15923016977_p","jd_6880a5243f04c","18363973309_p","693579911-169711","jd_jtfucaUzAeHf","jd_520e9319751da","80596880","jd_792fab49cd042","LingAlReis","airskotex","1438989-91514255","jiangnian60","jd_43bea928ea235","jd_4695979a5f401","qq121012500","jd_62bb02616a53e","17098906037_p","荷小花","jd_7bf4638fa69e1","jd_6ac020aefcb53","a1243030454","jd_xYXXJHISmkfl","jd_51f13807c196a","jd_43e2767041695","jd_4b6f3216eb02e","connor_zhy","liamxis","jd_4f85f610bc8ab","shangrenxi","jd_69ef0ca053ae8","婷萱","454053205","jd_6737af4a58f15","jd_559744604ffce","greatyunyun9320","se450","在青春中奋斗","喬喬是个维尼控","jd_52f76f01dcd2f","wdFaLKjqpORroq","onepolice","elefly","paradise198905","15435160-669310","cbsky89","davidharry","jd_7f7487326e4ee","jd_758ea9ac26588","wjpvirgo123","jd_4a7729e619d3b","13939639111_p","13510984323_p","jd_4b71341c8ebec","u_60c6d4ac0a547","jd_48a6f6834422e","nastran","15978523575_p","jd_5b5ee167ad15e","moontails83","15899845756_p","jd_44ca1016e0f96","jd_68c7b75ddbb63","18768112617_p","shjohnnyyu","15895616556_p","音乐至死","jd_43ace01d52896","夏革平","190164014-827040","jd_75ebbca8f533e","jd_faRVZpjNXlpT","zhuenhong","814678249_m","jd_484688588e236","气机牵引","jd_76e5cd9416ab9","jd_7a7b2b3be9c29","jd_551d5fd45b8c5","18862601691_p","xl455081367","家伙_chen","jd_54c0a07ea9f92","jd_4bd6b8a3175fd","3336179-64273297","cj960523","dhobi","wdgDJgqoWUYlSr","jd_4088b79f119ab","4049451-28503973","wdNjkEAvXezMYVM","jd_47f8692dc349b","xuhangcboy","宇之君主","338379384-148135","archer721","灬浅笑梨涡丶","你要醒来","13829995559_p","睡睡虫","jd_ZnbkxpqMYfMz","zmz1219","vvti5566","漆黑的约定","jd_43dd8cb3cfff0","jd_422152635349e","shorya","jd_UMuKdVCBUJNc","zfsmzh","jd_68051445fb72a","38945452-997585","sun5025","liketianwa_m","jd_6bbddfacec73c","yunafantasyx","jd_7543c27519ec0","justeven","jd_vgrxCREHXZAf","attack1206_m","mycat0513","jd_65f200e24e81d","jd_44a7830b341e3","jd_56675d7eaf6f7","SinHoYi","jd_4b015a483da5f","wdfxqbtFGuPslp","fdxwb","jd_7c66639b6665d","angelelx","jd_64c4b909c7b5f","jd_439da95527c2b","仰望星空i","Reborn96007","jd_4213224557205","jd_5dc3b00007733","jd_443177c56981a","644496225-142580","wdNrsLDzPWUoIhl","cordimax","187221262-660812","a279345220","jd_491a2ed4c3b12","jd_530d9c46e3fe9","whatisflj","jd_4c10d9cfde03b","jd_62be1458df61a","jd_6b82a02869a07","jd_xlrLEsWvhOsB","erlan0628","jd_7dc0fe631fff7","13981305425_p","jd_51f0d43d78900","2315861-17921873","tianxoo","q911421-911548","jd_61e5fb3855af6","jd_7bf6628495696","2251614-40382459","jd_5b52aa72bedfb","wdNQEviVzLHoiL","Zaxzhen","202986769-305687","jd_5db2383e9912a","a13013061627","jd_51040511e26c5","zxh1293","16682269-752213","总是一片碧绿","jd_71e5a43588e90","jd_5bad8039dff65","vito612","15639059526_p","jd_7929570299947","45897120-96228520","18257398972_p","15652948445_p","wdVuDFvNGaUgFV","sdgun21","jd_YzcfjFWDEzNG","jd_qAvClDcJwKTy","沧海不轮回","jd_644d591749d82","jd_53e5fd6f52940","jd_7e0d0ae9957ad","d864240614","jd_5ed89b7ce9967","白鲨网吧","jd_745760cf13c32","jd_682f1935b0586","小波3210","15211757788_p","jd_486b8d465bdc5","allenqq1209","18679651521_p","273233975","jd_51980f8ea9a1a","jd_5c58258a08a9d","jd_575e215980ca9","huizhuyl","657172997_m","qq6924309","raywithyou1","jd_RVMXldNSQNOP","jd_6691f64f9d2e0","jd_5165afc546f34","zhsn","pgh1984","jd_vEcNvYJWdVaa","865195178_639924244","jd_lhvZaqkjLGfC","自由如风的金牌奥利奥","1009844898","jd_5aaed8c114aa7","yaojiani113","jd_4c86beb711516","zhifeng456","jd_58b6820e30300","jd_60286e93f307b","jd_57b515ffdb510","jd_cEbpyLAiyOwg","lsbchina","beyond抗战十年","jd_662950f7c92fe","请叫我大众男神i","jd_POfESSfcdjdf","hawklee","jd_5663f324ee902","jd_52ef528719aeb","刘林3378","万洪1990","1527481-22088317","sara35424","0595xiaojie","jd_VrAbpeccptzp","jd_441514f6ec548","余晨飞","xx1522029404","jd_6f0eabc66fd25","jd_4fa165b2f7d17","tzqiang820_m","1062912-24882788","jd_4ea78ccdc2dc0","jd_5c04dd7322855","litterjim","meirenjie902","tmwz20","18075061964_p","jd_637d5fbb98422","jd_67ab629be7e61","jd_56786115f6f74","20766711-85882777","jd_wUkcTSUqAhmr","jd_4c6eb75f6f3eb","jd_ogGKCKOOFOns","jd_4e10b9c9b5904","wdoliXXcenHisu","jd_4cf414c90b6d4","jd_4f8c55baf8c19","viv2004","130064561-999004","blue-pride","ly836146989","52599050-24065326","jd_51165d2fb04d9","jd_502a5067ff086","jd_7779bae019e28","143798682-947527","天星右翼","a532624876","jd_WArTJVHWfSrE","hui76706446","jd_6c6e58b939cd5","15555448319_p","jd_69ab145dc7e4c","liaowake","jd_RmVTvMkeKfWf","zhujun1213","tanwg21","xiaomao123b","马小生1","jd_63f7f8213e2bf","1282266786_m","wla_012","jd_sImykvwEVPSS","shenww198018","jd_4e97fe5ca4003","13151002610_p","longleg","jd_77631f361e8d1","柳环芝毛枫澜rcJY","jd_60e6000e14b59","jd_71caf6b3ec4cb","mrright1993","从没爱过这世界","jd_594ad0cf01ed0","jd_4c9c898d3011a","18946259998_p","muqiu6693","19413996-59367741","jd_41c3d07f6c904","jd_6e320c855dcde","jd_520b01507aad5","琳琳8796","闪闪招人爱","jd_5647090a2db26","jd_642ba04431278","kristy00","6662026","jd_OALEHjGdReWx","13630058635_p","18559999915_p","jd_40ae2ee388d37","84259885-479878","126yahoo_m","特雷斯林","jd_657c44752ca26","呵呵2233697","1021974569_m","jd_57dec0fff37c1","jd_66c4d75685c0c","ghkdgns","jinzhuyuan88","jd_65a2ab73d9aa5","dh53128","jd_7f1150d4f0987","dafei_y","邪气有余","cheng.2543_m","yuzhangab","jd_49102ed719739","yptc007","jd_4eb9fd08608f4","xdkkwo","白条51979","jd_6528892483c61","jd_4b6efbdc2fde1","159207267-493625","h00500508","15931990393_p","18668285369_p","jd_7b73b1cd8913d","jd_FlSmtzLArnjN","jd_4ba79f1b3f6ee","逝水无痕5210","jd_4497d33394f55","jd_4e982d8bac60f","jd_taDLolUGRHec","jd_4035e62efad2c","hzn5583","jd_449ea368625b2","tigre1","jd_6791d62a84328","865003591_m","jd_5275787aff1f8","qq6938667","793722362_m","jd_7e92b5f5ead26","13226792609","jd_4c3521980dd91","jd_deGwxRpWehJX","jd_qbCHEHnHWqFL","jd_4b25d04bba9f3","jd_53bc7a14f64d6","jd_4b349b1761a8e","拒绝烤羊排","ziyu123JD","jd_5c16fa30aa688","13259733490_p","ch88885555","jd_60decfa4f1500","goxofy","jd_735dea6726554","qq413714852","13818516956_p","jd_788369680d037","那鸽","wdNNKfLdeCYHkcL","jd_cfNaCjXeLkIw","wdNPxxSYeZhZxcp","jd_468e3ed5a6bb5","zhanghaige0927","jd_5057725c9f913","jd_606a43d37a857","tel1378380","13013314690_p","3260484511","a296081116","jd_6799d77dc69f0","jd_klmYkCbsIszz","kkkis203","jd_5ac18d3b12b9e","jd_666fd71bf0775","creak_yy","jd_526de5623dedc","jd_5c05ebcb69539","jd_izlVApFFVCnG","Magic_Wind","liangxuejingdong","506922247_m","Armingge","6699902a","jd_76051b0a37384","请你们别离我","jd_7d6083e365d22","user_cxi","jd_592e14fd52b8e","fu12530","昕辰","znnet99","jd_7900c96afae2f","jd_78c57e3ad6661","370384850","a1219265712","yousen_lin","jd_PvQWUBhALIqK","302692642_m","zfyfeng","jd_qtZchHmYFTve","virulent13","jd_jeUNSitcsAaD","37242255-478192","jd_7f4594399f6fb","375822054_m","13891966689_p","期待守望","jd_50e35abc4cf46","wdGXacZvfqWEXe","jd_74937b5e24336","jd_7620eede47374","8tender","jd_58d663226a685","84625546-339434","liupangyang520","av963","jd_601d9b094d1ea","kid_xiang","ff0138","snyzf","jd_652c38b0b9637","soonan","jd_52976f6a4c66c","流年vvv","茶米的肉肉","jd_7da9924d92a2c","月光换来悲伤","861078848_m","roomfy","jd_5316c22ddf85f","aiyuer326","xlpeak","melody二友","feydy","jd_78475324f5d55","STONE-YE","jd_6e091eba3272e","jd_79106b4187db4","wdNJSBgkJiZKtqP","13632730648yyxf","jd_580f291549c56","jd_49ce5feb68a68","cwj123098","xinhai901","jd_64abe12e900c1","jd_4cf6b6b791411","jd_56c42a2f51f13","107829941-722354","xuesumin","jd_44fe58de4125d","221702915-827469","touda001","jd_7095659753d49","goukey","半克拉滴钻戒","jd_61dc39a38aa4d","18916999493_p","SATAN-T","wangyajie1963","scorpio216_m","jd_67b0aaccd7e6a","jd_4f38b6a0d818b","jd_65572d1fcdc14","gozhushi_m","jd_5c05b2e6271ef","123183927-550653","hiboniu","q449800-850542","jd_733c16f6f72bb","jd_6ab7bb1c8a902","G3niusJ2c","taizhouren2008","zhouwei229","903346646-368454","jd_74e60dbcae365","陈米佳","lunjiejli","jd_xQBHwbOjBdjl","15923293882_p","jd_492794ea2e599","hyrpg","jd_5e5138fe53cb7","fanshilin1991","jd_420808093be6d","11334431-400737","jd_5c1757c6e4a79","jd_4b416b90346fc","15917867579_p","licht2011","jd_RHglIFwUkAnL","jd_6974fc70b1795","高金乐乐","160413278_m","jd_6e058e00d3653","jd_AmeWYyBBdNeo","jd_75c672c3bbeae","xsn555xsn","jd_5e407c354ae8b","jd_636cba57cc714","jd_6d8d53fed9a7c","皮皮狗-26","jd_7006e31201d06","1800179922_m","xulichen01","jd_67ded5748c3ab","jd_OjxWiVJCCkdR","jd_72cc855cae3d2","jd_60e9fb3130acf","jd_daGwqYyvhnEZ","将领_","libinxwz","jd_57a456c2a8d87","jd_4d9be23908e41","jd_77f184f0cb70d","jd_5e624a60f763e","DaZuoo","jd_4855c1d54ce69","jd_6032c63015e8f","jd_4d910103ba4b2","jd_412cff87108f8","jd_pFfJnPGlnsOR","醒醒该睡了","小mi_ye","jd_4aa1e42820f8b","jd_KayoOciBboky","jd_46d0e1095ab65","jd_MZdyCXSqcsFN","464715979_m","q1271852263","蔡先生black","jd_60c684addca07","jd_4b3e7e0a47a4e","jd_64bbc9e3f01f2","62636-91929068","446451453_m","woshishuih_mmt","jd_76fde94dbbfe9","jd_5a82b7fa72dcc","jd_676fa125d925c","jd_5b193b724cdfa","brad214","1256156-69297975","18697971974_p","244037992_m","waterfish007","supperhxc","jd_mtAXbJBBKbEB","Z15900572570","你猜我是谁582","ecyduo","vicatorry","zglzwqqed","胡子38382","jd_78509c68fc827","xiaozj","1427945-96915431","wdnZSOzTusddTD","伊爱辰","dukduk_m","jd_nLDQyKxfQbMe","jd_48e9543a46cbe","jd_56848d5ef1478","jd_6e85ef0667b3c","jd_7ad1bc310f7da","qingtingv14ai","zzj0311","18273662246_p","白金米老鼠","小肥猪啦","jd_5d83afc4eed2a","jd_6874b27afd1a9","jd_5e54759849a12","jd_5759e05076693","jd_6597cbe6ad067","jd_78de89a69eba2","18375791679_p","jd_531fdd4aa9605","jd_5fdcdcb183d7d","18782045052_p","jd_64f39de38a8a1","13827001500_p","jd_pcWPHQCnBMQE","jd_51a25bdac5aa1","skyking1027","jd_7190722a6ad58","李俊瑶程","jd_755c64405b02f","duandaxei","8704937254","zhu752332924","chensue","jd_621bae6a13328","jd_71872fb19e970","jd_672a693e8aa19","honglee630","jd_5b5088fcc78ef","jd_73521625bcf1c","jxray","jd_68b197b676f3d","jd_619bd224b9a6b","志伟0227","jd_582e3922c1926","jd_69cf86052693f","jd_5fd89f1f8204c","jd_XnUHXGCpfXsi","jd_53fa49f87620d","18652508330_p","15730703300_p","jd_7e1bb738fe141","jd_6db358197e139","jd_tSsuRzRUBLHq","xiaopangniu","wdkMrAJiTcbQPP","terencelc","895021591_m","09niuniuma","jd_4f88012a8127d","q583443939","673918477_m","match629_m","xueyinhan","jd_cgHiXzkDOwKt","yuntian123456","jd_5e6a1765478e9","jd_7dec4cf962865","jd_JBINKiMrfMpl","90088444-400044","hi_bbis","1014376181_m","18813176889_p","jd_7d44fd288c993","jd_58ad3e4ac8fee","syre1027","shifangkangbazi丿","smileleeff_m","jd_757150c394a0b","cpring","jd_4c74b91e645b6","18963469357_p","jd_5da4074634907","bloodgcat","jd_4542072b6fee1","撒旦懓魔鬼","jd_621c2f8b44bfd","jd_7b1a0501908b8","在下-小强","jd_4019a6370ab8b","jd_44907e6db5da3","wdrhMiVmMtAjSW","jd_66f56c4f82a70","jd_49acdb02e8514","jd_78cb214da285b","15555583331_p","jd_51e3613b6ca90","jd_7dd8f63fbf4ac","黄笛LGC","ninja2002","5930793-424953","ivan77","jd_6cae506bfbc7e","jd_7f9a0cd371f08","957170117","jd_hYJsKTWqsynl","jd_5ab71ffff3520","1345973-74560455","jd_6aa1471bcf9e8","wduhTTIZuHOIue","443469545_m","13018403306_p","这把有毒","w2437_m","jd_5d965f345c0ca","jd_7a9182718876b","13624999521","孙喆fiy","grand.tay_m","jd_5aa14a94c4356","jd_LEgSjeKkqEZR","jd_74a87f9bb1f86","oox_x438_m","Maxduke","jimutt","sming1021","gjq2xxt","jd_KDGSVppshJAm","jd_6440760e31e05","jd_5f3f1d8bd85c9","jd_4374bab4a7fcd","jd_7d348b51c1fc6","13486659225_p","jd_410529331cbbd","暖暖雨汐","jd_5cbf1976f2f35","abcllnn","jd_712bd3bfd55d6","永不言弃2217","jd_4bfe6714d14fa","jd_488ddb3c91a61","fannuonuo","x957071670","jd_6ca71f9ef1069","jd_7b3627ad628b2","jd_6db1167f23796","18111245713_p","御天神暝","希希ii","落雪飝飏","cs9420","guojunsong1","jd_71625f9c5c7a0","jd_5b8e716e3a576","jd_5305b4044a022","505481866","奎哥的号","402180640-614339","1250985-89117371","nnn1234244","keneyzhao_m","jd_64367dca458eb","jsntit","jd_7ed6ef33a93bf","ShineXun","jd_7f10736cb2d3a","ljlthree_m","1874801-93084488","jd_BCXgLlmxHdiS","jd_77ea0e331e030","jd_6087ed12b9c0e","jd_41c107e3616ec","5365188-83193887","jd_684d3732a0b6a","jd_70c97e3f53b18","xiao060621","jd_vwmKXrDCBOwK","jd_74c681c26f23b","jd_7f384aadf37ea","jd_7e88de93eba9c","jd_ilQcjusqNNgB","jd_5fe04df5c56df","15390199631_p","jd_7cfc9fe533194","jd_46176564df070","tuzkizoro","jd_6993b816fa7d9","18770074521_p","jd_4a3da8e8c3b7f","287171872-610761","jd_6947ee8d0afbf","jd_TwcdQjSJcltR","JKr_Remember","jd_412f7eb363cd8","jd_70e6e426eee19","15622768102_p","24702929-522916","d48568530-127655","a炽热","司徒韩晶","jd_71ae770e57031","jd_68631623718b1","jd_4753a6bf20080","jd_612831f46b320","jd_6201a07f25ca6","BlueIC","jd_43c1c0f6c48db","247327557-539345","passwall","15988636069_p","懂路的路痴","jd_59a85c5ee65fb","jd_58402b5221754","俗人曹","jd_50a4c04e07be6","jd_AslXbONUZCzk","jd_7298f4902ed41","jd_6d94d9a782f17","xqy2216573638","jd_73f0f153d588c","jd_6011320a7d06a","14746475-373424","酸奶二块五","jd_61e20bdc4090b","jd_590c144a0a387","jd_51257f339097f","8017869-62229551","wdLeuRAzdXFZog","jd_689a27cc1514b","sntoyce","jd_507da77dbbbe1","jd_4e7bfd7ae9c7d","13660052529_p","jd_4bf808054296f","jd_533dfb9c9e8d9","jd_48b36a2f87840","13861622064_p","jd_4fdb499d0e89d","w13146194391","jd_eWOcolDkZdEq","jd_7ab5636ba8e24","jd_624e9fa7e8ed1","jd_52bed7ea4529c","jd_56fb0432b7c85","jd_672a1f8cc430e","Hey张怪怪","jd_kOXlDjFcrsaS","zfb100","jd_ZPDEOYeUqQBg","13632336078","jd_fHryrnvsOudi","jd_7b0e2496efe68","jd_435b9881829b3","qq289570529","lh605546897","jd_7bfdd1eb7b1f5","pandeng2911308","84575819-40958649","jd_588ba691c41c6","jd_6d5b2534581f8","13958985606","jd_49aded988b080","jd_46fb7489e833d","qiyating1123","ruluer","jd_65714820fb497","jd_49e4e965c7db6","bugoa","gg萝卜头","18381669650_p","jd_64cfd25e67c88","15875635324_p","zcty12090715","LIFU8023","wdNnlMzPGJJKgqI","jd_404ff06a14d15","jd_4bda85c918e45","jd_5bfddaf1012e6","tangbolang","67935715-998328","jd_6bfaaf566a0f9","wdzQqDdOxFaLNQ","18621885911_p","jackson_kk","jd_759443190c3ab","xue2ye","亲亲的么么哒","七夜传说88","126084692-326034","18936848-81662393","jd_MlKgObkHGafO","wdwhQapzBAKbto","15258385354_p","zyb7421266","CJDARTNELL","jd_7724cd827def7","dengyulove","jd_66f244830f126","dukelove","liuhong69","jd_KAzXENCJhiqB","jd_5abd929027ee7","893646264_m","jd_557d9f4620c47","xqchen217","jd_7c65dfbd12b4d","ku4izi","jd_4cb567d7010f4","jd_627171efb7c0a","jd_6ceaceec974b7","jd_mOKtcKfOAKpE","jd_JNSoDMcMDpTC","jd_597a3b5d04835","jd_4eb0fa8480dba","820049808_666581569","y771825894","jd_7e653a47f9517","jd_5d7e771724d98","jd_441820f540554","jd_7604fddb24aff","jd_700809a11a000","156026692","15891082591_p","jd_7b366ea8b1f0a","jd_733430d642786","jd_48849471d9f30","jd_438d8d34c9bf9","jd_71768a799f5b1","wdNBGXWLviwLVqY","jd_OAwfCarNwFdX","jd_5342588605bef","422974264_m","rrheaven_rock","eyre炜","jd_6a2f663f30d7c","15602231009_p","jd_5e455c877faf8","jd_62a3c894fa502","jd_66112a6a2b7cb","jd_6bbbcd7f17725","duwei110102","惠州lzy2002lzy","苗利芹","jd_5c3b0e41c5b7c","13887490621_p","庞文梁","jd_lcEkWMJFTeJK","18557701557_p","jd_6f5b49bb757cb","jd_6495bea3da0af","HIFI追求者","wdZBDStGumNmlP","squarer","jd_69644e3f9be0b","jd_5c231005c6cba","13620855619_p","jd_49fc98f151696","jd_4f4774d45550c","默诩凌之","jd_75d8106b76032","tzyandyj","jd_4f61692df6b7d","194676274-251741","xialier","jd_566b6315f1f4c","73136391-992545","jd_44545d3e27d9a","安静的一束光","175553211-366908","mayczy","jd_7efacb2393e42","jd_JaCwUulevagz","DIPIAO","Hiccup90","jd_72eacc7d2a685","980947-35891789","jd_5427f5ef62d67","jd_416a7fe8281f9","zjailzy","baibaikk","jd_EYGAoRDOZmQj","jd_YkKmOqEkAgTs","a153694630","jd_bywwBhKdwEkG","jd_75d933aee860c","dancerking","jd_ofOIlVdKOhJy","198060266-662986","JD643602820","jd_54497ee7afe11","王林锋","rhw2008","15155541404_p","moto328","jd_719b3a4ef97b7","jasunjiao","2099816-74234682","siryle","jd_75068b5600f88","jd_6e950080ab0ad","jd_688bd8695b5d2","516785654-654059","jd_523483b7fc404","wplqy","goghsing","jd_636ea35fd236a","jd_5cfe84e7722aa","jd_6676b47de322b","jd_5ccfb03a4db98","jd_7fbd2e6b3567f","cfyycs","attand","jd_50e9e5f44d80c","123418103-45951209","jd_5cdb19e38e506","hhxs1987","我不是戏里主角","jd_675f6a93cc4e8","wdFFIbVnMcfMMU","jk76cn_m","jd_5e42b1d366cf8","jd_vHfMRgLdtuQy","1584894542-428504","jd_7778cb8fe34a3","jd_4e2dd15c45f05","wdWdUeWzUYMOUv","eulancer","小小胖妮","15617935830_p","912825-90223984","jd_72a20ae5343eb","shine0610","jd_ihSdscTKLCQj","jd_450d272d0a640","jd_6f4cd1ac8d16f","jd_4481f68984466","chaseway","jd_7fea7192d583c","w1763530414","jd_7b7ac04e20b49","jd_5b9a54f4563f4","ljj6160868","xiaoyanli1_mwx","shiheng198978","14789775928_p","75771610_m","jd_jsvKLaPEnpIC","mw418","云永悦","jd_7c1225034882e","jd_43bd938b155f9","wangmi5200","jd_715b857664a9b","18576527172_p","jd_52b281c43b2d0","wangNelson","jd_599f19d6a75e7","jd_7cfaa1ba9a3a0","jd_761a6e749b79e","jd_xTgAOMKpYHKq","jd_4cf14bc183179","15195905036_p","jd_5fcea23dd7681","rayclm8","zhouchenwygame","jd_734379ea66365","15210740264","jd_5782dbe55f283","jd_muutxdMGQiMo","xtuyaya","所有人都过来","jd_76ed1d74d9ac1","jd_4fae64baea6f7","jd_GocplKzKvbCQ","CCH18606270957","jd_51ddffde4e79e","jd_7aadeb4bdc002","jd_7eba33d62c77a","haifeng861130","15167363744_pyf","jd_5757c6b5dfac8","jd_417325156d118","wangx545","jd_6018860d5fbf7","jd_4bf97284cfefb","aa4929101832","dbvw9999","jd_646bc5914fe95","jd_6e939631297b4","jd_402d74df1f549","jd_rHEEcziQgtYy","jd_54e4438fe1f26","keithcat","F_V_Rockie","jjss5202017","baiyun2015","jd_78545cddef2c5","18268206939_p","jd_5f50ee837a9d2","jd_4222ff270b7e5","lovesongxiaohua","jd_SzXFLJcfatZm","恶魔情枫","4890655-79634972","jd_627fe953c3278","jd_42f559e913b13","哦呵呵0903","jd_mLmeihiahCCd","jd_783cef63f7682","小布加","jd_7a51becb26cad","amywang0911","jd_4c1a20fdafc75","jd_7b70793ab18a5","jd_ZYTRjRXPetMi","jd_5f5cf6cb17d6d","jd_46f7d2cd9e0bd","杨宗杰1990","m360110075","fprmyssnl","ryanchan2012","jd_NlWChuIEhXVJ","jay4440","jd_75b251d9402a6","jd_6c78058c57c9b","czxJAVA2009","jd_7a6b431d9fd13","jd_40c40241b8e7f","145876250-693695","atclever","jd_4821b9e802bc9","1224288281_m","snowybest_m","huaxiangzh_mkg","w467945319","jd_778a2e98089d9","ccz_yin_m","jd_6bf7a52f3dd05","jd_58aec93f912ea","jd_42088836bf3f6","13858658233_p","15857181529YU","ll861016_m","wdsyHOpTvZUQNP","jd_65ddd84bef708","jd_528eb0a33bf3f","jd_69b968958ebb6","lbdg_m","jd_76a8d7348952d","jd_45f7f3273dc70","jd_6ee404db8dc0b","18815276480_p","db137","jd_752e1b56bb824","Evine007","18838153482_p","jd_4ef2fc79c7154","1576422066_m","jd_7587637727d9f","will0306","952752-51694655","jd_5862fd8834680","jd_63e5e43c3b39f","kucaoww_m","weiyuran6","jd_53007e9368fb8","wdOMRqHPFYWFch","jd_7477ce5282b6b","莫名0","jd_7631d4ddc20cb","pinkolt","jd_7d566d4a6a445","jd_6c02007f23679","893033881_m","w8888","清君-星源日然","jd_6bc972197a163","orgccav","jd_5e145ccf3e732","jd_700c4210d7db1","60683112-398541","madrocky","2002965929-179447","jd_4078f69a72873","jd_5d145cf29b992","jd_458913a66387c","wdfdKQbDvOAmGP","jd_597ead3669ebe","13729145110_p","神马ALLIS浮云","169900155-36891837","jd_kMJkZENLfdOh","zjhaiyao","jd_5bcae65e97491","986653558","18964841629_p","jd_4a0ce7db33e7c","wdzYutOZYKvbfc","sdbxpjzq","jd_nriDfhUJbIhU","1277657-83182336","Harford","wdFrxwyePSCjHu","jd_69d191267940e","1795281-54156776","jd_4ae862cf22092","1860811757_m","jd_53ccdfba8cf74","wdldYsaREWlGPm","jd_4c13651086b7e","13738103406_p","13620451823_p","没对象省流量i","jd_649b415eb3f4a","jd_EpdGTgXQKBEq","鲁燕峰","危机分16","15035101162_p","jd_427e919ed07d5","jd_6342613e8ffba","137928456-376172","jkhaha18","jd_721cd893be231","jd_7cd83e13713c0","jd_511afd754f2e2","jd_6878fb87d2c64","xiaopanlei","jd_62c40285590a8","chyw1986","耳东亮","jd_KIOnrmpdewfU","jd_63a44e4400301","qiulinyan1973","txt_Ch","5347491-61357630","hongyunfei","jd_LhavANDOhvlI","for_Mr","jd_57794a99939e7","jd_LsgBcDVXoLOk","15652112521_p","jd_ayMHloulheDh","晨枫丶","jd_4b3f02bbed420","jd_7955bc3d1af49","jd_EkRHjdUAMbQT","晟泽","低吟安河桥","286330110-272887","jd_4bac0adbd1f52","在线临风","不给糖就跑","钓猫的小鱼664","2591326-14389978","hua.flower_m","jd_476bee47cb6f0","43738896_m","jd_NTCGSFZfGiqe","jd_QBpYtjanvHYc","XIAOYE997","jd_40eb2c28cae23","aketou","jd_489cfdfe28c8d","jd_617fa756b427c","jd_IhTyLiaftPxF","117328158_m","夜魔侠啦啦啦","a4535473","wdNEQoEmQMqtlrY","pinkings","红叶散落","13069469-22800260","a66xr","jd_58306d692a0cf","jd_455dc96bac8ae","witrolon","kyokori","jd_FHjKAFvYdRen","jd_767d93e91bb07","13911001774_p","wdNxLUPCXLVHPnI","jd_65287fbb937bb","Fate-Avenger","jd_xOhBrBrVdtMv","1734814-12413820","jd_4fffd0b6463e8","jd_7c5f7729e0240","13833391524_p","jd_4e0d529ba3c35","wdGySGhFZrURuz","jd_4d6c5c89a8e5f","dark-rain","jd_DichdpcjMKBF","kiva217","jd_4da58e437b3d9","jd_550eeaef4fdb1","13348822441_p","darling清水","jd_5df2c613641b3","jd_5d41c10e43fbb","jd_54ea73a0113eb","145391572-102667","扯淡199108","jd_4548ad85fb251","jd_76dd4ae369194","jd_51b7cccda274d","435946920-690850","烟雨湖畔jjy","15888374163_p","ajdeng","gsnm","jd_64dc853189da3","67805855-555963","ttyycool","jd_7d6461c88a683","jd_57b51a2927109","jd_7f3dcc7848108","jd_664e7f7485b91","jd_53f7db0de7e69","jd_6ba2d6923fe35","过去别想","jd_54f646fa33e70","jd_6966968647c00","13772136850_p","jd_TzekLakCbqDk","568692092_m","jd_4308a89a39ee1","warsong988","primroses2006","jd_6711f97ee4dfe","jd_68a709f18bcf2","jd_6fae2af082798","jd_7334194f7b208","jd_5bebf5a843063","jd_pRYyFBIKzneo","jd_5a4d5f4fe7d47","1051772261","wdTVtSzuxXBgYO","风之呓语","13826069792","呵呵163","简840956042","amw8810","allin_schroe","jd_HwNPWVhtAdQp","jd_rERqxEdkyZPV","aliwap","jd_4de6ad9735fb8","jd_5ff28c9c72017","jd_68b37c3a98eee","jdmajnin","jd_45951e83f58a8","jd_pFETgNsfdWvD","jd_5cadfc91584db","z8269126z","jd_697972f8645d6","hackxv_m","jd_6c0fbe7f82991","toms12345","chdongsnsn_m","jd_5f22caf692adc","13588108107_p","ksky","jd_784901c8f15d9","yanglan0409","jd_QeGjkEdcwips","jd_7428a45c8bcd5","105987239-792754","jd_FCAZSFyhJHpP","18501637983_p","jd_67215233d6953","jd_5b68e4fe8c0d5","晓冰水","我起的是个好名字","heeroyuy7","逝晓风","seeleangel_m","卫东羽","jd_74a0c3120167f","jolly2015","jd_47acd6453dc5d","jd_4b632808626e5","jd_6828a3b2ee501","liuguilong0831","jd_527aa78c22f58","jd_7679ff9cc6898","jd_5f27362b52860","jd_jQOhgRKFcuHY","jd_799f6e48dfefb","jd_ihfWbMQahBGW","jd_nTJYvuenvlOP","jd_7778cd92f9b89","jd_671ab9fc2dd12","bobogdst","195225238_m","jd_69b34a0bfcf29","jd_rxuGsfdGAuRz","18316693779_p","jd_71cc501293331","wdZuirGekSHKmF","jd_7eeb782011b6c","jd_7ade3d59a402d","jx_wlf","jd_56e6347aad4eb","15960272719_p","jd_77f0376edeb6a","jd_76652310e09dd","jd_53126c13b3a69","jd_5af943dd517ac","jd_6f80f1e8ec8ae","望祭sxm","731940","jd_5097a54d185b6","39441141-62909649","jd_423c4654a6242","iepngs","jd_75b4023529511","wdiJPlzmjnZUMu","天道酬勤78988","wdBTOUerZkFfwZ","jd_fHGDSpqeEfOk","jd_51930d273cbf0","jd_612ba91a8be84","jd_7457562a19e4b","jd_ZHngXEBdnrws","jd_MrepGnGgTRNs","floydxue","jd_6e790dd387376","hf97542","jd_4f8c4f8d478cb","quanjiangbo1020","jd_707964357756a","jd_xQYKTCuJDGiv","jd_66af883732053","jd_5555ad2bbca27","宠爱一生私爱终生1","andyjiao15","32137491-42403785","524042080-134216","wdZSsxWXeaGfUv","jd_47bf16db0a75b","jd_7c3158b886bd0","jd_529a8c5ad1686","x020406","jd_610fc7687f42c","jd_4d36e37861229","47700674-211193","jd_58cc362313c69","jd_OLsCNniRXedN","jd_tGIGndcwzAVL","上自习的猪","dreamaojie5200","wdHeLzwqDxNakL","jd_76cb2ea731b4b","13331391244_p","Lee520593","alex300414","Vurtule","liwe2680","jd_5257aec29cfb0","zhanyueaqj","lizhongbea_m","jd_YBOmxIPqVVbn","jd_sZCwCmoyKIFO","13125034370_p","yangmouren","jd_638b2acec874e","叶子树","jd_yXtkWLlMkmny","yuolr","jd_ClRBuCivksfQ","jd_77c817e1791c0","jd_598943267931a","wdsqEcwhmiEoHv","zhangruiyang","jd_77dddb1c92d73","mrzhu79","8906050896","关府二少爷","qwe12345678497","w253565017","jd_6cbec2f473bfc","jd_kZXVnlFtaIFQ","zooooo58","Qq623612125","jc178414093","上尉先森","nana蒲公英","15002426366_p","陆骐超","jd_618f1a0f07b72","jd_58705b37a65e8","13580351498_p","flh1985","wdnMgtmOSUBMSy","lengyecanxue123","ye4241","13507558350_p","jd_EXPhjwTwPcJX","jd_kLaXDIRXGwRr","吾心安处即长安","jd_70a3eb764f2da","riven952465","wdSGiECJxcHuvC","撒撒","gzwch","y1579738787","shin_dynasty","jd_dlBaVLRZAQGA","lyericwang","zfb129","jd_6a45d60d092f3","377351689-67110230","jd_nRVcWGrReLrd","Death_Link","春艳2234116","arfaWong","燃烧的火焰山","jd_4a41bbdb4bbce","Mr_Lai_who","wdImCjPGCTgDaW","i_look","15915905121_p","jd_WLMmJeSZvSUZ","233311489-664503","jd_6aec9052b6556","jerry5270","popowen405","jd_5cfd38ccf14df","338275705-89064004","wang4977430","jd_KnpWyXUnoVOc","34754896-957086","jd_6732c776aa2fb","jd_ItiqWyCWYThf","jd_50a0f3f0ae58a","jiegto","七月暖茶0815","15902279121_p","lyivincent","jd_73a44c66869c6","jd_sBoupvoKrqLL","jd_6f9bf6c2cda3f","jd_kDMJhDkHrfRP","jd_4aea321836aa7","jd_533a1a3183114","jszhwr","jd_633dae7d3b4a4","jd_EXfWMAKasGws","cherrymars","stdl1690","13572914285_p","15651617930_p","倩宝宝1214","jd_55afdbd5055ba","gamen_wong","jd_58d372bd7697c","jd_540162b3bf90e","hit浙江","jd_TZEgtssyeUSD","jd_EIlerkekmlrO","UAy4b2A68P_m","jd_7f7eabc5caf7d","至尊宝cc","jd_7298dedd35bd1","猪long","jd_6d95c4b7b2136","jd_73f271d2bd5b1","随心一刀","jd_782a72a8e8093","jd_775709725c442","1025145-44213811","静若逸笛","khzhao","love1buy","jd_64f5832f5c339","kkkknrg","jd_DGZihwHttkvu","ch1524","18181508466_p","pctools","jd_7746fe4a07430","dbvw9998","午临萌主","小丶帆","823778923","wangyu69","jd_6abc1d0167724","jd_44e98a6de33fa","jd_797a5375fa19c","wh1990com","jd_784930969ffa7","jd_6a0986e80340c","我是奋斗哥","jd_74c232fa8daab","1159412371-443719","jd_62b55c11cc42a","Hong_sru","toyfun","jd_ZKsextvESMeG","jd_78bd6fe00dc6d","yjshr000","459087383-796934","天64","jd_59dbe5af0244a","jd_758a0fc20f59d","trueblue","pwbty","jd_4369bb01eb8bf","jd_756357b976799","闪闪闪光光","jd_554b6a804a407","15360935498_p","薇薇山岚","zhouzhiheng2013","jd_573edf5395ab8","jd_78da4a4e1280c","jd_73f0fc05596ff","jb脸是sb","jd_USMwCrJXuUPK","50447081-82829243","jd_4be7d81a5bf0f","jd_4152a5204f30b","crycil","97663270_m","00数字方程式","jd_7aa36d95d0f63","YHuangmlz","品枫","13879327137_p","jd_5c88e6160d21f","jd_lpKBsSBAeZBG","guang1355","jd_7db414379d4fe","14724-68303175","jd_70da086825a39","jd_uUbwFzqCvbjH","yuyu2770098","391095279-966180","jd_4d8765d096765","lqb314","jd_567327f2c28c5","rami11","jd_MTmzBLRXKMPS","jd_4e565ee72ad9d","zhouyulinhj1989","jd_VdJREPLPXUbk","305267382","jd_5b925f27c868e","u_5dc4585116637","wdjVxxOZLxUFXV","young_gaogoo","charlesgrc","jd_7f661c08c9a64","jd_cxrhBOVhHvwc","haitang11","jd_7f6dec7c75bbf","jd_60e29c4f4b9d5","jd_JPiIWnqiaYYl","2671450-14303513","jd_56401489654e2","monkeybape","shuang519","jd_hooFzZBiHupr","徐亚利---","13509547164_p","jd_76f6018d12c32","jd_7240d794141f4","jd_4f2ee9ac15bab","jd_70eb506c497c2","zr1853","jd_79a50f85151b8","jd_SCNpAQLcWvFV","LINHUA8856","青年派199","jd_59d34fb049179","小马飞雪","q70700350_m","u_6f2493e70f697","25587520-770325","cukk89","jd_7cc6f586630da","ld_2060","jd_50dcb77fc04cd","1092646193_m","jd_75ec00ed22e2d","2306164-73896148","a895512233","wdstbAZaEIoSja","bytxkl","jd_lxNhFXQcEMim","mhdhwan","jd_57697507359a4","vipcp","18928093671_p","96003532-286712","763阳山县邱成课","jd_nOMKJwpacbvd","刘凤苓","jd_6d524237e5716","ddeeaarr","13633317598_p","wdQvsClNtgwkFi","葛宏观","jd_68b1ca2164d93","Amhan","15861804077_p","jd_568f48ea914ec","jd_emhVkgnjSliN","jd_7b68e71bdf4eb","jd_SmPxpudoGYOb","胡胡在家","13970966431_p","jd_6a55d407d445a","jd_79e02bb71dc61","benbenlast","Frank_Rhea","jd_70dc077f1619f","hero137","jd_VIpfIOBPwEbZ","guanhe258","jd_617d8ff727432","西科大杰","changebigcat","15165525168_p","2174903-33844331","8625285-406718","林夕一指","jd_pLcGoEBLLayd","jd_7989f7a91549b","15601301347_p","jd_4a3ea6f471431","jd_6984f52f13af2","jd_57a47f512c5a0","jd_vSfdAOeDuQEv","我是你耶","jd_618ce82554515","azsx18726","晴空下的紫藤萝2","jd_4e4d0ead0d471","jd_52d62f66f5ddb","jd_74c895a3e2877","帅鸽丶","gengduke","jd_42efa815b34b0","jd_780d910877266","jd_5c35d7fa0731f","jd_52b3ab0c89ae9","jd_msDIujrqFaTp","jd_FItgmumTDKKg","858567654_m","tofey_he","jd_FSHBNAIMiNUP","WANDONG*","66593509-450925","听着音乐说寂寞","jd_48675c1f6d1d3","zxf1977_m","jd_545ceeb28d70b","jd_APkCbnoqdTkI","5141779-21548625","pl72654","jd_IMqtWbubYxpb","1071640-13079633","z13881301067","杨金合","jd_661bdb3887828","罗昂鹏","122005341-594697","jd_7227f921cf775","顾稚loveone","jd_44eda4cc052d7","jd_69c7ddd843224","zhengchao3140","天龙八1部","jd_41bb09dad78a0","jd_EimpkWGXABlM","13544046687_p","jd_750953c3325d1","kyle_zyk","jd_5f1df3a497d1f","wdgNRQUhanXyhz","如若空空","jd_677dca6041f0b","jd_49cbb22b349b4","qxh19980122","jd_5c86c051611d4","jd_75dea5fa8615a","jd_6042d5473b631","15951869662_p","jd_49909a623d34f","jd_65feab46e8592","cnmhtt2","jd_59f86fd51f963","hellodidang","jd_5d5261a91488c","wdgWedVMFwxqtE","跳动De蜗牛","387201554-717076","李佳来了","333685158-47896630","jd_fWznmfmckhND","jd_770a9fde79138","fdayok","热络的玉米","jd_cLyFvbQyMzTP","jd_70d13cf19c11a","jd_5fec09e20731a","绝对有可能","jd_peDpZNutLPmd","jd-2020-2021","jd_7a757e1445927","jd_43d4a234b0866","jd_51a52692f7035","13788844048_p","218994777-89567857","13834407350_p","jd_683ddeff763f6","u_44f788c2972d4","575嵊州市马富强","zhuzibaito_m","wdBiCWmWJpOTum","念经成魔","jd_43243c8ae3d38","15038753782_p","Gy19960727","jd_4bbd30e204675","bantang","jd_75e1da74980ab","jd_567ae5cba29e6","jd_7f6979b0e9476","jd_78ad240bc9e37","jd_PoixLeksZuNz","buy女孩","jd_5be12d66281d6","wdNcHofgceSNwpH","5top","南宫情义","lovetmf0","yesokay","jd_53046e7206786","Believe_LL","191454510_m","jd_57a76dc8acb99","xwuchen","jd_49f056be078c3","jd_77a0ae9553838","jd_5c86aaecb8d79","kzkzkz8418","htphtp002","jd_QIWlwtQMwwyX","108949923-786347","jd_4f323aa960eaa","jd_XbBTzulieAQb","lie_v","jd_5a038942d6aa8","jd_IcslgdriEkQz","564821501_m","wdYvfXZghxAhrF","jd_77585b8838762","wadmire","afboyxiyang","jd_46ce8d0b7e3bf","弃族","jd_7aa7279cffeb9","jd_65b52da10a206","jd_4974ddddd1371","结婚充电gg","18201629565_p","jd_4ea9c773b942b","jd_kKxPDWGpLgkj","147053110-415052","13590649117_p","ucme","love75303","jd_xXXIEpAGmUrT","jd_6ad620f99daaa","jd_734823e289cdb","jd_4356b1d8f77ac","chengxx_1986","jd_bfjZNHYWuUwp","jd_6399befda95d3","jd_421d7b8b280a5","18124100052_p","369236743_m","jd_70e310519d93d","7alva7","jd_454eb9824b7ab","jd_60e68c2fdd39e","13001930827_p","jd_sWAojVsCxQss","jd_FiyYMVzhqcUF","jd_ulfsiuLaHAeS","jd_49d3e7083b479","9235502-779243","48064351-38289875","jd_669033172b74b","妖姬Sora","jd_5d1f72679d41b","军刀龙魂","13718242639_p","jd_5a3d9cc737f52","jd_4f204d3bd3f32","jd_jxBlzMySVupc","jd_747b09621bf28","wdkkgDLoBgXYpI","jd_6d6fa474f9aff","jd_5f61bd8e08958","耳环女人","kill_every","qiguodong6_m","182698583-278708","jd_KXevzcPDLEza","13500753961_p","jd13524845851","天黑了再出来","jd_524e27e06e13a","cy527300280","jd_68b6eff732a17","万方是","1426631029_m","jd_7cc855091b7f9","雪洗铁龙","zhouxuan2651","jd_518466a30e382","jd_7cf157f4e5f01","jd_7446671041529","jd_QOACmtYGizGZ","18657556401_p","jd_7ff05382c8905","xiaogui917_m","jd_5353d1fe7652d","jd_pBtcMODNPoxx","jd_517f4ad30e7f1","jd_4b592851eb136","ltld","jd_48c7d4c129c14","墨忘我zhj","jd_69f100e0862f0","roanpy","jd_4a1feac8d2f7f","274551330","a2538722016","jd_5c069a9644e69","jd_5d9b320a601be","jd_740f5d25d2f98","jd_5d3894af70ee1","jd_63a9c2a6d4e24","54xsz","nasun443881","352834026-406289","u_5b95c49333094","jd_5d62f69b3450c","80536796-61748698","yanyufanying","qq122143012","jd_eaWWeYBDHBgj","jd_6ad1e572eeebb","jd_6c090d3f3167e","yu657902747","jd_4ca076d04eaf2","18857816745_p","红提趣多多","kleven8888","言亥","ansonlinh","jd_61604e74e6f20","mike7870","674574481_m","jd_5f1da6749e54d","wdNiMWjQpAjgymw","378379155","dimplememory","2014ZLD","jd_409d053123d41","jd_523bdb6af0cdb","18268833142_p","pikkapig","旨尖旋律","jd_70687e7b22afd","wangxingguo105","lixiaoyan75","xl228520306","hupo376787","sazn1314","13638602503_p","Zetsubo","挂科廖","jd_6433e41d04f78","jd_5e6281d28a076","thinkCu","tsaizhiyao","renandshen","jd_66836efae991e","jd_6f0fd60b60fd5","15108245100_p","呲呲430","18501516826_p","Grajon","jd_524a2c118c444","jd_4131289c2f61d","jingjuhui321","jd_nhTjQxjIRPfv","xl19880619","痛痛痛","13046272492_p","quyuan1986","jd_62f66bce1225a","bylon18","liutao2002_mff","jd_47fa8c32778fb","xpflying","拉风小乖0027","jd_771a5b95107cb","jd_69f2cd2bd71f7","jd_6c2773cd25b6f","alotyy","Zephon-Z","jd_5a39d7c20ec21","303826783_m","tscwx_m","jd_4da033a596b42","jd_5ff790b9f963f","jd_4b29a6c6a9c84","jd_451f43a1de4ec","13795326285_p","逸凡维尼能","T_uN","wkur","jd_486338fbe4b1c","jd_4cd639f02ed0f","18602314066_p","sagosu","jd_7288d93247dc8","jd_61f098047f9cd","99288865_m","13622055-26668913","wdCItOJiYRrByA","jd_55c9d0c0e76cf","jd_517aa5a2ad808","18865737192_p","18911817021_p","zx920912","nccr55","jd_7c321723e7304","jd_77e8dae66f693","jd_7bb1e80fcf2ad","1823168-773066","jd_7f2334e18fee2","jd_60c5c2c086da9","jd_66e8a05c61c05","wu876310253","jd_VOjowKaNEViq","jd_6ed40d7bb844f","andriy7","jd_lZeAmmvftris","jd_5c8c0617d97e9","jd_62d145f3538b3","刘先森贸易","jd_646f0d914436c","jd_UnkZLUSSShdy","wgd_go","N福尔摩斯","wduizpcptxNXDd","冰凝如泪","jd_664ecc3b78945","547203591","21714687-199162","jd_qcUCqShhihSe","asdf987123","jd_5b368b4f6c43c","jd_52e79f86a0731","potato-zhen","亚坤0622","jd_sZxSbGNXNZDN","jd_NLYrmNqtZbiV","duluvivibear","jd_JRyqHYFEsljX","wenhao12100","wwhhyy1982","jd_5af5c0e332a66","龟灵高","wdGnweAJDUgjOC","吴嘉贤","loverandsky","tianlangxing866","jd_61e2db3f7acec","jd_fjxKBnrGLTNz","xjm许俊梅","supperhjp","jd_56292d6f5bd7a","jd_4e7bc1ee9b138","fxsh252","1028412795_m","等风也在等你丶","jd_5a25d8fec9683","jd_6325323172746","zhujuhua600203","jd_64166962202b7","zdd751758322","jd_777692f63c87f","jd_65db859dc05df","jd_512aa2acccd20","jd_7040839f47ca6","jd_472e82980549e","jd_53184113feae2","jd_4ffb29d26e2cc","jd_fjyiiJnJxZHK","kejour","deshen","jd_56b35d775872f","aijiazi","323247780-945925","jd_5fffe6c36013e","jd_4801d03e37912","jd_71c54bc573385","jd_76dc6936a787d","lxjsilver","32ookva","lachenxoxo","cj_218","jd_636f551e48608","18859268761_p","jd_4528412832d28","jd_667a8ab741f49","jd_497d66fcfcd21","biss923","lqhorochi","71578255-65921591","jd_7584ad43a0e70","请追随我的脚步","carola82","YaCy-","18969434855_p","jd_435563b4af8a1","难解其中味","wangguirong01","jd_4017fefbace57","wdvunKcJQBfDKv","muyi07lu","jd_46ab96303dffe","jd_6f91d6d3240f4","sodafeeling","jd_409e7eb39fb0a","jd_428e44e090c1a","jd_68ff0281b2171","jd_5b7cfc87715eb","jd_6358bee38198f","jd_aoFFhAxkjuFP","jd_4da6192bef198","18605916327_p","jd_vvVyegtqaWnu","jd_7e688ddcc1dd2","jd_626b640206af4","Hybridman","xuqing0119_m","hiflydragon","luying19940829","jd_5f27239a18850","jd_79c1844aa57bc","jd_7abf0221a12d3","wetsky90","williamjs","1823892614_m","zym6662196","冰凌幽静静","超级无敌杨杨","y616700781","myfjdthink","a516585610","justinelxt","jd_73a13ba110828","君胜123","jd_61f6dc5313538","jd_41b1cfded045e","jd_5e19997e47e81","15072152290_p","周铖1208","jd_4840ad083ad6a","jd_6ff1b1f654057","jd_61b4c067b2256","jd_5036c240fd2aa","xiaoweixiyesido","jd_7ea91d6b724ab","悬崖边的华丽跳跃","18215563510_p","jd_6f6ace4af4108","18673116160_p","15213315929_p","jd_6c10923aec829","jd_BamrrEhVDLUr","maybe_mei","jd_778323730859e","396878105-715989","jd_OpWLcmcIcSgn","18601572268_p","jd_wmOlHrrkAHwb","cyqlegend","jd_7a9d98cf5eaed","iamalive2008","jd_730f0ee1b04ff","iceqi521","xhychisongzi","dffdpoem","jd_563cd38c42505","jd_5560e46daa3ec","341060051-819706","jd_qbIppHZLaLYe","jd_6a6f233c46aaf","hhhhjj12345","mrwang1212","jd_582c627115d72","log2cc_m","17411798-474797","jd_693859fa75a90","believeran","jd_iGpbPimXjmqg","jd_76bb6ef12ab11","qingzhihuan","jd_6b888107bf4bf","jd_7ba2e43f722ad","jd_67241911d3259","wojiushi666666","16336293-180091","jd_bqBCjjudOTqZ","aiyuekuang","jd_yZbLxFQkndvQ","luoli0305","jd_fYfweOHEtBLo","mhx_moon","jd_6b8cffb5c0550","zjmask","jd_71f71a8b9df68","3849688-68396429","jd_7d2b71b179c6b","jd_7d3b38c028273","jd_526e3dc09185a","jd_uauhgMOjsDXQ","jd_7fb6e999f0f1a","wdeLYKOhKlKIxD","lipy8209_m","我就lee","yiluozaidongji","jd_613c0e0f80f8a","jd_7d11a851202fe","jd_EIouOkQVzXrT","jd_5a43c7f0b57dd","一浮一木","jd_jFUmYUqOCiTm","643124242_m","jd_eDzaYxAVvsDK","jd_5f698bdb46c88","lyc228","13850296377_p","jd_516bb8e896869","langyiming168","75163883","jd_527c165e14dfa","LGS哈","wdwaXBOFtdDrUa","jd_554bdef665e8b","国峰gf","15626465298_p","jd_ygLgYbciIlKb","小燕业","70700253-509998","katherine1129","Tyrant夜","62160785-578856","mz0827","75692398_m","jd_6cb8e7921a7f3","冰_恋","sason","jd_522b019a47fd1","jd_528baa92d7276","jd_659b672e8493d","313312843-94126542","rul_kf","jd_5d3740a9368e4","baloncool","13633575689_p","jd_AyQnLytUWvZH","13336007518_p","13760378284_p","13798569892_p","chiocs","小王不小","164820813-324745","1287193-88490574","jjlinfeier","anyfc1217","jd_40fa83c8ed0dc","jd_4f34eebc1e29d","jd_5bfaa29dfc162","FALLENangel1228","赵彦博03","jd_NTyOIvlSHKun","jd_5159d0d558627","宝_____","5200496_m","63131814-41555070","jd_7a19ae69d1a17","jd_78394b5ca3f07","jd_5edeac995e335","13642292965_p","jd_420166142197e","jd_4ec1e5d4b1207","jd_563a30036fd4c","sjw3000","rabbity2","15026571334_p","jd_602312fa7b631","jd_64ef9be059a28","1789631-66010804","jd_4cf1918577871","470448723-246096","jd_510fdc3705dd2","jd_406497f2b741b","jd_7701eec8a84d1","joe554187330","15869024677_p","剁手不剁脚","wdhSUQrXRyYIZY","wwowwyu","jd_mbEHIGlNiSuE","jd_77b9769f4f835","byesohu","wddvmzfiDqEnUR","jd_70b9801926929","jd_45d6f2fbedff9","zy422786499","稻草人827","jd_5e595d8e78a8f","jd_5b1d643a36822","jd_7c68c33db0693","jd_61cb77cd78f91","jd_4ad174fdde5e8","huanglibin22","wdiSmSLrDQsZvF","jd_PoKRhjWmEZpI","jd_nlmksmdXNniI","Andy-H","jacksyen","太麻里","考什么都去死","84596207-246781","zerouscn","18735387624_p","秦时明月的白凤殿下说","jd_5107c390f97b1","719345370_m","jd_734d4f2416a2a","jd_649bc3c88f97d","天使夜巡","linlin1564335","jd_4607032f86c57","wdqyKrOErtmGAl","jd_7e979f300440a","jd_58fd9a38f0988","370053965-119466","18128875995_p","jd_565522e358372","此心烟雨何痴狂丶","phnxwang","iodata","fancy_jun27","d046","jd_76034110d4162","73941469-35543597","jd_6c22857209034","jinshuqisih","jd_rSrICkFqBPWr","jd_67cb2613c1363","luobli","wenfunian","jd_4da232549e378","橙先生zx","gosla7777","270752332-313249","13539739863_p","383577235-40497338","u_6ab3a69d381e6","殇月13","yang0718yan","jd_60dfe71cf7d59","jd_660273ca4a570","杨天桃87","jd_67be1d4d7271f","jd_zPVnHmwRJizM","jd_46e771fd2511a","58315571-164138","tom5","15922552069_p","jd_5d6c533bc1700","jiangmentong","liwei830726","wushule2005","terminal067","13962976870","jd_530c16ef89bdc","等等等等321","尔冬jing东","jd_wgmYrlkiWnCt","zhezl","jd_6e0b8150da647","lone1985","maydaysissi","30335729-763446","dhlbl2008","jd_676db96934618","慕容兰薪","jd_6bc27159c1306","jiang169_m","jd_FiwemnZfYRex","jd_7b0c9968a5b78","jd_buKkJrispQYu","1076106015","欧买呀嘎嘎","jd_CyZaWfvssoKY","jd_47e0112b402e3","jd_52fbf35efa5cf","jd_7dbc262833fde","jd_55ff4093eb55f","ljh2233996","荷舞弄清影88","jd_KljBnwNAZGpe","jd_43969b7dc6c54","我chou是lee","qq403419715","4932713-24535180","18631155416_p","myhtwh","177822720-288115","jd_59757b77b25f8","红豆开","jd_rgDRHJdyMIni","jd_6ecdc1a0e08eb","18683375120_p","leohongri","jd_wdHegYlvomwu","xtb168","12157863_m","jd_56572d136f6fb","jd_723f1013040dc","jd_YcxXrwLOYhla","jd_499985ce5e13f","50053848-34966226","我只心切与你","jd_7f1025bfcd09c","谭小澄322","zhaojm6","jd_dShtNeVDUVej","dreamger","五月de恒星","3555355-35779330","33952744-654222","wdCnlDqJbuuUic","jd_76b2791df08ec","g93920079","327337591_m","jd_53298d655879b","jd_6b940595c84cf","1156351-92668370","jd_4a36c6d2dfebd","lai452959229","13253957652_p","jd_6c34acf5a4dc9","张宗明1968","jd_49e22e582914d","CBLXG","wangsuncai","47220153-921162","天天吃棒冰","小米黄黄酱","jd_58a5f5e53dc39","15846009883_p","jd_5ae569f48a5c0","wdSEAzPqxTHhxV","jd_52079e815fd82","优瑞五金","fenggaoyao","jd_usljmpVdWhwe","jd_65ebef217beef","jd_4da54cdf733c8","jd_6eb95525579e3","jd_62a167ab127ea","zp_2012","jd_42c6ba9163db3","jd_6acd3a6cc79cc","7276029-597257","wu_2527","吉祥第四宝","Odorono","枫叶爱66","jd_6550b5407a968","1114366880_m","18695730180_p","dshjkrocxk","lzk661110","21793610-251438","疯狂农场3","祝艺萍","zgl263885058","jd_7ca74ed9224ef","14518664-422293","zy1834","tanyun1118_m","jd_6723c03061cc5","lize0711","z115870","yitaky","sujianfeng1003","jd_7bf26b2e47bb6","快乐在前方","jd_7dea61c016cfa","jd_4251eb0aa88c2","jd_441803c36de12","jd_6b8f629be38bc","15778785321_p","jd_6747f9e64f1cb","jd_708f6b3dd62cd","又来送钱了","dly033716","jd_638a93ad162c9","wdZOblYqltTCsg","jd_56a1a1e6a8217","jd_5219a1570818a","542795529_m","jd_5cf665622c751","jd_kOqlNWzxMLKQ","y2036997","andyjiaonum2","723458699_m","sdushmily_m","jd_4714ff4d00c40","darsingho_m","jd_ttuWqMjtMRJT","jd_7844bccef1993","18758361455_p","jd_64372d2104dc3","jd_6df185422f872","8036800-26383309","jd_642d3d57a9d33","jd_75991ce6ec34f","bimohongyan","jd_EibtwvEavKme","jctianya","jd_7524f5f942b25","15282701848_p","jd_77fb104b618c6","jd_666dd71a6a7d1","jonhy_love","jd_41470b6b1254c","jd_7ae549e9d6092","jd_5556dd033c719","88489948","jd_5cdc5a8701821","wdiicnSbYSHWwE","HWZ4334","jd_6ae870ac2b5ba","jd_73416c5815c64","3220813","jd_496c3dd9e48b5","jd_7de206848579e","xjy4656669_m","jd_6bcb597927ff9","jd_44d8ef3bd7a5c","bluehook","wdnmyYQMBQrssL","hin0010","jd_etsCqLrGhpyp","13189841615_p","桀洛","xoxobb","jd_MYnqCWfkUMiF","huxiaorong360buy","jd_7e4e0dc81582d","jd_47e2161bad048","jd_618d36288e0ed","jd_wBHErUpglACY","18255426564_p","jd_6417e84e350bc","jd_GkFKjHxXjeoD","wuchao5455","jd_5b894126c8f4b","jd_68b2999cb3658","18271540405_p","jd_6d09c9e2c392a","eileen2764","1150786-30726835","jd_4ddf5ba354cc4","jd_5c8a2f57ab02b","729931959_m","黄积威","京T东M","jd_5d0305047baaf","jd_508102e17bd87","jd_HGJHbBwseTIp","jd_61b43fbb4dfbb","Clover_甜","carsondzh","jd_728730229c9fc","jd_777c6c47bd495","longzhinan","jd_4479303008a48","18257861266_p","aklim","心晴412","w13232321958","wh416009398","聊聊折翼蚊子","jd_56ec7a9585941","838521497子","cuiqinghao","jd_408b57d05ce4a","2570071135ma","15161250125_p","skypoemhxz","jd_5f9f17acd20cc","jd_4df1eaa478420","jd_42e234cd6be4f","mflvwzz","zhu95899","woodycloudy","qq59424873","15032685216_p","jd_46d452b8462a0","张梦迪_plus","72414329-905904","lijiajia20_mcb","wdcufdeusqJrIN","wBm1TsDy3p_m","jd_eKGJEtRJqOab","jd_rdLfWnxvHVoS","o00o88","jd_689bb943f9732","jd_687bd59eb0de9","燃香小狼","jd_4151399360546","jd_7f097460b3cd6","linlinZRH","liuwanwindinsummer","wdnukAdJIRjHki","jd_5f0dea9bf1327","笑惺惺","yelang107","jd_65f27e53805c6","jd_7665eaef48661","thits","jd_652e44bc2719b","jd_KlOECiVYEXEi","199780095-288329","jd_48d89b85a2a13","qqwangpangg","17839935786_p","13892022327_p","zhengjuanjuan1988","6073465-45993272","lxl1984610","jd_459ad4dcd7f60","ww8252483","s2024087951955161","ruofei5211","风行月影","jd_6e7bdd7451592","snking685","jd_638d9f046c58e","chaoyue325","7221827-390637","jd_4d1176edee445","jd_5ba5f5ecb19a2","jd_7ac86780e8bf4","wdjBBPjmlWLOfo","jd_6ace1b4d7dd02","380455823_m","jd_6f165be52fabc","jd_djfXDdxsugKx","jd_44b675b876ea4","满天星_75","jd_74d0702853e31","陈辉买东西","4043895-19054350","Tina-xie","jd_77914e3663e44","jd_40baafd0d5548","yinlong1988","18053720969_p","拾亿XI","1401659012-193617","cjl191273520","xinzhuxule","oy790080","18318126220_p","zhouymz","youniss","jd_4d18c7aa9cc2a","14627580-778094","s2174397023596199","13607257388_p","jd_68327614bf867","alvanancy","jd_45a6b5953b15b","情侣装xzx","jd_5a983ba4c008b","jd_udzFfRXASSdK","jd_BpzYOUEuBsRN","mcl_521","13660560714","13858240388_p","jd_7e3690e8498da","jd_7147b5cd7f49d","suxiyu123b","jd_78f65e7044700","13569272475_p","jd_4303510771f96","184843028-150734","jd_71b4ed057656a","yyteiark","16606047-159918","钱陈贤01","vanliam","jd_579b891fbea9b","jd_513fa5ade7324","jd_53fc8342fb560","jd_43df4952fa1ad","jd_PETsufBHEMnj","jd_llyQhFhzzoSX","threebeizhan","jd_5277e28fdbf64","475905401_m","jd_62b1e07c9b7cd","jd_WAdJsEocKiyn","jd_KBFiAQrzWehj","ddyjyj","jd_618da2aea12e9","jd_PKPzVGoesjlk","jd_4713c5b62db5c","jd_7034f4fd371bc","wdNxPdOQEaFnPzx","mohuanqiyuan","jd_6c0734b088c21","jd_471c90c0398ac","jd_459515d8cf1cc","876981203_m","jd_SoRjNkxDpBkO","jd_42e4c13a6aa07","q925890-398929","scllen","15968629361_p","jd_57838e1307e87","jd_ohpmyajJmnHu","jd_lLmJIXLJsczG","果冻宝盒","jd_53505253c15a2","jd_7dc969c281959","jd_4323124275f4f","jd_6e760847368c4","17759413534_p","wlb.tangpi_m","wdYsybgHvDorBp","277548856_m","jd_5afd5c56cff09","梦话拥有","leum_m","allenln","yangkangzt","14542702-703743","jd_5fb36776b34d5","京521小雪","jd_nQMckESxGHso","1429455490-282654","jd_BNDZHmMDGGhu","jd_XcxPnGKVNBiN","旧颜9939","輕若浮雲","jesus730","pmy128128128","jd_62fd1a681bc6f","jd_7fba3c710fc7a","338830-52043081","qs463503059","dianshibali","jd_6f0cface7f26d","星空下的枫陨","icemeltsun","s1661757182327352","jd_YnBiaLGIdqSk","5580227863","xkdzgs","fu125300","9493451-791141","wdsteVKCauKWcY","13430862855_p","jd_51e1f4beec5ad","18257343933_p","jd_6d899bd62d3ea","尹建锋1314","jd_yEfGFukrEuIC","jd_76dc377f6144c","107005678-35833035","jd_692151ffe20dc","16792684-46724620","jd_43aa4e26899d3","jd_4abe1683f58b8","sennasen","lancch","Small_xin520","61039164-647248","2006727","jd_706cb6e7f5bf7","jd_eEUNZHoAwlhr","艳子_lg","jd_76e1b4fbbc258","devillo6ki","jd_4af337531d734","ayfbb","jd_47a1c4ad02103","夏绿色柠檬","302990512-553401","jd_68a27e3df900d","jd_61520e32fc707","jd_5e110a221cbd3","bxf3000","1359933-14738718","13709383596_p","jd_628e00497e8a9","jd_69973ef304606","628142730-681475","13631783849_p","jd_EpqElwFzYcoq","fkw666","1457969-84490152","jd_613f73898fa58","xxx不懂","jin_li001","漫漫星晨6","306094664_m","jd_6ceb9f186dd4a","kdx2003","jd_67cc04b96372a","jd_42f184a0a9abd","jd_LAbQJCqnkHHp","lmpbjs1988","lhl0126","13728439407_p","18241927263_p","shengshchy","jd_77d857e0fcb83","jd_482311eec695d","jd_641a797a91d84","jd_776759c47adfd","jd_412058d2d49ec","jd_HRoBErlucHuj","wjq_xp","523921551","363466798-139617","11520148-28988128","冰伊雪涵","jd_45d5e1f931ee7","18783924008_p","jd_5d926f6861cf8","jd_716a67ba3b910","andy-zl","jd_5936ab6fc578a","jd_412dab36aed75","1093755-56873595","hywang1230","ekeimfps","jd_5a99d3be0e6a1","jd_68130db7b0bdc","jd_45b379ee10847","Victor_999","w596667271","438359292-337686","knickgod_m","jd_gUVcEFthfVMV","moto928","jd_50ac577f57736","jd_694e01519c130","纸灰机爱旅行","jd_5075e4ac6df7f","lordbaby","jd_7b5419a1b74bf","jd_5082e7f1cf006","neofung","jd_6830c1de480ad","jd_48233de4955e8","jd_576c38282d2a7","13650306221_p","elsie110","15105994984_p","jd_51c40ebdaf432","夏雨的爱情","jd_65a6aacffbba3","jd_48fe66496d34a","lei290138645","feijihong","13057539305_p","带充电宝的皮卡丘","gamefunny","jd_6f2818af80d6d","167188487-400975","jd_7299343f4b9b3","jd_4074cf5a19fe0","duanyajuzi","wdEgduIPQhmXyg","cfeibiao","jd_4902fed09e330","jd_653e716825dc7","jd_KlbDMgBZuPvd","1052217096","jd_79ae01c0a6ed0","3978442-24058769","hdb009","jd_4677d6c921946","jd_OAilTivhWsPO","jd_7547cb95bcea6","lcgdl","ch474248257","jd_sJHorQLMEjga","master0528","jd_47705e36c6f6f","jd_74ec9a27371f2","油条上的油","jd_7f2f748e0de02","jd_5b043ae7d5406","吹吹lp","jd_631ddd61b79c3","learzh","小昔_","jd_62eda517ff46c","多彩心情","zhongwangninja","jd_6810d6381ed47","jd_58039dc544b41","lichai521701","光阴滑落","jd_608bc4db33f24","jd_7d7fc41100a91","jd_5ed4662f4046b","jd_4903be6e28dd0","18824713168_p","13774905527_p","gamekid","jd_63fcf47a4b559","jd_59e7e8e5b549b","jd_762ba2e42282f","jd_65d4de8d197dd","220407624-85096917","starxing22","jd_4c2e067cc9368","jd_777d25ed18500","wdqoGuyeksYrpG","jingccj","yswgyjjx","15525807488_p","BitionSong","宅姬彼方","一事无成的毛毛","曼谷的雨季00","夏海东12315","jd_408ec971ab8bf","wbb8250","jd_7b2be94c49460","花轻似梦2014","jd_649889ba93142","40783012-347914","倚兰椒","linanyang01","jd_SlkSAiEpokIA","13236327007_p","吴乐天派","26593176-412498","请叫我大众男神y","65633735-658109","apex10000","jd_7e8445aedebe6","jd_70dc8d606b3ff","jd_628b7786f5f0d","jd_44df563ff19b0","徐_淘淘","kittenmimao","jd_pvGETlfVkqCA","jd_7d3665c601a9e","jd_tTRgrQEMeGqB","jd_7e4dbc3c0dff8","jd_cThrsLhaBAGB","carrgz","dcty","jd_643487782ed2e","零度-兮","Vershera","jd_nCfapMoVsetO","18222927729_p","mumu979","jd_444f5c020f31c","jd_7a76e3b621749","jd_6b57463e94387","jd_4b996f9846f5f","jd_54a51eeeb669a","笑容那么明媚8","jd_qTYxMOCvttGn","jd_lsiZCjEIDyPJ","wdsPDXCHWouSJS","15559005802_p","15961860817_p","jd_51df6b3d8bce6","akinlau","ag5210","350752989-591606","weait","jd_65e0393a5b047","jd_4701cc51f5e5f","jd_5c1ff0aee8e91","jd_5d5bd45954d81","巴布亚企鹅","jd_717abfe921449","coneyloves","jd_MimRKBsvSqBf","15237633705_p","15050657583_p","jd_4469d0210e277","xialiangyi123456","jd_644594fb9293a","191791759-166167","jd_wkUtwnbneJmV","Kuwernv","jd_dJvhuDYqjlvX","xueyin1949","wanquan2004","s1959735547415502","jd_4dc439c1217d5","jd_5fbad029eae47","吴光山","jd_79d94e8d9e497","393450867-670481","G0103326","jd_6e7c296558a63","jy02919061","jd_wlyYQltRFULr","sfntsy","可爱的小虫虫2013148","随便注册0829","jd_5ccc7a2921110","wdJLFAILTQcmtz","jd_581c61bbc4d54","acuipeng","jd_74ad619277c2b","jd_4b8751a5d039d","jd_75ea236d6d981","jd_770436cb74251","陈川0206","joephily","jd_64eb6dd2fd597","jd_4250aa2b4a123","xingmsn1983","jd_62c949b0f8924","lzcpj","dingcheng258","jd_66c927ab78ccd","mryinliang","jd_59018cc307fd5","jd_52f113da13174","广通","chencai231","TJF","jd_6e423634d7338","jd_ygXrKqZjyVnY","linyuhc009","梦回S3","943564197_m","jd_6c3defc365133","jd_6a6c59c7e048b","oicq176","zrh_18505918092","jd_5d9e7e99a2fe3","jd_7d6d48b028c74","ufxy","jd_777cf34534386","jd_7d1d68e833bed","yingzi7373","xray1974","jd_rbAzGRnlLZyY","jd_73adb6388c821","18202741100_p","6370949-32347615","jd_HSGBWKIOkKDA","闭嘴jet","583161614","biyuehua","jd_578070e4fc16e","wdMdxPiGwxVGxY","jd_768fc1a442d54","jd_5b8ad6f9381f7","jd_5af7f58bd49ef","只是小白脸1","逝去的丶時光","jd_6856ed2283ef4","jd_495a5dfcb6b80","jd_698e97bf43d47","henanlibo","jd_44b4c12a07358","41453402-528655","jd_4f80c918cfee4","chkai1981","arronzm_m","kuqflnfx32_m","jd_SRuhxukACdpL","hu81296653","jd_522728c05725a","无人伴我立黄昏","18611933015_p","jd_463ee24e6403b","jd_ZVbzBhthWNcr","jd_49b833dae8c69","355武乡县李嘉诚","18964598829_p","jd_6757d8dc57d07","jd_4e8eaeb9af8fe","jd_5508be093695c","jd_68b2d83eb1966","shelly19850124","jd_44e0617f7516a","花果园回","jd_50f38dbceb73c","jd_7848fd2ed1ca8","wdHpGfXcLWRMcP","jd_5d78d73bd4c08","jd_4832a5721c6a1","谭超燕","hxy0325","zhengshuai860113","QuattroporteGT","gina86","jd_OqhjVFYDEhgc","jd_4ec2d50d58839","15814338680_p","jiahonghaitest","jd_7b02a1cc58aae","jd_60924c9321e3f","VIP_GC","jd_VSpsAxdPLxgG","jd_43d05ac7acc66","jd_uGzohbhFpRuz","wdDdOjnQHIKAEd","jd_gQHUBrUfnjxi","xz_xiaoshan","aeolus7","jd_64d5e046a371c","hansongdage","huntsman_tt","yalaiwm","wolfmo512_m","jd_445826b19b77a","jd_706850a4c198d","铃叉令","jd_70f41dcdc7077","jd_59a9cf9a7c57c","baiweishuiguo","18316696145_p","jd_RIHXgKvBfmVB","dreammis","jd_618c154e52dff","zhangdaleik","jd_73a17472c2791","jd_54644a3e867d7","18122354733_p","jd_5d14c6391f098","尐乄澪","2218011710_m","jd_WwHdwNoqCXJA","jd_6f05ed6800380","jd_kkmQKDuEJBUN","jd_6d0d692520ac3","jd_58cf81ac397d9","jd_79a3ba77e60d6","jd_6942524088bad","tiduswill","xuese3344","sslinqiaoyun","jd_66ca5b10b6f6d","jd_RaSvGqljmjiv","tone1989","luolovehk","jd_6c39a3e12cb18","wyixin","jd_641624256842a","jd_48d7afccbe0f7","jd_51a6032d0117f","jd_4aed2dc56e1c6","gaoyisheng768","jd_5279d593e7803","二二二二栋","jd_791f1b252eb18","jd_BpdBuVkOemis","jd_7418c0f3f1383","波波豆儿","18256023530_p","jd_5a075c268705c","jd_pesRlRlLEsvV","healer陈","inim","jd_74dc04c180825","jd_41fb3fc8d65f2","skpri","jd_5397fd87e2582","jd_6e3e7cf372e9a","jd_51a585b5ddf45","jd_4c723e933209d","wdXmWgGZIWSFUz","68443-48880461","jd_5a2b111eb3992","jd_4aee3ed75480b","jd_7fe9ab0480322","jd_4bfe34f341389","jd_627f52a8a88ba","清秀颜","jdwanggou2012","sylvia6999","jd_44e2bce2e1e22","jd_6a8142c2a418f","2008lee","jd_789582b0d329e","160938860-837375","jd_482565f0c315a","jd_5f7c6ffd70442","dishangdeshu","mjwpig","140868378-39502050","jd_4daf7e5d498f8","lvangtao","jd_6d8fd8754b864","就为了晒晒太阳","jd_7986266a59521","jd_4e9e283a4a99b","jd_nOcfMXjFPHOK","我勒了个去也","jd_62ef3d472cbcc","wu_8003","gddjl","lwl53","jd_GamzDhfOzmzL","jd_7d5a8c1dc40d6","jd_5bcfc6745e6e1","13824685776_p","陆岚","jd_7262939c5ac26","171058875","jd_4fecb0df27ee0","jd_OCgIFNooATdq","w_anghe","jd_62c8c433d7941","1194357007","jd_XAeebPqXlBee","jd_774e66c43d125","ren9821","低低低调","ahengge","jd_44a778fba94c9","jd_43d7d2574bf48","jd_65baabf09e03e","yaclear","62583-28504074","jd_457c3a4273f77","lu425369918","szhking01","jd_548dd2134412b","858338463_m","jd_bROcPdCMqdDf","670261651-357677","jd_6548e7f0b0185","s2178693947924319","538086448-856533","jd_fDjsjFwrDrDQ","jd_YpTcombAkbjN","glory1986","15764953686_p","jd_7c843b0ea2d81","sundanaizhu1989","z411170425","jd_61816ea637229","彭蒋雷","zcc19911123","11078558-167278","1462184672_m","jd_FSZGJtsPISam","jd_448d07b990c2a","jd_bsEnMQGkrpxu","fengjin2888","jd_4f7249159d76e","wdEGNRUtYZfaHs","jd_66223b3430663","jd_5c646db4fafa2","zfhe_08","cen028","jd_584fb4ff90e32","jd_6d7d0996eead7","zglzwwd","13253602592_p","nanxiongman","jd_4395c736e55a8","jd_63bff9c5719e2","jd_7b150b7a95e36","18258885113_p","ruter","jd_49da907286109","雨中守候者","jd_70a693b5c73c0","jd_787e6f946a189","pandasiusiu","彦超100","q137032994","zhang271999104","jd_72ac94c4008a4","jd_7521a48e45b62","jd_5780dbabb1c97","wjz159753","jd_UvwsafdSNSUr","liyong_xiao","22033480-539575","zhaoqian123456520","东奇","jd_5a33c6938816b","jd_500d8163c66a9","jd_597a8e1df6579","jd_TzdTjbZjxZuw","jd_57a379473ab2d","jd_4a255000d9257","jd_rlvXpqaLUSQN","jd_772412ec28086","jd_qRbHzgrOspUk","jd_71436753f7363","jd_xCOEadpEhczY","qq492827494","蓝海精彩生活9999","jd_77fc1ca96e8aa","ozspecman","jian34long_m","jd_JxpnMqozIlwU","moody325","jd_461322e7b24db","princejia","meizhu0426","chcsh230","我爱读书也爱买书","bingbailandi3721","139194526-696033","jd_724ee8446be78","jd_7531cdcba3aeb","jd_6a0f9bcae8605","3112183","jd_49ee3f76f49cc","jd_63034dea28b50","ping7598","444717339_m","jd_4baec7355add8","yinshunhao","937445978_m","jd_6ff9d6987fa2c","liuyi0605","momentQAQ","jd_5b6fdcfe39998","jd_6a262cd18f7ce","jd_6c82c68f50536","x459517090","zefan01","18998539125_p","18365236512_p","jd_WmkIdTBBQGyE","黯妍兰飞","jd_lShzSBPDBTQc","rocdk890","snopo","默默送葬者","浅色调世界","jd_FXdRCvYyqIit","jd_6c207aafee355","jd_7b26f7b1ec0f5","wdmEvJuHPRWGPS","jd_4c1614516d30b","心中有片海my","1388753-578408","jd_72a6928b7b513","goodcorn","jd_XwAyJFybauNH","jd_PudnqRFmgLJK","jd_KKSQreGHhdPP","jd_4e3542cadef94","jd_78e149b08762c","jd_68d9b0f6518ca","jd_4ff28a817e398","15610617377_p","12204475-57287502","jd_642e418fa208c","Elva3l","jd_5f5b30f51ec9b","jd_502e948544954","jd_7b9bf2006b960","jd_70a1d847e1bc4","iwater2011","s1885255135905326","记不住2052","pvpuu","jd_6a6b2ebaa7214","CurryDu","jd_43da5bbd0414f","故人归1001","jd_6402be7087989","aqrhvi","jd_lYJYTBYQDdzV","jd_41826a36c2628","jd_5170108ec561a","jd_52da313105790","jd_69f8aa63933d1","jd_59d8a8c6475e7","jd_CdbbOdYXVYQl","jd_eLIlOlPTAIlz","netcookies","layer","jd_6114aad31445f","jd_OTyVvqcddjcS","jd_45cfd5e73cf2b","21999698-141593","jd_6edb806d21875","jd_KBllrEpEpDwO","jd_4d558fd241048","jd_7e17463a8137f","崔冬冬Cc","wdhcNaBLBpeKhz","jd_71dcc9a855300","wdNUsHmoVbbzrwt","15733152520_p","liping13793","jd_5171691d334a0","jd_beRECTiqnizL","493154497-327363","jd_5138477f1edcc","美丽心情0326","jd_eydRWSZtsFZS","2850591-84345024","1222770-46748145","jd_60f4df52025d9","14585895-87698938","bogu8433","jd_4d88101cedce7","jd_5640c2052a125","heyoulun","jd_6b62e46456d93","念青","zhangjingjing0088","jd_4901be4615714","jd_7d943695e34e6","jd_58a3f8f851d48","janexu22199","jd_yUyEsVyGpWTT","小小粒18","wslqun","jd_CPsJwsPCUKvk","jd_5d2f44bdbe454","jd_PKdhDbHQuDLC","734322819_314972491","jswjia_m","jd_qsjRqMAsIhhH","阿弥陀佛齐","canisaylove","bingchow","15580004767_p","201106568-630769","jd_6e49890ac3e64","wdUXaykqeOxeRE","jd_6cd840167d306","73284140-56008663","茜茜理理","jd_50c508ef8aa37","jd_6442b20aa82a7","chenxun208","jd_5e35ac7863990","jd_GkznokGBIFza","jd_7a6e410568f1e","liucejd","binperson","影若眉","jd_50e11173e1d2b","tianxianggezhu","jd_58e0c688fbafc","jd_60276b26a800b","15968541991_p","snzh2013","jd_530c66a830b58","zwf15209349349","46017965-678109","djlx455","jd_4fc17748bf2d8","jd_cgbUGZMAUFaA","jd_7597a45031f19","jd_777180f8287fd","zhangatle","jd_522a70959aeda","jd_EoCwtNUqyrJX","16603661-688901","驰行天下","jd_6b7f28035548b","jd_5de555233db53","jd_67f1cc3e76c49","jd_6746f6b603e83","jd_62ff77b7a43ab","15700086148_p","13047913575_p","18565789532_p","jd_5ab3ee9965f34","861674947_331862783","jd_527e875ba6fc0","jd_6cb140f1f3cdc","jd_MxKFFYBVhEHb","jd_79c28e16e8dfb","coderchoy","magicwby","jd_OewVLFdAqAAy","18675009391_p","jd_4bdd8f2706493","nxd158903258","jd_60d1ee82fb145","jd_735806bb06bf4","jd_7f8acc8ca8586","zhengshuai1986","jd_42ccef40d4693","sunzehu","247466310","jd_48dbe30614232","jd_72d445778ba47","jd_5bef9da2e585f","litianshun","jd_4eeab6b5db55d","jd_541881e175115","jd_4d56f97ad863e","lxl0206","jd_6a4ff60d89c92","jd_78abd3c70956c","jd_XlunaPHVSySY","15962952550_p","kuerck","qcsky","rtzz200","comqs","jd_4283bb3150f4a","15089577639_p","wdCrvncBgPgKxj","jay029","jd_6728270b3475e","jd_5dc92d100f9e5","365662907-760283","jd_56d907874f99f","wdShdjebusWgix","jd_6ebcf080c37d7","tongzhangsyq","bluesunner","right_zh","mazi20081990","jd_7c90ebd0b6d2a","t303291556","15900920356_p","jd_53cf8097e2e41","jd_743c90631cc15","15918489423_p","1645719-39366472","yc1010716","s2129834090368560","jd_5daba7d11c405","751曲江区周欣","xushixin0212","jd_43e49c9e08c0b","jd_7d3b94b3dafd2","213511400-73149402","zpc19940228","15073910918_p","ming121038673","26492858-103393","jd_45f8ff338b16e","jd_4e78f72d80779","759441404_m","18607173740_p","bunnyrain","Q15150133483","wangyneu","aisonzk","jd_igFXvUztwcfE","superstern","jd_499870e80c950","ysc914","onlybeloved3","jowi111","wang950206","jd_5ab8ee8b964f5","305813854","jd_OKAsueXPOEEP","kevin7188","mingsijie","jd_7ed0a2a0274bd","jd_537c9bad200d1","365612","jd_4c7658a53b41b","zsshouse","jd_4ec5c9279a83b","jd_OrNNOSEePkqF","jd_462bf2f6950e0","771466767_m","潇湘梦樵","汪兴升","jd_hVRgsXhCeSYk","jd_4c1fabf0d542e","SD卡无效","jd_zMlRZlBAfMXJ","jd_45c36666045e0","wzmlove1121","jd_7635f3010042e","神秘小强","jd_MsRJCWtRStWP","jd_77a82b603c6c3","MM-915","jd_4d0cab2cbceb8","xinningnin_m","jd_47bbbb833e401","jd_415adf99f3034","jd_AMJpPTdezNfE","jd_5426611166f1d","yingdaww","jd_hMyEZXmItTXi","amwamw968","13452285365_p","jd_NiqcJIbznFlm","jd_6fe08008c8a34","jd_5ad816891da09","13559486402_p","jd_ZszKkLWmApBG","jd_4f07334ec0e99","jd_5d593faad4849","234724331-144870","jd_7c24f58f9d0f4","jd_NuUfYxjXhYSw","jd_wkshTiabyaeP","蜡笔丶小鑫","jd_5125cd35cd9f3","jd_nJdcFLyELtPI","jd_7248fd5697410","trj673417221","jd_61b8e52cc2646","bonghyesun","jd_7f05dda40f352","jd_409b35a92a568","susilijun","jd_51f0f410413af","lswmouse","jd_785351e45f6c1","BetterHanGood","xiaoyingziyahaha","我叫肖大爷","epsonhotline66","jd_656d5cf1105e8","jd_wJWfqPZOeAbL","jd_68b0f91d5a7ec","jd_5af1f33a4ab6e","西凉夜醉","jd_7e1e687727c8b","jd_zYkIYdrJBfAX","hk87925","webb.ring._m","jd_40e00fcfd2d75","wdjlMmocyfdvEL","jd_XZGYxZNlpelX","chaosboku","黑木耳_love","2213684726-168762","209337623-639182","jd_WzhesXkjPXFT","jd_WINzDmuPgqvg","tangke612","839156745","jd_LOEWgvNwQIWD","jd_69fba16ab062a","jd_7272852c40f0b","jd_416d388afa13d","jd_5e936a6564191","jd_jJyBYxblIqNN","jd_4d13bf3f6e300","幸福怕孤单0315","jd_MRYKjPnHAtQa","jd_4c0654682e322","daviddqy","jd_6726defefe982","jd_4c42ceeb10808","jd_716791db089e3","jd_6edd814334b1f","jd_7f70e037c3e05","jd_55885bbfa377b","jd_MeShvJTVAdGw","jd_7f7892e87f9e3","jd_6bad990a6d697","名字不好听就别取太长","jd_5e7a2d5b1dd7c","jd_KLmVSLZSwctq","yjjuneyjj","jd_4c3a96cd3208a","jd_46b9980467e70","作为一个兽兽丶","993406467_m","jd_47a6229c5d630","perofuniqsl","桑美","xinran_0724","jd_7ffa874afa335","sandy0304","guoyizhang","jd_4ea213b703a12","jd_7c957ca4eb404","jd_odBDZEBoRbhi","jd_7f9ee21b08246","backy2012","jd_61a77522c5022","xiajin0728","aw0120","ice1992118","809am","jd_6c3d10a11f6be","jd_7e2492f63da5d","jd_IOyyRQJuEGFJ","jd_446629536423d","weiq88357815","jd_5aa4df77dfe93","jd_5cf9e325268c3","ipooosky365","jd_40f932ecaa409","l1898168","lky12224","小女人装可爱520","ws阿巧","86147086-380180","kickass","liqz215637873","刘维志","u_5db286ade3b02","jd_78a5854d47731","sunyong0814","jd_4da84abe571f3","jd_6c902ea491a25","dzma","jd_490d7f4d4f8fd","10519227-78118927","jd_7ef3a99038c61","o0beaby","wdFgvsTpZNvSsz","jd_7c871a8bb3383","x1064571013","jd_572d4e3a2e88b","singyue","zhpjy_m","jd_489cf2920ddb4","LDJH_M910","jd_4f92e371d21c1","heixuejun","huanggeke","jd_5312bb6e09885","13688887588_p","leoiy007","ming7879","jd_495221552c5a1","hncdcsm1","jd_7591f05730ea7","李鸿仁","jd_77abad0db14b0","jd_75e891f48e031","jd_hSpsFlmWujFx","I-vampires","jd_596756163a643","cs3447047","20157501-369199","jd_75eeba75f70f3","洋洋38065","jd_56434d1948cf5","supersyr","pjdong","jd_49ce56eac3abc","YinSlu","shunia","张琴1969","292378352_m","bill_max","jd_708397866d7f8","774173067_m","wdUgUZIUOWWvRP","jspvsjsj","jd_6877ea3e2dc0a","4437968-538619","jd_tHIUmLltVxqi","perofuni","jd_68a1e19ed513d","会飞的羊8283","cyy_1020","271777471-959218","yurimoe","luoye19920116","jd_521d4814ae48e","jd_55887935c301c","jd_LiaskXxHLjHW","logaday","7624446-285014","jd_4bea72ba422f4","peng167","黑屁尔多","jd_49a122582e98e","jd_4bf57e1bbfb42","落筱哚","jd_5684bc2e3bc8d","happysoul","mahe199311_m","名字长好中奖","jd_iFSdFPaBXiIL","jd_4619b77362d26","pcpa6111","yanghuiying3205","jd_5b38516423e1b","北极熊abc","jd_577a70d1a8728","花开田野","18336919631_p","huaipingyun","jd_IChxZkofxSTX","hbzgwx","icase","jd_buXsPHwzVfmz","jd_7467fb0242b9d","jd_74cb2827bd2ae","108795322-978513","jd_7c090c290d14d","jd_aZPGllLDqMpr","405839568-69065254","jd_72ef42bbf4959","18251920232_p","抢购专用账号","jeran","萌妹妹爱","小新没有挖掘机","jd_42dd0366d7b2d","jd_45018194bf787","1341642992A","jd_52205cf5f1a33","searvoer","hulushangxian","jd_46dbf0b910baf","jd_5d7a39f8c268f","jd_53808850f8f03","hellowjjb","DayDreamery","silbermond","shinzi","赵灿张恒","Cygwwx","15861821618_p","jd_5c5d9ee3a34ed","jd_QEWyEqzSTQZL","joya422","jd_797b60c8c0037","jd_dlIyWJhDbEke","blackjin89","jd_5d107d9d1f119","zzhx2998","jd_615e33dbb39e2","jd_592b010015c63","wdNlImPqKDKQBc","zihuang2004","jd_63e7f2ab6d48d","netget","jd_dzPPMkxVhgmA","wdTSaQiNFGBAHY","mao_mao_13","jd_7181ae746b6de","jd_EwttTZkEbVQe","马佳荣24","367917103-468530","jd_4aeedc3dab6d3","gjlvlp","jd_53299775f6627","18601582771_p","jd_7db7f4d4a5809","15627721087_p","ncxfkrpo","jd_55db5d43f8b35","jd_679fb26ffefab","1158373285-329434","15386495522_p","jd_74796cd589911","ywj6125351","jd_72119f8c185d6","jd_47aa4bc6389d1","jd_4d86010fb6b87","77513557-508719","jd_unmjUtpmdDka","鹏翔山岚","jd_67f936f535cc4","18770022622_p","jd_66ccec766777b","xjx19971013","sn9935","jd_7109f5f7cd20f","龙琚","13361982635_p","wgq1990242","yftu","jd_532022bec0494","xzlzxc","jd_629ef70c9719d","jd_IkyIycHWDfVT","jd_4ba027ae22f3d","220524162-174703","jd_756cae63b7395","杨耿明1","lingyle","lejitao","lilinth","lxq2007163","tjbyws","守1空城","jd_60dc496dc2349","6025jie","wcf406","jd_649424543fd0e","wszyd16888","虚像2095","jd_ayNmhLBhwfSH","wdsGiOFUCEvHhS","jd_56e5acaea9f40","363104776-710081","jd_7a03764a08a78","jd_ZlJMuhVLPhGw","7天涯海角","jd_72c46fb4000c4","夜幕下的君王","jd_7b7384ec988b4","jd_6801b76e5f1a4","jd_rJzaJtwAAvcn","jd_6c084d33684be","jd_5619dd74c5825","jd_450ed21f8fafe","jd_505cb8b3bd844","fanxueyong123456","jd_UTJauahMvePq","lqclight","BG5HNZ","liaobaizhi2010","xie0027","wdxpMAhvTwvxjD","wdQLgTMepJpFDP","jd_4f3ec736cfb96","willste","双跳舞的鱼","jd_58fe4336e5d3d","jd_5824571207494","jd_65263f047351d","jd_5ae1faa9497d3","jd_6310b150a5ccf","jd_4508c0d0dd808","梦轩小恬","jd_46d004b22e156","jd_4e5ca779423aa","jd_586bff3cd82db","linsheng1994","止水轻扬","jd_EwqeYNoskoSB","jd_5c49b4ccdaec9","no1xium","jd_58b706d652f09","15233585626_p","s2142275845133635","15155706693","142455899-102182","125419258-535710","zxxz2002","avivi810","mithrandir18","guyuesuzho_m","fengfeier6","jd_527f2324eb8e4","871818323_m","35532635-674938","jd_4676cbad8f9fa","-向奎","247994270-61207176","wdNDrTmuSbYssjh","68sgf4as","wdCrfYedJrpKWO","jd_645b8ee8da8db","jd_667303f27d1f3","jd_5f8ac533a4486","jd_71cede11832fd","u_5ed3c9faa81e5","jd_567a24545068d","jd_5ca316fd5ced2","jd_4a07b8504b717","jd_6e083d0fb6d6d","jd_73262d6edfd15","jd_46c9d6dbc626d","jd_TMwdhZjWcjdr","jd_PqNKFBIorSzh","aini10000na","swou","jd_64d1f698ded97","jd_529ac4d3a1992","jd_72616e3a03649","jd_6c3d4081162cf","jd_4f9198ecb1be3","15157726224_p","jd_71d7711ecf443","jd_724ae433a1155","fk_beyond","LemonCC1018","ainannan1106","jd_55ad0f15ec81c","jd_cKYrrsJPTXJD","jd_715aa5341f976","jd_69ae6990e6f0d","jd_77a3030816848","luruoxun","longzhuai417","84864986-57465163","jd_46c834d4febb0","Lhardware","18628333953_p","jd_493918e314b50","jd_607197db3f6fc","ENTOTO怀楠","193926961-276262","jd_sIhNpDXJehOr","jd_5159f4a5f74ce","415568280","jd_525ff46517996","性感的毛毛虫1995","wdKZlEMGroYUXj","sillycai","jd_5d801017092e7","jd_VSOVBlHDgeVC","maple91","jd_7f25c85b4b1e7","jd_560c6f30e6951","jd_41e9a9c841015","jackyter9235","jd_4efe4fbaaa6d4","yfijwan431","jd_WPpzhusjOnqA","yy35823758","259053802-527745","jd_slsmgigZmbFI","寒墨訫","jd_641d0471b9ae6","jd_4201e66228df6","georgewugd","18783138535_p","jd_430d267b81018","jd_428605d7335c8","jeff1945","l4365129","jd_6c348990a83e8","奔波520","s1405643354241607","jd_ydZfbloWrgjc","jd_442fb09f0d3d6","jd_uHufWVblclHb","wwy92311","jd_4dbd8985737f6","1161727652_m","4324271610","jd_6c23c8894ae48","平静的时光","jd_dMUjJbNLGPvR","jd_6146653c388b7","409675694_m","zh870115xhl","ElvisyCheung","jd_xpRxTgPQxNeU","807110922_m","bigtaurus","jd_451be0b8e350a","jd_QhZjdJFhZFsJ","jd_6b850e134911f","jd_653694d3ca042","digitalocean","w275757202","le2yun","shimenshan","jd_zlmZNztykhHU","亲爱的老no","shishansha_mhk","hjyalzx","jd_61c5b97445bec","s1784500463145607","lefthand2006","yadiman","10439940-203917","jd_486117a27d1a6","jd_EGCrrHXxKIOb","zersoon","13737873948_p","jd_7e4f3cd04d3b8","wdmBdTfhJATxEQ","jd_558afe4996544","huichen0000","swliur_m","好好说再见8","nl1202","599邵武市李钦山","李双好13590096920","jd_4e11a038699a2","jd_5a17c90da1918","jd_7750efe50b306","jd_6887ba938ff26","wdAVmRmqYmhnJk","jd_5d0236eda376d","390823571-784974","jd_5d7d449b262e9","jd_muKVUUgjIHsQ","15845007858_p","jd_738ce56281d5f","jd_6ee2f86c79797","jd_64f4c2c918b90","jd_705286674b655","jd_7b983e5a2b395","vqiang5","jd_419c36674602f","jd_qlVtcaBznMpU","52081663-431486","Tuzi_1234","jd_4e7318df4d783","jd_7141603535d08","jd_5b2881519f2d0","jd_43f945c6fa7e9","jd_52226451f875b","1690281150_m","jd_59bc24343c346","李纪红","jd_6a086360b9d8f","jd_ockdYdEODBXC","jd_SLUbvKeRTSIj","jd_huDOAsAjXZGl","15024973920_p","凌乱_年华","jd_5dccbea05bf9f","jd_5754073b722cc","jd_63336c811c185","151057041-307413","jd_oZvgBdzKTteK","jd_6419defba733a","jd_7999f3a9a7b3a","呆子沈","jd_60614235ddfef","jd_61b1d2d901399","13094899543_p","jd_rerTRFhRMmPv","jd_6eb33c0e43e35","sola237","jd_7fefd6d39a52c","nihaowoddd","skygjb","step4","wdllHwlOJxenQC","627187341_m","15890124107yu","comeinkang","zhengyouwen520","Yozanarina","zhangyuelec","小白白白白白白18","jd_592353371289f","jd_5f46d4513beea","jd_4955508192306","19715101-10833301","jd_sDtnONLeHwfG","jd_687b446f0c6af","huanf001","jd_66f6df184717a","lm91128","jd_4618a382c43ac","常夏838","loginnt","jd_vCYIIeqyeoEP","wdDRBRmsVOkZyf","jd_7ff90eee39799","jd_6485ab2e2582b","jd_EkVuVQzkCllK","jd_76fc043e1e69c","Jerryzhao119","MiSs丿Blue丶Sky","许晓婉","jd_5ef7f9038534e","jd_59e1d71acad28","jd_4dd00b860eceb","157861473-887582","jd_5ad264ed38461","chenmingsy","Ericmetoo","宋小芸","jd_50ee49a40daf6","jd_67a2341426e45","jd_4d6d01a00b690","jd_4d3de7fc13e60","jd_4f6f2531d4be7","ppamoy","jd_6f8c7686e19f3","jd_64db178eb52c9","jd_7affe2d2083ee","jd_4fad31b599efe","766473193_m","wdXhActoczrZKx","k414100956","jd_6e40315599462","jd_455d8b32cfe5f","361868-20056647","jd_474636aa91ee4","jd_7b6b26014d164","jd_553ea3a6ef2f4","jd_630b2e3cab0c4","jd_4f658519dd869","肌肉小清新","jd_4d60ae876a444","zaq123_321","jd_43b0392550c81","jd_51f2719c8361f","siyu99","kofgoodzb01","jd_5836d7261d050","nvitel","jd_5f8f25ee09c67","a465585532","jd_LmdtbrnfayfW","jd_47a1a537916f3","jd_4ad8d76809b9e","yww128686","jd_7388d64144302","jd_OdwIFleoFkXO","我想唱歌给你听0718","138469309-43796184","jd_7f1f42590afd1","15821098636_p","jd_48f11daea79c9","va236","38403-84169368","jd_75cd0c55218f4","74836527-103300","jd_4ae8ec651cd16","jd_41ccafa9f1ede","明明如月321","jd_6294a90a10048","jd_5ab8c08e9b087","jd_4c1c369b7ab08","dreamdc77","w13733835287","zhangxingxie","jd_GQfXNvXLPRXx","jd_7fa77a9bbbb71","jd_AJMKTcjRmWmE","jd_4b96e9fb17045","jd_JecxnBDAuzPX","15914721195_p","jd_435b6508b2c9b","jd_6b90bd279a6a5","u_6559df36ecaa3","67948122-489758","jd_7de22f23da8a4","15980873733_p","18014246678_p","jd_cpbarqBdarHt","jd_rGisHkwelrdt","雷疯错","mch200438","75470198-904866","cuihaijun6_m","小兔乖乖守门员","wzcnykw","jd_434288672ec9b","jd_4b544fb7a2b03","jd_56ef44b21be9c","jd_YNyyyPctzbvV","jd_58e41fb05b61b","jd_768a8fe756595","jd_56cdbacb76b8b","lin360860870","jd_qzVyRALynVAn","jd_50c2901bc2309","sj15770753839","jd_540953c88b64c","13636027329_p","50132","jd_4b722fe76abab","174353078-498519","yuly瑜","jd_4aa93d028f4c1","jd15779102529","jd_71e1a7b59b100","演戏悲伤","烟呛男友","夜里睡觉的猫","450533090_m","jd_4d3c403d55a81","lxy网购天下","jd_ZOMasfPDGdnv","jd_691d36c0aef5b","gin20051","jd_wCvjbPMmGroq","401093859-500761","jd_65a63f71f727f","jd_46a558572d2fb","Air光光","240189434_m","jd_51c3d4b83c405","wdmvTJcDQJLRFY","yaj6835669","jd_5dabddce689ac","animeotaku","jd_47265627f09db","jd_53421d4b4655d","qingcaolin","jd_dIjvosvjJMKU","2557216606_m","花红易衰813","kfgmv","jd_55d79f71a4131","冰冷的期待","ryuubin","jd_7188656792201","kkfuzi","jd_5f3a751aa422d","jd_42cf4d3257cb3","13826816934_p","jd_61e7fa20c0f3c","jd_7d8b16f52a927","jd_WMjnotMhMuDz","jd_lLOfIUwZJyqn","jd_45cf4258ec7ad","jd_76086145a19a8","jd_7f39c5c119e1b","jd_501a067b79a9d","jd_SgCozrjfQUDl","367662542-519462","jd_725a996573e8b","jd_782cfc501f6ed","cdrink","19640628-848804","wagon3w","L_JJF","最小麦","zhang421113666","l842891024","zhilicao","hyqzj2000","mkc1085","土不弓单","17332187-74093989","东玨雪枫","jd_fwSLIJVQAxFF","cookiekong","幽灵拨号者","tao18655651213","哒哒jw","jd_6a4cfba66fff9","jd_SgaEVztDamIx","shaobo8013_m","s2030918497697882","jd_UDIrPtTEGRVZ","jd_7734446fdf7eb","jd_76dd6bb2eceab","jd_77cfe44a9b741","jd_vUQfMhJHNVMD","梁上进老婆","jd_55655481994ef","18355142518_p","19699979-455097","jd_5a3a2ab3d0cb6","343001938_m","jd_651834f94ac97","wull2000","4156791168","jd_454861d1ddce3","15212792291_p","xuelangjian18","lsbst","440031154_259667829","jd_743029adc0c06","凌逸轩c","15154712391_p","jd_408ff4d122cf3","婷婷玉立789","jd_46f31eec3cfc6","jd_60a182f5b9e97","jd_ZUdgCpbpzdnW","525672658_m","jd_5d40ea52c0867","longzhinan1","9sheng","1300359811_m","15127292237_p","asv761","jd_58616614ea4df","15135032504_p","xiayu6186","jd_IBNlFSGFPLhP","sn1511","jd_7dc668a2358ff","jd_5783349a4050b","jd_454da80111b00","jd_nqnRxUdMhqAn","1138966-63923617","jd_zZGAWLXSOdRW","AboutCXJ","jd_71264d50f8b7b","魏少鹏哥哥","jd_64e225ae3be81","箫然物外","zack007","whx00wd","jd_40cb8a8737d86","jd_446c157b3ebee","jd_4e7624f81d4f7","jd_4def4470b2d8e","jd_7e40af59bb58b","jd_5ebda9fd8a012","jd_5bcb0afff9638","hema3210","jd_72a6ce5e322c1","jd_WcsdJRsfXlhx","jd_48a35a77ad4de","2190626969_m","173160752-579744","jd_5aa30bc0d0f1f","scottuk","652037216_m","高中同学小张","Pamela_eva","jd_kdowyscdVJVu","l476140781","jd_48375e8219ccc","jd_NfsUegFmLsVO","125817644_m","jd_5e7493323a70c","jd_68f60aead340a","15953293777_p","jd_6968a279741c3","jd_61b47f7e28b98","jd_7d7dad0fdbbc4","104985449-737752","jd_58b05631efd47","failee55","jd_kQdCaHCIIwJF","wjhuangbo","笑嘻嘻的蚊子","jd_6ed78fdb15c63","jd_7c12ac726bcb7","jd_59578bf445809","jd_7149ecb77f105","jd_54b15ff1bb6fa","jd_581f7da6ed723","jd_4cdfabd498d3d","jd_mNrGFRRzhrct","cbislovely","frank818","谢仲斌","jd_652356b2455bd","17205513-73875330","520pan1990","wdgsvPCWIXwKtF","jd_46b1c0efa5177","jd_44ed737886472","jd_6176b3032ddad","jd_65102275be0d4","熘蒗菡","1816247472-169442","humaokun","jd_471fcb3a04e4d","ngrow","jd_voIiItBDsaHJ","蘑菇点点liyunfang","jd_5e43290731d07","jd_57c93a163dfe2","jd_AmdkHSUiXnOv","jd_51e58abde6216","jd_dDQVkveulJLc","jd_44270b25e4adb","jd_62552ebba99e6","敖敖90","jiny0512","14391802-61604907","jd_wWyLAavIQWuX","54943780-270999","qq1095168524","jd_72a557f4a2ba8","wdYfOlmQNBIzxo","jd_7d73c10bfe8d3","jd_566efb9d03cbb","jeantoe","jd_nkpuBPHhoHgy","jd_5a1ad24364647","菲梦飞舞","q893755744","jphtmt","jd_wwpEITlUZuXb","jd_4187a2b60c619","jd_7e8708b8e2254","wdNIcoICSdwNBOu","炒今恭离养","jhiy62794","jd_7a9d86f765fc0","fanchcho","55199026_m","jd_4497216860217","raycham","jd_71a291a64fa05","jd_44efaabbe200e","jd_5385b6d625668","jd_uDdFXbrvxOEp","jd_foMjWQZxjRPE","100389388-158431","jd_kfiPexGAidWd","jd_4d6f26894e37c","老翻译","tianxiang5686","jd_7252248c431c9","kylinpoet","jd_ZvetDfsPeiWt","jd_kzCkCRXiAPDc","5642879611","jd_48e0f2979fb85","jd_5d66ec17bd767","jd_6fb5fa60bfe99","jd_5fbe52e7a2133","jd_RnWxsEFQHxXY","576363504_m","海绵欧巴","杯具咔","jd_FfAnqFVEoBul","astrumg","zry19980321","jd_5dd59dd2ef3db","jd_YkPsviRkazPc","illwill","jd_qHMRalrZCeps","litengaijingdong","zcyan22","20032812-709805","jd_4bb6a666fe8d9","inim001","jd_67c949810c592","mswort","蒙牛真果粒_liang","emp丨饽饽丶小沫","邓永洪","jd_636c94873c19f","jd_5b5c46a9adae9","jd_76d7750c5c919","atmiqny","maxiaobo_mem","jd_cFTLdFigJJON","jd_49dae17515a3a","jd_63916f963222f","element1975","jd_74ccba50ff121","jd_73c959d6e0759","jd_BUtsEAassLdt","jd_AETJFyaeyuES","hcyleon","jd_61dd3a95a5c45","jd_584ae6ed091ee","jd_4533596e52e3b","wu_5347","jd_4238fef90b7bf","1910957526_m","jd_62744abe5450a","jd_MXqHXqSqFGsM","jd_5b5a7f9f7cd04","15018702207_p","jd_4198eb1ff0899","killeryo15","魏小二dm","80751103-955885","jd_784c23f0510f4","jd_VecqFKEfaKwq","jd_58da2d59617a5","blacktitty","jd_7a7b606cf1980","18650469017_p","archonlight","vv0101357","jd_BGJYEcWANXds","jd_7e73cc7af3cb3","l107868382","15117001375_phs","GuangweiUP","jd_bPCoJCMzHILL","opnver","huphup","jd_56150b0cf1dee","外国人44","四处游荡的风xx","jd_uPyPMQYezFrE","jd_5c03d919358dc","78962713-108050","jd_7a3994a251f73","jd_NQpRibSVVfhA","litao623114","彩蝶1","onlyove","jd_56ddc9a0f7f66","jd_7f1aa662c7026","jd_79b72aef70f0d","开心快乐幸福健康","sunyj","jd_41fe1e83d9dc8","杨帆206","欧度图","mybeky","jd_6e51bc47a7533","轩辕凌烟","jd_5b74a7ab0e8c4","jd_4ccbdc8a40c3b","jesusloveme0087","jd_587bc8ea482a1","jd_4a0a42283463e","cheer95","gary388jingdong","jd_7cd365c530718","wuxuanxi","百岗幽魂","jd_6fe9f2e9596e6","diamondking1","jd_53a435646f468","15358136036_p","13167164665_p","hs20073","15136169631_p","banditlives","莫志勇888","venetwork","sd4553955","丶988","jd_ykCVVpJClXQA","椰子简单","咸鱼丶973","jd_740fdaa49e052","jd_4a6b00e857746","jd_YIMntwNHYcFj","jd_66cea2b2be982","jd_5183546edf9fc","u_4b940e9f6f429","w67687644","jd_6e97c5ad60456","jd_6e8723d7ee9c2","黄婉铃","秦桃子","jd_709e9b3c77e4e","hcs0210","jd_51a64a9da6b94","VSincere","lovely_sea","jd_70a88b4f3a549","俞钦洋0504","jd_731703e46e025","wdjVvzIsDzRDWW","jd_405399ee0b1a1","jd_54aa1b5ca75de","cokefloat","jd_6588e9a50d23e","妖媚公主","jd_50dfafafc59b4","饮殇飞","1338785-37943209","jd_429a945db1d0f","jd_6b3f50377d769","caixingxia","1193592-42577510","18534169614_p","13981372001_p","晓风残月0908","jd_EDFpNqabRsvt","13927539606_p","jd_QDKnjcpRFbKy","beutifulforlove","bladewalker","light406","blueman24","jd_6a7cd6e6432e2","hbykdx2012","8601886-63458120","jd_71708d00518cd","jd_7905c6eda6697","ryh2001","这个名字好","jd_4f19fcf75aeed","820661916_754083065","341409346-151368","jd_CFNsftHNepWB","jd_69150196e0684","有人说这样那样","wang2011","jd_4c3c17b593e9d","428211715-849284","jd_CpDsFvbeSxEG","jd_GspzcICzdshK","jd_574de40428d15","jd_6c114890bda03","manual染指","jd_7b260b6c4af39","johnny115","jd_FGvlrQEQNotp","jd_4238eb72571c1","dzma1","爱为你","jd_67524b35a00fd","chensj12","jd_ZPtkgxEUuoWy","jd_gXgxeZHqoSgP","粗壮的手指","12888914-45913978","jd_5e71fdd9f7fb2","jd_401194f940846","jd_nNMioPgQzaeB","lemon天","安庆国","imchenjianyi","jd_6706db8e49ea4","2406082-44670223","jd_7e3b28a27ce8d","jd_RgKCoTtwcSTz","fred翼","zhangbaobe","wisehoupl","jd_5a26e44c4a722","jd_5b1173afdc01e","jd_58cc29523f6d1","jd_499fc7068458e","陈小柘","jd_4ae8b7d13f8e6","jd_52749e94cb404","jd_GylSgiqmCNbP","jd_7b05a77bfa030","jd_6324c8aff4112","jd_6d0fe6d3f6122","jd_42a09ece6af64","jd_5e1adbb0f9911","jd_76ad129222b6f","jd_DUtPtiiDamDr","jd_aoeInqZkKPfE","15101147567","jd_778c007d906dd","jd_40f7c35422448","jd_6c05e4c45f73d","wdLKNnzDkjJlla","jd_6ac2adc9a7832","jd_53edbb9dd6c7e","zsr20100318","jd_6569688f3a0e5","magiex","15150689678_p","yejunyan7","xiaoguyo","吴真1990","pintty0126","p86391753","taoyong1205","hope89757","jd_6007169b03ed7","jd_7e1ae5b428a14","13488121824_p","15285320473","ls585","jd_JsjqwnZGacyu","jd_4f05c33a647e7","757499699_myn","Songlyu","53615640-50068037","jd_53a5fe3feaf2f","wdNdUkjQMQsKtob","cunru06","jd_7dd220477c5d5","jd_5f8967aa24d71","fbfb10","jd_5543b9c8dfae4","jd_5215cd23ac7e8","sunbin7288","jd_7cbc61f1d054a","39903227-864954","jurbdtc","ombre2008411","jd_6929f471bc6ac","jd_632a19ccadc49","jd_PUogAvHowisX","jzchenbo","jd_7e6bd2fd59f66","jd_49d92c6989ef7","zongbcd","jd_6f866c05693ac","jd_76d79a20013ba","唯爱杜康","xljl169","jd_5a3a8cec6502a","jd_KGlexNohEvhE","jd_606ab2464d4f2","ok0722","jd_52ca6ebede2d9","jd_5f2d917819461","hero_yin","15177313669_p","jd_78cc06880027d","jd_6a96ddaaeb10c","airdge","jd_KqfUyuGrCpAW","dc0926","2523236677_m","jd_589497d3f7928","jd_472034414727e","jd_jHVuXYpDoebL","wszjw16888","jd_eScTMMDvNXZG","wjl020207","amanda_lcy","jd_53e4e40ddfa9a","jd_ynxjAskMKjzL","jd_412e828d941b8","sheng_2004","jd_50c66a18ee8e4","jd_6099459945fe1","jd_77de829ab9907","jd_6e657ac830464","jd_eakaoIdWMprr","wdfQrbIvNQwUWg","jd_4b61156c02106","70719609-342523","jd_472b409e24302","chenweike520","mysteriozj_m","jd_5616541aa9f63","游侠1312","ljk4160","jadeyang","pjw0063","wuruipeng_7","jd_69f127f020f25","15162127191_p","jd_70839c00b57f8","546220777","18905753094_p","jd_60967793a6a3d","jd_7d948f7320006","jd_5adbaf71ef333","wgl122","646931439@qq.com","stcoss","jd_ExnBMnVLNSTL","162106483-745239","zhw511006_m","klhzdx","jd_5450b2644fb39","109109523-101577","ginber","01210113x31","jd_5f3992621c6a2","405377949","jd_62d8b13184498","jd_485c757b79422","512820175-665191","jd_exfLtusZsAJp","21248500-15083952","孤心1987","jd_5eec0bffa6d7e","lly6655","jd_582e8e959b618","小巨人giant","han_diannao_mi","jd_5cfd308557854","jd_60ac913a24e33","jd_wdFSnhGoYgDu","jd_aOhFqwScJcbn","jd_5b5edfcab1dc4","jd_mOqZsiLcusVT","wdxkHqvGlOTjYL","yzx7230","jd_7e39efd13b0e0","jd_45ce674356780","jd_4264031f07fa6","Yuki大魔王啊","mifa159","jd_74b09c838b755","甜在心84","jd_4c2942d50be07","jd_cXFeKKaDZgRs","1391897708_m","benz819","wangge143","sqxiaoduo","13544532001_p","jd_61addc8054869","jd_42e120c380349","jd_4708752fd859e","binggz_m","jd_618e390d8e99a","YUAN52965","southcn","jd_HlcFXnXqUdBt","18356262250_p","isimply","20133752-99300374","jd_7e494cba6225a","jd_MODizyUKysAW","49771294-892144","jd_5961262a89c0b","jd_liXeiQhWVEdq","jd_GFZHCroodDhJ","刘云来","wawajingcha7","jd_5781a08d876a1","jd_47301e97e3081","jd_48f7d4d5f3cfe","jd_757e31cc830bf","wufan66666","13588445761_p","jd_4dc266b57c0ad","jd_7ebdf23cac6af","jd_7fa14f8082c3b","与记忆和解_空白式","jd_762ba90e8d300","jd_HWZvTWcCRVBB","多蓝七","124139746","jd_4e9f6b802d6c0","wdnugZzvyEWefF","7429005-42246543","Hello张华桢","sup3rsky","鬼鬼鬼鬼nb","jd_40ce0c8e80412","jd_6a425193572dd","sc小东","824395286-629087","jd_7d0fe8f4da069","jd_VrXYjEuJDtMr","15111006414_p","starific","jd_4041ec25dbdd9","18435169096_p","jd_seemEllJDPOw","jd_60c03d5747b10","jd_76b3cf8aa017c","jd_42b0f9e5b7431","jd_dpnRqTxhubeI","jd_4bc2ca3bd71a9","jd_6e20ce5ad15cc","jd_6e6a9cac025dc","jd_7726990f743c8","13211495978_p","lcsao","jd_dupHXFELfGvz","jd_77eb7589d8317","大鹏鹏123","wdXPFXOCTDpofK","jd_6f939a069be03","陈鹏c","jd_6c5963465cf6e","shuishivipmvp","jd_7016ab5ac0d2f","jd_6133b7f9893e1","yuyi_linlin","jd_cCTUTdkfsEFG","wdlIkywUckHPBQ","393380142-456368","47661510-664344","jd_749718ced816d","巫师一族","44269030-112876","shift_zl","libin501501","jd_qItzaxenTQKh","myvmiao","wanglaihuai","bjb0125","15888900571_p","jd_CTKilJWiCNqm","jd_516cb986abc97","jd_6deb28cd385f4","jd_5a1ed95fb16c6","jd_6d78f00f307c7","fjx820732859","jd_qjyCKpYDrOuo","涛声依旧15168","钐钐钐钐","jd_5657235cc6495","jd_62d915df928fb","jd_7999dd2f22510","wuhaxue","smzcs","jd_76a4812dca745","jd_5c354ac4cf8ab","jd_49c212606bc23","林清001","jd_77c87fb140f5a","dxm2008","小朋929","596龙文区郑瑞川","Aexus","jd_513f929e3fb5f","jd_515b5b3c39d1b","jd_kSCHtqOaAJGu","15225653384","timmylu","313066164","jd_lxNwyZMFgpXO","jd_4fd87cddff775","yydylmh","jd_404a09d7b0adf","jd_7971497c5775f","jd_bupffdRjHqvT","jd_6ff11fed051d2","橙_男","jd_6143d59a9944c","jd_499c7c3f75823","jd_75e43a53791a6","shockwave","18168818-92389492","jd_7ab840a129b8b","jd_4c0616599af41","wkvision1","jd_58183435ab559","shiromaple","379052052-136968","abmsky","jd_69383673e3d45","wdWjqZzAfYrJma","jd_5bb04f8b695b6","jd_72fc0d300c472","jd_57367227f9d11","jd_4328d6dd1d384","sydaint","jd_423c1eef6909a","15377932905_p","风静夜未央","13732180461_p","18521355807_p","jd_567c9e608379b","jd_51acfd490ede8","jd_4f392019b0539","wdfmjJaWlvfclw","李兆清","jd_45bde548607ee","jd_748b8a8db8419","li5672970","jd_4bf004ae728dc","jd_412758cfea563","张先生o0","jd_4cad478e19c07","弥撒萝卜","jd_5e2fe0bcc77e7","Admin_x","jd_5d5de10d28789","jd_CxoSFlDteEFv","减字丶木兰花","jd_764f3fa934749","synu2008","jd_BlfsJFiFwMxA","jd_5bf29dffa62ea","936249-88874327","吴泽熙","jd_dyLvTkenuFZr","jd_jdDdTejFSCQv","jd_44061ab066801","jd_7d8bca4fe0e1d","jd_XglMPOnDmGBl","jd_71eac3c1ebfaa","jd_4f998f6b90946","zhaojunlucky","jd_6f91806344daa","jd_63c7a96d12f9a","jd_43d5680fd7047","sichenlin","u_78c942d29155f","jd_562138528cfc1","yangmin300","yeyj","wdVWDGlSBJLRbg","kulong1983","jinzhao_zhang","jd_7c8eca371d8b7","jd_749ce42d5eb23","wpzgm","jd_4aa6ca691ab2a","conanca","yaoyao71232","82606435-299850","208332482-829664","jd_6a654f96d00cd","44848180-105580","18281037713_p","jd_5922cc4575b57","jd_6704f20512d79","1991664517_m","wdnFzCLnXzrUtb","jd_5172c2f2c5c18","409954025-575404","5159796-47642000","jd_76d5cce558e21","aenstan","jd_7e7e762f3f01d","jd_7e733ef6d6603","jd_615fe88d961fb","130328559-98161371","junlintianxiagod","jd_6dee76950378f","jd_4477a1a9bfae3","jxhyc23","jd_66c099c0f3edf","王稚瑞","jd_6c03412651470","jd_76b9f88b48ed0","莫尼卡lee21","jd_7d2ed1d88570c","jd_MQpoBkylxADL","jd_6e06e9847efac","jd_55466b4a069c2","jd_707a12333f97c","simon_李","jd_68d4c02c1ca94","hanhao88le","jd_6dd1fec4307b4","jd_7a5d5b7665609","jd_467060fceb174","薯片是片","jd_73a8d8a92e40e","99697016-897067","nancyher22","jd_6731fa484bc09","jd_AoyJrTxJasCR","adamwin2010","jd_4dde655438b86","1陈JY1","jd_nLwflcSSBJIc","钥匙珺","jd_4769905b93676","jd_ybSIxsEfaUWQ","lucifer_wv","欧阳苏州","jd_7e2e445c33460","ace107","654294343","jd_JNNbCRhCCOGt","1490356432","l1026352869","jd_5be3756d68aca","13959894966_p","firstcmm","jd_ZgMDnbzwSaqL","youxi7818","panshengjie","s1837286777837365","jd_74d1b00658634","Song930319","gualy187","jd_57eb0acd5313f","jd_MfvhxTPzbGjq","jd_550541cf00cce","jd_75e3c323fde70","落日余晕","pingshu008","jd_769145084def0","jd_hqrzZNuLXzft","jd_IPjKaxoMdGqA","寻荣问月荣","爱吃大白兔","phatpooh","jd_74ea36e8ca8f7","543592823-648833","xuyinjin","18732099292_p","yhui205","cloud_kim","jd_565051618d214","jd_5736d84c28cba","jd_616b35e91804c","jd_673ddb4e8cbd3","68139773-588171","jd_42d86d6ea05b4","Autumnseason","jd_5741ecbf6cc31","jd_5a608af6c2067","620310074_191079243","jd_5f84d32fe39cd","jd_LCSCSjbSmIIM","jd_tsEuXbwJNYXB","wenflight","4737555858","jd_631dde363950d","jd_6108d516a1a71","jd_622e1b1250c5d","kanzhongqin","jd_5f5a3f36108d8","jd_584091117ffdd","847723087-544681","15767979661_p","jd_711ba36581eb2","厨师","salsa2010","jd_5cbb0f1d46a5a","jd_ThqaLBGlCGZn","jd_74ad2229e55de","jd_4ab7d862ba8ff","jd_OrqpxqRWWqFn","13507172304","jd_51887ce1b5c7a","聚美优品账号","wdYBsXeQbEdzRw","jd_595090a587bb8","lushibin","jd_65c1bb0b4be41","8297741323","jd_6bcb33e3db693","jd_75975145c3634","13604853222_p","ricky252202","jd_4449633d68b2c","vanwhebin","曹志勇dd","随心_而语","suanfish","lxd913124644","发发呆的羊","jd_vkAisGDDceLd","jd_506fb3ae14c84","jd_7053f42da0826","jd_fucAbZTWlAqI","jd_7ea339e3ea534","jd_QOqFkiRUeQdN","jd_46f0cc8ed082f","annycaifx","hojiei","llllttttffff","jd_70305a80f98d4","twh0923_m","535240406","ljc丶12138","jd_katpvPIKFdbl","jd_56ccca105ce0c","TommyChong88","evian8888","黄先生8551","枫天吟","鲨鱼吃猫鱼","jd_QVJqsMlRirFR","jd_40a2d9485cbdb","jd_414ec9be1d17c","jd_51a2c812cebd7","jd_LFsfHtFKVqyg","河本鬼茂","jd_5bba8f284c297","jaysherlock","15050131239_p","jd_73c8bf1951281","1411682-306488","wdoxOPZBdhjxka","jd_62a9c28465442","jd_5be621e2e3b86","xiejun7999","jd_5154b98c94c82","jd_41714161f11a6","yoka518","jd_7282ffe9eaf75","horaynia","linxw120823","jd_59751037cc5fa","jd_798a2046f2b92","derek7788","135423780-552795","aabingo","jd_64d9e6a8c9918","4441979-744391","考拉的绣花鞋","jd_4fc53be00153b","jd_6b4d0744f14db","jd_BzChYMnESSTH","jd_jmzxeKivXaIb","jd_OEBOXAlGdzoA","jjss520201811","jd_51d6e2f353b5d","jd_767d6dbe60d69","jd_495a1c097affc","s1567015585875694","jd_nXNDsUlUrXvi","jd_7be2458ecb92c","jd_6ddff6076de49","jd_731b7d7a0fc0e","皇家修补匠","jd_7ede632974a5d","jd_476145edf8630","jd_750499306cd1a","jd_xWjdEerMPZYV","jd_622a0664aa769","jd_AEteeseGUjea","jd_5b3caaf3341fe","memo1413","jd_5720a8ed8cfbd","jd_SMikoHivBRBE","syl1722","不穿燕尾服的企鹅","wdNHiLaiiutqgrb","jd_64e5a3887aaea","jd_56ac8fd5be63d","seed5256","yad7109","jd_yUEhVCMLECLI","jd_VJbROrwjetoX","poosui","jd_EYsUlUXCYjHI","jd_6d41471cdf48a","jd_799fee30b0bcf","jd_7a1f86b655e6f","jd_5f4b6a98ee7c1","jd_7c0700172a06c","小灵儿阳","jd_4977c840706e1","jd_77414cf08aa73","jd_6af266b180e48","w363045389","jd_429ca6406c072","linluoliu","jd_5006b569fe822","xiangqiang0928","jd_grgugLHCZlDO","hbqjlzh","hellcell","jd_600648b35b17b","dongdonglingling","jd_6e756591900e1","jd_FlVLZdKlnGdZ","41635934-468016","jd_4127d5d664a1c","jd_nsZDyynWrhFd","13385282933_p","adwktt","skystream","jd_oxmOeodUvWIP","jd_MxwTbylgHBiF","wdYAtUPumPvCdy","u_47e44ca484676","jd_7bf48127b36ab","28960362-60289209","jd_6310a3ee095b4","harumigrator","jd_TvXOWVjdaHUg","ether22","jd_419037d3fde2c","jd_52cde227a67f8","18028577626_pvu","19903826-232293","zq1121734772","chaizi83","jd_xhDoFugimfHE","happyazhe","buyidao","wdrBvLCtCzAndH","GTmax","jd_562ed1db0aa3a","13729018528_p","小n言","jd_6100e16a722a5","有牵无挂","jd_47004143bd61d","jd_EgdJygcqZMPN","jd_50264b4357974","陌路7039","itXiaoFeng001","13246850599_p","jd_aXuQgNEmbDge","jd_612f6c623aa6f","jd_4a66fa9c2e95d","jd_6127dbf3213c4","jd_4da8f3c41f5b0","jd_6e533759ed650","jd_53705ce1ab3ae","1414019780_m","13239004876_p","向日葵知道","李维320","jd_AEyqvimYUwyb","jd_74ea8e41200bf","leton8888","popofts123","布头丁子","davydc","18719870718_p","cnlizq","minluke","ghjmax","jd_76e751e70e645","胡雪飞21","yzfdy","Jun辉520","倾城一句","jd_4cb1953938d47","jd_658351e5d0d70","jd_75a2dd2d5fb93","47351970-138908","lc41771771","jd_49b674279df8a","Q461208596","jd_469b181148ed8","dgkunqi","13819719194_p","jd_jXMaJOcyHjWR","jd_nkOopFDmlNkZ","363946097_m","吻小鱼那天","jd_CGsFnJfwLQCL","嘉嘉vian","jd_65ca5f2d7b63d","jd_7404c3cb922bc","luffy579","jd_47856a39a68ae","8569068-90497343","jd_6f812974efaa1","jd_5e912acaa4c08","jd_64dcc9b6b622f","jd_5d7242ad41180","jesn89","一季梧桐604","jd_79c0f0e59c6e8","jd_6577b1b397350","zhangyurabex","jd_46e40b799bab9","jd_4b287984ca77f","18039862515_p","jd_4564b9b588170","jd_659d77cc6d1f3","bleachcool","god851227","jd_6e8b99d99f873","kffnqtd","jd_5d1b2197a7e16","908270156-708197","jd_mvWGBivQeowr","75674339-11261297","jd_QyAHvcoJdeWV","jd_4a4932b8806a0","lxf001002","从不购物者","狐尾百合007","jd_710a15581f2cb","343558225-964688","jd_5d61e5afdfc73","两粒沙Liao","-o-o-o-o-","迷途的小书彤","郭展光","jd_5cfc99b6a4577","yue7141","怨言无用0616","jd_7481971238854","jd_gQhkYvoKDcCl","8uan5bht9512","chenpx126","jd_4cfdd3880324e","jd_5cbbed6840c62","jd_55c7e48b4e383","tangwj","whany98","3446674-563525","jd_jvfSmtyyGirW","jd_4f8742592ebee","18605542013_p","jd_5248d35b2a141","qiminghu","jd_5f6e724287bd0","jd_QnYijlBkZOqi","jd_sVGoHQNSNmGJ","北极的冬","jd_5125dd028471b","wdHlLyiDITARuq","jd_5ebdf71094547","jd_FObOAZDUokhY","jd_6740f389e51ef","wdqJwIISvAMLsX","elvaan","jd_6bf2aed82d3cc","黑色飞刀","jd_obfbrUuxtiEx","jd_szgJTxkhfJuw","cdg_jl","jd_6039668cda74a","qt778354711","jd_65ab02a8ce114","jd_ZeopHBLeeqdM","sanshengshileon","zhanhongxing1985","jd_7885888d8d522","ss_dongwei_m","jd_UAItkhyZheoM","30973-74038938","没有谁最好","jd_zjQyMqNvPhQW","jd_47805b4c25ae1","羽落卿颜","jd_6360b58fc3a44","cuties20","LJX19871128","jd_40ae9c37af45b","jd_48180e3ce0366","jd_43ca4b6456ae4","jd_nzHFdufzUBpZ","jd_55d42468d68f1","cysycyh001","jd_fwxEanByVNUP","13525957037_p","陈邵君","jd_673708e35e1d1","jd_OylKouzkwTCS","lian0703","jd_4ca24b53e5040","jd_52fa3a4a489ce","wdESMHAtiabUxL","李竞莹","jd_4e94b322774e0","zhangxy885_m","gt21500","jd_6a8f1ac1150d8","zxy20014","民太难","jd_4c410d2708ccc","snhey_m","renlet","绝版聊神","jd_6c988f9eb703b","maiany","打完Boss好睡觉629","zouhuixinxin","jd_62007f1e4df2f","jd_HiTKFqCNNmry","1176270195_m","jd_79b7c48ffa1d2","phoenix2199","jd_591c2d8cbf026","jd_uYhJSIntSJRF","160269752-509377","jd_7b38a39d5418f","fengwang1520","jd_7f198d454ca24","jd_6393073c2b450","catbbc","jd_523b06c562a6d","jd_ZFzfQamcTLLo","jd_6a8506cc371a1","leonidong","茕琼881231","13181859180_p","huang68360122","Sky_Rabbit","jd_7070524e94026","liuzhi417","jd_76e7face4bf88","jd_6be810ef3f7d5","jd_rKwccyrghnjF","jd_6d106651f7c16","15016952000","cx0824","jd_4f245282cc0b9","jd_6a3ee8397c935","89clark","881942-15169716","jd_DsoAtsybvywK","jd_6a0caf6472a6c","jd_4bca2a849cab6","zj59163040","guofeng6268","jd_5e773ec7ddfbd","jd_76e7e7ebfa298","mhqqq666","200319828-224782","jd_rTBCSdwtrKVf","macos229","jd_63ff458272e28","jd_HrGfWXewOFCV","jd_6ee1e50c7b3d3","jd_5964d3e42a06d","jd_wiusEovmCJCP","wanglaowu9_m","jd_581b9e18b1f4a","jd_47eaaa5c3448b","jd_605bb13eca244","jd_47400d510a737","15591393802_p","_刹那烟火","jd_YGyZfBNKbxna","jd_584d50377d5c8","jd_691a169c38890","846015234_m","达达ILOVEYOU","jd_69c9f2a581404","yinglanyun","jd_rHoyhgqtCOoB","jd_UdZZgRunSkrK","jd_znBXRtZTePpW","13477540505_p","wdNNeOFVSeHGfRE","jd_42bd8c18fab33","jd_601925f6a9207","fanruitian","18724338454_pqd","jd_6abf0672def4e","15382315581_p","smp_05","jd_7367267431992","ulysessweb","jd_4d124e5c40d06","jd_7963c017d47b3","jd_BnyDcDEwhhYM","jd_7d8bf124934a0","jd_4750d66cf5acf","jd_78e0539f2efce","jd_gcFdjoxKwiHi","Euniceface","apollopro","jd_VzKsYMvcIvjh","15632128629_p","13307335086_p","15240393098_p","jd_6f2e61de4c4aa","192952482-404388","jd_7a5dba14599cb","jd_5a94198572224","13820422414_p","jd_7efc28645428b","jd_KBaFwcNltAsk","jd_7400d2f4663fd","13654075776_p","meilunmihuan","18754818207_p","jd_63d8b60af5f09","jd_7db1f980702f1","congcong炒葱葱","jd_7a1917e174240","jd_5bc176b7aaec3","rothchild_mle","wen122056","jd_51f5da00da9e1","jd_79d59f7557b4d","18328598836_p","jd_yXzjAtAqVhko","katina3028","18018032716_p","jd_6cc93b2561b0e","jd_58d850d205f79","jd_NXNrOUbGJzwC","chsylb","jd_530b0f5b84d09","jd_7449e0efe8d7d","skdream","jd_779043ea4b5b2","jd_5e104f915d3f0","jd_55884f2b63b42","jd_7ad140ebcb879","jd_rONXYovyzbhS","梦想成真721217","77645754-850566","jd_6d8f645b72eff","18848980360_p","suziteng","446737295_m","jd_QzHoAMauIUWG","jd_68f971d2c3a95","musk875","jd_7b78cbc81066b","jd_5e38ca7efbc2e","wdoowlFwJBFsxA","jd_799618c9e47e0","jd_60893b4c09809","jd_kDTAkztsldXL","矿泉水dtxy","edcbadc","jd_54e6bef240290","jd_5eea58355e463","jd_48eb210471728","jd_72b14cc78e524","jd_51f4ea0ea5f24","jd_79b2cbd42d1a2","jd_55371a814f65f","jd_69e6df8452920","jd_5a6807174fce0","wdOiVANjJzysih","21845911-63995371","jd_66c76e3242f75","jd_643739c26d3f1","wongzunsun","jd_iPqOLAHJeXdd","jd_5dbef6149dc4e","jd_LVTTKwGEzFCJ","jd_4326dd2ba0d58","hlcx86021","19760-72533747","二三事2345","13871269717_p","jd_GhkfEIZPVHBF","jd_5f57de5bcf234","jd_fMxMoMYFrlDV","jd_UXTEgCxnrTfj","jd_7c1d1c1d754bf","jd_5ac25e7c8fb6f","15555895602_p","jd_6c13ce0ba1db4","奀尕","无方向的风儿","jd_ZurAWkkTtsbP","jd_557b1b4fa741f","zhuyunli","jd_47a838552475a","jd_58eedde8ba0d8","jd_vpbtuUnXQvtM","1221992-91591351","15958738347_p","jd_4163e28fd2f26","jd_zupeDkMeRCbQ","18350491038_p","jd_7f49e616de35f","381296355-23763537","jd_637a4b1274435","jd_42e6644a4b7f4","56678756-402685","jd_42fac69da8819","zobinqy","18857380175_p","568187856","jd_6d3cbb8b0751a","jd_434804856b8a5","jd_595d4569609eb","jd_6d777a5c9a58e","1042944296_m","vonxingc","159318674-306843","rension","1366677902_m","冬菇兽吖","jd_WbAvseftbpsU","387800490-795064","18076596720_p","jd_6b36102d2957f","jd_625c0045c9431","jd_7c52aee1ab442","jd_5fa88e3c03aea","wdwQcCpdyLwgAe","jd_bsYhnKQMdhHJ","ximoyue","jd_7ef1fbf47681c","jd_baTBbUzHOPJn","35299763-88504630","jd_445846b9d0fdd","jd_64a0c6c5ee96d","jd_5d9e7e82876ef","njkqjjf","fengshuhong329","wdNexxTjPrkujcw","jd_72dccce0df8dc","jd_7bf528ea38b27","jd_50f0b37a249ed","62707427-49145947","jd_53b7a7a1521f2","jd_CTIpOTKmjvbd","jd_68c1a175f08c2","269848232_m","jd_58dddc18590bd","kianyeah","elite_yi","jd_4b578820cb82b","Rebecca19890712","18538710146_p","jd_434359e94d9a4","jd_52b0ff52154e6","jd_MqfNfKmjEZei","南海愚民","jd_FDgFwMRNjLsC","gbw1437","MisterGlasses","jd_XPVPpSdjrxAC","烟花丶稍纵即逝","arika-xsf","jd_6202efa21761e","jd_PcNmFfXprrxC","zbw59033602","xiaojingang_0","wushaomeng_m","mrwuyeah","wymam","银海敏","jd_eYiSvpiQxtlN","771456556_m","小0晓琳","laoguilin","378350675-321285","jd_4847949f25a1b","darkblue2018","jd_729ebef7a75dd","jd_5720f03398bcb","jd_64ab1a4f5ee21","刘恋_猫","jd_578fadf63986a","jd_62ee52ce13b47","jd_52b8729027cde","周无黎","jd_4963a09d1917a","tzjz_8","jd_lpJEDMqkLEvF","jd_JsMOGnzpJDPw","frankwu555","ft2121059","强大大网络","况天月","hanfei8130","jd_70c623436f4ce","wangkezun","hwal2010","wdhwKcXeMFwOch","chenlulumatous","jd_uWEBlswHEGGs","lijuanjuan_0506","疯狂买001","历史深处的凄凉","jd_5e59abe168bef","jd_HGDCDOiTLOcF","jd_4df4df35f1d36","15927169409_p","冉冉020277","wdkjsAvPYJzDWG","yimomomomo","13209558123_p","甜甜心依","jd_7ba03246b96b9","1946709553_m","jd_5f943f7788c6b","jd_60d72209cadf6","jd_7e44d82753862","jd_4a5041e30600c","imfuego","jd_413d83e728df6","xs76711","1084724943_m","jd_YuKJaliQESnN","jd_bYIVlCDRsuBy","8792065-74196082","夜凉惊被薄","42702543-919689","azhe","jd_7f2f29c90045a","jd_dGmxeBBEQzyk","jd_4b8f7d4b69280","jd_jMcGNbgnJamY","43293664-973926","jd_7f1ada974d34e","jd_5a691dddbbf00","jd_7c35e5beae26f","jd_7139fa60efead","jd_59cc8f9ce40bd","mingchenzs","jd_5de6e089d7d6a","jd_5aa49e46db43e","13220339980_p","会走位的小螃蟹","jd_5024f5272a92b","jd_62138db6b86c6","jd_EDGiARrGvBmQ","jd_49554209db49d","306037463-587933","jd_519d097d8b267","19925433-55171885","jd_5e0fc2f6cec20","jd_773ebd9a14034","jd_SJyEAhTCTWTn","rwqiang","jd_78762b81680f2","jd_XAvmkwSOsLGY","jd_64021db2554b3","jd_6c6bd5ecdb5e9","jd_AJRkyEjQgzjR","5288988-70191078","jd_4a1092eba5cfc","fei88888","990672457_m","让我倾听","jd_67d3c221cccf4","西子无言","jd_jApQyTzTGrOe","363837245-284781","jd_5a638cef6ca51","995492-72639703","69944024-624994","jd_4f57a5b4f1c5d","jd_4bcfe23ae4b88","jd_589d181d48818","vonxingb","jd_51a926a369b57","jd_4c4a8520bc148","jd_7172ddb1239bc","gnod512","lydialeung","443715210_m","jd_chwAfKrIXfzJ","jd_PLYhkiMGXQns","jd_4a37c58eb4540","jd_617b4c7f054c4","umbral","15895407915_p","jd_72b9c6f5d62e7","3880739-815064","jd_7bf8b448ed770","71713017-163401","jd_753f689a9f6f0","jd_5e9c5db898ebb","jd_70229d54c5863","jd_64c19c5e40c8d","jd_459a4f135e1e8","dofeel_cn","jdlfy2017","jd_6afe7735aad02","jd_5211e226942d8","jd_74021665e5467","18641106863_p","jd_416b736db0687","jd_5f1ceb036ca09","LYQXH2020","jd_KkxoHjbQYfmY","jd_6265d74f1337b","jd_QbKFesrCcBOn","1963805-471641","jd_67146e48e90c0","wdZLaDkSzdsGxM","jd_4c9ce57476a7c","451135499-408962","jd_699df6749b2cf","169050896-595757","phosic","jd_LGxpcHiGEBPZ","yfblog","jd_51a6676842def","9840144","wang63189753","q5522331","15052478836_p","99132740-398648","建明6966","jd_5772b4b620d28","she南宫若云","jd_5c17202671787","15975229552_p","llzeroo","OneMagic","cexe","jd_7a890dc4ac55a","jd_79f8923971b0e","jd_435323b5d604c","jd_44542c291c7f9","jd_68e18306bd854","purplegem","jd_ZWXtYrokSzmS","15226032087_p","iCe10o","jd_7c46d64745cea","jd_535e9a2202b92","jd_zfEdnylFIAZx","jd07asd","jd_54a4260ca986c","jd_6f3595e36e702","77144989-151364","fujx901119","jd_chYlVcjidlpG","wsky","lukea","728181192_m","jd_742899ea43e6d","jd_53443d0bfa957","jd_631a82722a536","jd_6a7e52a2cc0c5","angelfish110","jd_5528570409b1f","jd_60a05d32c47de","jd_4dfabdaef3c9d","jd_453a27c8f574b","jd_488c95983ed2d","gmacs","jd_DDZHkhxHGOol","jd_6de25b1cd84b3","237541448-53315873","我数123了哦","jd_gwKWfagUaGVk","jd_6fc373e61d1fc","jd_7640e7597a545","rosenhu","jd_RgxgkRLNcfqM","有个爹","fan1084986143","leeehi","wdEPmDJxyVlmFl","jd_IxzrutdvSTYT","NickyKwan","jd_566135f1c2542","jd_RGsRPQdVldrO","jd_443ce1d095380","jd_7ae528a2f0e77","jasonlev","jd_gpxDGWFfIUEX","rongyu1314","颖之爱人","jd_yslFraWUeqFx","jd_49c09357fce62","cwj615","jd_NFwMjJvzmnYW","263805664-671678","jd_49ae63652d371","jhonlive","Mr_zhaohy","wduRziGPmyYUtA","wdNtwDMBzZZfMOk","jd_6ea25527ee761","jd_5d580d0b52320","jd_45e8bb68dfa42","jd_51795b4a5c823","北风717","jd_48b86a41920b1","eastwin","jd_7bc7fdc0eac52","jd_76f78a054c3c4","jd_47a07c9b3e298","jd_71458ae7166b1","jd_594ead6d92b84","13964063229_p","范范范范兒","jd_66a479c62e439","jd_7d2e3c12147b7","jd_6ae4528d15417","xu3804897","jd_PCxjIrVTcnBQ","jd_wqhANchZlWYL","148924077-158340","jd_6c1c9c0008c87","jd_RYwJToQlOZGS","jd_7963e1f4a900c","张文城522","jd_5449975f902d9","jd_EddzTDhjKqJI","jd_XBQEHlzvVzKA","jd_7c36b51cc5540","jd_46a587b474b8a","22739730-296399","jd_7941f984df2cb","llsbljl","1073613363_m","jd_7c60aa8483158","jd_629afd9bcc019","秦雨天君","jd_5a422eb6c4e31","jd_58c078fc9f89e","jd_70af88a457f49","jd_51bfe0dbd92ab","617677984_371718559","blacknesseye","jd_76d39b47e0d12","jd_cvEmqiKrCFHy","jd_4812a81f25002","13333310405_p","wdfemKOcPsUjVf","jd_482c305d7df80","jd_639284c7e24f4","jd_4dd85e378e3cf","jd_674e8c19660fc","jd_hNUkYeDQBtlx","jd_5bbc62d6d18a6","jd_6c14b2d589a45","34263940-19900457","jd_6e7ff249f3d85","gd0909","jd_5aa7dedadcfa1","yxh780318","黑咖啡-t","静静的湖人24","kylehe1312","rosellhljx","WgMzkVw1","72601694-908870","jd_62d956f606288","jd_7e29539a0ac37","jd_4c14e51b4ce14","apple8546","jd_60cc92fe97951","jd_63ddf1355e064","gxl36359","linkman1976","jd_410324549c10a","15757110934_p","石头很石更","wdNHOpJRolZUtJP","铭文orz","jd_79efb63dd232f","jd_gweIihdzweCL","jd_6bd06f4c2d420","jd_5f06079b2f585","高傲的孤单嫣然","z13275179398","JRSD_LmOOH1402","jd_6503a2e8d430c","jd_7a45623ca100f","ghwagh","jd_55f6519494eb7","jjss520","gdw1986","314893426_m","13964972213_p","jd_71ce6c22735a5","13777533321_p","jd_792710ca5785d","jd_450c7bf0470ea","15626109019_p","jd_69e30127504ac","gun4u","jd_7271377963ccf","jd_4e4da618dd462","tong199078","jd_4465a77ce74fa","jd_mZXHBOGGUZxH","jd_ZsfHGCiRiVCD","xuanku611","wallacesteven","jd_4b5bd7b2e8617","jd_497bc1fc7b8da","jd_611833e083887","497379688-126219","jd_72333625caa33","june6nan","jd_XrFmNAiiTYkU","mdwsky","jd_4cb9acb839406","jklujklu","310213645-68301428","jd_708a460d62c23","jd_579ed3b712275","会飞的糯米饭","kek3","jd_6cd1ee8a34f44","jd_SEyBvDbQInwH","jd_5c62469010a07","dannyboy_cooler","jd_HpNQtmKmYLmi","jd_dvuoNTkZHxzC","jd_4dd9a80272aa0","jd_60c6313ebc34a","jd_HJsqHppCgLwV","593869262波","jd_4ecd84f847997","jd_4673658df847b","wu1984xxx","75516360-169504","那时相望","jd_aJkTowaTFvma","王老虎抢亲","会移动的饭团","caz0820","jd_57f0c304e1e9b","tiramisu喵喵","jd_5122c632d8d91","jd_508bcd9867d91","1639873634_m","72117-90251726","jd_WEYMpWrxHKuj","天啦撸wuwuwu","jd_685d03460446c","jd_7f3995efc0c66","jd_62fcaa652e239","有闻必录","87953483-693143","jd_76182435a180c","out小雨点","jd_5b14759884583","jd_4691ad39e8615","BARGAIN81192","jd_6b78dc54091aa","jd_ZshwNwOtMSnU","mass_zwh","jd_758c4732b20a2","jd_lWfzEzaDUuBs","llych","jd_49769225b01ed","jd_7f7158bd2fd35","Eser-6216","yanc_ccc","jd_nGDOFTnhjElF","chrdw862","jd_57fc552117830","jd_ljpQCYfKucwU","jd_42813b9522f55","大老彭","jd_6f1279a41c835","824575210_m","82558163-358544","泛遥","jd_6e291b044ca5a","jd_60adb158a446f","jd_404281a8a0873","mztvip","jd_77fdfe7381914","jd_4076bf89d4cad","15828140954","jd_5c090e1ae8c09","335135547-981503","jd_423f424c8d44d","jd_6b0bb40a9e5ef","jd_440679210e3fe","lidengjies_m","chowbing","libo4978987","jd_421b2ec444090","1906992949_m","wdNLVtXlUfXgMYq","jd_7bb7fb8ba2004","jd_51a0936870bc4","zuohanzhou","13937413793_p","444430314-185763","jd_4018b5727644b","jd_WNIpjVOffqkY","xinyunya","mayjunewy","wdtPXqGxsOtlEG","shenqi123","chauvetli","jd_407ed91f7333c","jd_7db0f5ec06598","jd_5e6cc6e16ccde","13850826700_p","kevin8027","wang_cheng_wlx","jd_7061c3c679684","jd_679760528538a","qq845559271","jd_552b3edeefaf4","wujwkkk","574236672_m","jd_5b072de2d3474","jd_clpbJPHOAwlm","lanyaqiong_m","jd_6c8cebac22ab3","13908368827_p","jd_5ec4656a5f9d5","1353841-82433169","15524480-322992","晴空万里war","ysqycy","nuoyaneasy","xxhy1990","梦回九龙","jd_54058b722a7b8","myx4759","jd_zaBojEySiXTZ","xuzuniqn","jd_4239f23f17c51","jd_5604f00d7e897","维C-","zengshouru","jd_743caa74ea099","jd_74c7f00b8cf2a","1016896-57022454","jd_790b63f172ef2","jd_7c8b6725bfd0e","banchi01","jd_WobOfduiCPmF","jd_5c0576448e167","jd_6bef9b488aaa9","jd_69e69f2caf5da","hs20073mun","jd_71c64e3c47c68","jd_mHADrLpnNByE","d0ndelion","jd_70b27b1d6c7f0","jd_YkTLWhQwmMJr","damoo","jd_65869019537a6","lanhao3790","jd_75a2d9f38cabc","南宁威宁建投","生活网爱生活","jd_5e01d195f109c","jd_537ea38300ba9","五雷焚神","liujinxiang0923","75935065-733100","jd_yhZnuqNslAAi","11832616-47018013","jd_gYwFbUkQLCys","refuse_heaven","子涵0721","aaa13148403","18682264907_p","jd_7e48a4e1daf56","117044681-131241","fpan","94964999-43002856","艾乐来了","jd_5ce08b71b65af","ni7ht","fxwj23","jd_6aa18d874d1c3","jd_7b2370c1b8972","13456196659_p","可爱宝宝1125","jd_4075cee24ac44","17604309622_p","jd_6ad7c5b2f6973","9949535_m","jd_7e8ff976c2bb0","jd_4c534dc5043ba","wdOMJFJKwSZRIr","jd_58e64dfefc74b","gaolj_0817","jd_7daf5f2b1fd56","梦海琦灵","jd_7c5d294c90220","ppangle","jd_56abc386209b2","jd_63636213a23bb","summax","jd_53c4fe17f123e","jd_5a9030b196b88","jd_7ebb41ed0d763","jd_66f8da687c584","jd_6561f394cd25e","张小燕燕子","jd_5f10d27cc1716","pstoptop","jd_UXZhKSmTZRuH","jd_771e16ff2f739","1440787-82652957","13160640158_p","guguang9","蓝色雨83107","jd_7d9ee3b403958","蜗牛慢递","jd_61db2f7bf1369","jd_53a44cbaff479","wdNiXQemmyJzbLn","jd_633be99951a8a","jd_494c5c7d354e5","fss463320790","zhangman1_2","u_433fbd49808fa","jd_FEpvyehuFRdG","langwenda","jd_7db07264c0a04","8653008-99236723","jd_6ee5cd3430de1","wzkyk445566","jd_6e130b45cfadd","jd_4918b4c31a817","jd_72c5c08fb56e2","局外懂谁","jd_7c2fc186fb01d","wpeng121","jd_fxbRTeykvgvk","yinyanfeng2007","jd_57ec3b52e65d4","jd_5eff553a5bcd0","jd_CacSyUqYeBFu","penggang555208","jd_7a9ec61363540","jackycjq","邢文婷888","yeyjyixun","wzwcfei","wdSmhYPpdtwPTK","jd_ngoCatKrTmte","wdkujCciPUBCNQ","jd_oLjygfAoonEc","wzy19900101","5706365","911alex","BARGAIN138","59770607-412539","jd_4b311144953aa","jd_7b21fc1d4ffa9","jd_463cb46cb1efb","jingcbjet","jd_65ef297b5da12","jd_nVCInjZVoNDp","wph931687246","15915817078_p","天舞紫嫣","admin132","wfb835","wdnyBUregQTreL","jd_64e6532749fab","282472133","蠢蛋呀","jd_CcKatgOGAvbD","jd_WBQYzBSlCKfJ","jd_6f9b9a6769afb","qianqian2020","wdNxxHGSpIXbWVC","805126232_m","jd_sYhgdxOcWFXh","召飞燕","zhou576368327","jd_5974ebd36cc78","15882388521_p","jd_4ddf6eb975c21","10643896-301323","jd_69a0fad58f539","shx857159145","jd_633122b1d4c91","chenyuhui621","centry","菲常爱你0825","jd_47f797fc6ec35","18246096090_p","l1292778464","jd_667ccf8a0e0c1","jd_512f4c078219c","jd_580551832b4bf","wdxACSlynryZep","jd_5c9fa3f8eef44","jd_rZkxGZpgVueT","liyamei2009","jd_534948d8c4d66","jd_48fa3b56278e3","18871310032_p","jd_pkCOVAWfFNsj","jd_5401ad768b9e8","醉醉儿","595503999","xydche","leirensheng","victoryLrs","leeeboo","jd_UmHDufuOzfng","你好少年159357","jd_4b84bf2dc1f7d","jd_SxFkrjRofQUy","jd_42f408acaba4e","974678134_m","x71420820","奥莉娜娜","YXF880","naiqioww","ljhcn","jd_JbnsnsozCYzW","jd_5e021bec1ad24","jd_sUkfBQxbCpyc","wdBVnYxxpchIvN","15365154279jy","lzl20110","jd_427a456635060","jd_7006fe6f14e88","kongweilongkwl","未完待续zwm","753兴宁市陈映青","lhc880830","jd_5454f37937a45","418998354_m","jd_720aa25074dbc","jd_77571d52191db","13883749159_p","jd_6dea0e0d6d70d","云蕙芳蕙炎","jd_510a15c771a6d","whc7608","jd_79af2bc7a56a3","jd_5b5b6f8ac3aad","jd_cdSpvcRdeTUL","2281868002xueli","jd_507b86fc533d3","hfqywd","393222200","这小子贼酷","7279901-397108","1174586290_m","115236918_m","collylove","jd_7c885fd4a4176","jd_WuOfeVbtVrjZ","jd_493674b25c38b","jd_73ea410f588dd","jd_5821002515137","to_zjun","jindonghzh","jd_40609ae6e15f1","wsx_vivian_m","1475162600_m","jd_79ed5bf2a61db","jd_uTPScIOeTQmP","775065783_m","jd_5e6fff359472f","jd_6ea7daa621a22","联合柠檬","VIP杜建新","jd_7ebc926fb9b5a","151799216-737438","jd_5a44a89940d4f","jd_nwLhLYQxpPlf","jd_6c11873f0a7c2","jd_7400e7ebe241b","jd_sJUKiEVRBsDq","love汽泡","jd_50a2159e232f7","jd_615fd1f2933eb","15736232177_p","jd_ELhGlePvTlsX","jd_YWtlQJtnyzHV","m1ntzoro","heroin1014","flyspace16","jd_77ac8e10f9377","zy19870827","jd_WPJeRvsJoUlr","u_4bfa88bd2242b","jd_7fdbdf96f0646","4166454-27251362","13768116747_p","jd_zhZqYEmZcLHb","xulihua0903","jd_7213eef625964","jd_pmzDRpqfihmc","jd_5cfb1cebcbad5","jd_6ef19c59c9b8c","花木妖娆","沐烟峡","yunsheng09_m","jd_7f7b65f1c32a7","jd_6156f1c8a3307","热水袋477294","18951752-516124","jd_6ed7a0c25a8ce","jd_6c8e202190c2a","hanxin1212","jd_59c390eb218f1","jd_loLGjtxKyAYD","332929498-722244","jd_5acf2bcf8177e","jd_4200b358dc6da","jd_pMCWonAQZrIC","jd_6cdbbf9c0994a","jd_5bcdae5f2934d","jd_7c3588ac1a93a","jd_71a0390c037bd","wdbegWkZxdYGwt","xiong61520","a18581205349","a864869420","jd_7d656d315e1a8","15811076475_p","13606975868_p","jd_612b78acc40fc","jd_523b2b9bddde4","小小日不落","jd_54c728fd1db45","ye_cao","jd_6e68d45ea006c","jd_5f01c573e609d","839041665_695969112","jd_BzkEULnlDkxV","jd_615187be7d45b","jd_7cd4892db050b","jd_4508ebc1e8fba","5169766","宋纸鸢","jd_53476e0bd812d","jd_4f6c1489d4f57","jd_5c42106aec7c5","sumchak","猴子屁眼小","jd18892514","jd_AHLAKpHUNqWH","jd_48c1e421c5aae","jd_7aec3adbabe6b","mtCeci","88370711-49835113","请不要这样啊","65697917-531477","jd_5d6fc547d4972","liudeyang","jd_6c6c15c490289","jd_7edcdd16d15d5","emptytian","jd_60630fe975f8f","jd_412a2270898a3","jd_7332c1658ae78","jd_7a25b16d6f681","shengmean","xuyouxian19700428","jd_67bca4cc59709","jd_40b1509596a40","jd_4963b36d709d8","jd_5199fe263f361","jd_6a02f0ace8878","jd_4fbcd31c4cdd7","jd_74d26e927ce70","jd_4755247934ce0","jd_404af35ddb4bd","肖清雨","sczan1101","云端之巅上","jd_77a9b9912cd67","wagmin929","jd_57b6891aa8fa5","jd_58b7611458be2","jd_6e8b4bf7fd73b","jd_5323265048316","13977288086_p","18673845545_p","jd_4f0d331457d6c","hgl8998677","wdDCiRRUZkrIym","jd_75736df51bfa7","jd_734cf8f7882dd","jd_66b33259e2edf","zshgsf","筱筱哝哝","jd_6800e945e4284","scx007","Jackey13580","13023998595_p","Hdragon741","jd_5661d7eab92d9","jd_62ce2385bb364","Donoop","jd_7a52a2538360e","8792474-85281982","jd_AdmWZIAOJVJC","jd_4a5605eb62e2a","jd_76ce0861116c0","壮壮和羽羽","jd_4e69fa3b61b8a","wkune","jd_nrrzcRmIJsob","jd_4f0983e84c428","jd_jQMntrVNAyzp","jd_5c50a89af5164","itXiaoFeng002","jd_66ed11f62a369","jd_cXlflkCGteKI","nefermao","jd_7bd4110aa0242","jd_664ab36fc56e7","wdVoIpzKuoDamo","HERO199310","jd_61d3ec12549f9","jd_463e8c9a0e71e","13705047038_p","爱生活ai灰色","jd_52ffb48cf06bf","jd_5eed3262e7819","1408504-62889624","jd_7ca7e42eb36cc","13232178287_p","15905667369_p","jd_5d2d8031d62b6","junjun1986","zczwjh","wdPzpiGKTHgFaL","jd_5fbda9be54d5b","jd_7e954b2e3719b","vision_00","jd_7efccbcddb4ed","bevanye","jd_4092faed94946","jd_MgKlUqwhUMYs","jd_50f877c60e839","wdFbiMRWSmPAVF","lin121380724","jd_5799c8c2cbe2f","jd_51e5ac3c5724d","jd_5edaa170d7d26","xx1234685","jd_5ee4c430c6eb0","jd_4b6a1ef9e1e32","jd_679b2a826b26c","u_76f5238dc47d5","北巷思烟雨","hongfa8032721","jd_dvqyGRTkhmpH","jd_71d9cd12f9131","13788838805_p","810475509_m","wjswnj","18681102173_p","jd_67b75a7271a4e","jd_5517bdabf1329","淡蓝lian","jd_79ca314ab319d","冰春嘉士伯","高031102302","jd_4ba5bd8674b6b","jd_6df5aa18cd829","陳威廉-V","trobf","hfharry","晨光暮语","jd_6b8858c9d610d","jd_57b995299b562","18810636-49775300","18239629652_p","wtbooo","jd_EDNaHEKyXolq","jd_KSPtVitzxfhq","jd_4133eaa6dfcb9","wujok","jd_40bb029fa0f9c","jd_733db2f820f3b","ferian","邓园媛1989","jd_fiykLlVYOXQh","jd_sHOMNuNvADAF","温暖的小小雨","33757692-851223","flishqq","ddsbn","z774650037","jd_laArOIZQEAIg","zqofjd","jd_65defb5554e81","jd_6e5636fc3b1e7","jd_SqYqASGBFoqM","jd_492868e31c550","johnnydawn983","wdFqFDvRGugvQS","jd_5b8776e1f6a3c","jd_79220309de141","nimalaoob","Jielinyue2014","jd_414f908574ce2","vinsta","jd_6f91cbf5f0da3","21506173-817681","jd_fCeLyzSnFVUQ","jd_64956339cdf82","jd_LDpIhdrjTGRn","jd_7fbf64a5b78d8","jd_4a49fc3eb7c81","jd_641f8a05aa415","jd_MSVdZDtbvzXh","jd_70dfa72ef859c","jd_naKUyJwFVHbt","jd_5cc18bcfe699a","jd_45fe49bb8770b","jd_5663af6b6eeaa","jd_61a434b998540","jd_6d762d73932b9","jd_4e170a394cc68","jd_6964941aac607","jd_63f8b6064f4f8","何以笙箫默欢","jd_xRcenDooCEop","jd_6cbe1400aa56d","yyf051","jd_4196fba093285","377镇平县王硕","salty__","jd_74b60fb1e136f","15580180284_p","美丽梦园","jd_XwteTYTEWCAe","yghgohome","jd_bgDUXRXdYfVO","mrxie901021","flaming","jd_5e6ad2e13395e","jd_UBQgkGldzGcU","jd_aKVNToixlcnI","jd_4aa0f1626c2f9","danxiaoxin_m","jd_75e491fc0b75f","jd_izAwtMfYbuby","jd_53dc36a666439","jd_CzdAZJkQmamP","奔放的青春V","jd_6ca31670c8c2e","dafeishipangzi","jd_OvKjUJIqJUho","jd_78135a7124738","18620120811_p","slippersheep","Lost_Painting","duyaxing","jd_79760c413302e","jd_7f9609eca5a11","573228043_m","55075839-886679","why624940523","189615447-316597","jd_568d17e5e819f","jd_4627c73719795","fsfs5555","jd_5b50bbc4f9551","天棠之吻","jd_alCwVQCPmtbJ","jd_79679605b6b13","hf86","18208350783_p","jd_59a6a25c9b09c","jd_609f1c92d6c30","jd_57558053fbdb6","13871766779_p","913771869_234148847","jd_534a0ce4340cf","jd_BWbUqZIehiMr","Echo陈芸","notshare","jd_AOhLSBLdSnux","jd_eUBXheIaNYkC","jd_481c39f30229d","jd_75b13b69ac30a","wdNCCFZdnmKIOyi","yhhe_zhr","jd_7f246aa04e00d","18903586052_p","18010808670_p","jianghu.fi_m","tommy_he1","等四溢","jd_6e4b3fb654e92","jd_YNbCFYhVPyVy","yi红胡萝卜","jd_espeyTQrcitw","优加100","jd_bLCeKkJyfDTL","jd_6aadba2be5444","220927044-118089","jd_589abc6f4cb08","jd_648d098cc9fba","tzw8896","u_565f257031a4d","jd_40623ccdc8e0d","扣子ISSS","jd_5e878be73c9b1","gdouxym_m","徐其阳","jd_6463ce19688fb","Lefi","jd_7ef8a2ddbd41c","jd_4ed22682945f4","18708229559_p","jd_4544b7e617525","jd_cCkXLMoWcpBU","jd_61d9b929b831b","jd_504a41668961c","jd_6a61a645a1206","无敌的凯","jd_74ed620111d74","jd_567cd25919973","jd_42e72a4a4801d","jd_49fa572d404bf","jd_79f863c97a78a","13049586540_p","18093360-23281401","jd_7829168d83935","jd_61f1269fd3236","jd_qNMvplYEygwq","jd_5f3b587bc90fd","jd_41df41d54720f","jd_vlIVNAHcXfAt","xplzv_m","jd_50c4bc4879c6c","jd_61dc9167c03be","jd_YiTpfvVvJXhG","jd_opWuTcqnGAvv","jd_6824299354acb","61396842-85559285","我不叫ms","出关","mclulei","jd_491c732f44fe4","怪蜀黍卖火柴","jd_66496460e9735","nishuichangyou","15337200802_p","jd_465624676fe61","jd_5a2f5cc73a123","jd_7a0980e3b54f1","jd_FvjUlfCbtsWd","jd_6b8eebfa6160a","saortou","jd_VLeQaLJfvNlG","jd_61ae1e45a4fe7","jd_4e5a7ca9b4f23","jd_tYTKjMXxzyFy","因为未知","w28071","jd_4ccd6cc3c373b","jd_4c647180fa9ef","jd_72b55d0a202ec","amrjlg","jd_7d2881f603513","jd_5f94da0265e0d","jd_50c98759f29f3","富梅楚露秋强","惠志炀材玉松","jd_uSiZCyWQZJvq","satgdkb","jd_GgPRHEfNuFPC","悠悠过客0304","竞娜aa","吴慧love","jd_5cb6c6b598b88","wdNLwAoUNqUVWdn","jd_liTTWCoTAtkb","126955498-679357","jd_538c1fd46a0f5","TheOct","lairongtong","jd_LDJDyADgMZbN","jd_7e13d3ad725a1","jd_696ef0acad784","jd_AvuDGcPgHfGl","jd_4eaf8ef1a5e06","jd_5f45fcbe0752b","OHyeeeaaah","15254122265_p","kinddinosaur1","Giovin","jd_711c582209e9e","danceabc123","767363657_m","寂寞的清烟","朴正泰i","jd_4fdb92bf7ea6e","TwoSim","jd_5bb5553e84111","wdcDlRaGIRYQjb","jd_6d617d60ca9f5","84990406-716005","jd_FkbOmTVcIfwc","jd_6d7dda3a340d2","karkaw","yerui1984","jd_4791ef03e39f2","jd_6e5f624e2c957","jd_4ee476dc97172","jd_682306a265eda","jd_543c06d6e7139","jd_71fb63bf77e69","jd_7792b040fe156","jd_7582e93776728","我是wyh","百事可乐1907","481994323-756037","15918596350a","591马尾区江婷","zwandlp","jd_ykFobJquMNue","jd_5337c334f1042","jd_6103368488723","pantian何","_时_间","jd_47e33f94e1865","jd_6c8a266801ed0","yangb00","ohbey","3ku007","jd_xLTiHDBxOBBS","13369067655_p","jd_52f6f8013337b","583459786_m","13520648881_p","jd_48ed07cf6cf82","tingpj","jd_717e36c64370c","huangyanwei6567","ppkangoo","xhy1640","18638090310_p","王昊336699","jd_598fe8dc4ddbb","jd_66a2044903a99","jd_76bce47b850e1","何龙萍","jd_425689d1ad525","jd_4bbead8ffd06c","tomwoo1125","tomiyan","jd_6cb04330d31e5","jd_46c371ade2842","sypopo","13052539907_p","jd_umzXhsHwabWY","墨明棋妙陈","zhaosen2580","jd_627d449488968","sclspc","wdztpfoBoOuqUk","火鬼空","jd_560f8aac74c5c","jd_4a83d061e547c","jd_zYpMNFZtawrC","ghmy123","u_54d72e33140b1","18955248115_p","hbzmt","huqibob","songqang","13661891297_p","jd_voAKFJCtRYKl","739906589-116864","jd_YiNElisBkQdp","jd_758355915d872","504921633","相信5_2012","jd_4dc56b2eacccf","我不是邱晨","jd_718ded1b21ccf","jd_QMGUEJocqhvN","jd_XMKMHMYXwGJy","jd_63cad1e0625c9","jd_7c4d4c2402348","jd_6c5e39478ec3b","13434002877_p","jd_436de5a09763a","18501501480_p","panxiangyu_mrg","jd_4c78bbeb7dc32","jd_fgnOOOJKvLll","jd_472179d65224c","jd_vhmNGEMUCdLv","wo8023111","Charles__Chen","glnw","julinson","jd_4c3df1d9c17f7","jd_aFvPEenMOgMo","qj5657","gxbdbhd","13288326198_p","jd_5607902de7b42","zhuqun520","wdbMxvpdTvSPSa","jd_425d14b9999ad","jakeslee","jd_50f24247cb7a4","jd_7b79683d370ac","xl17665100565","jd_594c1d63af60e","无语的人7980","jd_59f6f71c7a6a2","913890969_m","jd_5d402594f5813","78153834-562335","jd_62a91536013eb","jd_5dae7bb5d0acb","jd_487e2b142c2f1","18516101144_p","jd_6ec12589a4308","wushna163_m","jd_72f7c8449cb16","jd_7429cd998c1ad","时光丶晋","jd_465e9d8d9696c","jd_4b9b025f91d23","abccxy","wenggoo","xtynije_m","jd_ujGJIWqfijeN","140160654-46757959","jd_4b3f67cce0d00","yaqicheng","jd_4750fd46bc518","jd_63a9e75bde03f","jd_797610ebe600a","bigdeer","13027169389_p","肖大仲","jd_56a5cef48c201","qq331412056","wangjiefei_m","17040287-80334788","jd_518325bb46368","jd_myhUcYJtZozw","janson155","fasmot","jd_44a8327184d51","jd_4b2f7f40acbfb","慢热姑娘","jd_deKbCXpirgro","jd_5c5700cfdd4cd","奋斗小二郎","jd_50b636e24c348","jd_PXJOHYdaPIxr","jd_7abf6f8ec584e","jd_6746ba6cdde04","leon_xuliang","jd_62c4b1629e62d","jd_4c8a2630bb206","jd_kZxrIMYfICnJ","jd_7908dab781721","jd_51567caa492e7","jd_4f8694c013f23","jerryk","xue574378795","弑神X","jd_5cee02a97eb64","t悠哉游哉t","jd_46a296db777e3","u_68da29f9496c7","jd_61f52f7ac4906","jd_4e1fe6e6a110e","jd_47688209a6226","jd_4a7f2707dd393","逃亡的天使鱼9239","wzw828","smartnikocj","wanzcong","jd_4bcc3209030db","美意识过剩","113750894-404100","jiabaocan","532681307_m","jd_470372fa5ad3c","15627523545_p","jd_58122891a39a7","jd_kcDoLVFDYLcr","15848854318_p","Mo崽","jd_XpqYGYGmriee","jd_RBLueHsrlyZn","bolide0523","jd_548d40ffbf5be","XY8888168","9590108-33592677","jd_7c8de9d64c9b4","jd_5786606e41aea","cnmhtt3","jd_dlusVXvVGvBQ","jd_4c175f0425028","bbqtting","q756084-982845","benchu1219","jd_4f9565a359329","浩哥072","evewin2010","wdNGfLQwaRfSOUR","13914395753_p","米酥鼠项","jd_47b80ee0a28cb","jd_4af3ceb8daf31","jd_4d4373c2ef002","dyingsu","77195145_m","18651210134_p","321672752-916985","jd_5110eb3b9826a","HHYUI444","jd_HNcBDmoworaW","jd_5f31aa30df635","jd_77d73ee8a0fc3","jd_51b7f64efad4b","jd_461380f33b3f2","13799362455_p","jd_yJFixqBBIjLi","星宇410789126","jd_NzliBgRGYpAx","jd_5851bcf2b9038","guanchen420","jd_5558941bea414","jd_430027a98f04c","hapighm","jd_4ad381c729b95","jd_5274bbd614e11","jd_66d70e4743bc7","jd_6e06a3eb2f6c9","13859072942_p","mnas123op","59064483-155782","jd_zJnkJIXQovLJ","jd_RQMNoEhoXVLx","jd_62dab42e2898f","jd_60b04fd8367df","hj25133778","lsbst19862","jd_494606eace27a","黄天乐htl","jd_4bc2d9f56d173","sheep2007","13429077028_p","jd_7441887729930","jd_annnQRqkrksb","18689210535_p","jd_759107c713cec","jd_bJIoZdmjPrYa","jd_5eb8502198ed0","杨联698","scavin","jd_776bbd255a0e1","jd_tppNWbkcaFPK","jd_500c775f5ab33","jd_5b4afeaefde64","18428329454_p","银贝尔","15059286090_p","jd_497b6d790cdcd","jd_5b56a5e20d5e5","minwan520","104298726-18554710","jd_7cd01cb0759c4","jexxagn","slothmicky","jd_7911816bdd02c","李成成7777","wdNJnmisWqwYAWf","15032471357_p","jd_47bde172adb8c","jd_ppycfAaOGRST","jd_6979f1961cb7b","jd_4fafe6c7d430f","jd_599a3c6df6a7d","13810704238_p","jd_qvknxoiNpwCH","jd_573ec24bd9a98","13877072617_p","jd_7326979303925","xtatdkjso","wdmleZHZXDkpjX","lxllovingyou","meatwm","jd_4e0d70e778b3b","jd_72f509931b31e","wdNxVSAoFeqjHJo","jd_780e35387adab","shenzt1968","libra0009","jd_TFuhfZZFoGhi","jd_BTvpHWxBmayA","cskkb","jd_71f6de57079d1","jd_tFGVpaDREmDR","jd_634d17064b3ec","jd_HIvCNINqELiq","足球达人","jd_412744943e134","jd_6801072d34119","jd_vVhhkdUpTkJQ","依楼听月","cat3888","jd_5c3976d9b5e56","jd_42b4b133ea26b","13079263145_p","jd_48378d027f46d","paoshu","沈沈神啊","jd_553ee56aa19e2","沫倾城","jd_51f0a1801ae2c","jd_64b33e43bf0a9","q2294883as","deqla_m","penv13","汤永根","赵伟永","jd_693d8e45eb329","jd_55740ae94a90a","jd_45a0a479e1e1d","shcd2004","wdbWRnnENgJlfO","jd_5a0069dd0533e","11535384_m","jd_7565c540045b7","ryosaebat","jd_qtxHJxUmkZRu","jd_62314b79dd4d5","jd_760ba5d4c1426","w519416359","jd_6e01edff6d454","jd_472e321eb969d","jd_4045086aca8d1","jd_5d7e03fa7ce05","xxh316","铅笔小斗笔","14066590-445615","jd_nPlcODPOErUY","jd_66da84568fc6f","1516531897_m","wdFWAYfLJfUUCQ","swordkj","宅treasure","ypwpwgz","jd_680cbd0202ed9","jd_678131349ccc2","jd_ZbeJiFrRaQse","jd_53889b5ac60ef","jd_paycLveQCSih","jd_60e52f54fca70","jd_6a8118a918455","jd_5990d6d55b6c1","Hakunamatata_ly","zcpangzi","丶佐木","ngenyu","jd_7b7af73ad14d1","jd_4379fe15458e0","jd_666c016796c9d","jd_7f489c8366375","slooty","拿走的云","jd_6226c48bf3c82","五月天沉默","wdYHfBobzcVdGy","onwingslnz","241182800-122274","jd_7b24e56f53825","jd_DMJqeqNgSanb","jd_474c4b8d21111","jd_SDWdhwtzxOcX","jd_722d4fa3eccf7","jd_5351b9b219260","xiwu222","wmb1005","jd_6df5a75c5bd53","jd_5c0fe1a8b0b95","jd_66f12844f1e25","strike0079","240802-91109647","jd_WtKFbzMUyStS","wdEokQEzyFUlkh","jd_CWRsXZsUcWeo","threetwothree","jd_6755bd131186a","dancewhale","QT丶小天","青涩的山楂","jd_7477ab11e05d5","jd_43bd38f5f8fdd","ymx潇洒走一回","jd_7f60486e9cb6e","饿出八块腹肌","wdNBAcYZABrtUAo","jd_401f38c044148","小小小京东","1058784115_m","811467705_399472998","annieshopping","jd_5e858430e556d","jd_5584112db37c4","jd_KNBuisrDNrkm","wdnCiNGBxlvoEN","zw13352421234","wdBagRBKfHWeek","1061975863_m","美得冒泡泡哦也","jd_NEXeHfvZGStt","jd_GpRXfyLkDbGV","jd_535ed027bdb37","jd_6da5eff6c90d2","jd_546514510b84c","gtr969394","jd_72103487c8079","shawen.200_m","gdmac","jd_58c890db9b911","cao376602665","jd_ZoKhGsiVmSQB","jd_6893d4ca7cb48","jd_471751c9d3121","q323759-651507","supermiaoran","jd_73c361c46fb19","jd_pFPNiWpJLALM","紫墨668","jd_51fadca089459","191112437-204916","vizjamxogf3117","jd_575b86d92a76c","jd_QMoFbGakoYTL","Jarot","doctorjs","jd_43fdc047739c2","jd_ggJTIkkgoMtF","jd_5a661a106b79d","jd_60a82bb7801ac","ilovice","jd_4e21fe1529037","pos_chen","jd_7e7e6c594ded5","jd_64203972477fb","LvMQi","闪电侠丶丶丶","vanzel","jd_51756c423c3d7","jd_67b6c296dc436","jd_6cc4a9bffddc2","jd_5b3ff06424a6e","阿凡提477294","jd_5f633196d062e","670243460_m","jd_7acf72dc20b01","jd_7cc18a4fc1e82","jd_702137a2d104b","jd_MThrTAhneJIs","jd_6ac0924b2e1e6","jd_608648adf2297","19302022","jd_yzQdUmdIDLZW","jd_4d854c9e621c9","jd_6b8d461061ef8","jd_52946b52e818f","zongcz_007","jd_6fd9ea402f7ce","jd_VQHKQxwqgrkR","jd_ogrIMtqMYWqb","654890367_m","qq7712376","jd_4f7c7aa0785b9","jd_tMuHiOTkxxXT","张纹墒","jd_79f360ef515c0","wdQZNreGWUmILK","jd_48f7155724f7f","jd_5c0fd39641674","jd_6c4ad638716fe","340405491-691586","jd_478d0a134f1b1","jd_QVgPmNCthMhQ","jd_FvGEGAOuAcRS","TaAction","jd_4c7bac4dfafb2","jd_nsiKwZaTCres","林瑞添","ybb584154504","66766467-620215","jd_623ff0e896459","wdYXbAbKmHifYJ","jd_69fae1d878380","daisy灵0716","jd_63eeeda1089ac","jd_kwZcxXzDmwXD","jd_7ff652a318331","jd_tpPTTqbnCVBS","392600862-203857","yaku365_m","你曾给过我翅膀","jd_KtcXueWEZSZS","guweilin84","jd_4a4560c6540f8","jd_697d6f32ee0b3","jd_6b3744415afa7","25040338-361149","15662178035","jzhongshuai","boy-rock","echo501105","lautokwah8_m","jd_7f51997e6cc39","jd_45443ea6caf57","jd_5adf751fc14f3","211890875-20174125","jd_48404fb4aa04f","jd_56c97fbcc6463","jd_kWiWcNKNOPnW","kgdpyeifk","快乐小风","jd_647379b3d641a","健15577855593","jd_69c0b21de4d3e","13628639817_p","13670188908_p","15106086451_p","jd_5957f47ef927b","bin844850974","jd_558979abdcdb9","jd_58f9df68b735d","ty3230","jd_4075b57c4d97b","长安野逛","飞翔猪","jd_46e8cfa8a6c10","jd_747fd7b476beb","jd_BzISyZmFjSuC","q465271765","jd_TyejTzuyQbmG","jieyong199_mqk","jd_6b49800d584d4","kalagxw123","jd_FwAiafmomyDn","jd_5658645cbcb2f","jd_682b719b5dd8e","weidongyulq","mjw6652","xzykira","jd_7c364b29d7797","jd_6239267e11977","wuliaodongfeng","love风儿飞","zp0637","jd_DkrKCbMzWDvY","jd_XlbzqIrkiDYX","jd_50c0c578247f0","hero360306","18696699784_p","jd_54b85f1d76ab6","jd_KalWVLTUqZfw","9238197-98860000","冥族_乱舞狂刀","jd_oqEiTvLlVmzl","jd_6c2cef6c663c0","jd_5fc64edff0272","jd_60ea51e33ba8e","jd_720bb4e562a0a","jd_502c5b4ce4c90","ljhnchina","379906163_m","15623092609_p","jd_7230aa6ab46bc","15929563829_p","zgr19670521","liangjj1024","zxp19901129","jd_4891bcbf2ba60","tjustephen","c112613265","jd_5af3d82eadb6c","温瑞峰","jd_exXZtTLSkqpT","jd_7393552cf8331","ihgoo2008","jd_6f577617cd2c2","jd_797cf7c26f2e7","998k998","jd_6214b340c0db4","dadan极光","洛未叶","wdjDlDOSotDycA","jd_mYfppimwaMqB","长城威视科技有限公司","心飞扬174","chenjiaxu55599","18761427725_p","翊心翊意凯","jd_69f4c48202461","jd_427042ec0d734","yolovinci","toloverupro","vicky_wong86","我有故事而你有酒么","jd_45800d25c5e82","13041953919_p","msaf","jd_6b1bf2e6f8521","z1078354986","jd_63226e36fb34b","qzj6737781_m","丢刀","jd_6aa25decec320","jd_660c2198b7cbc","zhoufan00258","ledudu","jd_5ed41da0e9b31","jd_DwzlNSqaXpkB","张娇羞","goujiaodahan","jd_6c0f4a7b18b49","jd_znEDIoNpGTcc","jd_pOcXKbYPyzBP","jd_VuynilyGSEmp","jd_4f356cbc94104","jd_4b6d08b24768d","jd_40120b3e4ee1f","飞鸟晴空7","jd_PDDlHaLxnysU","213573591-320221","liwei19920307","宿敌红颜1","470466978-640716","iovejieba_m","911ann","jd_7e4ab64dc3c37","antacookies","jd_7e42f6e33711f","15101995219_p","jd_625d97113441c","jd_7164b8b87bcf7","jd_7aa1101977350","jd_73d6f164f2fb5","jd_7f518d57e4a02","jd_7b4aead35bcf8","That丶Summer","jd_4cf82669ede86","jd_68b2085126b68","jd_5db1064e0ddf3","zhuding123","jd_66c4d417f1621","jd_ZvnRVNhbfFpq","浅唱緈褔","jd_4d92511144066","tmj1976","jdschml","琪乐无穷72366","lyrlyr520","jd_5cef3a3f564ee","jd_tTCBLLwQuuvW","jd_65dc06d16f908","jd_703207efedf50","dong3614","jd_5decfb2754154","jd_45dfbaa9abc78","xiaozhu82001","jd_437ce251aa787","13415703375_p","jd_7960bf9daaf05","jd_7e04cb44fcaaa","jd_6443bd5e0bf71","rogerujn","qhqcz","zmxzmz","18258378102_p","jd_4b0352accee45","jd_5d5a7d2391464","linda_lilin","jd_5de567acd7771","jd_7bb68f2309deb","love丶大白","jd_5e9b208c5f935","13613712776_p","JRSD_QvNIy1345","梦幻后花园","我爱小妍宝贝","jd_7057d3f838cb7","jd_4e44a51a675f5","jd_40a49a79238ab","jd_CmqXOFleRyHq","jd_7d72ac7b7eaab","maggiehover","馅饼儿565","注册等人","luyiwind","jd_FJCgJcmLdMcD","jd_BtQrSpjBejbK","jd_496e64acd7f49","tgly20100718","jd_ZxQTEFsCetNE","jd_61eae33f6b68a","lskyke8877","15816002011_p","jd_6684ab90080dd","黄金曳","jd_7ea325b757518","wdwMZEFzemWENa","jim012","风雅颂199010","jd_oASGxelzjBAs","jd_633051c169daf","15357999057_p","jd_59252083509bb","911anson","jd_63a5d8ee8b9b1","jd_uHvRLbCBUdJu","jd_798515ab70f8a","cnmhtt","jd_xDdtESWWlWOq","jd_7d879c9841961","jd_RYYEIDYtoDlk","jd_mLvKvuaHOucv","xpyzr520","jd_6c58c120209c2","jd_69e85b59745b6","soposolo","jd_OXhYuokoSmIm","congcong0806","所里司杆","jd_7f3aa53cd3abb","31924283-180355","ll732690335","nogami","jd_cKNKBMnyrPfx","jd_6392d0a52373c","jd_5ff05228d4104","jd_JmGCpqgpCtqG","jd_6913d7aaffa3c","73600033-52432224","jd_6baee850e4635","qqmishi","jd_427d354f2e541","jd_4975ec7ed3482","18682008732_p","jd_693dfa405add0","kyohua631","天中的雪","jd_6b18822a2ada1","zdj8341","pkpkgtr1","zhenglibin505","jd_5ce03beadb73b","马腾跃","9206321-748591","1419417-20425137","ycfnzz110","jd_6aae3c4291660","jd_52942be4ea12b","jd_5885887a68ac8","jd_7b5708497521e","我就是LREEE","玩的好","jd_70955d335e390","jd_64f95537f2f92","jd_70dbd95977ad8","jd_wZYxFgsSuSwE","jd_7960e0d1e99d6","jd_EfwqoNgPsfkp","ben1226","shining7508","384311129","jd_62e07e216dd22","jd_7c434e67ab5e3","maotu","fxq645571713","jd_782813540183f","jd_rbUZGYhYjSWX","18335187671_p","jd_UzCXouzzzzrL","13798727126_p","jd_UwueCSDVxjsC","巨无霸鸡肉卷","jd_6b11502aaa4d2","jd_6dc229795c0a2","米大眼老鼠","jd_56da58f82a6d0","如意意cry","a595081986_m","jd_5381d9f1a0c15","jd_rCCkOpKwOlal","18655552339_p","花堕","jd_5856711f06b0e","姣壑筠芷","jd_51148b78309ee","15578784520_p","jd_6f84814033f4a","jd_4faac6553a6f2","jd_7117967aba1e3","jd_690a87c671f1a","217408357-49301153","lyuewei","jd_5d822d49c0d3a","jd_483803351ad1c","jd_4df5d99f9734d","zhaozhun","1qybird2","jd_uwzUbyxegSeg","jd_6bea9926a0a5b","xvping15","liutao568","彭小贱11","wdzYoBfzYWVgzO","zgc0101_m","jd_7b9a8b83d8fad","jd_6fabb1dd4523e","qiaxin","overdose210","13025567602_p","A青蛙哥哥A","剁手不知多少次","EmoAsh","jd_6cef1dfc08558","13560279915_p","jd_7987a8feb4b9a","clamly","蚊子2000","rczlzhx","jd_472ac2d9d0def","jd_78ea2e0320028","jd_5ade705ace182","qiuyubin","jd_4493bbe4a2a3c","jd_YmToRpSlHUDc","jd_48f7c9399759c","jd_6dc4f1ed66423","hewitt29","hanfuxing","jd_5f0ae206f970d","15200098298_p","jd_4bd0cf11b5138","jd_5f6ef22f9fe93","jd_572bdf907c55b","sigualws1","jd_42fe9e634e4cf","jd_wOoCyVtkBVuN","jd_6fd306e1c0afa","jd_klbDkufFnaxE","刘涛0206","jd_417cfdfd9d368","啊一小出7","13816573450_p","jd_6c61a79c1e45e","q754879133","jd_5b7fc70fef8e9","jd_ziQdiwWSgbbO","xiaobo_3469","jd_45feb3d7d7d6e","jd_5bd36d01d2b40","jd_wNNPtStaTdWX","jd_wXvHMcxXusVf","jd_6db0050f3fda7","jd_58def57c09266","xiexirru","jd_66e5824c7d749","13346826749_p","jd_fNJZhtpUJQUJ","jd_75e3a07ed4317","jd_514c71cb7231e","jd_nKYGNpuAKzyO","jd_6abcf175c931b","只会划水和摸鱼","jd_vqWdhlZjjcTq","jd_49152af88533d","jd_621bff44ab7b9","jd_7dbe40d4ff5f3","sdeven","jd_6b71b8ce38f1b","jd_5d90759149460","sandyshengming","hedycompact","wdhUorPBBOVxFU","WL王者","wdNUeOmoCHwIWkr","jd_5481789ccedb7","sigualws2","jd_62911a70b89ff","jd_72da239a7a06c","125276447-448744","jd_eDGCVgzIsQrg","jd_4b553a9a7ddf2","jd_fvcRaUFcdhJK","jd_5051f2bb1c70c","jd_6143c08b912de","wdNQjFOMLVitshS","f00l","jd_53b0d86ff0a2a","269522993-887743","jd_7d444f8805d3a","pillo698","jd_5c5e07dcf0c74","jd_649d91fa2cbbb","jd_45589c854bf8e","jd_bcnAnrEjPHEd","yzk992524","绝洛","jd_4d6b8aa88bb40","koftan","windysky7788","jd_LKUtrCMQNrAu","raburesu2000","jd_6391e7cf8c0df","jd_btebZMVfaWSO","jd_499cdb756f9a5","jun6682413ling","jd_5a9451df173fe","jd_4aaddc22e1aba","哈哈哈171","122389363_m","手中沙缘","jd_63910a56e5b4c","jd_7fefedd0e2603","jd_54faf32960227","jd_eIdHdDJWUOWW","jd_45f4668b9731e","jd_GXJJunCypXyB","jd_55bbed8b89912","xinhai235","wenting834","我的京东昵称","jd_7dca958f20988","jd_5608aca3c4d83","13666767711_p","wdqQjYjFTPEhkw","sj0212","jd_63088f4d39791","13025799260_p","ye517752116","jd_GiqJTRfEGGnC","wdfkVvEwcRUBTI","limingcisco","jxf269","wdNvXcQWecwIoGE","54568753-485834","wdNNXBdgcgiOmho","JRSD_PWGRl0002","15139632412_p","369513935-961903","18463965583_p","jd_5f98c32689b63","jd_QiyemQrhUyHc","jd_42b940237565b","jd_602ed660f16de","jd_balorxnnTNpY","zlking02","l625166686","后来呢丶V","jd_73dffd0b104bf","wdTlbjxgEEqjXD","14360169-15535036","32961640-903066","xuyijia369","laozhang670613","DMpling","jd_CaltBavhqoqw","jd_7b4996ad9df4c","jd_5409c2a412412","jd_XdNlJUkmtLAt","yc952","wdNAsaRdpaXidx","xev68r815op","jd_UKbdYaezNyXp","jd_796632956f01a","jd_7f7723e89cbab","wdpvvxloxLaLxz","808367863-974157","jd_538f7bccf2d14","14367493-11037844","jd_4beb9b274a87c","7676158385","jd_6434bc32c0399","jd_61f3fed0777fe","wdGbjjCazavPmS","问水东流","jd_5aa1ba1053bb3","jd_7d28287d9ad53","jd_nGfPWgCwlXiN","jd_6e2e7e1f13cf1","jd_65680e8389305","jd_46894b8b9949d","arcane_mana","jd_iKoSCzTZLbdQ","jd_448bddc3cb0a7","13147216380_p","oreolee","jd_422f33a9135a5","pjbjls","jd_73dce11dac29e","wsyqing","jd_NOJBPSjKOZAh","liweiwei1116","jd_460cd31a662e8","jd_74ac4cec80f57","wzfzd","jd_70d0118032b6f","huaye307","jd_6108ed63fed87","jd_SQnlaIoEoRJd","15970697889_p","linwen738","jd_XGRCibWPFWLe","jd_652e4e15b1f64","jd_6002932553622","868722-26876837","prompty_m","delury","jd_AiuQlsUjfOwo","jd_61e926378fb8f","jd_423712568b156","jd_PyqGPctoqvzO","郭邵love","jd_6431eccdec0bf","yufang陈","jd_51a3a53918bbd","zhaoqingbo","15816170703_p","jd_7afee13a3ed31","jd_FeqZPVaMbaGR","wdGDirguEWeIfP","jd_mgxSWTeEKOzg","458058960_m","jd_74ce64dbf2e02","114991631-923070","jd_753eb80788ccd","jd_512c4709f457a","jd_KddfqvxCeQla","eghawk","jd_482bce84fc089","jd_5a3db63a87212","antsman","jd_4fc71d39120ca","wzw099","GUI13507015212","jd_BwyNPhQaNjpo","jd_42b5262044cad","jd_67684086c2123","jd_oQPDPNclgTLB","无廖","2820134-26353854","flymatter","丑丑淑女","ls1996","jd_WxReCqVvLbdC","jd_tfaDQSpniuTB","jd_6008e70556473","jd_5fdf24fc6687d","jd_653fb48f75a6c","愤怒的烤地瓜","jd_ysgNXNIwgmbS","liwuzhao97","jd_70851665bf686","jd_7b86bf07aa054","jd_SqdZZmHIozqK","jd_75c5a450df9ec","来生大大","SNGR","dw524424070","jd_66cb5d7c3b0b7","房客vvv","a33356mm","jd_KWhQIuTtixQJ","jd_5ec8c3c7931f5","jiaxixixixi","jd_qofrQDFhGdLE","jd_619f829f9e5fe","jin582279","jd_4f7756e960f7f","jd_496273463462b","jd_4b3ac94baf02c","墨香潋滟227","wiezhen13504931200","jd_578842d2105f2","jd_6798c207061d9","wdhxZuEvXhhvCf","jd_6f220a433262d","myabto","jd_4245251882fcf","wdPWkMYDxTkRsy","jd_49e501c3e2ce3","jd_bnVlBcIzAbHP","waikin07","吴小红97","jd_CsKXdhZYqVmr","lijunlin1989","zhigaows","jd_5dd713d958938","jd_7979fe13d794c","jd_493ee741b0a0e","wangpingdajie","wdFAuKPmYSEaxV","jd_4fccd93ba1497","andytom99","lzdong1987","亮亮068","ajian1976","jd_748e740be9862","jd_689e504053da3","jd_42c65c132194b","jd_742d7d9e77ac4","wen55333","茶语子","w21976169","tercdyu_cn@yahoo.com","jd_425bd8009a9de","jd_5b1f2aceda7f4","jd_72196b8363a6b","VIP吴子飞","jd_4a39212d4ce02","sinommw","jd_45c90451c69db","jd_UjJbVILqadGV","lmyce","jd_64a4b21d754af","jd_55d6515c1699f","fxnsky","jd_5947869c31cad","wdisWdxVKCLKEM","cobraya","huigedageda","jd_LnVkaqkOyMHt","jd_668d38bd21605","shenhui0929","adon_m","tianthj11","ZGH4004","jd_625c648f0ec72","alexmao78","15877597771_p","chijphone","jd_7456e50172acd","guhaifeng18","jd_704a2e5e28a66","葛聪澜","18605100345_p","jd_4e06f0cde65db","吴yufang","jd_48e55f027b6b3","o2cpwang319","东东love宝宝214","jd_53f21c0b7d5a4","jd_7079713d93744","18219505438_p","jd_AkzpKrhoCGBw","jd_MstHbZCXJuLm","jd_drvxvgcucCeH","jd_446ca9c6db55c","jd_744f5856f8895","jd_46559aa39eb66","jd_4203211695a3e","fzj865503912","jd_62f2869e77e9a","jd_eakWncNMmTou","喵小伦伦伦","icegao13","wdDNGhMhnJGeJO","jd_4c6d8f73408d1","jd_YAGyqsxvFmyk","jd_4f3d7dacf7826","jd_cLczTAjfLddJ","rjx-","张语伦","jd_7f034fb08322d","jd_47276fa769d52","jd_5cb6eb9540e21","jd_761d9b3109234","jd_56e8c9b200fa9","狼嚎嚎520","jd_58849040f3ddf","zyr0414","装纯丶莪不会","jd_51f922270bd95","jd_7a5f30429a3cb","jd_6da39e353d14f","jd_mfCggwRywTkC","wangx6","jd_448b0c4918e92","wdNzKphbMoKTplM","15905303986_p","jd_60b5f802c3e66","jd_59b3c3be3745c","18115355777_p","lhwxp","rfunicom","jd_58c5b7553553a","jd_50b27ce89058f","孙洋199102","jd_65f4a30c010cc","辰微微","jd_4527f2dbc6615","lx9469_m","13735364480_p","jd_4f9d3215f87b6","5554053-85178403","jd_47d5d03db63d3","vestesoo","lisa7983_m","jd_5b01eead3ab11","jd_7aa8f47c5e7e2","jd_5434295624505","zhijiezhx_m","jd_7dc37ad8d82f1","jd_qsUdPEbraARC","愛琹","jd_6c2474a7c43e8","jd_69170cd023e21","jd_66c9ac0a518aa","户红涛","wdLkOjYnTsCCjf","jd_NWhsrEfGvTzv","13231883337_p","jd_63ba0c6ba8456","jd_hhheCOGLwyRa","yu1013019077","597998372_m","jd_7af5d95bc4d7b","悠嘻丸子","jd_4f9d0223cc7b6","jd_nJSKGIAUPwov","18059331922_p","thl16888","cql663539","15921024325_p","yayaloo","ozwq","jd_589ca10e29f9a","wdNYVjrXWUJPqrA","jd_4d60d19ea0499","jd_5a52781878923","keleilei","jd_5f5f91756e05b","jd_69dd1f7fe48c8","yellow11223","yangruth","13569427882_p","yxs93","2697250-975165","jd_NwjVpNyBXUYK","20346010-85376272","妈妈的baby","jd_LEQxnkUEQAkv","feijiacheng0725","jd_spPWylmsxobn","jd_72a285f5b71af","pittban","香水百合姐姐","千羽千鹤","jd_DrwJvIqpgRyO","7323501430","jd_726db0d09ab5d","500627588-636501","jd_6a69abd305773","wdbdZoZYHWYToS","avalonfh","史高杰","jd_pIjsyaYGbaJu","小D兵","zhenchenggu","qiao19991112","谭叶赵咏育Ny1832","13645839249_p","cnmhtt1","DZL_ZH","雪慧","jd_5a77cde9673a2","gg11223344gg","jd_7e35323b2ee60","411752404","1146751-82488420","jd_771b985d9585a","yucat1224","WQvQW","jd_4fa2626fd102c","zbj_sx","jd_5afcf877aa993","jd_447477926c6ff","jd_6a8dccdc56f79","jd_yZmFVoOfgSsv","xyp1228","zqbemail","jd_AHxZyAuDRHNg","jd_EVwhtDXgPjOt","jd_543a487b48ed9","heziniao","jd_472681b63ab88","song2603","524892625_m","jd_oGdFUBzBLBiD","fhxu","jd_40b5e0c3feb41","jd_6d812b26a6abc","jd_428728d0a9a78","jd_7051216880ead","jd_7f65904cef70c","jd_tlrJgReLaFGi","jd_680a61e386c28","jd_7f8ddb7637ab4","小浩哥66","13228197598_p","jd_6ad1c716ac279","jd_477fb010eac8f","jd_59d962a076126","sky586hf","JD_8330","hjj0529","jd_644e2a1bf21f9","jd_526ca5d6e0e3d","jd_7ffdeba6b645a","543邹平县刘志","jd_623a2efb7b4f9","雪-吟","jd_48a868048d840","jd_kdasugaimPQo","jd_ObHjbnRenQhF","zhlnhappy","jd_71899e6f338c8","anmonkey","wduFZiYidXMIFI","jd_487a049c00f10","SP317702881","jd_6cba4deb75c4b","460521982-122496","jd_FWtEqmfmxufv","jd_598bd7548a016","13247788461_p","jd_7739ab7499f77","15320185798_p","kn731","jd_6b5cdd8014f8f","18018526001_p","wdJCUrbbzzthLY","jd_5293eea73b6ca","jd_ssCZEkBJuDnz","jd_5fc923945a1ad","四夕草禾","jd_5e5a9fe4d359b","jd_73234842f4dc8","王者买东西","jd_YaLpBqoGCnsQ","jd_6b8cec0f51824","2573243-95975306","1226883054-876368","jd_JVsHtYjETTbZ","jd_5f77cbc30d45a","jd_68df5f3776c2e","jd_5450d4f030c73","jd_41345a6f96aa5","jd_589d778468167","jd_5eda43ae74079","jd_DSvXvHLOPTVr","chen_ie","spwpeneng","jd_621b7158dea1f","memphis147","15395320582_p","54502362-57219718","cable77","jd_6f234d2da34ab","yxk325","wu434594598","jd_5e3db16f4de3d","jd_64222d10f4632","jd_jmqXAnjZbOQA","long_c","lenh0o","jd_7227db042e06b","jd_5b943d0d1947f","298343778-792476","15819171181_p","鸦karis","jd_4344d8aff15ca","bzl0711","jd_7c26d6d2c2362","A745940548","jd_bILJltRvpUUM","jd_78d9751e17491","li_yucai","jd_49ca6b3348078","65968648-675650","911ET","hopol","jd_4c4786c1ac81b","jd_6668012be399b","jd_snDVHmmAzWcG","暖色旋音","xxyy瑜","17826893401_p","iwuzehu","jd_707f0bf04e388","jd_OMrkgDLEpKot","jd_louMoNrBAFNb","jd_5da9c737f969b","a840049624","jd_517ec0797d0f9","459264479-307459","飛起的羽毛","小吃猫鱼","sufan1314","jd_5e667a133c609","jd_uKwYcPiuSXTS","KOUBA1990","jd_6ef848067e09d","jing_419248456","jd_683471028e14c","s1850347985488432","jd_aCqiYtxxiCwM","Mr江飞","snboyliu","jd_5a4cc178937d4","jd_762afe5da2056","susanna飘幻","周和俊","wangjilongwo","hadeslin","大凹凸_tz","myselftulip163","4073127362","xwmvzhl","jd_huKRXGRxuvXA","jd_ffvzUOLtlZQX","jd_636c9a37b53cf","小小半夏","xuelian213","jd_583af058e720d","zhuzhihao198599","782686855_m","coolzxb","jd_639d337961484","18018982871_p","wuk325","zu25bf6e_m","jd_46d866887fc41","dean.chen8_m","sigualws3","15139451886_p","qqhcspp","jd_6f2995a5ddb57","991990023","taotao1004350949","jd_405e5fda08e24","jd_moISudCqRqJS","jd_51fb3bcc80649","jd_5d9aa9f65503d","jd_673f851c9edff","ro001cn","PowerQin","15225453110_p","jd_65cd09956c9b9","13323656691_p","jd_494b97f789bdb","141goodboy","goldfeel","jd_7b0adb65b222c","15850680007_p","残雪秋影","aotian16","zodiac_blind","jd_56eccfaf7cfc4","jd_xEVuwGVqGdtq","137946283_m","jd_43bc8efc96eda","273529124-691471","jd_55643bef61a79","jd_5a1cc193dc423","jd_7e696bbcdef68","四眼蓝光","wdsIuCoYkDVGRy","脑袋总进水","xiaobin6763","391513996_m","wdHEkHKiqguFtQ","15359330591_p","18623801119_p","mrspark1005","tangtcx","sysnxw","t_t88888","閒雲XY","iMatch324","jd_71e5228a7957e","yevon0","dsdsds308","jd_61222c10d2a19","GIS091_6-414","jd_KITfHedsoTkd","jd_676c25c8dbc3f","jd_630f361d841a6","15595853868_p","jd_AEBSPQHgpeys","jd_532b591584e73","jd_WNohtcnpGxkH","vitos","要的就是速度666","jd_4ddec7c1e1c22","jd_6a02e0e4a515e","linxiangyu407","jd_40a85c8ca0a1a","jd_5f9aa25ad5560","13353088079_p","jd_WtyXuqtwABVP","seven133","wdrcrHcYZOaVak","时光之年","lh947276716","wszl008","jd_4a217a8a74c54","wdNTvDPBFWaivjU","jd_4a0f7fc4c4f30","18258863691_p","jd_78feedef84f81","jd_bsAUZBnhxHnV","jd_50834a4b3ca36","jd_52c442492a818","jahzeds","79564509-603314","特特翅膀","huang101yo_m","jd_4052fba33f638","龙虎门中人","jd_xPpmiNNZHXiW","aston.he_m","jd_5bd3fc86c4e7f","jd_63bec284be9df","wjk0809","jd_eEtbvcVxryTO","jd_5ef6fdb85846e","xz13590319103","jd_OZizElMnZJog","jd_obvMtyLeIjan","jd_7555cc7fa417c","啊啊阿布","jd_7dd8d9e5eaff4","jd_lurTRSWBqvGJ","jd_RiyDunKliYlN","jd_544c8774ea74d","160483628-640047","jd_445ad83ff7114","jd_50717a99ace51","jd_6dce98c07a644","13132345908_p","ganlu510","updu","jd_41cafab4be294","jd_796d8e0972891","jd_5769fb1d4402c","周广惠","aine438","jd_738dae147cbc1","jd_48bc88ffbc6ea","231511635_m","jd_68195d90c9e04","jd_5056c1e6a21e4","blacknesswing","jd_79a7af403a6c0","jd_443ed839cdd61","jd_5127c2bf78411","jd_42759408db98f","jd_6a15234a8face","曾小毓","jd_59c0fbcb8f82b","wdjRqZicQtRLKR","zr1071278257","zanji1999","zhuangalan","992428904-377700","jd_584bbb72ec382","jd_48583bbb41f97","jd_4b0760b2cd8e2","fortunate_88","zy18328049991","jd_720bff5fd4189","jd_HLDgPdEGTVEA","jhs19891113","a1347531648","也许明天我会在","jd_7c9b1834fe23e","jd_7737ff4b74d23","jd_7a38d9b94760c","jd_aFSJcAymrqBe","jd_BLXbXsSyyJcH","268730227-153407","jd_75ea6be79d3d0","lj840928","wdGZCPEXwFXQpy","jd_63acd2e9f965f","92086421-117280","jd_4f6bf332e9a22","Ryanjiena","wdPEdRiJbnOLgs","dupidog","jd_7ac5c7450808b","jd_7272ff370dc16","jd_4e373c5c3327d","jd_kheYVkExIOjU","jd_UhTfhJGESpkW","jd_75812290fd906","jd_46a03cc6dd5fc","jd_7e574b4298918","whlwen_m","71778195-46190379","jd_VZEsfVqpfefj","228427996_m","s1683164891643064","jd_60e7d0af09745","131592849-253728","z2691523","zsw1987","herolee","jd_57f0ae6fafc76","jd_6a3f5e54d300d","jd_lKPAObnhjUrz","jd_nsqzOmKolKMA","砍树dj","孟小仙mx","jacky9235","jd_629db56588b17","jd_57a806c3edf39","jd_51976d2e3609d","先生Hsu","zing518_m","jd_tJvmNQrYKINx","jd_64b12bfe47a78","jd_4525ca27c3f8a","jamesfengcao","jd_OeTNobRVGiNZ","jd_718fc659a9077","jd_68bb4bbb3e021","枫飘人间","dongpcheng","4004238-58067208","jd_798cd049ff248","jd_eRvkbLzuJXZi","25826858-25004114","jd_6d5b4be15824b","jd_bAtvuBVbDCEn","三分熱度","徐克跑","jd_7b3bab5db575e","jd_4c10d23b4aed0","jd_710642a7cbaff","jd_769b31f4c89a4","jd_756ce7c9313f0","jd_VedzlDBFRFhS","jd_763f932291fca","jd_48004c20e7306","liu_chunge","hyl296029138","jd_6e1f163e7c1ea","jd_7ed8483beb36c","jd_482b4c18a5f49","jd_dvFJjLAiKGfR","河源萍萍","jd_fvHfUzFlkTeQ","jd_6c409faaf2e8a","jxmyh99","是我啊没错","jd_73cbb46541b81","m18701597675","jd_5dc92108592d0","yongw520","147840361_m","Meyury","jd_7f345d3055a21","weiliang2333","jd_7a0930f0033b7","znz传奇","1361295-86406654","yehoujin","13809836636_p","jd_4e67dd543c342","77632572-32380154","jd_shzrAUITfTKu","jd_47b9d45ad58e0","诸葛亮的很","jd_64050de1c7dfa","40229142-692898","xuhuiyu365","jd_hamaqixztxDc","13827285323_p","jd_NwKGarSDFsqm","jd_48404239faac6","jd_dkkhbconnFWc","jd_75ce4b3b1f63f","jd_453a618958a32","胡敏华lanse","15519112793_p","jd_6ced56937fc63","jd_7320dd1b3a083","jd_52b04bf202fa9","lauryn_zheng","bluesleoz","15815805716_p","jd_4240d55cb8b28","onlylara","jd_64119caac8048","tianq5","jd_78c6153ae3edf","jd_5d26496e6d020","jd_59358271a06e1","jd_739cc3a6488d9","蓝竹-刘志","jd_767c8af860a0c","90405921-43956094","72402996-314021","dyshmily0811","jd_CkUlrvRYDRNF","15255553298_p","yieldmoon","inteai","sj874606236","jd_7096ee6250859","liaoshibei_m","一声是你","yk4399","jd_7ddc57c167256","wcm1987","18225606162_p","jd_59e458777fb74","jd_TWjIYAzaNMDD","zdc1461781355","jd_7272bd0fca450","201744041-964867","243400623_m","jd_41fdd2efa8db6","wl280242551","jd_4a9173229e6b1","jd_QwrCgUGhaSwr","jd_75fcd9bff9649","xiefengwow_m","jd_6379d9bd01f50","jd_ZUhPjgVtIlQN","jsyzdej","蜜蜜斟","jd_UwfvFNHXLeHS","jd_5dc780064935a","jd_7b8a65f95de38","jd_6628b9f52c732","jd_NrVdjUTOelAu","wdNBuVCxxPdXMPx","18894000675_p","jd_50b0f00852950","gsg159","www.cjf042_m","jd_7b1f12dcf2373","jd_6d6177794d5fb","jd_41688dde4f530","jd_XUKEQdndhfmm","redbean红豆","jd_51e77d0ebf0d6","dangergarcon","jd_7ca98da9ce8b1","queenho","jd_7fc1e0fb0afd0","1159527-40656392","jd_7fec13007a763","btguys","zj88851","jd_4ed7bfce66d78","yusnw","victorzhao1984","stonieabc","jd_659fe1587a3e5","jd_59ffef68b2e3b","随风0100","jd_44413d6eacc68","wdqUikRiBUNMxw","jd_4cc14a46cbbd0","jd_513603d8a271e","21985033-52861266","jd_rNoNZIouwxgw","jd_7a66252a780a7","tsg022022","jd_64b511c07bab4","jd_7c5361ff0dce9","dx7k7","15072178572_p","18684754525_p","z547473239","天空下的星","jd_59fe243b842a7","点点羊肉串","jd_bJQoveeHMySw","jd_5b5a1218751b5","Jacob031486","jogn61","jd_6a39eb6ed6b9f","wdWwmWqlAkAWuf","jd_tlIKQikOjsNk","jd_RWJNYWiXfVNs","jd_750832a1398b6","jd_468bfe223576f","13248430927_p","jd_725e17effb6a9","tenthmoon_m","jd_441af60aa609d","jd_766b8e106b41b","jd_4ddbe9b9b62fa","1432830442-858727","nerowei","gujihunyuzhe","13100909011_p","ymh1147","yornf","jd_6ad91add6b9bd","xxccaakk","jd_428854b2d0631","jd_UfFTtEtqlWZB","jd_DyjCJYRpCpFu","jd_5147517f526ca","jd_46fe950a53790","wdvbcTzpygyrzZ","jd_fllHndawmSiJ","jd_74ce5477eef34","jd_CHtKlqwzYHUR","moneyfly520","jd_7cbd1d969aaab","jd_79e083270f0bf","jd_ksmvnjZgaQSP","jd_4c0461302d68b","jd_61d3d122c98ed","1069205-91963760","jd_536bc8d3b4180","jd_574891d198227","18364789513_p","jd_4c600e612d223","jd_rHRSApWSGNZM","1438479-87111395","jd_xuygqnzZtNwj","jd_69808663d761d","飞吧奶奶","klyson","jd_48b4ec1498913","mumianzi","jd_LbvtWIsvoIIL","youzher","yxabc","茉莉与柠檬","jd_YpnmRMmpXieS","ssssuuuu","18757368051_p","appkey","junj2121","jd_600972d3a3222","jd_6682569f743fc","jd_62516fd2ef879","jd_648ad29700ae7","jd_arPSbuoVNCza","jd_LXnFHXoJwXkW","忏悔无罪","fuweiqian21","jd_768bda175d69f","爱美滴孩纸","jd_549559aa383dc","hank_wh","jd_412fae06258b5","jd_6b7747e194ff6","jd_472b762cb1d1b","jd_6afbfb9c2466c","jd_5b3386f115020","jd_75d27389caa81","lpx918","jd_6ff7e637d9995","18600044305_p","jd_5addb50151524","akaala","apple_yBGxdqp","caichengji1","tonyooxx","yuditt","jd_4306045075171","695272173_mdz","jd_OEoeHzsCpXdt","koysuke","jd_7a030ecda5085","225506151-630426","DreamToTrue","jd_5bb16d6462414","wddQcNIhTIOMpy","9271837-543144","ghh850627","jd_70a5ca211621a","wangkuiwell","xtlyk1990","jd_4db277489a913","jd_727393ba42080","jd_52ec7a43ce63a","jd_6660b9f974b02","jd_amGIYInvknFc","jd_nbBqvjhJwWoq","jd_VucjqZzhpBsI","jd_5870be5e730a1","jd_62be5db9580d1","jd_6ee6015814489","jd_GJZTWUsdFSKr","jd_56b7606747a10","jd_5b54a8d20c8ba","jd_ihddHwfgIcHk","shandedd","jd_4640a8cc47aaf","zhf211646","jd_hpgqKerJwbir","jd_40d15f4c57f82","jd_6165d2f3047db","jd_GCBVTsOZAZAA","jd_76883b6de2b18","jd_689017a837033","s1452341482942913","jd_653245c9e466b","208570117-740771","jd_607f7e0c632e1","jd_7c5ae78f0cd33","jd_736d15564ff77","jd_4ba77f7919845","jd_59b36565a1fce","jd_7acfca7a4bef3","grey27","jd_rDtePancWpDh","寒冰炫","bkyehgy","978756098-585159","jd_553aa5979261f","18924563439_p","jd_568b9448d66fb","zhulinfeng_mgo","1017222-62373754","jd_677c2de257396","jd_7c1f5540bfa80","jd_lGUQdzrjxIJV","jd_697c2e4d9d28a","markoyang2004","小邱邱邱晨","jd_7be6dcdece022","jd_6344c523604d5","jingqiao218","jd_jfOUlKjVCPtj","jd_5ba7cb8f797ba","jd_42c7c1033c184","jd_DuwwlyspGDOz","紫气青霞","1429483659_m","jd_4971149eaf9d2","jd_6f2bdf6bd42ee","jd_61faceaac4c8b","AChanson","jd_6410fb38a7a25","柠乐va","weikenwu","日光浴中的蚂蚁","wdsDyExNVENCFl","zhanghongj","jd_6761c6c609489","jd_7ce4e5226d54c","阿尔卑斯大晕兔","jd_ObJLeysEpNkG","大头同学","zhcnus","lovelonger","oyanli","jd_428938859d164","dongdongqiao","yylei","jd_6e8066dfaed0d","jd_5ea88a5ea6dac","jd_78a28ae065b17","jd_5b3219ed3644f","565816146_m","jd_72db916e27ea8","13764803079_p","yuduo1995624","13955992118_p","王磊_wl","jd_5bf74e83cd683","rageln","wddqCnYrkbOkoS","jd_745e645938b09","jd_675a9a04735d7","jd_710cac9a55ad6","jd_4be4ea35542be","jd_5cd597c576ba6","jd_6d88b6f45f56a","jd_412c32a093d9f","jd_5d176a3d000f1","jd_4dcb599b0c6bc","jd_57841d5536e6f","jd_5bc5cb3c50f49","jd_7aa1b19a69972","jd_782d745015830","zxmlysxl","jd_5d9969a762917","jd_556cf94c78070","jd_670968f18958a","jd_XcSCPXDlmrYz","jd_6f7226b073407","jd_555445ce0a9a7","jd_7583e6aacd91d","jd_JCVmIqVcBMHx","花开花落616","jd_5e530d31ba423","jd_4ad628112f94b","jd_618b28632ac2d","zflf9","citizenfour","jd_787c5fdf3311e","jd_rbeINGYEdWce","rollbox","23953-34671330","jd_OvuzBkttWxoB","jd_7d4f7ed540681","jd_62f51e7da9dd9","jd_42b91a450f2bf","jd_nGWXibCLyhsf","jd_ioOhvpXamrcZ","jd_629e85fb5fdd8","wr","jd_58f175230e89f","jd_41f7e8b724529","ztfgmx","jd_6b69b9ae2dcfb","jocwm","TtDooooo____","火星小仙","jd_72754d5747c5d","jd_7be6ec81e7471","yulekaishi","7529343-58417459","JD88016223","jd_766708ef739c5","NeoTseng","jd_59fcd65322580","jd_640cf41dd2e5f","kinddinosaur","Justin0705","格格驾到x","wdNHfPMkfQkSNzp","jd_72cabdd6e9600","jd_vEsntNtZWzqs","shopship","skyxu_2012","杨晓帅1325","jd_PhjXRQOvqKQY","jd_4931335287845","jd_671b558a1c8a9","jd_661e7d6de81da","jd_55748247f24b9","18757584820_p","jd_hKhGOVDmjiHO","wdZNialiUVJfqC","hyxdz","Ericds0305","bacon1001","jd_6fe504e3141a0","jd_74c28e084a50d","jd_465c759828a0e","欧凡600","小戴认输","jd_6f6a6428a4c6a","wujbclzw","jd_59212a11ffc72","sun_yong_gang","飘逸的风hswj0904","15606921229_p","wdISAqWMnWqyZR","jd_594475ed3f703","274482137","jd_780ac31fe307e","jd_6abfb8ee53062","okck","atopsecret","weyes","jd_494871120dbf6","zfz1mail","jd_690b4af589d6e","jd_5ee73aca75b4d","豆子112666","jd_7d219162f3089","jd_IZLyPGeUsagJ","lvyuaikafei","jd_RffkfOZlQEAv","jd_68178923866c3","luzai","jd_MkEypyasOHFb","jd_7bb7e6bd9e46b","jd_7ab1ef565ef0b","jd_6ec5c880416d6","luffy718","dd102","825577109_m","jd_ILmKtemCIphG","jd_7eae26012f8c2","xjcdb9988","jd_41ed2645cb159","suicky","jd_4967a5e2235c0","379377531_291446474","wind428","jd_55c0fab5e31dd","sl苹果","jd_2d9130f3278f6","jd_70fa25ce2f9e8","jd_4e2f6393eab55","jd_494638ab8c20e","jd_7644df7ea1ffd","jd_44e7a2560a88a","jd_524761e021e8a","jd_rXmvicygLUhq","jd_HtomKRSEQBPR","南门口广场","jd_546b0bf98ea3c","wdqTubhkXEQkmk","sonicem","都市闭门行者","harryclc","jd_yvngJvzSUgIk","jd_662b72e82610e","13850639188_p","x1aohu","mbdr2132","mmvc175","ozcvta","jd_603b5b9fef52e","jd_7a6c60e930f19","yuhuajian1","sunny7127","endlessbest","jd_7522fb147a1ac","137373149-804456","alanonline","jd_DYdYEplwfAUR","jd_67cf520fbbb54","jd_6bc23a251d28f","jd_40d1489007c4c","sltalex","a啊啊啊啊啊啊啊啊","jd_7d0e60d69f5fe","jd_7655e8545c3c1","jd_wqzGtYtKvWFp","tonyan1124","sunxiaozhu","qianglele","jd_owhUydUrrKNw","jd_tOyoafoBwvrj","jd_674aa53b530ae","206575385-70284031","jd_553e3623b8ab0","jd_FTfHkBJnplnc","牧渔山河","jd_655a44d04d1f2","jd_6b92d00dbaee6","jd_64430791656da","jd_4dc0117a11214","jd_7ae7317be5e7f","jd_6b54d59d207a7","wdvhfuYLKpgKGZ","dqzwh","zjein","jd_5991ee71ccced","72446275-880101","jd_VICaBNzWaBNy","jd_67e022c81207f","jd_625744868e1b9","ericedwars","jd_653a57fa30536","xzsz_ikivy","jd_69d920b0bff34","hslzyd","xuerake","jd_41ecdeeca9aee","jd_7cc0694ef5e1e","changzh1055","13546920074_p","anddykang","longlllcl","jd_7be3aae3106a9","jd_aUoFadWqzUes","jwlpeng","li63919757","jd_49eb366235270","jd_772cbc122f76e","jd_781f5851e036a","jd_772e6a23f2f30","jd_4af7e61091dd8","jd_DuFKkJHRhzFv","jd_5827e75f3709c","jd_qskPpDDTHTNv","jd_5299cd05fc765","zhangtao_1992","jd_5a7bdf9ae34eb","Fracted","jd_542535cf2c885","ym211314520","jd_50702d616de2d","jd_POkeEfXmEwsN","jd_5e9b9ca16ef1e","wangqing6717","hfxiaozi","timchou1982","jd_7305c2f646041","jd_5158086c4e00a","jd_77f1f59e7547c","jd_4ebcd55c9ae33","jd_4c36a6863ca9e","Karisx","ITxiaoyong","jd_5f63284617d0a","lghshop","jd_7e000f20d8137","jd_5b9dc8da448dc","h13664360143","fishgz","jd_5a5d19f9de997","jd_56a936c16b23f","wdoJPCrkwRRTHH","jd_mwPVIQCHmGLt","强哥1988","123871510-177689","344341321-873646","jd_68cf92261400a","wdGYZpVSgJbHbU","jd_7fca99a093e9e","jd_4a6a98ae96013","jd_yqAMVKyjATtM","jd_789c6c9f33fca","wdNwWoeXLGcMyim","1432819293-536492","jd_73651e4e8efd9","jd_5cf5edbcc9449","jd_ZcXMrKyhJGis","wmsat2000_m","空灵幻世","ntDance","jd_41d13a64d2827","jd_61c4b8004d7e7","bobo0805","jd_blJkZQNgULFw","jd_WxPmrqQboehD","471212765_m","jd_5afaf8e6bc6e9","yufangdd","kjr1132017978","jd_TNtJzostkeML","jd_446df0de30f8d","s1862825007470330","jd_pTxwrltlZFOH","中国移动官网","wdkplHVQlgowTW","jd_7ae1624b59798","jd_48d60eae2208d","jd_xwQsHIkcpGzs","jd_5e2eaff501c30","jd_518b6be5b864f","jd_4adc3a620d1c9","jd_DnLKkcDERkFc","jd_7fdb5324444a4","jd_7ac66189faf1a","18767122471_p","1301970384-292385","jd_GBMNrhsMNNOb","jd_iMrkWDZstQZa","jd_51f8ec4809c0f","lingwei7","jd_5accdd0b4fccc","jd_55d8ed5446085","hongwang0000","ljhshing","83418535-121752","jd_5c67d6de8b60c","jd_75078dba69301","michael380110365","jd_692baf30d8940","大斌啊","jd_723d22f66a647","jd_zaCvCGrhpooG","1195244268","jd_75e16ab48e6ac","jd_fuyedCREAkbL","jd_483faaf55ec81","jd_476d4a4c84d13","rongde6688","15113364599_p","louise0923","jd_YIVGPywNoUMG","jd_fcZzcCImMMSf","潘伟地","yjy920","jd_4bd19e61f38f4","18296120936_p","wdmKUjNRvwYqDW","jd_70be01736862a","jd_4bfd2327ef31f","jd_6b3dc5c354da0","jd_4201fe5caec92","17764582212_p","jd_5bccce8da57de","jd_67b6d687f44ca","huiyi0521","jd_773654d3f5051","wstarlike","jd_664412dfa04c9","jd_uUtMTzLerLAS","jd_77a3bac4f0e44","jd_69bff1359f6c4","jd_dfxOfXfFlWsv","jd_6322003170f76","jd_57bfff7cb41a4","jd_489698e457773","17092691293_p","jd_46d959ad6679b","大风车V8","yangnd89","jd_68040f4c235c9","jd_45bc5b599d146","jd_52067e78dcdee","jd_68ffd0420cb8b","jd_IiSFjhqDnQYj","lsj585","jd_krBbffqiLtVr","jd_767991b0d0e73","lswitch","lj1258948971","伽蓝空坊","jd_537f27ea483a2","jd_4b5c3450d2c6e","喵星人大王","wdLFFfvtRbsrMM","jd_7f79c0f2eefb5","816492386-330733","jd_6729659c0271f","jd_52674a738af49","gullsky","gx01234","realqiqishop","jd_guUfMqrTbiDt","jd_50b6e4ae8ff5b","jd_715a53dc16871","taokevip","lyy1234l","327872592-435642","jd_455ff6be6e763","18813054617_p","200313508-660750","472585086-432836","李芸芸芸","要命的蝎子","gatsby2015","zc15520826730","ppzhen77","18970253891_p","771385980_m","zjzhchen","lisa_lqy1024","jinlong8181","jd_507f1af641bba","hilowei","炎天使at","dyingsuli_m","jxzlq1","jd_ppLMdxwwVCvI","jd_6c582221dbbbe","jd_40a2e28857389","jd_6dfa3207f031d","89033807-112315","15222332630_p","jd_7ca49ea782977","fawde8432","jd_7e6755ac4f9f9","jd_VwrPaToIoxYi","jd_484831b48c6ab","jd_500fd060060da","jd_jZItahgoJUbx","暖时光355","0range_K","poorenly","fuhui120","jd_5b20e24ae93c5","gooseknight","老王我靠靠","jd_68e06f69ee3e4","jd_4a9327e58b967","jd_6ba27caf0348a","jd_QGwrJnACXSCY","jd_4b73c9443004b","18407542655_p","xiaorenwuf5","jd_79694548b4dc6","lian8453","jd_71fb2b9cd5a2d","iBigBee","kyo66","莫然丶随心","sham3","夕梨乖乖","BYSZY20912","213596597-274556","jd_68b316c70452b","jd_478d5426a394a","wdNGXEcubRwCBA","jd_klDnNnqYkWOC","jd_PmTAvTLgGOFf","jd_74359c2c1aa69","jd_5a6d58d1b5016","q576309558","hl0306","jd_UGpaPSttBUOK","jd_597ed90054279","jd_5e545d791a292","951232161_m","15052761828_p","jd_MgDONmYpkZsx","jd_5898d279fa1e5","guoziyi162","jd_5b384eb8219e3","jd_47f7c03c191fd","suxsu","lwsjp886","icbccfp","wdeeStWompvnpn","jd_690b4c7e1f5de","jd_5c9dde8bb8544","a3z2008","jd_KTyJmlYQGUyM","13546494964","丁郁非","15011465286","堕落的小二","zhonghui06_m","jd_76b155b41c760","jd_6bfc4ff53ece1","jd_53c6a078fee20","国山","jd_73ba3f4a9e630","云南正欧科技有限公司","jd_76a8a40894cd5","jd_4880568dee7c3","jd_50135431e642b","jd_wKlWRHeJGBkS","jd_vohcfqwJAkMQ","junjun19900525","jd_7534bb9f5ff54","wdzUyOzChWOnMv","jd_65f41b259f797","jd_IottbtoaWkSE","jd_4c20c6840c54e","jd_538996770e0c5","jd_65e781c2d0b09","jd_7eeeb8ad6b4dd","泡沫金磊","jd_7ad0cdd6ee767","TKHS","duiyu123","q343416","wdTELPBmEGtOmF","jd_550be1dcf222d","jd_537df8f2e2305","jd_502209e077400","24442421-79813787","91114852-395105","wiwxl","jd_5f871bc900cd6","Rabb1tNYL","74548958-253275","jd_5ee5e9a06bc3e","jd_7d4811c1f4337","broots","xiazhang7","mito0214","jd_hstngDabYluv","jd_6d1c72acf4595","jd_423377a76a97b","22228169-113627","jd_pfDsHskYuQHW","许汉森","jd_5adbc1287398d","jd_7496cdbbd5f83","jd_TtlbGxfgKglU","flyvicky","jd_7cd06ba1b0cda","jd_mVuvAsqlQgpv","etzzycn314309","fanhualei","13841205231_p","jd_4aee4afd2ab83","jd_54427fd046f76","jd_7915065328918","jd_418ee6dc2aad3","jd_448cb9d80504f","张翔西","etzzy","jd_6a97495d112a1","strawberry姜","922496-74476285","jd_ZVrgIXhNZBjW","jd_4f264490f34da","jd_48d91997fdd8b","jd_661d9c48ea17b","akk6670","hdbjlizhe","jd_404141fd75cfd","jd_4158769cac40a","u_72ccdd32f2e44","jd_73d131636a946","hz_chen","211819460-64814326","jd_6f0d7478ef45c","skying12","jd_4caa02c862473","jd_44b80eca7c640","jd_5c9cdd6a70ce1","524662631_m","jd_54359549561d7","jd_72df9534bf690","jd_6fb4bd1c89a6a","jd_69f8358fb3a92","炽凉","jd_4ef68bb31dcc2","jd_sXBVAxDmdDBL","jd_76afd844fdfa3","jd_454c7d3381f5d","wdOpnlOAVojLuA","surisolo","72696189-261228","102928209-767994","jd_60a83fea04791","starskyer_m","jd_615b09d3a34e3","jd_5d2371c4062bf","awaixp","jd_413612f233aee","ssssweyy_m","jd_7b8b7312e9664","jd_KejxVcElVvLW","不写报告的技师体验师","jd_5b4d863fce448","jd_6dce5cf2ff5ff","jd_sasxykzMpdBR","cj6669","504656980_m","jd_YFzyJaLqVgev","hpdl380","jd_6f9c18d29af08","jd_7d6396b145e0d","jd_7b6a902ade64e","jd_5432be98d9607","猫卡AK","mantis123dan","jd_6b48d395dc5be","jd_584b08a8c4d18","tianyuansh","jd_4d17c2fb59861","babylonlove","萌之蚩蚩515","jd_58595891aa9cb","jd_482d62d79c277","快乐也悲伤","jd_5e91ba9a9d044","jd_783841c2e8771","jd_445d40f23e5de","273225555-494300","haiyemao","jd_4d933dab323b7","jd_593e9951eaae2","jd_7673cacd55b82","jd_4feaaece05d59","wdWQwPlqVzkHcw","jd_7449a7d0349d7","拈花V笑","jd_59ea19e138302","Lvou520829","jd_LYZOScUhrmsE","wdmyJaoNHigjJP","jd_6de6f355c6332","jd_4a09b8bf2a297","jd_7dcfdc56abc0b","jd_4ab0d7d90dd21","jd_6da9bf80f967d","13570546057_p","jd_486d752925e12","jd_74b6cfb0e4b69","jd_4fcf8e997fe24","wutaolin1314","泉州恒发装饰","jd_4e219bd31b9ec","15658163683_p","kurara0726","jd_6e5ddde753765","jd_494a1e7b9382d","yqtc93","jd_7adddf606fa17","hjysc","jd_WZXIiyIdcqKB","jd_7ba5ebf0be126","戚小帆","fanziwei_147","118242298-430858","jd_76c05f669b790","jd_66ddf88eee4b9","wgedu","Yang1154418252","jd_6d059d4bfe86b","q352015-788797","jd_65c6a790f173e","13078270216_p","小生so无礼","jd_pubtGCFfOkNJ","lianxue99","mf820825","jd_591b04225ede4","jd_rxdPsTTcDgFV","myshops","liuz9988","jd_UHvGISjkkuia","xtaqopg77","15642075701_p","ELAXIAEMASE","yejingyang520","miss_005","18853009878_p","13397105933_p","506933438_m","jd_4d71efa1e1a56","jd_IblOnzfQSpQf","13176189753_p","你是最好的自己sun","jd_BIDIrXSKfZmf","lockinasang","jd_DfpphNfifHkQ","jd_501eebf131ba7","15882438706_p","jd_7735c7cfcf036","jdzhangsm","丨点灬点","MAJMAJ","lecher110","卡卡迪138","jd_6d4c8d5f8e1cd","jd_RvJfvenPzrdn","jd_47a9e24c9f488","shuyuhua316","jd_6d12d0f010ef5","731醴陵市刘丽君","yumi_sayuri","jd_cxaGVhEfskoL","jd_7a817d2175c42","jd_dDgBLvzqmlFT","chenxy520","jd_6a563e6b18881","jd_5fba6f72e90c8","cbclee","jd_4b17c783a6846","jd_552b424a10891","zrzst","Rainjiang8182","jd_566c5fd0ae26d","啊咧一根胡萝卜","jd_4b444e1e5393b","jd_56c2c08a67968","hongyunfeng69428","4490487-52034820","pjm86958275","jd_67c9b869cd5a9","jd_406dcdec5d004","jd_4e57c17249bb2","jd_5a50f7a5bcc6b","jd_IumckYovunid","jd_43086173d4030","呵呵先","jd_762a710c9ee9f","jd_55a01c0d13182","jd_7bfbd6b491c1a","wszjh","jd_56b04b485daca","zjnbxx","wky0729@163.com","jd_629c91d300cb0","jd_58df97f32d6d1","jd_CeuYDaEPGqxi","15230630374_p","jd_bvbadcnnGlxM","jd_6f7459100bb2e","jd_7f7dc0840c9e9","kaka434","shiyuezhiq_m","jd_4b881604863b6","忘记时光记住爱","13328864972_p","13543490165_p","jd_4c05ff959d12c","khao","anyulong","jd_625b75d0c623b","jd_5c2b8580536f6","jd_63f9c0e92e187","Dabao_snow","jd_AyHBhlmiZJuv","jd_7afcc19f9e7e0","huaduxu","深情的眼光","jd_gONJjWbkXGZE","guochangjian123","18860362792_p","may.zhou_m","bragonball45","tangaijun1973","Kevin丿颂爱","lqlq006_m","acerigsherry","辰萱0927","arischow","jd_744dfe070fc88","jd_52b4f3f544764","128495827-518490","jd_5471d4743597d","萌中带点霸气","jd_51c12c8c2250c","jd_5a413385c4eaa","jinyuan_ha_m","jd_6db098631a83a","yanjing2407","jd_eiVANILEWBYv","jd_4f2a8a79ddcec","13021954645_p","习心寒","gueben","jd_bWaGoKrWmhiX","dujinmei3319","jd_7fec763ef483a","jd_79af80283e3bb","cccxxx90","Lwing-s","Vinson_Chiu","yijinglee","jd_4cc01ad784b58","jd_7380041f95f68","jd_KNZJAxXhPSpA","love7322552","jd_pUOotppxHEZf","jd_UKqfBdwvfeTR","有缘之人","jd_64396fdf953cb","jd_42e6fc7a693ca","jd_lChjTheRFGjR","jd_6715b34e1e1ce","jd_52bdb6fdfd527","xiaobu_01","小猴子乖乖1986","polluxboy","jd_64f1182b051d3","wdfCOxjbWDuJwK","WilliamDingTHU","jd_6a56bc5aaac4b","jd_rHrCWNUIBufH","13907622114_p","jd_qWTLJmRahkzO","jd_6f2c300990b28","jd_47d18f5fb416c","wdJWDScRnQePOI","YAOGUOHUI510642","jd_75f7088f19625","15937492626_p","jd_72beaa4534450","wdnhyIvBelJevo","jd_52d13954c6b70","godspeedyan1","jd_68729832fb032","jd_54f71f53f6106","jd_770cfc8764f0c","nokey19","15807187512_p","星星越海洋","jd_4d0458ed69dbe","jd_6a793bd50c853","scarlett25","ctj536","勋勋小迷妹","jd_7f099a8f9a8ab","jd_7777b53fdc5db","jd_rerwMobOQJnr","18297615792_p","神崎H亚里亚","jd_fzDFxtwdyRIe","jd_6922a28d23cf9","jd_5d4df911f990f","jd_45acff9c65eab","zxw965228112","jd_4b6020bb59d11","18876848533_prj","2916735712","lowerwind","jd_4574a89d63252","wojiaolinmu008","lianglou20_m","心一缩","周建英270","桑夏君","jd_63dffbcd5a3b9","175041372_m","jd_7a2f84f7d648e","小三德魅丽","jd_765e2477ca989","ps028031734","jd_DLzHiIWqzYnA","jd_KqCROruUqllD","jd_69f96b61578b0","jd_5bdb921273622","mnsnff","jd_657353b3f1885","jd_780bf52c92b39","jd_645db5dca81d7","jd_711e1034443e2","15256576232_p","jd_uYeraJCRBZYY","1575673889_m","jd_6cd1d5d9ad8bf","jd_47d3f09623cc1","jd_dSBnyGfETUtR","wdNiKQvhsQPOTdl","jd_4faa79754e618","jd_79d5ad701b082","sunshinefang88","jd_BuIZVosAOBTM","20156401-71030168","jd_475584668152e","jd_kHAwRzGJYQtu","jd_IOaOVzfXwJTX","9529860-30482238","jd_79d21fbcd4e2f","jd_4851858c80ce7","xlsdg","jd_56da0d6a4fa24","330158909_m","tinayuhourushi","zxyvsstyc","jd_veYFXZgSpCnC","ywgf88","jd_76c1fddab0e93","jd_RWhETmrjAZfN","jd_5d30ece780b53","huangnianhua2016","pingshu001","jd_46bc6443950ed","jd_4011d00470818","Baby-V","jd_7f21450873b24","谜团696","jd_448ae13a48e5c","jd_640a510335232","1137203680_m","stczg","jd_780a87a90b865","jd_603a2ec780aa7","michaellihuang","jd_avISbngLLumA","jd_fHTnvjVIUZqE","64434486_m","jd_482fa460776f5","sevensun0225","dong653601060","2370973-26495387","jd_672d37f08d8cc","jd_57dfb3a6eade3","jd_50b66564eaeb9","风神555666","jd_OzsbhGhxcKtq","jd_61d5ffc77afbc","jd_58c4cae7d044e","jd_HgRgnFCIUKmE","廉永康123456","jd_eFxDXIVMrSdk","jd_5c78f4a78f8ca","ccckp","ydy525","zl18850350806","jd_7e210869b9f78","575093904_m","jd_00a72e7a8cd8e","759554109_m","78486015-461948","我不用登录","zxcc110","jd_4a66e0497aa40","任笑","46969858-913525","Veroner","钮美艳001","390360650-994219","许灿桂","15555577616_p","jd_729743cb7898d","小熊猫_KIS","jd_zAQmpPtCFAKp","jd_482585c1def53","我到外地去砍你","forgetqueque","wangyi7774","jd_71310a8de4f7d","384340650-358407","jd_4359f1a0d8a60","jd_6fb9683e2d36d","zzl1799648110","9436398508","qslime","小杰杰0208","925070030_m","jd_nGCyJmocljWd","jd_416320a139c90","nana763","jd_BJMPQNgQLPPG","qq727870130","jd_7597f24e73597","cyl7356254","janice9090","jd_7f2fcc6aea484","chendaihang","jd_403caab29ba83","shixin1993714","wdkcnVxjAtFPjR","godstar123","jd_hmIkmqGzSjxZ","hc151106","1163803-50400890","jd_416133acc2eef","guizulaoying","56696731-772817","jd_74602d45bd809","Map0998","jd_QicNTxYAUZhT","jd_65f4536940b95","youyaofeng","cukovy_m","jd_5589f06bb5301","a294751267","jd_znHczPAabOAM","Happy-jing520","ershaX1999","jd_poESAagdnzVl","jd_dyaiblyNBQjN","jd_CNZrrdNWgXoD","jd_6dd1ddc0b437d","15858592580_p","jd_78910ba56807d","13121225565_p","jd_504bf0bc1c886","zhouhangxx","zfzfzfzfzf1993","cuitzeno","652404465_m","y1991x0303","xsjlzw","jd_63aa9bcf28e3b","jd_5b475d93b45a5","jd_72c4e6a062131","756619","vanlvy","18028801818_p","jd_6f3905b972a27","jd_phoNUkuzefBC","jd_78971090a34ea","jd_502f4288473ba","jd_40af5ee9b2ff6","木子lee643","jd_7167ff3b55fb7","jd_7185a30919f54","何喜---","18080581314_p","京懂1","jd_58a0fc0c8e2e4","jd_58a48d9144b0a","4101852-469698","jd_734c0b3b102f1","西瓜桃子子","zhuanxianc","jd_439dbbc1c1aee","ivery3","ganyunyan","jd_axPLzWnpwPOX","jd_58a05ac591297","MarsJJ800","jd_oaNlSvFFeFzZ","jd_486a08f377fbe","a5625667","hackmeng","598501802_m","jd_7365f5b942ee9","u_7a5230ba535df","15266171066_p","hishowtime_m","jd_712532d1d64c7","chenjiangchen","kissyouhunter","jd_6fb8028ea0e2e","jd_tlsBuARsSUzh","jd_HYtFwCMFymNp","jd_75d3855866087","jd_TUNvgsRMrnCD","JRSD_IUkZt0663","jd_7d6f8d68ded2e","1307976-34738981","jd_TbbfglEVeKsZ","468611503-386891","a001823","jd_49f2240648ab0","jd_71176dc6fa77e","jd_7b30b02447495","jd_6def35e0e56ef","jd_uJUbMgqksqrs","飞天雾","娜些年","jd_dEHhjWErOHvV","jd_sJPGnxxVaDAL","banbanbu","lg900923","jd_mMsAZQrwPWnX","jd_5ec698ffff3e5","jd_6a1b202e0c7a1","jd_60664e92856ce","止步sh","jd_6da7dc0933477","13622778340_p","15610403775_p","jd_5b477df0557fa","yukmingyu","jd_67b4548a16f15","jd_6f79095dedeae","jd_67e0066ed05ce","guhong1725","jd_AgYzygsFvCdq","小旻仔","soonmy98","jd_4138f634ebc5f","jd_toyZdkiwxdda","jd_xDUHWWNApkNn","301567704-414767","21839185-232086","jd_57c7bf74e0d09","jd_79b2091017f00","zhangmin1101","jd_72a2daea52a67","jd_cVvwjFEvVkZD","Frank陆建","jd_6eeafdb938ce7","jd_4cc0aa1a39e87","maogeryan","jd_659dabdd623cd","jd_IEtrnveIzffa","jd_GknoZTJyCjBa","liujin19931001","greenora","huaxi88888","jd_7cdb18dc37892","jd_700e7f9ce8e4e","299778235-716154","jd_5521c159143f4","jd_65fad927fcae5","jd_QttlHZZEjMtS","jd_5692777ff432a","hjw3.9_m","jd_5102c078ee991","1315230446-107837","1504766129-122587","QQ爱360","XXX-xia","啥也不啥肖大仙儿","430224869-23470793","jd_DfeLlGsywVdi","13758288111_p","长城二号","285754577-895345","loong19880522","2101227-87151128","JD729003380","jd_6e2e829270da5","jd_6e0a2fb0da60c","取什么名字不知道","jd_6e8acd2a62b6a","yangjunping00","jd_6ad50e4543a2a","15230573701_p","lizhen2104","jd_747b7c9451f96","jd_4e63cf7251a4b","我愿随风放逐","xxzdk","jd_53d2e8f286142","85169851-975868","jd_6adacee01526b","z1325230400","jd_7c24ac681ab60","xxtt1013","jd_70191d2deb1c2","jd_786b0e2bf6e37","jd_RXDmgQTzccBO","jd_69866dc733f1f","jd_7eb2e97403e89","18832792525_p","jd_68345a863df57","jd_4b55fa3902b13","216209099-737771","jd_pimUqacSXLbw","ecstasyk","jd_57660b73f8783","189873209-311327","jd_ilpjHcQzJNTW","15806330163_p","jd_mIgPRLlkvIYA","jmulc11","jd_DnUzujaMQOFo","jd_5d0600f7a5392","水晶情玻璃心","jd_7db9024bd4612","jd_zqtdEtpSlSoH","jd_PNlgcWsCVDUZ","门里添心","jd_42dd76968a47a","yoyo940429","13608034291_p","jd_58c22c5d9b443","jd_FPgBDWcuJviM","jd_5bee3e2b8fec5","jd_66945f9f6acdf","jd_7d185c182c479","5544554-31724445","zxct0419chur","jd_644ea6dcb96f7","zhaoqingyang1992","苏绾缡大人","jd_7a16cc15cc8ae","jd_5046b3c657808","小华干嘛呢","hongyu_buy","jd_4fb4c5ed53c83","15997175666_p","jd_786aa4e3afdc9","jd_5273c42bba08c","jd_58d242b8977e2","jd_569d2aa6f1cbe","chaclus","jd_EHXYSphEOKMf","康师傅ace","wdYCvpraxQEiqY","jd_5437ba0a109b2","jd_6566c91643cc0","jin1912","说谎不说谎","笑看成长0101","jd_438a9129c5253","jd_7d22878925ee3","jd_4d02df6b09223","jd_6d4048834f1bb","jianfqw","lohzyoh","xushufang1955","jd_51c5d21912950","jd_646b3e4d7c33e","jd_58ca9f88787b3","zhu376086907","jd_452adeafbe7a8","jd_516c1adece7c8","jd_47c0f7b240000","smarsh110","1184774-50702229","lidicn","jd_74acc062fe111","whiteever","18268944224_p","jd_5b0afef7b13a9","jd_622c37529a7c6","srhssg","宝宝宝宝宝-贝","jd_4a2510781084c","jd_69d1ba94e6203","jd_40e80f17d2bb0","jd_7a73309b018f6","jd_5608d1e0c96ef","3810421117","chenweirose","h116996","8731971-36870176","325442-38031410","jd_5c8b24584d095","wdbCqNRlLgyxZD","yzchenmin_m","jd_51b8d0b85df66","jd_7a19121b673b0","jd_7fea62b8b3afd","hydegu","fhw373021370","jd_49050cd6a0b53","jd_51432354cdc52","xiaojinzi_78","jd_6dac99232b99a","jd_482b3fe115fad","wdohzAWkkamrWB","战神宇帝","wdpyEoKtDtccKV","wszxj","成都男装","jd_558ed75f52d39","jd_6def606f4acd9","jd_5fb602672372b","15538198811_p","xiaomusen12","jd_45c3959ef51a9","jd_4ef2515000c9d","jd_7fabc1ac9664d","krdnhsl0z0","15913375100_p","gerald1236","jd_glRcOCBYCoEL","jd_rAncUVCcPQmq","jd_70a2b34f3fde2","jonneydong","jd_53e9eebe5239f","Donna111","jd_bZEoeycXEtus","jd_50757d9368b95","huangbinbin19871015","钟晓歌","jd_6596981b78035","jd_JIEZUMmNqmym","liuchenwgei","jd_7f337f7ae06d3","jd_LgmcVBxLVutn","jd_63bc9eba7f7f1","jd_rUQRSCRsOlKq","jd_5319df4f7e468","jd_553517820d957","jd_504ee07e25fcf","DGRHT323","jd_70305b919195a","jiadeyue","jd_cseEvxqXVQog","jd_4209082db66b1","jd_5f83d3ea32104","15751866563_p","Esc白兰地","jd_59bd41c63a2d0","jd_qAPbUFcoNmWn","jd_506ba3c4cefb7","jd_6deb50a169529","jd_7296a9ea9fca8","取名难呀","15751869786_p","jd_6bc97ce7fa263","jd_7e457764c1227","s43381385523831","jd_yoLbCPKJJRok","jd_43aed93b66382","沉沦你的温柔m","jd_56634c5271b7e","jd_687a7ef8f856d","jd_51bce359e3935","jjjxm","jd_46cc9728506a9","jd_4ec05f7a5f8d5","jd_76f826636bfe4","jd_6d9c949cbebd0","jd_61222983682bb","jd_578392c4db045","jd_6181e8e5c2fd6","jd_74e77ebe21443","llikweb","hu18024369668","jd_5325441c7f867","jd_7f87f7161dbc7","jd_afIfAHwhNsrh","jd_7beda182b8334","jd_77734778ecdd5","jd_406ea45d5c149","Avous有你","topsean","360650429_m","jd_6601a34980bd1","jd_52075142043b2","jd_ToPNeAWagTrG","jd_6f8e28e1baae2","jd_65d1975978d94","MissMissLL","jd_5e6587e3c2894","jd_ESFgYELRIxPu","jd_5051f44a7e021","spicylin","jd_4372ab96406fb","jd_7e18f30e404d5","kevin_mails","jd_58e586a23dc44","昵称为","lannily","dove阿狸喵","jd_47807426029d1","jd_4020c6ffa8304","shijiewszq","jd_46bbd7b961896","jd_44a9b0fae19ad","caolqdbiaozima","jd_hHGRCbIgEBAJ","jd_4eb42c72508a3","jd_62219b6f3a599","jd_67735d41dc7e5","jd_7e19b3311658a","jd_42c628b83512a","jd_58b995577fd39","jd_57ae81425d62d","cyli1983","liurong613922","witty_huang","jd_42b593b147033","jd_53aaed35fba54","1078619136","jd_wEpVqnjLrqlO","sylvia19910614","15182769034_p","mrjus","jd_77869aaa47cbb","18316554149_p","jd_NoYaAFJQyELH","jd_5259068c7293b","jd_6d7265ec5b54a","jd_64d41882692ca","13456871071_p","170497154-805298","nogamit","remon602","cnkiller","w15398707863","125067951-184073","jd_4a88797084ab7","jd_54bad519f5207","jd_514c177b4bb03","2016DANDAN","jd_71cf9345601b0","tantion111","jd_6c8f5f28648ce","953612885","古老的辰光09","zhaopan881208","jd_4f950a77e37b6","jd_zlubTQjgFEdC","waikou22","wdnRnQuzVDDMve","skandy","litis","jd_WgUELaQumukT","jd_51e1008596137","a6541537","jd_59591e6196cc1","jd_ebYdcDHKRolr","jd_dZfhsACsNTNl","15516261635_p","jd_673877a226b2f","jd_7e655d8c80567","静听一雨","Angela79","千千小魔王","涛拐的大哥是小弟","jd_550e9b42e3497","brian00007","jd_6712a10720935","kyohua","jd_ekpwvPmEmSlW","lhy740","jd_xGwYvvhNFPhX","jd_502e7b733aa32","jd_5dd01752c65a7","18202539215_p","jd_oiJyLMAAuuXR","ardan","15889853241_p","jd_40b77af53dd75","羞涩的小星星2","b506129197","jd_43c274ddf6e80","jd_vLbZxUqSjQbu","49314678-223182","jd_5713cab147d1c","壹仟99","13127922312_p","jd_4f5f5683aabb2","jd_5ed33c6454c29","jd_5dd5acbab6128","jd_738a5cc46e13d","不妮儿","jd_IheapviReZDj","jd_68161b2a9c1b8","jd_45444e7febfab","jd_51a1f20a1f8b5","潇at6959","jd_muAxzPIUZDWR","newtab989","e123nrt","jd_61aba17d07a98","jd_636d87d3b43ff","jd_TFyplefuKcsn","abc15007","jd_74f9933c878f5","jd_XRxGFEykHUcA","ss836580793","jd_LldBcOappqSk","wdXgoFpnhPGJvj","15950078269_p","398131800_m","jd_KITfHedsoTke","jd_4705f207cad87","58211551-69764891","mrmx","朋克张","jd_4114360803f86","jd_6734d3ad3fb7e","jd_48d9bb09a814f","ygf0606","jd_KTKbrTgOgQqQ","jd_lADrgryhBOhA","jd_vhnvpoHUBmCn","jd_DTlfgmaViMoS","jd_61622c2d18a31","jd_5ca10591a76fe","wdCHrQXHjUZbRQ","wdOOHkVsjkulis","jd_540438f7338a5","jd_cQlTTFHOVSul","jd_4485084bb2bf3","孔兆光","jd_7bed9daa5acb9","八卦百怪","你還怕大雨嗎","18672794090_p","jd_43f5183c26e89","15992668698_p","jd_NlahtucOjrDZ","66036013-930172","jd_7d699cac6add2","jd_51457d0467361","highwayzhao","jd_7b4ee222c24b6","18750917339_p","jd_773a45c21a004","jd_6504e84526dfc","飞翔南007","jd_554a5a920ad20","wdSzZMmjqngmKa","jd_76526846dc608","jd_494a1cc386e94","jd_578b1f3c2d3d9","冰的原点与啊D","jd_4ad847181dbaa","omahum7","scoryi","夜襲寡婦村","jd_5a2392ce5e0ab","amymyg_m","赵子程27","noah_zhu","无量那由他劫","18191005883_p","jd_5f74b9d2c5226","jd_nvfDncVQdGBP","darling5460","jd_64e963e7266c4","qw8x573f7","jd_48680f023a56d","jd_603e00ea85cb6","jd_67ca968eecac8","jd_718e5708f9749","狂欢快购","zhgt_1983","humanmanhmm","jd_4290b578e8bd1","jd_ZAbJRSlVBRsd","jd_5ee36b3e11a11","jd_4387b7df55015","2098484_m","jd_59934024a5607","jd_69a768ebe019a","pl711","jd_75b8d794327dd","gas123521","jd_DGiwlsJkcrPU","jd_wLrZgiSSPWUR","jd_gJFWKlAZFZvM","gygycat","jd_64bdc2c8ff6d9","wxl0520","iblxjin01","jd_62e335d785872","jd_7479eb1db1fb4","jd_647b9e27199f5","firecutey","14927540-33121626","许跃忠","jd_43b53b358b8a1","13438477248_p","37172722-961459","Eamonym","wjyking1993","jd_42c84482be86f","comedian555","sdd3366","jd_kStSrOLWBLfl","jd_fPhpTKxJTHfJ","jd_7005bf4297626","jd_CSMEOaODjZBQ","jd_785566aab9661","lv23ck_m","arthasqk1","jd_72e8a707dab5b","46013-12261057","llqbll","jd_5270dc46552e1","jd_7e009e65c0d62","jd_7d05627b9a4c5","acgpiano","jd_5652b1661f751","祝成1991","jd_TrdeqXzniZJu","低价内购","jd_7fafbc8453fd8","13167900559_p","jd_65d66b0f8dfe9","jd_7d14b8a42f416","jd_tPtuBnSFeJmZ","jd_gYZJWQtiKEIM","jd_VhMpxcFoyDiH","nixok_m","xue0515512","jd_ZFgHdhHzjKAB","jd_vqTPvtgeWVot","jd_DlrPVqdCBbUI","jd_45af96e69596c","jd_5dd7f8881a236","jd_6bb22b97952dc","jd_649f3bc142b6d","740322241_m","jd_7ae2c2691cdfe","olivefan2900","jd_607f31db6e537","LIN4102","wyy20160822","jd_64cebc6347d93","msylbor","jd_69f32f78f59c7","jd_grYKuVRGppuT","jd_4e7a531f8c712","jd_RcPzDtWEwQPr","jd_6878939f92dfb","jd_kPyPdNudtZYT","lqrqw13","Rico_RQD","568716799_m","jd_4e7aec37dad27","jd_6e52965623100","372471974_m","jd_7dc03bbff9e44","jd_5a140fcd46fb0","jd_KMseoKvXPawE","18662585060_p","jd_lmyGloxBTNBY","绯雨之魂","lushuyang","jd_414fd76e1df55","xuyihan5150","jd_594d1eeabafdc","13437114018_p","jd_48a2d33e34ab1","jd_505a51f7d5d5f","jd_pSQoptfRoWcs","jd_kaOMiAvcusKH","jd_QYFurnKfCtSO","jd_pioGamHyKJDE","13323818713_p","jd_oTxVbAWXuFuR","jd_ItcKOTaBfQVV","李子英","dengdongmm","jd_6af5bd5086f68","lxyc0319","jd_QBjJWbLztmBc","CrazyPandar","jd_vYpugUnYkMld","jd_QCmYkIfblCdm","jd_4b51ff2bb143e","XXXiAA","455853695_m","jd_SAZAzNRjBOdp","jd_6f782dff0efbd","jd_5cf927176727d","jd_461e02ed5a766","hzwxxg","jd_6bcfce0c9e1c8","chenzhiyun2002","jd_4085e6d765c8d","jd_51fbaa1c06aad","jd_7dcaca7cfcf7d","xhuohai","杭州爱购电子商务","mzzdjd","马化腾是条狗","woshicl","cuihao777","lgz-0_m","周游1998","jd_42cd87cff03c5","jd_5bc112ccd2997","算什么男人999","jd_dbwvvtqZzeWa","Aquarius戴戴","h821463015","dishangdeshu2","jd_645fe67f1d841","jd_7343ea3a74213","jd_4cfe8f2dcefbf","微笑追忆","苏彦斌1123","rella_z","jd_KFftRLZEbRZm","washmi","vanishs","朵朵蒲苇","673551359q","dxcqw","hzj9088","lulu19930116","18566208711_p","jd_558bf81a6dc2e","104720238-540078","真伪","努力吧皮君","eddiezhong","jd_6e73ff4033057","15207629282_p","jd_6f34dbaa5410f","jd_BWcOWdQZjNbF","jd_4aa0d35f01728","8690913059","jd_635fdd219f7ae","wdXtLogWBMZpQl","Wolverine","jd_56d171be38563","jd_wiwfKlESxiRJ","applegod","jd_6cd172d1dc72c","jd_xUgBnOPdGlNr","alexninthsky","jd_5d2938ecd0abf","jd_cvjcXhsjvlyE","jd_5cd95a6669868","jd_536a3e8f8c7c7","13827260865_p","jd_60bc807eab629","15188848287_p","JD_16308330","tb197728_88","jd_kRZecAweOxXA","majcmajc","我是一毛钱","1592896056_m","weishanglei","jd_59c6e5390170d","jd_5501dff0826fe","43197738-156512","jd_5c19045e0f469","wdoEsAZrNvADWC","jd_7afce746ee999","34221292-412810","delnedved","jd_4360c35dc07f0","jd_qXfKwvQrAgsG","jd_47ad45c5094da","15530278688_p","jd_7a56858ab729c","jd_68b09d1ee1857","jd_554d396638767","jd_758e413f6c061","jd_dpjREgDPDUCm","yusy仪","anou06","200302732-735144","Gail-萱子","ept_5a5358ada3a99","jd_413f967f3c261","Chasen_Wall","wangxiaodan0214","寂寞无言","黄贵阳945","29229000-50679179","jd_aWORvnPMcBlM","60038754-618451","shanke0207","209808149-876521","jd_6003245369c07","jd_66e3be8d977db","jd_66b4149057d3d","ordinary82","jd_HpNYDAbVzIoz","jd_6273e721338eb","olderhera","jd_5fec9abd209f2","jameshefan_m","fallamong","jd_5b7d383afd026","jd_5b9c4abb68a67","jd_6018c8765c24a","18101897638_p","jd_71537cdda3444","709649375czg","jd_6284b95b692cb","LOVE小然","18612982084_p","墨衣亦香","89602627_m","wdHaNMEgSxFVMa","jd_71290639f09db","jd_CwIaiphtptRS","W_aling","jd_HipAgClMiamJ","jd_JOflAjUAFoRj","jd_6731c0aef2eac","jd_ADclXLytmaSt","514279080_m","jd_jjszZJAGkwwO","jd_7fbb56a65b75f","jd_52f7e8f28c1e1","jd_7d3581978c69f","jd_5af9565438279","wdMHEBmFJIpMfF","逆风天羽","qiyesc","jd_5543aed166fb0","chenchurun","jd_5984665327845","jd_44fda8d4f5bd5","月色暮光","jd_707f2860ccbab","jd_638fada6e5fc6","itxubfmh","jd_HKJmSKxKBfJh","jd_FKSaJrAQIMvr","jd_KYvAepGLwrna","hongchunzhisu","jd_5e3b5c3394d5f","152941650-72762258","小新没蜡笔520","jd_4f45b3446df9a","jd_6cd93e613b0e5","jd_6a63278040249","970965267_m","jd_51354f7356f23","jd_4d55b65052cb8","uszxw","Simon770520","jd_XQtqiWxUlkUE","raulredondo","wwwchenxcom","jd_IQHzscQNJjgJ","xiaopeng12342","jd_RnHSmkiHOarh","jd_616a7d466822d","deadsheep","kingjia360","jd_493623d280e56","jd_597510992972c","jd_40264a611e4e6","symon_zhang","jd_6fadcaad41b1d","jd_76ef1c850e4ea","jd_668e0cd20ddbe","1074300144_m","jd_6d25054baff81","zhengfi","葛鹏然","garyyu1985","18218260415_p","jd_63ffa36a38fb9","jd_665a3a01e1d0e","jd_6b265a0ebd7eb","叶子弟","jd_786b62d215dfa","vucuxuucu","马翠太红","jd_6d7c90bb65131","jd_78b0968efbaf3","jd_58f55dad5d5b3","jd_TeCeaKPxZRCu","13776471208_p","MoShengRen320","jd_63aa051ce54cc","wdiETYDwXNHOXl","jd_6a449cccf30b6","189393960-237124","jd_59b2bc27ff41c","jd_5313216631e4b","numeric","jd_43aef86abdf3d","jd_405fa9e7d15a4","jd_6536bf27680fa","93404493-47449165","18504245591_p","baiwtd","jd_fkwxsONDgxgG","jd_qWjQzScVVKbS","wdNdZvERNcNWGjR","jd_4a016e8c7c5ff","whde1314","lingdianyueding","shirleylili03","13645602894_p","153919351_m","jd_51c99eb72ae06","jd_46c72ce77a8e8","安心sa","hasbony","jd_52b340cad03a1","13006139461_p","kwl3018","zyh94946","VIVIANLYU","jd_75ff9698a8f61","jd_73b729b91539b","jd_WszfXWATHfMO","小灰灰5781","jd_zFxxakeVpDOi","jd_4abac797cddfd","jd_7f0e7eb799173","闫哈哈","wdgtLxEIojdcYP","jd_6290b2a915094","jd_7351407409d92","jd_55100f92fb3db","jd_5ee02ccadaf5b","jd_noSlDQMWTGAg","心动频率","jd_70979029b0cc1","528418915-571036","wujialei199122","125093781-820045","jd_531c6914c3418","jd_70387b2e94e07","李润胜19840404","15868451108_p","wofyeshang","hhx917","jd_6a01c6ea3ffd2","jd_7e4a818be025d","jd_7c09025d2169f","jd_XAyNyKIQrqtt","zdvk123","jd_LLwswwfjoncx","gxt789","jd_608d5d0098b88","jd_6e1ca97c6bf43","jd_7041fa474c0b0","13667148774_p","jd_558194a0e24aa","jd_59490e085bfdd","wdUqLujSGisael","wdNxAWBrIIVBJAV","moonbox2013","jd_JraeUpQvlrFN","396393847_m","wdqseDhnlLAHdt","昵称脑残粉","jd_71e54dca8c4f2","jd_5f22d4b12ff46","jd_64fa1bcd6b583","jd_7f77227dc0474","swr1208","jd_7140ca406e2d5","811674860","jd_47cef7ce87d85","jd_nHwNYsFMHlye","jd_gCcHpMbTafKf","jd_4c45fa3597530","renq08","99480329-15783632","jd_xOUjzgdohpUR","jd_5514d3e64441b","jd_eQmFoShGrBuM","jd_fAUZwDJUuOoW","elsa3333333333337777","51512439-793989","jd_49cf050c8cece","cqxiong315","jd_483eed7052d1d","jd_517f6a2270c46","jd_AjtGNgvVesTx","jd_BfkqoEjHIHLk","s594320454","16966875-54264347","jd_5f1631c9f1ea0","jd_RRkWAxaRXnhe","jd_408860d4ace7e","晓爱大爱","15895417928_p","jd_739c22d37117a","400089924-68474791","朱奕帆","娟juanlovemi米","jd_47b25c888febc","u_515ea7ed73075","18096457227_p","jd_iJlakTehQuBK","橘子小姐43","jd_7616aaf47adbe","jd_65ee6ca1ae2f3","jd_570df851af2dd","jd_707c3eca96215","13232657235_p","fjlm01","jd_5ed7e5af67499","18915945454_p","ldm720329221","jd_73646b053177a","jd_5dcafbcdeae92","13548227427_p","jd_4d58e6e8f3507","jd_76a9e5444e4c4","jd_6463e58add46d","jd_5f9dabb758d2b","13814889607","shmily5meng","jd_kCqzvdNdzDMR","兔子不开心","jd_5c9857d271249","jd_502bc605bf130","jd_ByfCZxdKWrfU","jd_780e1fe0c95fd","jd_DfiqKIflQfgq","丿丶安雅痴","liuyixin19_m","2577895035-802079","kitty174221","小莫0521","thomaszhon_m","jd_50373bb65b266","zhangenlei","med2012","liuchao_me2008","jd_7ab4c657bcc31","jd_PiGyAMYLCyjx","jd_5c7dad6aa38b2","u_49874b8870472","jd_PWJQPlIUAXCE","jd_5d41a48d4637e","814093043_m","jd_79e81f7bf90b5","jd_OuirWJhUPvBV","15018392557_p","wdAOEhmyxLlsJq","jd_75c735e8bce2e","jd_kxbWpfTjGRrK","wdzUmRKFdUeprn","jd_6741575c535f4","jd_4e3c61a9e09b8","549631678_m","jd_MqOPNBEgwlCX","jd_62aa02729dec8","jd_6e53d2c815dae","jd_jkaMczTVjAQg","jd_67cdc05604f0a","大眼帮主","elsa880409","jd_79527c06107ea","jd_YPkcspZvUDdQ","yvesyc","gdy010406","jd_aqzAUqeKttiT","230378157-887079","jd_clfkaJlhrFkW","58629721-986769","jd_56ee2f412275d","jd_74ba437c20382","gdtslyh","jd_arKgiQfIMCHO","jd_ZHsleqCWZUvS","lyh723501","814134-99118288","s1913412942447829","jd_59e30701eb0b2","jd_4bb38632958bc","納籣","卢海鸣0626","jd_5500dc3c8eebb","jd_pIeXyAaUegnL","帅鸡汁","ljr_hz","Ginua","jd_7dc8ae533458c","jd_7d5fc5f9ee57a","jd_46afe8291863b","6519498330","18683376280_p","bobzlf","jd_5e94b17c562ef","jd_48c516b8ad698","zrpod","419228403_m","536479576-493284","zjcxmmail","jd_592778f4c2835","851428876_m","jd_763fc7a0e1c9c","jd_EhAfPsDGaOhn","jd_UFfUGCaEKPIq","jd_62258d019cc4b","baal24","jd_61954ab34f50d","jd_6d825fe6cb581","jd_4076e54a08e02","jd_62299dc9a6e72","387202068-860105","jd_yYMZGYXkfSOV","走过路过的客","lxq1980126","jd_658170a75c42f","jd_7b49d1f4f6ab6","爱在战火蔓延线","jd_4a109b75d1f37","from1989zh","italyc","78399446-109916","徐逸7886856","f17895916578","jd_573c51ced2830","jd_54e6a8b9c6f80","jd_6121851c0dfe2","fobin","18810669351_p","1802978150_m","真的是ri了狗了","meiam_m","zxwtmac","jd_4785aeeddde21","jd_56912ff87a3ef","跨屏浏览666","糖果里的果糖","wdzCRqFlehDdxY","18976390040_p","jd_ykSrNPpXDrPo","jd_4323482e95be4","jd_72533bcf00527","炅炯炯炅","jd_tfEjPUAaXsNp","djd0351864793","248358330-645106","18829716018_p","981423","liuyisi1","jd_7eb0de64eb25a","1125090444_m","jd_70915ce928133","jd_gHaaNzkPDUEX","jd_4ab867edfe5a9","18666081810_p","惜格720","tianyong7201","huangshu003009","jd_4f33d049b0c4d","jd_644e3d0752950","h742419098","13128044-270649","jd_7fdcd72af3669","194850858-327639","jd_539e77814d0cb","jd_4f69afdb8d88e","jd_48a292e27f91d","jd_vhCLzjPNpWDM","追问3740","n1330243","yygyyg888","jd_744e53981c914","xbluelight","mztk888","jd_586008629b388","jd_SbUZAmZSpTXO","jd_4f6664f2a7bdd","jd_GzwninwBRdVN","jd_478d44cffdef6","jd_OnaEPrmnYvLD","jd_5b0b6ae284425","wyd025598","jd_HoDjHoIFKfjK","llllg324","jd_68eb3c31c4223","15988820461_p","jd_jbiBcflVMAUu","林水净","hotechong","15073128228_p","jd_LQpXFJZujrmj","jd_41ea587e6055e","jd_oWibXuqTjPQt","jd_pBYcMIZyEVUx","jd_50fcce8aca6be","wight3","jd_510b024703ba7","dsmmmmsd","zhangdics","2534873813-245178","jd_4ddb1a4bfdad6","jd_5e72a50391b47","绝对三哥","jd_6b0287ff04eb8","naigu","玢烨","jd_7535c80722fdb","jd_5deea1af65c9a","jd_422bceb149ff3","LINHUA1856","jd_kegplytXHYbU","ycstars","felixtao","jd_43a821a624571","冠唏","jd_6b0945a180138","jd_5236e81eeb4ef","bluesnowvictor","jd_68370fc6f71ad","jd_5fc1a0c61ad23","jd_63fb7be1f6c3d","jd_6f6b6620b6df5","18855911516_p","hnsenwell","jd_FOtJKRCuumUL","jd_580a270f06099","jd_ItrQJomRFWcN","jd_444da7b6754f8","jd_GcqDtkvlwCSB","jd_4ca803f88e3ef","bb7711","jd_KVFKBSePGaHP","tofanyj_m","jd_rIApqMfJebYp","jd_5a8868c3a525b","jd_74cbe490b01a7","644393232_m","jd_5eb1a6614328b","jd_rVHxSvWaXOpm","某个80后","yz_zhangbiao","wangkun0915","jd_63a56f2edcab3","jd_5a79b121ca278","jd_6f0588007a576","黛色93","jd_5f8768c5cc49d","sugegudu","jd_4f0ecb635de62","jd_qAxklexpwuch","jd_ySTVfNCRKIYD","jd_710bcbba18fc4","jd_60017300bcc75","pguo0403","jd_5840fdc0069ad","shaou1011","cgy7986","64568873-73221227","13517408-84718902","jd_646a33519f4bb","jd_44ed99616b9f2","jd_6cf4f03e6f52b","3026969-36468296","15395265598_p","凯凯123123654","jd_PXrtoGbilvml","科密办公专营店","jd_YiBDfDwBijIY","100841283-48007621","jd_HjaAGZlxyXTU","jd_5f25309c82df8","jd_592c3c4dea16b","cenzendong","jd_ncVxhOjWbQuy","15250157325_p","jd_AtMuAFKYnjep","jd_czFYvTWoLkdI","jd_45a1f92bf6dfb","jd_4adbbcc044610","mhlmhj","jd_6f94963f3b4cb","jd_42ba8e4746a5e","jd_4064327ba720b","13610068682_p","jd_vuZsHogTySvU","jd_4dba3298f87d8","jd_AWMqPnRvSjyc","jd_wcGrXgdMtSVz","charleszzk","jd_4aee5c761e4a8","jd_tsLqxVASjEqr","jd_77b08670ab4b2","jd_6cd0b54924d93","wdPgLDplbXbxsD","18810782431_p","jd_4a6c459a176e6","jd_4864ab9ee6c24","时尚001","15058610696_p","jd_5d62466a38e23","jd_784ecde4b31a4","jd_YrTRuiEibBRB","jd_52f5a82896010","_ys小爽","聪哥000","jd_6cd5367906d9e","13405315999_p","jd_7d8cbb19f239f","jd_4487318189fc6","jd_68b20c92df1bc","jd_75aa1225ae722","jd_78693f6e48d9e","蔡露丝97602","zqbemail10","jd_5a4cc5ba30ede","chuxiaolong","jd_7763c8c6cb4c1","jd_69c5daf517183","jd_4e0843d87079a","jd_6bacf3a1d7f9e","jd_65a34d3d64b3f","231585353-40799365","jd_CgcXETDyPGnw","chc360","jd_4de23ed9471ec","jd_7d25ecdaa50e5","jd_770468dd45179","jd_6915e0c12b773","18678610371_p","jd_5db34ed7561c3","lqh807","jd_xsEOypCCRvSo","jd_HKHkkGOKAjvM","蓝精灵52199","jd_yQWFRNinlHsx","冰冰冰哥","2151","jd_578134e7cb098","jd_6de5dcd549921","jd_562cb16d298bc","jd_OGgErnddcUwE","gsf310","love-5200","jd_53a334e053b78","jd_AOgciXzpDIZv","wentijianihao","jd_mEiOsiaIaoJM","jd_59175f77b44d9","jd_40985e493ec9b","okhamburger321","lzpczpkl","chenil","jd_45fdf62a770b0","jd_RElwEyeXNQvI","jd_VBFRmwxltfWp","jd_YZYwHTggqRWy","jd_78bd5089bf782","461842153-76522383","jd_6b27f152f9a87","jd_WZoOdopniiTI","波波特","jd_JmggrxKklztY","jd_AsXeKwGZDTTJ","jd_5595020fe56a8","jd_63f4f38d8a39a","迷失的遗落","13702281711_p","jd_74adb5130e848","kasuyar","1715000","wangshuande","jd_78d76ea1f25dc","jd_7547baef33a21","falian","jd_7604c556f4cf8","jd_ipJtCjgeUIII","jd_69f7f8932032c","jd_gSGQKVxdHEXE","李树莓派","sc9883","jd_6b684e6b9703f","jd_5f0b9e9df5be9","jd_53877a8bc7e04","ailous","13093739035_p","jd_uiNBrfDTVlSo","15942270151ju","china13","jd_JQyqdgVKYeJC","jd_7426f44bb7d5f","jd_7897c9daf5771","jd_472fbf2b3df42","a365936112","jd_DkJwLfDfTnKA","jd_718c70e634b63","jd_4ff8b64b74065","jd_48c9a0af957d6","q369838","W79654816","jd_kJNCjlUkdjyZ","70991276-53492669","jd_6c2a20ba3bf19","jd_4bfed3a8ebcfe","jmt1847592017","jd_yHWBJCdxeAPl","chenqiuxia_mwo","fangdong316","jd_567a2845b57a3","jd_5afb862a40b12","jd_75fcdbd88bec8","jd_728e140a46289","jd_481acaafd93e4","jd_sRCFygOmDOrt","jd_7c097e0b32cff","u_75b77dca27d38","wang92332","jd_56b8e4b5351eb","jf-chase","jd_mTuKzonIMFMR","jd_662c51b51eb62","lrswcq","jd_6ba33a5ae1aef","arborealknights","jd_jPGeAqoXdGBa","jd_7ddd5a2f73005","jd_49795050ef09b","jd_7609150418b32","wangyuzhou573","jd_6647adff66b2e","浩哥购物01","ldy8103","jd_76affa59d2d2e","jd_481b21535d0fc","jd_499a13b1987d8","cathy_loo","jd_4ea953cbe7d37","jd_739d1bf3bc47a","jd_513cb40b57726","jd_529a614ab1230","house_shirley","jd_4fc6de38ad118","jd_457437416b0ad","jd8289199119","joy6996","376916463","lshlyn724","jd_474e96b3661ee","15680953553_p","jd_5fc9dfdcd73cf","jd_416b268caf31a","jd_wutVACFOXrwL","jd_5ce52a43462fb","jd_drZDCtLotuOP","wdsMfjSkpTsspc","18971279916_p","13916199617_p","jd_dKNeKpXZueVr","wdJtPSjsHdGDaq","wdiCjnPfprnqPL","jd_6c44d19c6b7d4","18320696500_p","jd_4db95353bfa19","jd_6d5972c0339d4","jd_4f7db1d420122","jd_48b201f78872c","jd_itYWPVlAtGlX","jd_760248d08af66","zsh小怪兽","jd_407efd8138ab7","jd_66ad07262e069","jd_FbNrdZfXUtlL","jd_cMZzoXPtVbtZ","jd_40ac4f0259a74","cj8023kkllk","jd_7ff324a0c5636","20415442-995876","jd_58335feb20bcb","klhh369","jd_793652d774879","k851026","jd_SbMVzgYADlvj","jd_58b39a29cf7d5","Four-years","jd_54f6ad4bfa0a5","醉夜江湖","jd_520b9e2b193fd","jd_nRcCCKqWNeWh","小张仔221","jd_66958b4e38ed1","jd_64a01770d5dea","ycj1379","13675035165sxy","numgao","chaox0329","274004892","jd_70498ac130cbb","陈泽鹏4959","jd_630344a996fa8","jd_7210f9e8b60e9","jd_6465b8e9d58de","13675861423_p","羊与老鼠593","jd_425166d54d5e3","appwgh","小林子_0926","jd_gthsFMlzZqkX","墨尔本1111","jd_576242645acad","jd_647b91bb06941","jd_608455e77b0b6","jd_426c379b88de2","jd_55c3c7b4407c7","15152212270_p","jd_650d6e6b9f107","jd_6efa4fa938431","jd_ZAOGplOVeHfL","jd_6400a3ac24cef","jd_7c6de695ec440","xiapingg","jd_MEFgyIZyNrAW","jd_7f318f4146f22","haitao0826","a8728811","wdooaDpCYNacKV","a785879952","devilai","a1213655570","原味-zy","13677227487_p","jd_GBArNnqDQdpf","jd_4332e3379495d","jd_61e9785e58111","jd_4ecb72da0df53","jd_62066e26e8750","maggieqqf","呼啦啦啦呼fang","jd_45ea6ba5da448","jd_4fc17e485bdb1","jd_69d601945a706","冰心果冻","是木子yo","jd_629be1097a847","jd_72b474ad17aba","cigwudong","jd_UZZPflquEgAA","jd_78e83223fa879","renyou550","nn1358","jd_41f15516789dc","jd_66e4662c5cfd0","fishring","15989702665_p","5345568016","jd_4848b07a75945","15653325177_p","秋阳1860","jd_jktgzrfFhmJS","jd_cblZXzeOEqLm","18255062685lz","jd_5022173dad26b","jd_652e64315c8ed","jd_4827cd195539a","jd_qhEviYREpnSW","jd_75cd8ca153f89","passwordming","samlining","jd_NyZnIWwZNBsL","jd_45baae846b9e0","喝茶ing","jd_HjolSRqzglSE","jd_42a384870f931","jd_75a672b49528d","林昭明","jd_4f60204904559","jd_57bef79b474d2","jd_4a6fe92701355","18318084575_p","jd_4fcc0bd8e8cbd","13410541795_p","jd_68c0548ae317a","jd_ZJkHnFTYnWmo","mydondon","依海泛舟","wanglei007o","wdVZNsurUZlbId","jd_5213a769c1bbc","1093825464_m","borpubi","jd_61a29c6202083","jd_53834c97edda9","176726-43505997","bb4623_m","jd_6873e8b3ce93a","fatehou","jd_6adb92da3d3ea","jd_5bb7ab8248063","jd_OrYPHmWQopji","jd_490c450543c7b","jd_IUeNGrJDITWl","岩无辙","109437079-887315","jd_76af2144daed6","jd_47dd5bcd8c5c9","jd_axnjBgyPXPqv","jd_6f1d5ae92a642","jd_4b5b9b415157a","jd_546e84fd3e0ca","jdlaser_x","jd_jnUGinetsnSr","jd_584683dc78776","jd_CRjYTZTIxSAA","jd_57d2408e38ab5","jd_50d328595b9cb","jd_76edb09b46564","jd_624f595a51b3b","hannius_lei","1870855781_m","jd_mgKVCAkZJyUP","wqidhfjf","落雁之秋515","jd_KQgzgHPzGmDD","jd_6ca3d78b41a30","jd_7556f0ad8489b","238132169-789262","cyjtalent","o879607","jd_518a7c2211e1b","jd_DtcgOZIskXLd","jd_fQprSJdkBnxZ","1343417688_m","kathy3977","jd_InhPmYAYPnrX","18982110924_p","烬燃","jd_7893bb98f4b17","jd_7c566018b076a","jd_7b487fd3353a2","jd_5c6eb1b874951","andynumb1","jd_431e1420ad2b6","Lemon鱼even","jd_4c5a611120998","jd_401db55e8f3e7","jd_457021986dc0d","fengqingwl","jd_PzAbKJMeZkTb","517857323-239488","嗷嗷郁闷","jd_448659bd37950","xingxingwhr","jd_4d4e7c86ff257","jd_6c0c2d94e6d76","jd_5a7828fefce3f","mickey.20_m","yonggandexin10","jd_NeZwnDgEEYkL","jd_xuvkJhRaXbRx","x1177","q475952074","jd_48cc90e18b62d","jd_4a46e0af18096","jd_7bce58e21a380","1020301997","jd_7b29004852c25","jd_79867fa899db6","ml0719787","jd_545f9de857ffd","gxhljq","jd_7902b3676c74b","jd_5f83ad3844e54","jd_cNlfvksbwsDq","陈佳顺159","jd_71156cd165068","莲蓉包687","jd_6eeade97fec02","18521096414_p","jd_49cdf2ebe6a67","无道刹那","SlimJun","yuanlin786_m","15083573-52261834","85015273-324555","jd_515dd67898ada","caryyudi","13857309315_p","jd_523cd1184148e","网络坑比","JDgg547900","jd_fKTMVcdSMKBk","jd_uwYKISfdiION","jd_dxvMEUGpSnDq","guotimerain","神的灰姑娘","liu8050","jd_4b78c7e1f3c37","jd_5134684b1dd8c","jd_7a4fda88b4e88","jd_537dfce4d05b2","jd_MAJaenecGcQi","jd_44e3b72ada6e8","losingrose","jd_6a07eedcffe6a","lzf822756","1358842988_m","jd_64820901fc82e","jd_67d4711be498b","忄蓝","ljyzl_tb","jd_47ca592467b4a","pakiii","174759443-865760","jd_4f00e3e1716df","jd_dounBdVdUUTC","jd_4047748b614cc","jd_URrqtXjErEVF","肥鱼黄","18607371611_p","jd_CDXihehOLhJm","jd_GkfNEWTxiCfK","jd_ETWjuHUwyrXH","jd_412e8a19c83ed","jd_bVasaGtmWokB","唯爱己","jd_4b6b2bb0c9ba8","jd_sjvwLoVRiyCD","webzerg","wdSKbZzDKqWDqV","wdoFhgNNEoysbZ","jd_nUjzWANoYJhT","jd_75a9bec620597","jd_uvHfIGEmMbzj","66778848-621922","zlm_020315","jd_VGUHNxOMpzga","18262643055尹","jd_7dfea81868444","wdDyjdzEJlblqE","jd_6f71e74cb0bee","q479187-291043","jd_70641a85ebb9b","jd_ycJjqFDJaqdf","jd_4a0a776b841d1","沈鑫的个人账户","jd_4e7872c0b238d","不会开花的石头123","jd_QfvaeLKlYify","jd_72e5de96d6a29","jd_smHTHHKjiKxe","kalagxw2020","雪曼123","xijie1989225","jd_HqsytugjCgTI","jd_fJYpgfliMInG","简简24","jd_4b9871680a3fd","jd_424df05933134","jd_SywMRnlqHurv","jd_jtxdQibfYhAN","jd_788da2e598f89","jd_746ca3839cb99","jd_UDcxDFHxlXGw","jd_72332835a1c7c","15267751030_p","webcsy_m","jd_66b413dcb3a41","u_7d792f83e42d5","machsun_shs","oda85607","yourik123","jd_REHiwUyruvNd","jd_KohzEfIDRCem","jd_749a7a5c433c0","我是爸爸3736","jd_6f7664c8f8922","颜昔","jd_73c5692f61f4e","jd_738725337d3c8","vip张钦渭","jd_HIcZNYBEVHcm","jd_nlGJfCMVydhw","jd_66081e3a5ada1","jd_6664d18c8a597","250740275-150641","jd_43164fe8fd1f9","jd_6358793cac739","jd_kFNTBdYFMEfD","5764792879","jd_jGhVeJcPNXmA","jd_71464ebafc660","king1938_2008","235352871-372845","jd_7362946a67a96","jd_vvrHFUuoDZBP","jd_rkiwIDKdSgdw","jd_PKhEFJLXosqP","kingson_cow","pt小彬","joansunflower","jd_60585ac0cefd4","jd_5b6e7f7443492","jd_49aa6667d2725","jd_70a5b738ac3d7","jd_6db4ff94b3963","kvxk__120","啦啦啦123321","jd_53320dbf7b5fa","wdxSseqiuhjEVT","kevin145745","anne_shell","jd_5e3600c92c5d8","jd_55ba465de88f9","jd_4a0328e6a5954","97740198-810676","jd_7b1d9c1d4fce4","jd_72f5b98e2b4ad","mali267","ckdream","jd_49d9ef78c132f","koz2000xp","jd_WhAeGQRCedLX","yzy19970502","湮灭来世","jd_70c3b73987478","wdSFoypZcobDkz","jd_6ee5c718c365f","yyl55699","suizhoulimin","jd_uXfcqOJJAfsN","13680727423_p","jd_xGxsrDfOyJwf","jd_cEGAmcASNQlH","guoli.123z_m","jd_4175640dc8de5","小熊钻石","茶韵生活2","jd_64905fefe536a","jd_7240b723cddbd","jd_5d2c97d9f13aa","13632527215","jd_BLHaoGnmSdjq","jd_rzBEAyyAnAGz","jd_EyVyXXTjoyop","zhuzhan_wh","q304105407","zzhome007","jd_5671695213d20","guojianxia350","jd_dvEAdrGYzyMt","jd_XSXZNuPgvZzh","jd_JwaPfwPsUALt","jd_dJnqGWOMALQF","人头热污染","jd_6d189913a81b2","jd_KlKOeIHwTaAl","jd_4d9a51685deab","jd_ywiTjHNJTDyv","jd_fdPFZCuUcEfk","jd_6e8ec0c654fb0","窝窝0763","鸷邈2010","jd_4ae3a6cef5e27","jd_672895e838ca0","u_666c09e9311e3","hansj1984","jd_56a5030b4a741","wdICWSAVpsSKxa","jd_7b697dbe1c1f4","jd_6c538e7156bca","被自己帅醒丶","jd_7a5fae0901752","2405211-41141401","jd_luBEncJWEiih","jd_608781f6dd6bb","jd_51aadedaf6fcc","老母猪蹄花","sunwx2017","jd_hltvZfzLgEOV","aaa379978","wdIXJpJWyuEiUM","jd_54da9c19a0afb","jd_wZXQpzPFiKLW","jd_70b8224f6b7cf","jd_BEhUYKckFVKz","a136080204","jszjmwjd","nimeng1105","jd_AnTMotdFGZKv","jd_4f0213824a2e8","jd_5a18ed7f42025","微笑是晴天8","18233955297_p","106442009-662606","yz3x","lizhe99999","酷小宁","xupeiyu1991","jd_XWAkgcRdPOrJ","jd_5c58561d58a49","jd_wwZHCqDUFrEi","rastyucxz","jd_4fd2a285e52eb","jd_JDEMhrVgEROA","jd_66a28d979539b","我家不卖酸菜","jd_5ee71a1db5caf","c15292221909","jd_4b045d636fe8d","树枝上低鸣的乌鸦","jd_YEjeNZslISDU","jd_ONYvUZooIyOU","jd_pMjlYACdQGHY","royluoyi","jd_78f252d56869e","suizhen","累jue不爱","1907714123_m","jd_pfEmRWVSdWgk","jd_LuiggSIxHsok","jd_4a6359da03a05","jd_79d6e338131a4","yundai1","lxwac_m","434804009-880581","deanchen922","jd_CnVVGuuRhDsx","wenda2008._m","战争践踏艹泥马","lindehong2_m","jd_lCunofIqagbe","xiaozl_Q","jd小甜","GRANDIA1981","anan_anan","jd_49620e6795e9b","jd_700255c3c97c3","jd_693a13a272c29","MirrorJJJ","jd_4788c4ffcdbab","1224552-196015","jd_DMIaDNEtWZYO","myvmiao_m","15584661988_p","jd_6ba448b011896","bbqian","jd_57a47c41cfaf2","18867717032_p","jd_407ff944f1749","jd_49964719c26b6","jd_6a369d4f152b2","jd_6f65beafff0ba","elcarim_efil","jd_CUlnNgtZzzUH","jd_AJXffwwUnEoV","luheng2700_m","jd_41aefbb704718","jd_46854417ad018","hnkdzy","jiwei94","jd_6737fd1993680","jd_4d49a33eaba2b","jd_4066b3a4101f1","jd_7564029dcc9c9","jd_55d227bdce11a","jd_4873ec6785e9e","jd_UvbocJApCIFL","滔丨滔","jd_dsBmNBsHqpvk","cynizy","u_6f623c7eed85a","karat24","yisheng66888","jd_4155d0e9b4a91","is_mingzi","zdpypzhq","jd_QMoKgkKNkLWp","czhyjz","jd_552941b9ecf65","hrtdg","jd_7711f2b081523","jd_4119ff1d7f647","jd_41f1eafbe3007","jd_xkiSYrsnFtNZ","15162642417_p","jd_757fc721ae14e","365043987-172546","哥哥有奶糖","1000fang","lxzsunv2","jd_676a47644acce","jd_573a2cc7dab35","tommy33","jd_OUMGVuwaHyBX","jd_7f6b556deeb4b","jd_qaXsSVQOnfuf","qianzhaoh","jd_63885ef657dba","jd_4d76a8cb2042c","223077939-13575854","tshl123","jd_504ca4fad18da","xlmyselve","jd_70eee8e83e756","jdpublic","heshengd","若生活只是狂欢","邓荣斐","624027756","z648380168","我是littlegirl","13168545852_p","黄某某73","kingjia1989","06bee","andyhuai","13922979435_p","jk751821690","jd_QOFqrNdXTIur","lengyanchuixue","jd_VqDKnqGarhJM","braveheart1226","liuyyang2010","18673456005_p","jd_46ff353ba4817","a18672171201","2971670-279247","jd_4b38b99feb02b","jd_sLjsBFCbyYCS","Diligence2391","jd_SVMYXHlbyPkQ","jd_6cacacd2eeb56","jd_45b3e75f99dcf","jd_69d15b8641ef1","jd_48fb00871e594","jd_LqnlaQNisqmY","jd_75164bd0e18c1","Monkeyster","18682254866_p","binthree","jd_NnqyyqPtwSjw","jd_UdeCFuFjIEUH","jd_6449d108e24c3","asdfsi","jd_605ba63a6d172","wdNXGkNIrSyBypb","jd_718533fc00a26","jd_469e45d7fd638","jd_53c1e8e1f3514","jd_4290168df3d17","haotianjun","xqiao777","jd_7b22e83c30e8d","jd_67a342f7dca0e","18779026788_p","hxmxyd","jd_VAJsQkpCXHQo","qiaoyun680","jd_49503e322af9b","旭旭0123328","zjm3938","jd_64860c8291d9a","jd_4ac186fa8a7ac","xb6323269","jxmlingyun","天使的宠儿L","Martin391","jd_qCodTUFJSRJt","jd_61fe9ada854bd","czfd","jd_69387b1fde486","jd_5e4c604550671","jd_56d06d058430a","jd_70581905f87b7","kugedigi","dikesk","373566515_m","daidongshun123","jd_5e80c641db306","13308038487_p","jd_cOIwPJwdYkLF","武汉运通益宝","jd_vQoCXblvOkFX","jd_77b50319e5ba7","墨月Moyun","jd_GvZCxcjEezZO","u_4bf904bb0cfa1","jd_7ca3c4e05c8ce","jd_69780cece508d","jd_5cfa7700ef655","夏侯浩源","jd_7f4a817058c26","jd_HEfseVXZnxja","zyangyang2000","jd_75b6924b0fb43","jd_486d3615388f4","18683691173_p","星羿丶","jd_vtJRjifZJbtD","jd_6f44ff43d961d","wdnEUtwXmVEgId","2409882-69348438","608448103-563462","u_7939d7fdba91e","youngzorlin","momo_mengqin","jd_4d539ef5bfcde","jd_59c8d2433083c","不想上线","jd_55218deb229dd","jd_5d078829ad1aa","jd_6bdde27483e80","jd_7af4371e74040","jd_54215d3dfb39a","jd_417c9c5bace48","jd_51d5f53612dbd","jd_7235507579e80","小姐请放水","jd_4659432955216","jingdong_chinese","jd_45827dae279f0","mengniu8001","214079359-325418","jd_441c90a99b87d","jd_6c8ef1164bcb7","jd_7ec614a7ffe19","龙影-随风","jd_59762bc8dc676","whoislxy_","-思绪走了光","yejinfei2005","jd_7c26d650897d4","18550108784_p","usherkobe","gdy010405","23444151-728476","217618156-356926","jd_6a2f8d84ea70d","jd_68a6e40ac2132","jd_PSmNfVWpXGZY","jd_6e2a6b53df8a5","vinke15","jd_62a1a95972eaf","jiaangshan23","15033285855_p","jd_6e8e465e3f203","jd_xTVGIiHMfPrI","jd_DAhLXXzWmMTT","jd_6f060f8101767","jd_ReNbpHIAkmiS","jd_63ab7a2619dd2","wdplkrAoPHaKvI","jd_6cb175efc054b","2371509-984159","2577503_mau","jd_598d97ee755fe","firedirx","apple_wbeMEyD","jd_44bb0bcd1152b","如果只是如果43","jd_GlmWlhldTWKK","安然funy","feiyun002","jd_635782f8c9ecc","jd_41d9fe5ce4d12","糖醋里脊","18678829886_p","jd_4ece257fc9dca","jd_DdTidgtIMWvJ","jd_6d9cec28cee6f","chensong1234567","jd_66004c10726e7","娟儿来了","jd_58a0c0c31c43f","wdNsGEdISfwkqKQ","jd_4ca58cac6c79c","jd_4d2d680774e59","田东鲁","acer0467","jd_7ec3c0448b6ff","watertao5152","735821687_m","jd_EXTFPXgmTVQB","jd_742d37d68619b","jd_681aa97877323","totoom","jd_6c1db4cc6d46d","jd_55b84b9e272dd","408541551_m","405968530-129741","jd_583b2b6f9e7da","jd_4915949b7bfa1","jd_5a5516ffdb73e","jd_4b650c2eb7099","深邃幻想","jd_767fe92b04066","jd_uMMlQdZTNiny","cqzyy0006_cn","zhanguohui123","jd_5b567ed92c290","jd_56050a35c17f1","18604323638_p","wyhfunk","jd_5d4910b60dd65","jd_oWfocjdiwCdx","gandam19","jd_754d5d2b5a26b","wuxy02","13717063696_p","418314704_m","jd_IEdORITBYJAW","jd_42004502fd13e","jd_71b056429ecdf","18113000635_p","wdMWwxDUPMiPIU","jd_68050a6918e8a","蓝绫423","pengjiadzi","yyyjyyym","18280270139_p","jd_5123070ef17df","jd_WyVaMvKTSsGj","zhugui00","fish_steak_jd","chrome2014","jd_jgdgvIywpwYk","kak06","18239235793_p","柠檬做柠檬水","jd_4ca66a9e51f69","jd_rThoUanszXEJ","jd_45cd7115170ce","19547122-80321674","jd_62d21c05b21c4","jd_4e40b9585ce21","zhlear","jd_6382181f95f7a","jd_692c45d240aaa","jd_gTHmwxOzicKA","jd_4a3d0489cf49c","jd_GFFGlHKVrONJ","jd_sQyVPSpnZpCo","jd_756fddc402d8b","jd_52d5c7f0ec938","jzchenqi","zfenghhh","jd_4df1bc712417e","蓝色幽灵_牛","jd_qikGXoyaQOHf","jd_686c7c77817b8","15093778-45885468","熏光","jd_69575bb59859f","digitalife","jd_4bb3d1895c518","lisa123080","spzlq安静","晗-1998","Caughtnain","1396100030","jd1603618567","66303102-144789","shihuans_mtb","jd_6780a9e29bc87","jd_vqyeduJcdZZo","dragonxpl","jd_WAdOdVGDtkDk","jd_DtKIecMgiJWK","jd_4a5eb78e0b2da","763246630_m","jd_6d9e0dfb64ee5","jd_sEBDsUzEGWkW","15527771336_p","宋伟86","kevinliu80","15809290902_p","anyafen1992","humor2008","bhkkvip","mssgjy","jd_559d9fa50bb2d","jd_63aa2f819b29b","jd_AhMnpiZzYVHe","jd_4b5f82603b22f","jd_68052ea17a15b","jd_4509a050d60dc","15001275986","jd_PDUcHTMrLejs","jd_54a41e4dc386c","Molver","220534398-60538278","jd_44ea39cc6f048","鲜衣怒马少年","403421915-614910","jd_nqZEWISVkiRA","jd_4172658e2814b","skyo1120","73438_m","jd_4ee786ea1319d","jd_alePlIEXeWhK","jd_59ade86b3901a","钟文博2000","jd_7e9a2075957ed","-予希-","congtoukaisi","jd_7d21d3ac3546c","jd_XCiFcmpXGvnc","jd_QEkEeuiqKfdA","jd_576d9d650ee97","jd_70cad662a8ef3","jd_sUWvaxFicUFi","bingfour","jd_541e4b7faa546","DGriEmQc0H_m","jd_JxQvCBmTWcYg","jd_QePjRrkaYTTd","jd_6a3ef4dab4b6d","15629067656_p","jd_eNmbsjFeLozw","jd_7491a1c9246f8","yutiandeyueshuang","jd_75bd55573b4a6","gamemirror","Lpcheng9","wdZzHtqPYhvFGc","jd_47f79a0b22f8d","A阿豪1226","jd_54ee1dab13b45","jd_612f926d29868","jd_4ead79ad931cf","wesdom","秦皇岛老鱼","18674010684_p","jd_6511ea5245057","jd_4c92e88568a7b","jd_cyZnrgkxVGYK","jd_565768b5b3c0d","jd_JogXECbUflqs","jd_77286e21ab1dc","758广宁县欧宗全","jd_4dd20bd0577e6","jd_4ddefad4f7d3a","jd_lZkbXhQvfgAJ","lzcf_xiao","249429415-531115","jd_49d87a5b085cf","jd_559a995a1293b","qbugaosuni","jd_5376e6f093617","jd_MTaspEsEdHQT","jd_7dcfa911081f9","人才小六","pigvip","jd_6d091f50fbb8e","jd_NDdCSUjOVGyI","jd_676d267702442","diamondt5353","jd_556af6993db5a","2709653-18756206","jd_UgTOfLIZawww","ggffzz","wdTrtCBViIBSKe","熊孩纸的冬","274828313","疯狂之血","332996934-422303","20707019-632312","huangshuteng","jd_cpWOCfIbQshY","jd_583ac2dd4b269","1052132735_m","19044018-25345262","jd_UuQZTzgyNpoW","jd_583e84a3b15e5","jd_6389594d0f3dc","ircdesign","jd_79fbcf43241f9","1007365384_m","lk920625","258341092-919993","jd_50a7e27f821fa","喜欢对着你傻笑","5864376-738361","cgxchina66","jd_XgpOqQNHMRFM","jd_675c72b545696","wzqzero4444","jd_53011b6e65fb2","竹风tg","jd_476bc68d77eff","lxn881209","瘦麻雀","jd_784d557289454","jd_fOVQmogCvwuP","jd_cFTdeNpbxgAs","124437557_m","phoobb","songzhy","windmassen_m","jd_57858a4bdcc28","646029138_m","jd_4286da2f9996f","jd_401990793b3be","clanv00","66116597-496897","jd_6d8d28eb4c0fd","359007027_m","景刚月富","jd_CKYzTiDijnkY","wanglingsh_m","于泽军购物","18119621198_p","18661091042_p","jd_65dbe097d333f","jd_GxmZdqHeEgmf","liujingyu806639066","jd_699fcec5a5b2f","wdZZCNHpHKdHJP","jd_4f0dd0df369e6","jd_4c08e5d9a2792","jd_784ecb9ab84ef","Guogh_jd","jd_72d17c63da3b7","小隐677","夏雪0403","jd_7ae27e55b5baa","jd_72635f4573a5a","jd_53565e9832178","wdjNqPfXjuTpik","17040246-52058452","niba0311","yuqizhen1","jd_526c55274f8c4","jd_586c6b143342d","半藏-","jd_vgdFEztJacla","249261550","jd_636971825816f","jd_6d9ade117f0ff","jd_5f0b661b6a23e","jinyit_22","jd_777b62d25e157","wdADaZDeJAGVNo","重庆双子星科技","jd_IDEMOHjmnBFD","jd_5c918ad705829","jd_6b566073606f2","jd_4e7f1942e58b5","z574438205","jd_77bcb00d4ffcc","1522097334-237792","jd_4c2f825280c5c","fffaaa0608","jd_5d1c705058786","mch200439","jd_661e1e41e09af","jd_725bd2cdb5848","zhang66612","18626389520_p","大大空白的","gprg","淘淘乐居士520","jd_729c2959bfaca","jd_7814350d63880","jd_5fbd52012d035","jd_4c0a7b20deed6","wuqunjian","jd_KffkrKEpZXBq","jd_VcSwZMmglTGg","jd_hDGhTCaUafUQ","18857985169_p","晋宁鹏杨","沉醉424","jd_4192b626cde3a","大宝21887","wdnILIXHZRdhcj","土匪1号","jd_449468203531b","jd_6c824722fd690","jd_5dd58255f4ef7","jd_DJidkENQckbc","898928088_m","jd_43d134ffce0d4","jd_6c1f51ec51966","jd_dKUKdtbSCUlE","jd_40b5a5a0b05cc","210688961-44587257","jd_7eb6b69db1e6a","jdhkerpi","56332073-718872","jd_JcywFSRFGPPH","wdNpRwPXFNIijXy","dragon261","jd_70ad8fcc8cbfd","jd_6ac3ed70af5cc","jd_7b8d14325afae","jd_ROuDOWVfkOxk","jd_7da07797c4784","13523898098_p","jd_5652143d55385","88085439-671137","Lam-","jd_7acd06f0538bb","jd_7882b1137114b","jd_4c6ac15ca9480","jd_ZnCApTqzJVbf","jd_bneRBrMDPjOt","meipeng88656","jd_7f1cbf6a13a6d","8727194-330648","A_kongbai","ch0618","金蝉脱壳1314","jd_uASZoDqeCSOK","jd_CGkXMErmGtut","orion_594","69861604-114229","LZR555","地狱无敌铁骑","jd_437de97472b99","jd_72e1beb4999e2","jd_7e82b3c011f52","lyitachi_m","jd_54952a30c3c80","xwy870411","jd_563420372981e","jd_aboTqOwTFHWn","jd_4e2612a396c8c","jasonLiuy","only521yao","FGFGFGFG3010","哈德森981","jd_JHeWHsDImhrC","jd_62a846bb1377d","wduEgIIFLrPdks","jd_632522099c20d","194577754-317810","jd_547ea95bb0f0f","jd_4079c6a997712","jd_6b069f90dd9d6","Kevin_abc","1395413795-819639","胖子_青蛙","4109197-84325571","Garbie","jd_7a4705c58d30b","15859099769_p","panshan70","jd_7ccaf47e64257","jd_kRSUZwLcPltm","jd_7b0c850bd3958","jd_517aad4146cde","8361863-58092103","jd_72f11d81b8954","13169403417_p","jd_NAJCZsFxuaQF","豆豉味老干妈丶","hejie429","jd_YFalHktFhFLS","lirong2001_m","jd_4398f914f460a","jd_TspRNukYRuAs","akinlau00","18625996722_p","jd_547ef9890c045","jd_QkMhkeFouZOb","柚子茶田","abc114488","zj0001a","207772775-41101786","jd_FjxNoguoGnfr","jd_5933cbbe13238","jd_uISNqIpaJSRU","jd_63101fe765aef","zhrlghl","jd_68bf78b4fbfed","wzylz88","jd_51a930cc7a2c8","微笑天使飞燕","carol811","木易某某","jd_6a4238774ef75","jd_67be2da419792","jd_7fed559971fc4","jd_OtQOzHWjYsac","jd_4046f5416bf24","jd_ASQPGXfBzicY","jd_477dd6f5667fb","jd_44b66bcebd3aa","jd_7ba163f0febf6","18318097344_p","jd_7a99edd392b1a","jd_6f76d9ce1f8ac","jd_7888a3f98515f","jd_78a275e0988c0","jd_553748bda9a2f","jd_4635db0838aaf","jd_778c2a04d1910","1745672-37984500","小东go","jd_68d1810fb15f0","jd_667191813b2f8","jd_776d39f896b35","基友","jd_yLdOLJobbuwx","jd_40fa0bb0c818d","jd_xuDRSYVfYfeg","jd_72a488ecabea6","jd_731bfabeaa1f4","13855575556_p","jd_jUxGbghmCrug","jd_7cf2d6f79a5d4","wangqiong5_m","aileen890303","une-lamoe","pizza-bread","jd_63e1fee327097","jd_7bbf4756b379e","jd_xHceUhMPxJaT","18840284018_p","wdNulWcDPVOpbem","AQR136","jd_4473d22be1f21","神奇_好男人","lijie070608","wangqiong654321","18079526-181554","jd_ZxUwATyRTaLC","wdGpLxZfPcHtsF","刘鑫153","jd_6cf5e9cf16608","jeygege","jd_6791e5ddb5cbb","xiahaishen","jd_7829c4cc2aec4","jd_pSTkrBSGjSRa","jd_55f8344fda2d9","jd_7cdbd00c28729","jd_56b43ce95c0a6","69830853-419586","安如少年丶初如梦","hushunxu_m","15119201113_p","jd_7a63a7bcdb59d","jd_6b6aeb5c9e353","jd_56547ecfacf57","jd_53d533f1d8e9c","jd_NjgkdQCKioHz","jd_776e28963f1a1","jd_566350e9b01dc","jd_vaEmkfRiXSQE","07110304","94817873-208383","451320649_m","jd_64f738e0563f8","iorilee","jd_687e95936fab8","943241156_m","jd_55d71a1ca0c27","jd_5ae4ad2c269a9","jd_72e5d1f18bc82","773656713_m","jd_608a3c0ca6dd8","125687798-743439","18909136663","jd_7a9d58fbf77c5","nstop_m","12104053-75378496","jd_60a0690b8741e","jd_5f8ca23e50e59","ystar08","aiq930625","jd_IDrfzBCGbCZI","jd_5ef6c322fa5ad","wdUeieYTtMhyxl","Vinze24","jd_4fa0d0d97ea0e","jd_5368630ab395f","jd_7686357e9c45d","jd_40453a719fbf0","jd_67a332321137a","jd_62b87055d1587","Jernin","q1735790460","jd_542b21ec63b2f","等待源分","mythu","jd_5c33c50795107","345808666","z87505908","w9036","s1222673811981996","jd_591a2689752c3","13824886151_p","小橡2277","jd_5bf7c5b846301","jd_4afbac00f4d48","jd_750b85f12129e","jd_64d8e3792e962","jd_50146d6a6728e","jd_51fdf52f03d24","jd_prnHBNrrUdyD","ai_tg","jd_mcSMQWyFtNFS","jd_6c20a47f42eb1","铷小混","l-yanyan-7","王希知","jd_kopRlvYrwpeq","jd_UYwLCqKSVWKb","jd_FQrpzXzQvsik","1109303-64321455","winxp198901","wukui9654","jd_66b961c809e9d","jd_DCPVTpmpppGw","jd_644226e1c420b","jd_44279084599c6","15566520872_p","jd_5a411607de46e","jd_4b64c34c307a7","luodingzi_m","千门公子","jd_7f39650c518b5","wdNwrNHFbXVokC","jd_6a65dc1c6bc0e","497690451","jd_5f3dfb16cf167","jd_6b60a61904905","jd_5ec02d58df38c","snakemany","jd_6f7b9330d896c","jd_64e2b747e0b30","jd_UDvfFzHQoRKg","jd_6b1388b6b79d8","dicksonchen85","jd_748bfd130a70d","jd_4232c95a13bba","jd_oPioBsTahPmY","55620234-703297","qijiwi999999","jd_6c5473edb180a","jd_HuLNhGGsFmHt","jd_42b331a73a3bb","jd_70b453766ddb5","梁劲义","jd_7d62f858f655a","jd_4031bf342b58c","jd_60fd6d111d89f","jd_66fb8fdb66d2c","赖大大大怪","18174003305_p","jd_50bf80e592ea5","18409206722_p","18610261177_p","61235351-77393574","粥宝宝123","jd_6cdb9ca67b7cd","salmonskin","jd_552551e075f29","jd_4fec16ed085f5","75868414-474691","wdBDdIyGRvNRoD","jd_hIwgkzRcjgFc","jd_6cde2eab9c51c","jd_QhrKunFcQBfQ","jd_6bd0886d945a9","kingsoncheng","wdZtmbEjtJOeWf","JRSD_lkuRX8757","jd_799030f6fe76b","jd_xoftFhixSBtj","jd_hwOjdUOftyoF","jd_7ef6e880184a4","372506521-605452","jd_6c45ca48f1f35","jd_4c5e3811be246","jd_45277a923f693","jd_4ca374f53c235","jd_74a139b6aecd0","282343-61769200","冰泉思恒","jd_6be6d287d297f","cowcowh","jd_6592c15945c9b","zlfonline","1050210835_m","甲鱼不是鱼","18168023090_p","美丽的纳木错","花姑子在哪里","jd_71727ab2f2901","jd_49f071e3acede","18778991051","laoyeng","15997330502_p","1045884017-799294","jd_70c3b160cdbb4","YRB8956","a447500102","jd_bfHYEgTERECS","w15840132141","20385441-51957867","vamosla","jd_7abd89ad729da","jd_7c38c5239d2a3","eireco","2020998959_m","jd_4d66aeb35d317","wdtjtoXavylqlB","春秋1358","jd_511e303aa27a8","jd_63f98b3e946db","jd_ChkUqysAcIQJ","夏漠苍瞳","XIAO3931362","jd_NejAjRShsolP","jd_66c85a8232d76","阿DZRZhao","jd_7af378392501e","weimingqing","jd_671e8b4a2c1a6","jd_46118d996e689","1102966886-156596","jd_79354e29399e6","jd_qwKeaSMViwSH","jd_7c3599f2db305","jd是13","jd_6b2de84bfbea7","jd_7b22bbfe1e7e5","jd_MSJGSruTaarl","jd_711c0caf2e981","栋栋账号002","___莫丶天","jd_58683f0d93e6f","thatqhu","bamboo111","jd_4cfdaeb5b3e16","jd_5321fc7b86d55","15954806663_p","jd_63c773aabf877","cheng_998","anluoxi","2863918-79090414","zsgcgrs004","jd_61bc73602bcb7","jd_57a67ee4d50f1","jd_iWJaqYzOucNU","jd_647b94207bdb9","jd_544df47f66c7a","jd_7cfdc272f2d2c","jd_slYsmkMQeVnx","jd_78ab2afc63071","湛蓝天空908","jd_648edfe55279c","wdOXZJtKJlCwlQ","Chipun-Leung","火星小弟","jd_43e04f2ed83c9","358732808_m","jd_561878897b12a","jd_585fe2947cfff","yhxiaoheixia","jjmmc565","jd_7f855a323f665","13971781266明","jd_48b2e09b0a1fa","5336372401","s5019059","jd_CADADsWsARVg","jd_EFVjOAQmzdle","阴霾小女孩","jd_EofoEaRWirtl","jd_fGgHrbdwWBnO","jd_naBWXwVafiew","jd_53f98a39f03da","1034232443_m","jd_728d92ebf5655","keaidejia5","wdXoIaVubHDQiP","shi_shi3818","jd_6e428c52d3865","jd_5098211923d65","jd_4fbf5efc4ffe2","jd_oFUGeFPIDarn","jd_4b0ee3ae034f8","jd_79cc527316342","q521317-307440","jd_UlWIEoVGQCRh","jd_hivROIyBdebA","jd_41d7a09585fa9","rebeccachn","逆轮cys","715565267_m","jd_483f91de1a198","a3z006_m","jd_6e1aea1d284bb","jd_6224c8cf8d726","18973149766_p","jd_60ca7e91949b9","77465438-159703","jd_JZhLJEfQVpym","史上先僧","jd_bGQbLaFgQWwI","jd_7a6618cdae6f8","97461261-921511","luoyouzi1203","13371761532_p","duanhan422","jd_46b2655277ef7","jd_634e5e7843a08","jd_6cf108ff71cd8","jd_43d00ac814967","jd_cecDHydSOxif","SIGSEGV","jd_uJjHPDRRaRFG","jd_RVUxdondLyBx","yimuxuewen","jd_7c473d99a4d6f","jd_tRpkLeNlRkdk","13480038881_p","jd_64f4eca7950c2","wdmOPiBRIYPfXF","jd_74866a7820b74","309757822","zhch89","jd_681b10780877d","jd_63879f49e61a5","365176573_m","1729859-51593757","sunhao8484","wister576","jd_43f87f190b7ac","gpssong","jd_6ed5d0b38681d","15657572153_p","jd_5da00f21d1b40","jd_oTDMgBnzgmsF","15983060793_p","zyf1976zxs2000","jd_61e173c644fad","jd_42279ca61c14f","fatefree","15060315641_p","jd_60c85f6bbf499","PojoAnLin","jd_fINOTeWpUHOI","jd_osaBgCjIbcVY","15814023335_p","treenewbee005","wuheyimu","jd_62bbef28b5f53","jd_JItkfbLszOho","jd_zEbmtqMGSWUj","jd_572856283f9a7","jd_51b01bfec14a5","jd_6a5508d70aafa","jd_41313aba8f84f","13862663031_p","jd_58966c7842c9f","jd_450097ed7ea2f","jd_4e08a1371dec4","s2886807513480600","ablejing","jd_6767b8770275b","jd_7f200ac9ce655","c1165156682","jd_7a34e4a8b9945","jd_5b0da11480ec5","jd_6454067eaa0ea","jd_6a23d77971bc1","jd_5508dafe81786","wdFreoVPZDEhYa","luo13203951831","张登所123","jd_481bdca8990ee","jd_625b2c98b8028","976624297-562002","jd_RGoSRUPPYumR","18910262733_p","jd_56de349c4fe3e","cnmghi","jd_IGoAdBymdpzD","jd_44ff25152e951","jd_dcBXtemDfUFL","jd_4de59422de8dd","jd_6730665ffe262","jd_PrnrdDJXNaOv","jd_77fc3d532ac64","jd_4f788dcb0e8c2","vinvent","jd_604f500f7fb75","xuhongmagi_m","15686085939_p","jd_700ddc14c6177","kenter1989","13016446866_p","15623709941_p","jd_KTJObCneyRMD","rabbit3046","liushu106","jd_6b07b1dde1208","yohi","勇敢的奔跑者","jd_4d86e7e16d7cf","linchenbang","jd_yMzPKMbLpRAH","wdtxBEfyyIKaDQ","jd_oemXUqdshpnh","yjzsg","jd_5201a987629c8","jd_mohAmiLbgaKN","18680080188_p","li8541479","jd_zyjitcibqWeT","jd_pnaxycNCwMpv","jd_478d426ba895c","jd_dOoDNkMztfQS","1109618187-180111","jd_571be192b5298","4698100-88585788","jd_4e1e8eca216da","68510893-924563","wangkepermit","jd_4c9b0d246e5ab","尼古丁麻醉","chenye0125","jd_ObzZzaCZhzHf","jd_42b48ff341657","541521874_m","jd_4a37c9306afbe","xuyangjun","jd_DbNNOOLwjuFZ","jd_7f11fa6ab8f75","jd_6a74eac7c8585","饭团好香","jd_5230862f9ea0e","暴走小姐nik","lemon32","jd_574a3237bf772","ntfs64","y.s.z25292_m","jd_79af19fbedb42","jd_557c0efbeb65e","jd_53c44246052b6","jd_69c58ca238a57","jd_65f6d0d3c838e","jd_4a6b3586a4bc0","824457770_900871891","jd_645298139230c","pieceking","jd_kxeJMamfyqeE","conanwu","15990126028_p","jd_66d459e817571","wdFBhsoqEEjrJp","yiyaowa","wdkyXzShPBhLmd","芊芊770","gaohuabiao","jd_76c1d798b4dd4","jd_ykLeVZtDgzRF","GJAltmam","清风拂莲7","jd_573d5b66debb3","v0x0v","lvhuining2012","418110565_m","13347995550_p","jd_4820d4a65d984","education-buy","jd_VAVUNTYSjivb","jd_4c118842a9b1a","jd_5e890d2651e84","jd_69d8abf4beb9b","jd_6fa63e17b3650","jd_oTNglUWSAdJB","18868699029_p","jd_44118a8745d73","122781724_m","jd_bJfsHcliprst","tonylaputa","jd_ICYRAobVfiJs","jd_6e4ad589878f2","jd_otrmBmilOHXj","jd_ipkNIpRmxATK","jd_58042986c1eb0","pinkybabyla","jd_710d8f62dd3b5","chenduozhu","jd_JcOdblyhWOIT","小城市1026","226187616-519005","炫紫风暴","13330709825_p","jd_5fd3aa4b9182e","vicpany","jd_7251ce37ae5a6","冰冰小生","jd_7bc64c6f9f6a0","13798502215_p","caimengdi1115","jd_htGqxfKLSmoh","jd_6c75580e06ec8","jd_FFVNtnPmtWQq","jd_739939725e5b9","jd_67c26d0b14221","15161610937_p","tg1326915992","高大帅气的辉哥","18513626730_p","jd_62a531f50fbba","jd_5f65903214c36","534372945_m","jd_EcsxnCRqEVUV","zzzzzhu1988","maxiaoshui587","jiandandeg_m","945646937_m","anguish","星空辉","jd_71859baa90e4e","zaj6773","jd_515c0dbe2fe19","jd_53b1207464a1b","jd_nDNAWCCwiBjg","baboon1008","18620074-579557","120330272-107323","jd_6739da820dcc7","jd_787198bb6741c","jd_4c15a8e777880","jd_SPLsLlvcoriH","wdyXMfaqxAZaes","jd_73f7e960be763","jd_71a250073ce04","jd_dTEStVJfkZDk","小菜菜2520","jd_56b47cc5339f0","18677302637","jd_NRFUyqwqirEG","wangboxz","wing0525_m","hyh_xt","jd_6abb51801cc0b","jd_6278b2a47e00d","jd_6eb2cef100712","sun13951631340","jd_6085fac0407da","8799078-948481","jd_47179da909d54","linux-code","fxl224","jd_70d300a775c24","jd_737e696f4df51","hs20073dad","82179202-72696627","里村红叶","jd_7e44e6d7816b4","jd_5ccdcdb4030ed","吴佳中","jd_zQjjNyfdRZpD","jd_ESUwtYHDjGKx","jd_73ce5e17792f7","jd_5d771b33c15cf","jd_631a1934173a4","wlskk","浪迹天涯路","jd_506d85f7cfa29","ponesme","jd_4c32efbda1689","jd_71958acd8aed1","jd_5a25f276d885a","jd_58332a8c6508b","jd_7c41c153c259d","姗姗来迟668","jd_6d2f39bed69cf","54626134-843997","jd_7ec457d71b615","jd_675141dcd90d0","jd_798e86bf11cb9","tf1934","jd_48035ce904d9c","临城夜雨","海岸之舟","jd_5856aaa70d583","18677629256_p","jd_5f1863681cda6","jd_5bef75b5c65f7","jd_53c9f6d8a1ae2","jd_BsgYEMRRfhRj","jd_ZbGhsyjCXqJs","jd_579f6a7cfcd55","sxauwkj","jd_UjdeiDilqPvK","jd_50c5d71a0eff1","jd_EirlgUHAdXdf","jd_5c35f4b297c45","MyJingdong_Buy","抛物线","jd_iizMCgsEnRaL","asdf131996_m","莫兰珍","AILIYA114","jd_796d927b6c474","jd_723ba9e488909","A股走势","jd_7f6d93a0c6bce","jd_45e4c12a5ad5d","jd_4e7d02875d3eb","jd_kSKsWmuHIfBQ","宝珠林","jd_4e216044daedc","13773117478_p","s1929869674416978","jd_zzPKGaRwPNHM","13870095266_p","好大一场雨19222","jd_77a3fbc4fdfd5","jd_4c8064f076aed","jd_59d7ec28ba228","168876810-159969","xlxlwan","jd_fYzBZsWVQjbO","13656692651_phz","平安果166","jd_6467d3568a287","lucas19420610","15102121624_p","jd_6bb2e16cbdc83","yzkaiyi","jd_5fa4357759160","jd_4948e5ad90cf3","jd_4f4bd178b2b92","jd_6d89a4ac62cb2","jd_4815bd6377008","dqf4450","jievsxian","jd_7ec04ade21b55","jd_6485c8132467c","jd_714a84aff429e","jd_QNxlVOGTbCzL","12290769-12739576","jwl19690905","jd_6b908a9275326","何常润","7468206-26135117","jd_4bff442e42656","jd_uIarlrhuADvv","jd_45d7b9d671c4f","蔡默默","jd_yxXsBfLHLWYJ","jd_7402883b3cab2","jd_47c99bb51be21","jd_CQbOwLKTwfmD","jd_79aaaac73a054","jd_6314a339d5a3d","jd_hwgrytubmlbP","jd_72c39401efd20","analeigh_hui","forllu","sarama78","绝对宠爱88","小桃子和花花","jd_NTIcWPCUokyI","jd_zrQOJnxoPKRA","jd_509a012439022","jd_67a71d7f418e4","jd_5237fcd15fcb7","jd_41f6a7a4f47c5","jd_65d60f3b495a0","828705267_747320715","2173792216-856387","乔柯66","jd_pFxmYpNrqRMd","乌鲁木齐用户","jd_5efe968e1e837","jd_DqljtXUFBsHF","8435030-931742","jd_7a6bad4ad2c34","jd_blFyQqpSdlDG","jd_5461210d25c32","lee07haluka","jd_72c16697345d5","jd_580b72f6ea601","jd_4a7bed04c0ab6","14191396_m","15002729693_p","jd_dCVpoamXQUoB","jd_4de4821118591","Lee_J1anHua","jd_4ca0be1c64275","jd_lVowvdBcmzXE","jd_BbJKukaOhPHd","15116601102_p","jd_7c29ddf124346","jd_65131b60aa2bc","jd_551ba5b931f24","67346298-386761","jd_7f46aa27ac91a","溪语hh","15673417808_p","jd_7ba7a568e2291","jingjingshangx","jd_5ab26cb7f9eb8","jd_45a3d6c434845","刘振l","jd_4a4c05e1e2b34","jd_AIRKZuAsuDTe","lijiajiahaoma","JRSD_qjaXZ7060","2562721912-495776","15882689764_p","13726263446_p","jd_60ceeab7ff39b","it6888","rugexue_m","ivyswen","jd_LdAGBAZrCrbc","823997320_m","hss196","汪明明27","九月的小羽","jd_64b95935c7426","jd_46e4cdbece13c","jd_6fd1134381604","jd_72c777ea3553f","jd_58f57769f500f","jd_524f86a9c0c6a","5毫纸雪条","jd_rJQhWICkJefz","jd_EthEIaYkgpuP","jd_6d70d190b504f","jd_458e90f37cab8","jd_428be9bf6fc2b","jd_7c311810a71c3","jd_77da9765f7cf1","wdKFQdgKNHsthT","chentanwan3","jd_AeutXOJslMVb","jd_65f86c65c95b3","13556637373_p","jd_4a97c81bde831","jd_tgecvFWlcwGq","z1130252994","waynetsu","jd_572d507ce47a9","jd_7e4117c0374ea","jd_598f674abec12","greatsteven","Chenchunan265","jd_EURYPCKMeOTg","jd_40cbcd401e55b","jd_FawygawswhZB","OneMix","jd_5e72e449c78c3","dogfall_cn","13006735367_p","jd_xWMqCgRHHLjo","jd_5d7e05f459df5","jd_SHxCPcOZnDNI","capridan","jd_5bce06b2dc06d","jd_5f9df766d0c4a","jd_OCooEdZgmVYb","jd_bzPOnvLNEheX","jd_563614075f53c","a9494","i_vivi_m","jd_63dd081e45b75","xingna0832","jd_46508330716ed","23956-32422145","jd_7e02d83ed2950","wei250266326","jd_phgEpoHnQdTE","jd_WXnBkskUdCQo","netdondon","jd_4ac8b393e78c8","jd_50bd4e927fc87","jd_GLQTsIRenZKe","jd_4289cd10e2903","jd_77759f44b970d","jd_6f31c6f9c9089","scofire","jd_7084c7ca534fb","jd_50bd1e86ba919","寂寞当习惯","jd_eVIqBMbDiXCv","18602105303_p","jd_733d70fdf75e5","陈虞夏焱","jd_67a9d1566b680","jd_6db199b9c4cdb","zll871838190","diaoshuailong","jd_631d9c505bd66","jd_5293e2927a7ba","jd_63770471d88cc","jd_4beb1161c6bd5","jd_649ec7af1a5ec","jd_imzWFwiFGHVJ","jd_642dae3c5ae0e","jd_mwTBzdNavIKS","15625882456_p","ruanjiadeng","jd_66301ddfdadb1","13160918326_p","jd_5e94c1f12eaf3","fuckqq","jd_5a3c613191f50","jd_770bef9448d6a","1620430391_m","jd_5502499f94cc7","半个蛋壳","jd_79dae81b801f4","chenhy72","223754830-718280","236245-89059027","qq867790040","39562519-445278","wdNwFnIBbUaWrNH","new_阿飞","13160854433_p","jd_7b7657712391b","yirixin","jd_708ec2e6a5c1d","jd_762e401209ba2","jd_670433d9ebbc3","安业喜","jd_4aa34844d612b","Janet95828","chuanjun78","jd_780c3e729d0b9","15505211953_p","yupingnice","jd_633c6e601ece1","jd_4b907172be8fa","q291932576","jd_73de02e8d4848","shxiaobei","jd_7be13d2808b48","jd_738a775371e27","fujianping442","海掏","264387826-138307","jd_67040f3823c71","偶尔倔强","cjjie","jd_63c9486d18ab2","jd_5a2c69b441c02","jd_THsyQwcDCNVP","zxjyp2010","beyerfan_m","jd_5f0a2eddc123f","jd_PLnYpqICfBin","jd_5cdc6f2ee7684","q0000x","jd_aCbRjgfEDBVK","jd_julBEausqrhE","jd_657139f0d5a44","jd_60e5f78167385","jd_690e67c1e1d0c","jd_75c63c80c45dd","13715389727_p","jd_6b8df0e64a5b9","chunlei0304","shine437","lyhayk","jd_cFTGKfvlAhOq","jd_EyJyaOruMAzY","cfc1235","jd_72821c34c3664","jd_49bc6aa9676c6","jd_6998101a01330","mwloveqq","55864973-14927134","faifailoulou","jd_6975a09d520b7","985484475_m","jd_48e96be43077f","jd_67da6eb3855f0","a5180288","jd_5404fd59c45e8","jd_4a10e31dce601","jd_4a762a1434364","jd_69b2bcaebc5da","Sensuzu","jd_cVUKwYXtUEcZ","sihiw1998","yu15348355","290577900-778944","wdSFmfxURmqyYP","jd_sTmYDhROfDhf","dabaotiantianjian","jd_7746dc96f9f72","jd_4165eb5eacc1a","13708010204_p","jd_5fd3763499794","jd_lsGUktECPPDo","jd_415fa9db695b0","jd_6f7626dbc0286","15274001239_p","jd_608b63f52f4bf","_buybuybuy","13585067815_p","helio3k","jd_4d8ae1d8f4f07","jd_5c38f1d6f53ea","jd_4e58b5f7244e2","jd_YYshuEXFDxAL","jd_7145eaf7ec7de","30695866-541814","jd_uYDtVTuJtlRu","jd_71cc60ebc9198","jd_43169cb4bbe82","jd_5e1f9c43740f8","18368737647_p","jd_vfWyQymHSmNA","jd_VwkKQtgodSKf","jd_43e2a9bf9c128","1217475775_m","jian555gg","jd_50e62878f287e","18871773051_p","死鬼水庫","jd_7777a3060a0c1","jd_4fa5d0566e730","jd_KgCYyXPVbxIW","jd_7a3bfbdd1a0f4","jd_61a08b83ac7b0","wdsZixmribFWIY","jd_729cf06e313c6","wandennis","w273658243","18340906462_p","jd_703940b27ddf7","172544551_m","149521920","ch331917692","jd_xCdvRnqCIclu","jd_7c820198680b7","sunsteel","229529749-667178","13143399963","jd_5f7479dc450c9","jd_eutSxedeOgix","情话落俗","jd_oBxnieqYiZbt","jd_783bf5128ba68","13435971379_p","jd_nrrIkrfAJuRs","jd_61c9038931214","jd_bsfZMQtjcPAS","jd_57d63a540ac96","烈虎lsp","jd_7c69c412d3d80","jd_72d471f82a6f9","jd_618d9d0aec83d","x1022221","262437390-806669","jd_66cf7a3272f8a","jd_641ff64e6e79c","jd_oopWSuTOHKQY","jd_46a3cd4aa5ed4","jd_5d085928426ab","jd_EzAkNPkACaUM","jd_70f7f86cfe572","15930254938_p","jd_nAHDqLjThfAv","synoman","jd_41a2cced12f04","starrdl","jd_TVntvBDwFxVO","goov0001","JiaJia_604","13922094926_p","JRSD_TPxPM8289","jd_7ea3fa8c52d01","jd_PKZypfyaPYzZ","jd_483dcd760afa4","jd_62455eae3598e","jd_695b1178dfe93","jd_6f3b39feb4b45","jd_66a6b8ee2ca9c","jd_fzUMPvfLymlI","jd_LHrHcbsUVTZN","jd_4282e17aeabe7","jd_77118b40ba59a","527719815_m","18101699616_p","jd_4048e40868352","13648225688_p","jd_784393651a742","lyotsu","听煞星","53348570-394796","硝酸奶","4287699-46749000","jd_64382306640fb","26827223","jd_6778c5e0ea6aa","281407327-725550","22057607-38342519","jd_wGPXlHyoNAIK","jd_44eb0788f3af2","jd_HGdddHcSqgGV","jd_5226c94410eb1","qzlm004","LGBLLKJHGFDSA1","jd_vJSlKfRklepq","renkui008","OlderZeus","xuewuxuefe_m","jd_773b43cb9ca95","liu841008","jd_dWptHFspELSR","18680338827_p","jd_54492277dc8ca","涩小兵","spoony1994","jd_653ca8977ba9c","13795473751_p","jd_6a93f19ebf84a","jd_7a1a001a78f22","ikun622","jd_UkpKEhDdODRH","jd_66ca4f48c7b88","mutong168_m","jd_68a860118a01d","jd_5f87b89ab2e45","127893911-738429","8542449-13284008","cyan_绿","jd_FuNjhjrHvvcw","youbiandechibang","jd_qZlfhArCUQSJ","whitegxh","jd_413c8fb46cdd9","jiajie697601","jd_5300669d8053a","jd_wPcJDZeiQcAi","jd_5ec3291f739cf","Tds_dy","jd_5fbc199ce3114","wdVvXODnZiJCkn","梨shir","sh杜钦","jd_59f2a064fdc7a","我的坐骑叫小白","jd_VxPBJHekRoMg","jd_4cc1d3f014d67","jd_7b6bb290274b7","jd_5a35b1c6a8e79","huazi--2012","jd_6f2c0c1177f31","Azurai","jd_5ddea21c4afd7","瑾此而旖","67254325-76689934","jd_7e828ef7c42d2","wizards1985","jd_XrssQHLXlwGV","活力兜","jd_547f261183688","jd_7ddce11f1be18","zxyzxka","jd_66613dcba934b","jd_raeTkQYslpLY","jd_cwoFEYLGTDKz","jd_69e6a48350f82","jd_55b2900ded85f","jd_5c0b352068bcc","喜欢你喜欢我的感觉","wdIBLHZGCIWjZn","jd_5d9dbefa8afb8","ckldy","jd_57a64bcaf7df2","jd_6e707e6cdef98","jd_4946da6047511","jd_45095a4acea7e","jd_4207b33ab843d","jd_amtSLxOQdyYn","183315066_m","兜久久","jd_59d7146cbe853","Talohans","你的眼神太犀利","16295894-47171140","yiersan一二三说说","z笑对人生","陈杨2809273229","jd_5a0e8dc0d5940","jd_664a9d2e340a7","jd_7e9e733958331","jd_FRIDKgITHgTj","wdclktQNbUDVCl","18037372388_p","jd_PPAEmnCaWHhN","jd_5de60c01d3534","jd_712dbffa92bad","史帝","lubinghuax_m","jd_7ca1615e444fc","jd_79bff0e969d6f","jd_5f544023186ec","1ternal","jd_zMDzeAymvwyU","chailymen","鸣人君1","18928436108_p","贩卖善良SHJ","1509312165-833869","jd_51036001a1124","jd_793dd2b1de66f","jd_40a50ede05dce","jd_587889c850325","jd_MWoPNrwLwjuy","13618244143","QI七七七","jd_pnpAGagzxJmQ","painter1989","jd_7a0fee356e47c","jd_68e4ebf60cc33","jd_49d1f45e48470","jd_57d2b743a1e91","jd_6955864ec6a3b","jd_DDtuXQqWAaft","jd_507a19117de28","jd_4116dca7f2c52","leisanduo","fushia","1653830978","shaoyubaba","jd_48e2eaa096a6e","wangxufire","jd_ZeOkalhsVIhu","丨飞的更高丨","Draxy","jd_710442305ff17","LOVE_LIXIAO","jd_77b78d1f8b2c5","arhong117","jd_555149726639e","jd_613d1561d7e7c","jd_DUyjGeGEevly","JMISNAL","Cy丶小黄毛","jd_54cfa17ff0c78","18947-15555482","jd_50dfde27508a7","ntqnj_m","q772131492","13307725500_p","李19860217","13758067512_p","13761796230_p","jd_47ee22449e303","taomiantm","jd_561eac242c93c","58216865-13870354","70998117-106308","jd_50dcb4f793860","jd_68e82c0a44730","15623789737_p","10164274-518025","jd_4b0b5ed88a811","jd_quhyLqJQGYRM","jd_73b9e3d8ed7e5","jd_60c9139b17fc7","jd_75adbc6b377bf","jd_738a3a28f20ca","jd_67f80c18bdb99","jd_768e330fda4e1","joyfanmin","a1021302","jd_7e1cae266d531","jd_427b47c9d2680","jd_xyeBNiYXEQvV","wdbUbiiXFBEenX","137751358-455767","jd_436d92fc8aa47","jd_64a886f16b2c3","jd_4c34aeda1223f","冰番茄","jd_462cfe174c840","breezelol","haodondon","jd_65489847e3ad9","anning1234_m","z618916","jd_48452dec98082","jd_7bdaf3b97ca08","228048397_m","jd_5cc2787e6bf2f","jd_4b29595bd4948","jd_FARYetfRFEYJ","jd_FcFCPBnCBLTs","wdIxveBNyJrIgf","jd_72f023f83693f","2269034131-511862","jd_7c3346cae612a","你的靓仔杰","jd_mNJkIsWQDaTE","jd_60e2a3eb3a87e","xiaolu9601","jd_4c4d03eaf4864","jd_hFOfcupbQwHI","18838856198_p","jd_5216bb8c75015","jd_568a89723c592","jd_7b9c2ce5ae8b3","jd_68e53d77fcae2","278062180-260970","jd_4ef78182cca06","jd_6fbace4a7fdf9","18642257875_p","jd_5334d63e8654f","jd_65593aed579c5","lemon254458926","18297619192_p","breaks119","jd_73b5c9859b4c5","jd_7546de4eb9327","jd_ZOjYIPNyrqTD","yanjiegou_m","jd_RllREhjVsvhu","jd_aSamjkifvSsr","jd_FwBFJsTimoXJ","窗落敬亭云","manman2999","zbb555","jd_59e039e471964","jd_hwPBTHLinIHQ","wdBrsTfaplbCWZ","常航信","ASDF6454","jd_4e4860f6a6fb7","jd_OJIIKtBKTPET","jd_NMHgCMqMPiJU","yiyunfeime_m","jd_6b98ac54bb8b6","253670493-192887","jd_YBNNpvHVzEIN","wdNAjicSrxnMrUk","jd_5211730973259","caifeng1003","18826251695_p","jd_qSDYpxGzLHYu","张利深","欣鑫哥","jd_6cd98541ba144","2497473001_m","jd_57fd81f24ca68","wdOShbHDybqxkp","yanhongxi2","kristyYun","jd_blaAmdesYhiY","jd_4b033e6e0b571","苒淼苒淼","jd_490eb36b47b9c","wdnzzXEXSFchgD","jd_68ede6fea690b","jd_5d03c387661da","18122144118_p","wdvhnlkfzUoYao","xsjlyh","小机智1205","jd_61d1786529a31","jd_vEbxtcHrYstL","jd_6272230dcf993","jd_CHtIdbOAeTay","107526-76058987","jd_bgbOPhesxPJp","xiao19920728","夏日1倾情","jd_5dfb4b129826e","jd_dWeQbsWelvqw","genko","35862274-564314","lrw11688","jd_mUJHdycoYuDJ","jd_7e8d388daac88","jd_RUzmLiMeNtib","jd_46351fad62ff1","wdmrMZRFkdzLFQ","邓邓邓小邓邓","13076152619_psn","qqq050301","jd_669fc286a324c","jd_621710a5c19ba","jd_ySljdkxlRjQO","jd_68c4b29e6725c","jd_7dc493f5e0fa3","jd_74c42c3da40e7","jd_467818227899f","陈诗慧吖","hawk5310","hcct314","jd_53bfc605f10bb","weiangle","jd_73acdc6da1449","jd_4ce9656e04a0e","jd_XUSjmDVnPJfP","jd_6ed4ee6d65e9e","saber.rl32_m","jd_643de5619fdee","jd_77adf94e2263c","mfsh401","jd_517f9fd0ef750","shenglihappy","jd_4b118e3c55f1b","罪之审判","liuzxdp","13098195695_p","jd_6f07676ee717c","jd_45829266eb66c","jd_FxlhANbdXbRR","jd_aYegaIVkaGHK","jd_4d185a096231a","xiaoxudegege","jd_70e6ff8cb9a4a","jd_DcRmHmMgIMwz","asahakanaridayo","wxh5","jd_RfXWjLlmwbFY","jd_7bf8f41c524ae","Wngxian0205","ykzwc","jd_7a8e827112bb8","yeblue","jd_oNUYozsqhJSy","jd_75a3635c251c8","郑文萍1103","1354830-96791360","13510228232_p","18655592225_p","113195695","jd_41842179e9ebc","jd_6928218b295ed","jd_tDzopkCndGGq","89661036-14021490","mawsmaf","shuang3322","jd_4e1bf44215e98","一诺清风","jd_4a1cf5f0398f7","109125727-334470","jd_pPNbIlADjPdD","jd_751ee0e78c738","jd_4c2e11941ade8","jd_ezwhzACJlFxs","jd_7cbccb4a0143a","222639138-72924403","wdrDRJTdZScxjq","jd_4f52883af914f","jd_5dd9243d6c187","jd_6cb6f8cf84107","jd_aOSDCApFgcGH","jd_GIvHRWjKtBEZ","jd_7613df013dd44","jd_703985f0a9e48","18297967116_p","Mickey_chen0212","追梦-2011soso","ling898203905","jd_414b12c2de966","jd_7df902055b427","jd_6b1cd8d0a0da9","jd_NAcyTHaxdnEI","lige1151","jd_5831cfd91d430","jd_573b29370a0a0","jd_71c646003d593","18930344476_p","jd_5cfa9b9f55410","nicelxm","jd_5823f90521ca9","a82@163.com","jd_566dbb83fc891","jd_7e93085ab19f3","jd_VjwyTJxsnPlF","jd_5e6a96f2f055e","jd_5c17c95afd97d","55511621-740008","wdLWMmzpFUcQYw","dj13996373191","jd_7cd24f058fd29","jd_kGEMGlugmwHj","239109769-173974","jd_720527d456f50","wdBVMeywUTawFr","jd_quOcxMfvOdhD","jd_7312be5f45ed5","jd_oRbkObMZrdky","一路格桑love","jd_zpTFTzbYyAzB","jd_ERWyabuwwvfp","amsa44","534320930-46996422","jd_41b6fa2423e48","2538981-573542","jd_7a1feb8dabeb1","地狱之雪","chinazp1","anuchung","sdqx12","jd_781ea11c9f9ab","jd_59d7efebb0782","haozhongxu","2891124802","jd_OxUhosivUquC","fallenpu","jd_7ee301955e0d9","jd_wjTimkDhxgnZ","161131708-944097","jd_50fbf9ea0f7ca","jd_6a813cc47dfe7","jd_PgmxiTPqcqkf","jd_5d34ed28d1531","jd_YGpjgPbyJDyK","jd_GwHqgDNhlAan","jd_5b30bcc52e29f","jd_649782b6af2ca","gwl410716154","Juselva","jd_vGftUcrFnINu","那不勒斯公路","fly0520","jd_45bd9eddab609","jd_6801853b271f5","71271948-199520","jd_56ac2cb03889d","74875977-146613","jd_4414b2ab3c26e","jd_xWBCFBpNKXGz","jd_PHEVlwNyNNRs","334575549-340158","jd_76969d89af269","jd_75a7baa2a0c21","-雨柠-","imaxEcho","jd_51745b343a32e","jd_7bd6045293476","andywang123s","s2026844991470520","0411zz","xffd68","兰丫窝","q450878-912928","jy02231251","xuan_7520_m","dlytwx","jd_6fcfb7044255e","jd_57d3f9fbb609f","王晓何","jd_492de9988570a","chenfuxu92_m","13129781166_p","88121068-89676728","wdegWpqNbWoqKo","motk0214","ilydubin","i_xw","jd_7aef665cb16c6","jd_53e275663c143","jd_698726259c9d7","jd_473f89e02c853","泡妞不如泡面8","wuzehao16","jd_7a11730f4123f","我心依然4152","jd_5eabe6ab21f0e","jd_5fa9b91bd52c2","yl18853169031","jd_4d90ed43d5b92","jd_hbrsfLYEoZXC","jd_6271162e36cf6","jd_66f5cecc1efcd","jd_5c14e594c2b36","long51516","jd_4ca0a94358c15","黄逗逗i","钱晓琪","jd_4de522039d683","jd_6057c8f73fbf3","jd_64cb841c70a6a","284490438-670119","wywsjd-jd","jd_61e7e15f8d506","jd_YvniMqGiLbmH","jd_BpxUaKCznXaf","jd_63d9c8ff6e391","jd_hsmqxnIKFcuP","jd_4b92957cfa8b2","408441787-760217","jd_40f5cb66b2585","jd_689bc30c86b83","jd_oIVrZQVDoWwM","jd_mXVBKoOfLUBC","天亮说晚安1207","passiontimes","jd_63c81414de6f9","jd_7326fc162e781","liangran_ran","597474384","jd_62c6f8d19f554","hp967","jd_7bc63034f7079","jd_718c6ea8b40b7","jd_NoXrWGEybTNo","jd_GClJFjScyaHt","jd_78ef8b3bb52fe","恒河一星","jd_7f4c31570551e","jd_7f9ea8a656cd5","kkudou","wduLePZeBlPolW","所经处风月无边","420835561-118954","jd_VcjYqFzkyIkZ","16289027-396864","jd_6b944e6f9793d","jd_jSZNjJpysYqk","jd_6747d531e3263","jd_769b26c862ba5","iorilee177","40824170-449471","158557365-506205","18658116205_p","jd_62de92f59b4ac","226636147-556484","枫叶零渡","242418-37976438","等一生中","jd_5251c3dab8e51","jd_40a2a5dabdb25","18013630610_p","Wow452130","jd_6bc6b8073d01e","jd_69ddae6664a83","帅锅一枚","jd_4675c1c3519ab","jd_ltivMcEaXQGK","jd_4d831a9e02e0c","花开花落062","jd_4b10f62acd8b2","山东润滑油","jd_iUQiSOOkqaWS","jd_7a71a9dc31080","jd_sNJWXBMmunqx","此男子有毒","crazychilde","jd_4bc466da4c62a","jd_43e8ba7d1689d","shtery","jd_PisUGnbWuPMU","sue_18","lxy358774352","viclee2012","jd_593fae550255e","steptochange","jd_vpCfzAFbuHYS","飘之鸿","17383-47337998","thw178293212","334902572-900445","jd_olMIljDisKTb","jd_75ac0e7d09a2f","jd_aiUsGsQVfyos","jd_toIQvFJKHjyz","jd_72154fe34ad0e","jd_BgHkrSdSvpaQ","jd_49ad6dacf1b02","158980-41720348","jd_7360fa3c1479e","18603543312_p","jd_74a8165ad6e3d","jd_pZJGOyVylKVh","jd_4f057fc297604","jd_7da84375dcb12","jd_6672bd0f95d2b","飞哥干死鑫爷","hcgaobo","15800552045_p","jd_7fa24bbd8bfc9","jd_71c7a77e8e5af","1259970710_m","37627213-871600","denzhengwei","jd_588f1340c0210","jd_59309f560f791","jd_ejKEURkmVYsu","170418678-931087","L1518235423","jd_NeByddrJZtNW","jd_7e717c140f88e","15651786993_p","QiuJunYi","741872480_m","jd_4179b37e0fd5b","jd_mFHOHBEIQfdr","后天一刻","jd_6034d337d317e","jd_5d042eb5f8ce3","jd_4b9262da9ea3f","jd_67695c8e84307","临水遥望","xuyi5970","jd_52edcdbb07043","kydsetter","jd_xESuRaQskHYr","wdtSLBmkWGEzVa","jd_68081cd85fbaa","jd_47310f2ced778","jd_764685e648f7d","laoxinHXX","王晓红152","jd_7cbdbb6d379c8","hgjk56842","jd_5b1b0580fe8a6","zzhhou11","jd_631a576f1bd43","jd_40b68b29bb997","jd_517b14f297773","jd_73d1274343ad8","olivia-miao","ZORO1s","jd_FArLpJmssWor","jd_7bc4ccb89ea8f","wdIdDrlKOhRhVR","xmnzkx","唐朝绛紫","jd_5e6a12ab968f0","jd_7c69054772247","童宝贝乐园","jd_qnrSFbuofcMA","a598628002","15130929894_p","jd_58e2d173cc11a","jd_4c8f01151e0ac","140442278-38551308","38220484-884760","jd_WoEdTGaEgaFt","jd_62bb4c8265b42","ericadaduren","jd_71a548a712f24","jd_507f90f956a55","jerry74tw","kevin8080","jd_7fd2ae621f2b8","coolloves","弋阳小贩","33067420-25312490","jd_EtnrQWqVGNNN","jd_7b8b6ce2dffc4","jd_52f11c3d09261","forever_hayond","jd_501cb88a42cda","jd_7da1ddfbdb761","15190938735_p","jd_vTXoMpQlRKeh","jd_76c542a4b2316","544768794_m","jd_lgPtzqUeqwpZ","jd_6241645d6d989","whxcjyrc","jd_7b245e54f8da8","jd_715f638ee4272","jd_4d9c5530f3b7e","dhbowen","jd_676b86e19077c","jd_6632785e3eee8","jd_4a14a4ef40363","jd_71d2055fab6b7","jd_7af2962a6b30d","902134498_297956639","jd_4ccbdd9746718","15886054983_p","256807053-218412","jd_7cc80f42112c0","harrison_guo_chn","这不是你的锅","jd_777d73cba0db1","Fifi123321","jd_54c254c29c89f","jd_5f26b31fb89ac","jd_LOvzqIZQbtYG","2388209-38229496","小武舞","jd_67e5a122c4a2c","weixiao800","jd_6490f8d93247b","jd_69b64c27e99e4","jd_43160a2ba49da","jd_OGLpfkdnPFLp","121882897-962972","mantozou","羿苏","15088723052_p","zyb689","jd_zrNRyKhRIKMr","jd_mJchLQaufWPf","kpjm_m","jd_4e4c5eaeaaf64","liuwen0828","yanhuiui","18351925260_p","shichuan957","jd_JFMuSIjfzcpC","1422885-55902162","201215822-41428578","jd_5cd1c4e168ac8","jd_788d4e5abe1d5","40636078-89290923","jd_4865f3a8ae4c3","13656755210_p","aaahui2008_m","joyfancool","jd_4e36ba9979095","jd_OLYoRpotEGAs","jd_64051332c507b","jd_TaBolEnIUlBJ","jd_479d342876043","明天慧更好636","jd_41a7b0756967a","jd_58639f3293377","孤桐","jd_7cc43272829df","jd_6b331a27e8b2c","jd_7a225f0115eac","jakclynn","bo14787889141","jd_72f00480e1745","q520280704","jd_7ec1c9e3cb9ef","panyoufei","jd_5d93a35cf8ec0","jd_6f514aab5c735","jd_502ecf9ee1c3f","jd_44e817b53f608","世道变坏","dingchao3245","silver_age","jd_6500ff9b65b71","carolinesong569","13232738735_p","songfan1123","72581212-656559","13674959077_p","这个叼","jd_7b941db6f967e","jd_7894a16e3e5f4","jd_5b64fdf0526ee","calledu","wdLDcVlxRgGuTA","jd_46a4acf6f4f6c","jd_7d70ba160efde","Nickey_Mo","jdzhutie","jd_CLPSsPxjGtMY","jd_549bd618a1e1e","jd_4a695d2bb3d94","wfengorg","jd_DNVycvRDxOiM","丁月红2009","2302685sjl","lianyinyue_m","jd_4a4cf9447d4af","jd_60d1a24a6d54b","jd_6f4d0f0f3e2c7","jd_73eff4081c28e","jd_5027db2e8d3d6","wdXhNbvEYQLTur","weijunlang","long91312","jd_4a20fe0d73373","上海爱乐乐团","jd_6f3f4124c57f4","jd_74d45e6e73be5","118215327-958573","jd_57f5375ac84b7","jd_4e4b4ef8283e2","jd_5d6e906c47b12","dashingzhuang","jd_4dd6145a0e93b","jd_6bf7fa317a7bd","jd_4c7f8f71ff840","jd_VbFOzMrMotEM","wdEOgjQNHJLISn","jd_tLBcLxhsYMNF","jd_4df3677b6a19b","jd_798f1a46f1b81","jd_62cf8a435506b","jd_53c8aab6da027","jd_4b135c27bbd17","jd_7b96cb9ada553","jd_CxwRSsfmJshI","小尘埃1991","jd_5b62e6bdbf997","jd_62ea3d24d2860","jd_444bf824e7a4d","dajialalala","jd_6ffe76b448c42","jd_605178a8f633e","tang261889909","钱蛋儿","jd_6200901b25906","2257660-84517938","jd_akYbyiXqrIDC","cunguozhang","jd_6d251bad22a56","wdxBaOfuHZyiyY","jd_55effb32cff3a","jd_RQcWeqFIrHEx","jd_6f9967df4770a","jd_42374a46a2c70","jd_6104c63497d50","15380336726_p","jd_4b059f69f782c","jd_6b39bc28311ac","bie852","jd_FtntgOILaNxm","jd_55d4901952bb8","204724442-934860","zshwq5","jd_AsytHXtoGPXl","jd_XjDsMChaJYgD","stef20","55773368-672844","wf219","jd_5c701c6ebb12a","九月的花火","18627077855_p","jd_44af4c0144cf9","wdZIkhQOArpoOc","jd_4a85891a76404","jd_61cfcde027fd7","ldliang0315","jd_6b59cd189031d","wdDoStMQdQaOyX","jd_5fe1d294bf74d","shandyleo","辞书xy","jd_bYdlcQvNcWOu","jd_6b9a6ea3f3243","jd_65963a226053b","18021378108_p","hbxiao135","542574418-865124","18107153590_p","jd_4b2a951cce315","jd_69c2e42cc52f6","qq695761504","164632239-719056","linuxdemon","jd_6f6a4ae2615a9","jd_AuBnJXaXOiUg","木卫柒","jd_6529de122fa58","qq787573777","Q1883156","jd_781a5aeaf8c04","yly19870123","jd_dpeYeuDNPFsV","jd_7994c4ffe0385","jd_6d5f67e3346fd","jd_7fc6d8b8b0d8c","liuyunm2","jd_6682d5cc7450e","1712045-17448193","jd_714edf1b00b3a","jd_ssptKMfHLouV","fanyjj","jd_69e5f847b50c7","jd_7900395aeccf7","jd_sVCZesMOgQVI","1061393107","jd_5a28613023fba","jd_5c3a5122c5c4d","yj天冷了","xiaoy765","jd_5bb54c3ca2369","jd_660482d5c4cec","erihemun","jd_539cf6249b7ae","jd_iCIChYqJGnOX","54803024-559512","jd_75ce29626418e","245539903_m","eos1d","jd_42003c59c2ebb","wdnZGBYgLHKbJF","破碎消逝的影子","胡磊284","jd_4bb2540bd69b6","jd_7dc58152a0cf2","jd_461483172e47d","753兴宁市伍幸波","jd_cRGPQcOBavjZ","jd_61e1d609b880c","qinli198_m","天扇子","jd_63ff0b5ab71dc","jd_61bf5912e253a","jd_51ff6c2cda1ef","jd_4daa663299838","jd_4035f5a852110","q454216935","jd_WLmIOHEFsWqJ","jd_6f6f41768f438","jd_hkZcnOBThaHF","13547972590_p","红豆3719","jd_575d798f9ae62","哒哒哒1212","212530499-186285","jd_755d5e83027da","jd_73514d549ee4d","jd_CFLStIZiuyrv","jd_EEOqPkOAiXuf","jd_629ab4bbe8373","273592480_m","jd_4962d220f34de","jd_69448ddd129f7","jd_45ecb39e7a67e","jd_KMEjkTVSsPUV","ws2809128","jd_6952995fed67d","62148662-493718","17855832969_p","ivyke98","jd_458b66f430836","jd_620b506d07889","45度小忧郁","jd_YmixdPiLsqfj","jd_58b3d5df94a20","805453308_m","jd_klESpnXsMnWJ","凌乱163","zsking8","jd_47346a157869c","jd_5ce9a78592805","18937861036_p","jd_iYCPTolSlfgp","jd_7f1e30bcc135b","luhgx","jd_48ddb51e6053a","s1403441663284818","jd_5994d238fadcf","zhuzengkai000","jd_5054fa4b638f3","jd_69ae8dca03fbd","jd_408e472116715","jd_573b1936da1bb","jd_76329537a0366","汤如娟520","jd_66229bf775d24","jd_gWlggJCjWiAZ","jd_7f636197b531a","213554107-833813","lovejohncn","jd_xWNXlGadpjln","wdmNnCFCbIUArM","jd_phFOzQGVqkQT","龚伦鹏","会飞的卡其鱼","jd_fGPotBkCYmGc","jjll290_m","jd_5ccc4c9e35d27","jd_sHQKwTSwPNGp","cc447980909","jd_5879fc4c32d85","jd_54e87a87f642f","jd_qZwgmYXKDYoX","jd_58a8c019cedf2","湛蓝星空ing","sunpengby","jd_5df3b27de687b","dingying258","jd_6b8ae9034e085","小小运动汇","jd_MZdfRAJYbYtV","dong3365362","jd_77788e17a9359","jd_66943950f473d","jd_413bd08718189","dajiang2010","jd_YMeckMZZSBrg","huidiw","jd_69aeb8d60a47e","jd_4c1e740264fc0","jd_669c03fc48def","jd_60757ad135fa8","jd_7bdbe5e283eb5","jd_OZTkjreZtwQD","jd_535d33b5a6f88","kangkang_cxy","underlaw","淡蓝色de梦","jd_71a220104187a","jd_6cc62423f3973","jiezhen2014","jd_670616c450250","jd_5f961f8fbab5e","jd_500b3e1ff7b7c","zealotpz_m","l627502086","teddyxiong53","jd_472f9b1b7c553","jd_UXjXqwkKuXem","jd_GssGUDgPCEMq","jd_ueTzuaCFOZNq","jd_7662d685b0494","angellayan","esac","jd_vHwOUdxkHBpz","jd_4321f815df146","jd_54d7326901b94","15267210382","jd_JQfkNSAZlqjl","102712388-593235","yg_光仔","jd_7347f0545c1c4","13816211999_p","jd_TMouvpcYbyJC","baibatu","jd_CXcySQmuUpSQ","jd_577e3edac9021","jd_OajTXsApWHcz","jd_5fe93cc2ffc33","jd_7ea3cc593bb75","jiefoxi_m","coolczb","vivianmengzi","jd_nlOlvwbPFDUG","jdmlzby","zgnmxz","jd_418e664703ee8","Fawkes0571","jd_616eac5baa63d","68660861-231458","猪彬444","jd_upJDGlPSnCvu","jd_40cf665999fbc","jd_4441a97c1eec2","twjacy3","jd_nIyNSOTBIlBf","黎曼曼","13670618012_p","jd_4e00cdb394ac0","jd_781a3adf460ad","jd_4bcfec14c22a4","hujie4859199","sevenlxn","laozhang1234563668","jd_76247ca82f3c0","15850335164_p","jd_62bb5b4c83cdf","jd_7cdb97a435beb","18502740775_p","jd_499fd9f7d42eb","MapleSora","jd_OAMATfeLDYFP","jd_SgstJmgqNidr","jd_71858eae211ea","jd_63e2789e1a133","voodoogoohoo","wdNnqxSItQnbZwq","最冷一天123","jd_7837b7ccb2207","18784727178_p","jd_740bd90b20224","jd_5af604103aa77","jd_7ad3f86c325c5","lben163_m","f2shui_m","jd_766fdfbe86551","masiqi","jd_6117d92d9cff2","18939291026_p","409305666_m","salltree","KingEast","18668077478_p","jd_4e00f46a3296a","haoge24","jd_5b26d492c1f2e","jd_4513fadce6638","jd_7b2926d74afaf","jd_77b0db7290b81","jd_57b8bde2a7c87","jd_595b4a8f4c18f","jd_48718a6af0b85","sunny84213","jd_63d2758a293d0","jd_53b80408846cc","jd_5dfa84800ad9d","jd_4fc609b1bb3c7","jd_70be4ebdbd8f8","thyyx1027","outdoors","jd_7382322755e86","jd_491f7b2d1dc1f","tangzuzh999","me_mnc","jd_6da135fd58c67","jd_7af20e3d2c005","x13696943032","明月如风","jd_kHeuqEBsUYKR","jd_4b745f84d2c1b","jd_uMXWDUitERNi","xblue185","xuhaifeng94511","Mirror199","jd_6eaea2b8f21eb","jd_4fcf38c98e699","neverls412","jeanse168","jd_HbxXGndWbWnp","a1619560588","dailin9876","gracechen1_mvk","jd_61cd38ef4b858","jd_7f7e6bee24c0f","jd_69687ad742fab","jd_560dbd4aab797","枯翼","jd_66a4c62cc1527","jd_5aac4a7995ccc","jd_aRsWOdKBmwPJ","jd_44cb9d7462c70","tangjiji001","xjzhangxmas","Fangyizhi","zzww180","tjxuemo","熊发凤凰","jd_67a448bc9361d","jd_4bd236489fbe7","jd_6af84fe45abbd","13332940815_p","jd_6b1c30274a2f1","jd_57473cd9d0106","jd_aDWpUOoQazch","495968529","jd_ZyTYcedxfjYS","jd_4f370bc47bdf8","jd_OYOVIfHovjkc","jd_46c1efef6629b","15238089260_p","310当头","jd_4804153bfce58","jd_611f6001e8e55","Mickir","jd_4e6d4c2e48f5c","chiyanqian","断桥残梦i","jd_638ad071aa3f5","jd_4e197896b987b","jd_5280e5a6ae082","13973115495_p","jd_7d380346ae8aa","aalibao","jd_SRnGUDhFnKri","jd_xAVXDMbjOgMJ","jd_vENavasjozPf","jd_7410ad2958fec","寻宝的尾狐","jd_741ae1a2cb5f3","jd_71e274b030c7e","jd_74a4da84cc369","13385621207_p","jd_638201670448e","jd_yDJoYADsUWgK","23796828-55980991","jd_43a1b1a175114","栗子67854","华薇儿","jd_50fba2605d817","LBRNT","jd_59abaee062bff","呵呵哒-开心就好","hyelwang","jd_AyKSpGdaytWg","jd_qIVHedEenuex","xuan786","jd_63a8058d65e35","18628322880_p","wdmuNnsLQYZXxu","jd_631acff7133bf","jd_xxCIgIcmfPWh","lida_123","爬小满","wzl98","wdNkedEvZTEStQW","jd_553f3cec68bc8","17096626-313738","jd_4bf6b16998f81","wdNXbqdhfhzdgat","windfantasy6","jasminelily8312","jd_HGvofgsoHgvm","mimuqi","jd_KEpcoNqkfPGj","xtlyk","wj36149_m","jd_562234f07ca9a","jd_5c81115903f96","wengang88","jd_RToMsXSotSJd","895908009_m","cw4375_m","jd_4285704be265b","Mrzhou96","haotianseo","8u4mxe3x","laicl2","jd_4fb401112b14c","听你的志在必得","jd_537f085934261","丶沦陷丶","jd_aAsNcuVlBIee","wl925662188","jd_YdZbaQxwqisE","wdVHoaDLMgDndY","jd_4e967af53be0f","jd_509068b825a48","qq9817","jd_534821591eeae","jd_4927d3773c394","jd_6c9e4b18f0963","jd_7f01ab426aabc","jd_LRiEStVwLSer","jd_LuNlmOGWaQLd","jd_4380ff0a7da55","jd_4554f8b509152","shmilcr","jd_kqXUIZIlEufz","197859802-570076","jd_7aa247bb8d162","jd_70ec313a140e5","jd_608f3f21298c8","wdBcOhXHDQBpzW","半简苏黎世","angelsky11","colloq166","xuanwumen88","225117592-738017","皆方由衣","jd_IgAeNjZPItrg","jd_43faac6fb407d","18664866010_p","jd_UPdPDzMpRxwn","jd_5189ef9ebe0e3","jd_7f0dcbfd37db8","330099441-25470745","jd_63f4e9bc74c67","jd_gLBEYIANQWIz","jd_aDCvnumzjLTa","jd_7f00a2a75475b","seary79","jd_73d9a39646d43","some1985","wyfhyl","zjs8551","jd_zcPMFceSmbcg","jd_kahWEqXFcLZt","jd_53622247ce356","jd_5125ae13c614f","jd_uelzAakTLVyq","4030598-94304076","jd_rNFPKfzpaAMR","bettytuya","jd_60dc140a5e778","jd_7fd2389715335","jd_70303680ebe39","jd_5078119d37268","jd_7ca0f49c19a99","273091825asd","xqxia1989","caoliming800122","jd_fmfIPmlpwoIK","jd_oKwBxArbetku","jd_7cfb9b5b589be","54888614-100489","waindren","131028386-546225","rdrool","lingcenriluo","13676799823_p","jd_6d901147dbaba","jd_hIWyPIzoQWZW","jd_59a1252cf2dc3","jd_7119def1291de","ChenYeah0803","jd_xINAOHOxkYgq","huangjingcpt","fanliang718","carlsea","jd_7baeb4b139f0c","jd_7dcc932db056d","jd_6d928a2e87264","jd_cEGhNYeoSkQy","jd_5a7dd7cde68ce","jd_MMhYzXbEjSwn","jd_41a99abaeba44","jd_739438915fef2","jd_661d70965a229","Saigetsux","Bear-Grylls-Nb1","jd_71a2e89148d5c","yu920520","satan1989","jiangjialin0108","jd_572e8022dfdf4","jd_48046f95a9bcc","jd_6817a8551ca71","jd_6ff22abe3d189","jd_5456685ffca40","jd_KtozbCYFNYlr","jd_7984a98d59153","leexiuge","jd_MjYCNwyYZxrC","luolitao","jd_UxGnupJQorjO","jd_FnYaGciRqiIH","snowdangerous","凉mint","jd_520704a3f7443","jd_PCrvnowiwCSW","leovoice1","jd_47269ca94e311","qinzi129912","jd_4d23717bddd12","jd_7e11f629ceb59","jd_49e586be1e1c4","jd_7a0e0faaf6121","jd_bMecwpbKMQeO","tudouba","jd_4bc10cdd689b4","jd_5bfc70fd7c815","13110883218_p","jd_4db95357183cf","jd_YtFtVKqMGBHd","cyc6125","jd_5a0e621a9977c","福冰","cstar007","holyean","jd_4baf78c3b6ced","明明很好啊","jd_45ad279a2d9e4","jd_66baa3e8225f7","lida2437761","jd_47b311b01187a","jd_cANfLkuwPwYt","jd_4ea5eddcdb5d4","jd_4a05c2be435b6","jd_zCqCnjaHDVVj","jd_XgBpuOtiIKNP","jd_KvOKSghlfHqI","jd_4dcde5e23a021","钟钟慧玲","xieyi_001","西木町","jd_qlvVtvHztmFm","jd_uevBzhfPecGb","51611134-825321","jd_62ccf491db117","jd_7e3f53f3ebefa","jd_4fcdf5607d954","简简单单5203","15622702931_p","yjg861076069","zhangyu19890526","cynicses","jd_4b0995afbacf9","城投1","jd_iRrsZEyVFgUE","jd_MjdCsEUnKHrZ","jd_hrXttlTVoqTw","jd_6cb4b3bf218b5","jd_6f5cc897c10b8","jd_eyxkJjtsxOyP","jd_6eb72a535206e","wdbKqVJhAyGlDD","jd_770121e52aa0d","一缕焱火","凌空欣","jd_6f69222564594","jd_6678646f029b7","jd_6f5c3f9ee8033","jd_ZrIUUpVrwwnU","jd_TufdrKjzQSLE","黄春山286","雨下天明","jd_6755b0b88a215","jd_5d23993ca9f19","jd_HoyewzWCUjxT","coupe","jd_6dc51c6e3e04f","jd_RnEtBosPqCmr","zxhacyj","jd_kCtcwJpbwEPZ","jd_73c78f97a49c1","jd_mRpgPGYJzylG","10652699-95067415","15899662-68415993","nwj249045","此时的天彼时的雨","jd_67cc0ed3d8170","tb931624","jd_64ece233a216e","a13714875612","549537094_m","jd_KvRjHnrsOMYt","ifarice","jd_5325d97db5c37","jd_7daf431c39311","jd_GjFgpByjBGbG","18511898086_p","jd_ANrDgCAwFIkc","jd_YvkBFIxUDVXp","jd_417e289d70fdd","jd_5225cc36626c1","603687441","yxh0510","shu13992801612","jd_41660e158746b","weifangyuan1213","jd_lBzOXYfgJhwE","jd_402174526e56c","jd_7e0f4921e3297","315083536_m","szuge","jd_5a876d56a1bd2","jd_5bcd03c8b4442","jd_76bb46ac8742a","jd_5e8935842cfa5","jd_687a3a5923ace","a1257415590","jd_78e2f3d35057e","wdFXLNkfYdXQfK","jd_5577013b2d810","JRSD_ijdWq2510","happy19981015","ckaq8023","jd_6b04e5cf5853b","jd_63ff5506a59d7","jd_696b5cfb0d04d","jd_71e8d748606a2","yuan2001089","jd_uWBlYucPvJSW","wdTLPVqEcVNIMb","jd_756ee5aabfa49","jd_4449fbc339299","pipi242526","jd_7d340a8c47558","jd_498e206a67424","咦噜哈噜咦","jd_6e58bc3a81f62","jd_5b4a25664637a","jd_5337a1c75c836","ycc20060631","jd_42865b60c3c2a","jd_TQTQgUpBTcqR","jd_6e2a58c8dd0f1","jd_46495875563b6","jd_6417bf6be8805","jd_NSRxGhDfPmGS","710403307","jd_463665d6a65b3","yzliujiahui","mylgjy","yjdn9069","qq512015556","jd_4113d624ee228","you282507","jd_7be85865dd4bb","jd_pdVkuTtZSZOd","jd_wvWCjMqVnZFO","seaman317","956984927bondlee","13372513959_p","q370698951","哆啦不曾懂A梦","lksky8","jd_ELvJaHzaTbHO","jd_JjesgNFgEpuT","jd_VRlQIgeaTcFh","hbnhyy3316_m","jd_4107e6f500a92","x362820374","jd_7885f46ff0de2","jd_7a5e1f901aa22","jd_4e64e5477bba2","jd_580fe39e3ebd7","wdrUrVxlyHcAzx","jd_7f309c0aa9243","jd_7132d3fb845f8","jd_4fd1cce9ff9a6","jd_64a605464e0f7","temeay_m","18983371191_p","jd_QGLVJKzVRAbN","morrowind8","双耳水兽","pjbjls1","jd_49214f3b09b77","s707782628_m","641364-52816117","jd_6e20c2cd77b95","jd_561cb4b711eb8","wdPPOhdSuaeCfm","jd_puqlocVkIPfF","jd_yXwYLuTtFBZS","46626442-739287","jd_406bfae2c7ca1","jd_JpzjSoHFsEDX","jd_49f7e15410a41","jd_78ac53413c49d","jd_70c5a0bb22f5a","westlifemaple","jd_657b5f46da7cb","jd_441fd22f6309b","兰色毒药","jd_72e293865e697","shannonl","jd_5c05bb121eae9","jd_79beded0df488","438514538_m","画家JH","jd_40ab3769106f0","平凡的女人韩冰","jd_HZKaipWtgSLs","jd_75394901c56db","13726298424_p","jd_693aacdddbc87","jd_50488f2610c66","JD81760","jd_53688e722018b","bettyqili","jd_CgYRZmABNqoB","胡萝卜_carrot","ldc0216","lml_1010","3549197-75379547","mincer0707","913648861_m","wdTFGoDcstSdjg","jd_502653dddad41","jd_4598bd45f484c","jd_5f902508aeac1","jd_7b1416309b509","彭应浩","jd_FUXjFigUqjAX","ycg31","hzy耀","langliang","jd_7cc1638f83072","13828118613_p","15601104676_p","jd_xzWityRZxhmb","jd_XSJorSxJsIMR","jd_635e75fbf9c1a","jd_436b7543b2b16","jd_51c69fa7b8ca5","roy319","jd_56ad3a3db345e","北大是我的梦想","phonezhou","chentanwan1","chatwinli","jd_514796610c849","jd_70bf23bd957a2","jd_50d0e8660dc92","steadshy","吴汶洋wwy","jd_qvAijclDYexz","jd_YlTHEphcTClU","jd_7cfff41e0c754","jd_6d045f70f6d41","星如雨0325","15607676537_p","wfeeliu","jd_SCyxBOudlXIQ","jd_6cbb1bfafe0ab","jd_CwRluawTSAYq","何紫莹733","13693404369_p","jd_TSiTmadngDgZ","jd_4a856a1b62d67","153139707_m","vickilin263","Sky哎呀","jd_60c6ce875999e","jd_4d304f9e05fed","jd_40d34119ba356","jd_577b9858fe337","jd_FbVMAPNTEETP","jd_5fb3474eb8d45","nick12358","jd_gaWMFYbyYczW","wdimyIkVkZoJKa","浅下的夜歌","jd_DXnicpyhWyzI","jd_77753aa8e8f1d","248796241_m","xcp163_m","jaezhq","zeaten","jd_402bbce9f89b8","jd_5bc5812472f47","jd_4fa31730c8d10","luyonglove","jd_7a66d73f4d57d","jd_478294449835d","jd_5ac348eb11d7e","jd_6b971b32d04ef","912590513_m","wcs819","jd_56ebcb396e5c0","jd_OKLYChcbtVFX","jd_43a5d0b13ea61","veronicaXin","18607721068_p","liuhuanzhi1111","jd_4ae2a6d28bddb","jd_pMOYIGizbpbN","jd_tNuBwNCZVEtn","jd_5118e9e702311","jd_4c1a01af4952e","依然还是那样","jd_641bca30eb429","jd_7ff09f1377fa8","jd_5322aa0f20a73","雅丽斯化妆品","lyb19991031","jd_604883eb6952a","fallenangel36","jd_57df12c21d394","zhgt1983","jd_456d51e81cebb","jd_50921afa6f8a2","a634393268","jd_4c57d2773100a","wdNWHHMFzuvNdJW","chenny丶3","jd_5efef89d07f65","jd_75ba8fe61dd72","菠萝君c","jd_594d09511bd05","jd_679fba0521f0b","john_zong","shuaishuai_1111","jd_4244a9d7ac730","jd_701841acb7df4","jd_zMEFzrJLvYIh","18818418309_p","jd_6fab0994cd11c","jd_50e2a1367b96d","文意2015","jd_71ba54c475475","jd_OwpbsWqDgOFk","小鸟20","jd_sTXKrnWquHVy","jd_53dbb767aa1df","jd_GVlMATWbeall","jd_555f9b3a4a4a4","jd_7b7f83238a209","Z18727098498","tian_1991","xievcc","jd_5fbef640962c6","jd_7b0cf3508c138","jd_6bf1bb9f0a2a7","jd_466043595292a","jd_55125031dd0e8","zml0723","JRSD_NmdwH1075","小荣0730","wdRNfKxHSZmocu","15040126442_p","jd_5096b70354d77","jd_444490e8352c8","jd_4cec3af384275","wdubgrrcOtfWuy","jd_5d74022070d59","jd_55740c9d76336","jd_gCeLCNJAQYFT","wantingtang","jd_4fdd39ddb0728","mssddd6622_m","jd_62d0b9fa52ec9","jd_VMDqhrpOtVzd","jd_58d2a70abd289","jd_5c8f509b9f29f","jd_49513c7f976c0","jd_omMLYsDkKaJe","xzdx13372237911","jd_7c1ff5ddbaa2e","QQ36964117","jd_59464410e31d5","jd_AwNfolVjQxrx","jd_7a65930f94f5e","le5454873","hanshaojie18","hpseed002","jd_joaSRsOWzWwC","jd_68947dd34ba7c","jd_4a7aa78fe58d3","jd_7893c3d102036","22289165lzm","idmtcq","imbodgie","95898807-181093","1471120417-165823","jd_57172814e26cf","wwwdjh","jd_4bde364a938cf","jd_668baf3bf4938","jd_50ed06bf6d101","jd_59fdbddfead45","s2109283031943346","jd_7d6d765403b16","jd_587876f3736da","kevinnj2016","jd_IDIctxadjcgn","jd_pGwardsSUqtT","jd_49707931dd2b5","ioyy2008","jd_6b0ea830996b1","jd_77a5e1f270ce8","wdcvGAvNYcPbja","jd_59d0f4d3cdd60","10574379-77218824","wang545975744","jd_48bba3317f125","jd_qIGwGgMQGNeU","jd_45c45ac0fc104","jd_7c7e25d253f84","jd_728caceaa4eeb","jd_482a61c1240f6","papa630101","jd_7acdf93d1f5cb","jd_MDsuquihNEcx","jd_6881b8af94d02","luckiki2017","jd_aEDFUJnaSulP","小雪大凤","jd_634affe057622","jd_cccFoYIQDMpy","jd_TDmWwCogSoXE","252831699-83747984","jd_6eef0a397d30c","jd_56bae55255ade","liyunlong137228","jd_5d0dc6edf5648","太空步","foxwolf79","jd_770b21ce5099f","jd_4f036ad5737cf","jd_642d72ad4f8e3","jinleishine","hrmsss123","jd_4b20fc77c5d7b","jd_5ca397ff97649","jd_4d531314647d2","jd_57c3243ae849b","shenzebin0203","jd_75093616073b1","18814102768_p","yuanxiaojun1984","wdPuyIamXRIbkD","jd_689cee290a58e","灰机是也","jd_iXPJTPxRWxvV","jd_aHPNNIFXQaeS","jd_68b2347ebda3c","jd_646d71f2e3714","jd_NNCyHfIdyVHo","浅笑深白色泛滥","jd_6948a54f927c5","jd_6421b680c4933","jd_7b02f28023726","jd_7d7c4b50f49ab","messay","戴鄂湘","wdUsQrRcoASzco","solodxg","Sean-cheung","jd_7a13abe4c2eef","wdNnqoyQmPfQcNs","evamix","zwhych2004","17173-42326568","jd_460da83861e16","jd_SsafoSCISlWD","jd_YqSKFLYhbBfK","翟飞211","jd_508f0421b7b7d","疯狂小刀","jd_64f2c0070fb65","jd_7b9a25adfd1f0","zy_simon","jd_4ca30eef60f1c","jd_51f4959ac8218","jd_6138c585342c4","jd_nNTcFTmqlEED","小红帽20181212","385035093-854894","jd_7459540411149","8873112-74022687","ningdj126com","似水流年334","jd_593d38349f11d","jd_43014015b2b6e","a3760291","王少dy","jd_5ba4dc83b4be9","jd_70dd3d520d1cb","jd_76a7b8ecb0d51","jd_6905d2e7a20e9","jd_wUgmqYgGPtRL","jd_sDVfKZbDdjmn","jd_56f888df26150","jd_4b7935d89135c","jd_4990bf4c1c4d2","13631402016_p","jd_51d1620f959bf","jd_qEXYLMfthKJc","jd_7c3b9b1610645","jd_742918449c74a","jd_454026c46e33b","wdmdvLIjnyeJLg","jd_77b0aee1aa06a","jd_74cbd69e7a16e","jd_7a8611189cabd","zhlylim","黄淼1995","jd_50266a430eff9","jd_6bf594f2b337f","13795387387_p","jd_ldHaprnRMcnW","jd_5c0211446ea50","jd_6530e70616efc","jd_4457811cc5c70","jd_4deb2e7873a23","13503002913_p","jd_7678b9359e05a","jd_6e45d563a911a","jd_mhAWKPoaxTwn","jd_pHZKHODIKEAl","jd_72c879546ab86","1339856382-847289","jd_7677541ffdb3c","jd_6817ed5168df0","xx许雷","jd_ectkeqPdONQp","jd_mivDxKrGzWQl","jd_5fbe209129a52","jd_PQoeEKNxlWnv","jd_hkQBMnZelHWv","jd_52c5c9a35fc6a","jd_6ec7c4a3ecbb0","dannydan","jd_67f36e745582e","18609028-63106868","895533817_m","jd_dIILJDmceBrp","qazmcl1230","atest20050_m","jd_506ea8761f0ce","xieyi789","jd_VhNmPSOAqTTn","jd_7f67bd0ae689f","jd_49b90ecba07de","jd_52e93b0a4eafb","jd_55a1891238340","131532097_475469116","jd_4d7523a2081f2","jd_6e9d5fb2344a5","lemon_pp","673328604_m","maling316110","jd_787b1f9419454","jd_466c85dd464a2","8264931012","jd_4a7d5a838de3f","jd_510ee42efdfc7","jd_LobUansFvOUF","jd_6fcf1b16ad488","wdGyOItOEcxpZW","wrewre53070","7304866-60097980","jd_spnSVGivBRlU","vivienruan","jd_67f2164bd226a","小生zcj","13288622858_p","jd_765f6d79cd830","jd_5e7b01f5f4ae7","jd_6f9bbc2a34e9f","回首难再忘记","jd_4dcf9128e8ea4","hilenayuan","jd_45ab99486906b","jd_lEKgBYgmMmlA","nhddhr","jd_uRQNJEmMwaMU","jd_7c960489d63d4","1261859822-627986","12173530-564891","慧pineapple33","18616565009_p","jd_56d022e9a185f","jd_iMNPKlzUrPLY","jd_633b33563846f","sun756619","pursue1119","18721577267_p","humalu","jd_475c80335e4ad","jd_79175deae1119","52854615-139986","dysxjyy","jd_xATxdLtMFPNz","jd_NAXGjuYginkT","jd_fnEjPTuzSgma","jd_4fc3ef4580643","jd_4844e7dd013af","jd_mFbHLPWXbsqm","18392158138_p","zhouhuade","jd_DyPZZzNZQFxZ","jd_7f45031af9144","jd_73751adc04afd","格子裙的杜拉斯","jd_72831ac2cf10d","jd_7ee4e20606d0a","yanlianchen890914","jd_TaOjQAGUUJhz","jd_7d754d8de7e39","jd_463af16e32418","jd_699e3e1ade43f","yjr5201314","jd_428dfff342b78","你的故事我的歌i","jd_797613b853a2e","15210773412_p","jd_573b396e824df","jd_lVTcGgaJANSw","15068765160_p","jd_49f46c9e8994f","jd_nnvsmmgfVXMU","jd_589c56d719c0f","明天不吃鱼","jd_SnBZCgIMfQCK","jerry23k","220491521-60429290","jd_637db51e6b6f5","jd_5566eb7f61ba8","jd_4f7b4b8f7302b","GCJJCGCAT","jd_70158749603aa","jd_705ee227fb6bf","wdHcCTbFuvcCdf","莋莴洎玑","婷344","jd_7aab83ca12d57","jd_46ad03fb808f0","jd_FWrvhdmeqUuE","qqvr1128","jd_4fd79275c12dd","topswitch","jd_66d39c9ff54bf","好好爱宝贝0321","jd_FgemVheeOAtm","jd_TPoRgxNitAYn","jd_YjcYwwHEtYlV","4858133-25200538","jd_7fa622f041734","wwqwcy","678792_m","huawtt","jd_tLmjiRasikUv","ysl708","jd_461034cde4639","jd_44230e6e95410","jd_4366565659b02","jd_4adfe0fa35261","abu3d","piaoyunzq_m","13901536553_p","jd_4844aeb2541d8","jd_5641338f9230a","jd_4e84dc891aa6b","jd_786e9d2e7fb64","jd_BBAfgiAYNMbg","jd_7d60eaae16ab4","jd_43206874a9629","jd_xGxPWNDlbItQ","yushiwho","woaimumu888","jd_74fbe30a36b56","jd_7c4b387039dd8","jd_xDvjpwlrrPxj","szh909","jd_6f5cf7e9bc049","czge_m","s1059357585569125","jd_622237315d856","jd_7e0932a016c9e","847687607_m","jd_QTKiAFEVuICA","xiangjing0630","海夜猫","a616597866","s2183195747422564","jd_46d7bb96d7c47","achen0207","jd_FOsRoXuOOrsL","沉默de低調","93679-89081584","jd_5e52fcbc8489d","十尧山","lucifer2000","jd_6e73a4b493f61","jd_57cc741fe7985","wdvBQumUqCVZsy","jd_4df4fe731a006","18676271549_p","jd_vpsXClRqQLSB","jd_7b25f835a8478","jd_DeywlgkbjzWX","731株洲县谭爱军","hs_zhouting","jd_58dca56590342","jd_luPslZLrrVhP","gg888zhs","jd_PgwGkZpedUFJ","jd_enbYDtTGWuGG","jd_BYGIlgeDcNKU","最帅小磊子","jd_7651809d09ae0","jd_7433596d27bb3","稻草人_20110425","jd_6fdf6f59e824f","TheresaYu","jd_EuRMpWAhVYPY","huangshuting1985","jd_TSSWUlkSYWvm","jd_64c723f4f002d","jd_5259d9d595245","jd_5136fcb1010e8","15159838744_p","jd_4f04098430663","以惟","jd_4c5c849bfb0c5","jd_7d9f749abaf17","xiang0573","jd_568d63bfbdb43","jd_7c54b8fb1f7f5","jd_5c2f2bcd521aa","骑猪看狗6671","jd_48cc91ae3d9c9","jd_775f17e801abb","jd_iGvCscRKpPjz","15806031227","jd_68362ec32ffe5","jd_54933f4693d35","jd_iPjfIwULQIqH","wdRnkbVLBDXayI","jd_mXNTdLvXlzId","jd_5908c22922ff6","jd_5746d9af8a557","jd_4c57777ec9102","mo_wei","18035872231_p","bingzz","13328973853_p","jd_56ecba6a599c0","jd_5148d860b9be4","dan_dan529264","LittleZas","未完_待续丶","jd_6ad907c4ee20e","yhboss","15021690991_p","jd_KGRzoVDxgWRo","陈荣锦","360913347-144598","407235955_m","jd_4afbe69573d26","jd_55f7b6605090b","jd_vwTkgoZYUHrk","明明dream","jd_zIgMQWSaZPvf","五百万都救不了你","jd_41f3be687639d","陶小猫猫","13597449562_p","jd_565c419dc5261","jd_IulfdEgJFxjN","jd_7cdd2df65ff4b","晴天l天秤","amywj347","jd_6597f5abed528","jd_XuSJEQthUahZ","129823","jd_oXWqDkVqafin","jd_6364529cd6426","jd_7928975ed1811","a935273522","liukai9235","jd_NGWGxuTpXEgx","jd_tdvcPdSdQJrR","jd_SJDCUuMDZjnA","wdQNGyExuPjjeV","532676251_m","jd_eSTzYzfvMGZk","120590266-99995819","jd_vDKrNuqgDdzX","嘿小样er","wdqKLjotybrLGY","dengfei63523","jd_5b0f76b8e2a15","jd_61cc1944baa6d","jd_41531d315b4a3","jd_618260f581766","jd_75af8d804dc67","繁华落尽qq","pingsdo","15262901830_p","jd_kZGejnbVXeeY","jd_ESoxtbmOIZxs","jd_564f7dcb283a1","jd_40951ec09f1d0","a19658547","jd_40291e654463f","n824186746_m","jd_6824fa0eda70d","jd_7df4c8a37f553","赵海博1208","wdwqmOmOHhEqOV","13916398375_p","jd_6096838d82a2b","Angel丶Fuck","jd_bJOxqVFsDQSY","jd_5d942767c4f85","jd_4e1c9ba09bfe9","jd_FKhVfQyNjwzK","年轻的玻尔","tens088","徐傲伦","纷飞的香草","emojf_m","wangxiaodong009","jd_407bf94f990b7","s2023398055580620","百度寒冰","神与伤","115726927-616192","jd_6d4e32bf270a8","jd_5fe06770493c2","盘古大仙111","jd_tehxtjrCgmwB","qq82301404","607289602_276203750","jd_ewIkfaGJsymz","jd_RXKwbvtbnjjQ","chenshifeng00","jd_53bb34dfa7f8a","jd_75876e3b9376f","super31582","jd_665897f681e64","jd_oXegxmTVbZjO","尹亚豪78","944393754_m","音色风铃","cdeoge","jd_XLaFzsYXRHNo","jd_542871083945b","bluecl412","jd_710445703c01a","E_Ivan","jd_6c3ffe9608cae","fpk7660837","jd_tJGZOKTRniBH","jd_666a8dc5d823d","jd_516f8eb0db012","jd_NpjbvwyAROXT","wxh317","jd_50fab6d6c4a0b","jd_44d301a7ee491","19890528yh","jd_4125abdf7e0b1","jd_50d31fdead1c2","cf8771551","jd_529384122585f","jd_6a675ac3087c9","jd_55538782044bd","jd_612a105500dc1","jd_71b8467b81937","jd_4393c921802e8","jd_6ea99f99cfba6","jd_740c2833c9073","jd_6d2cd6de5a236","13433824779_p","zsycos","118510350-545561","jd_50825234e5b1d","jd_5a188e1cd4589","15919184367_p","jijuan季娟","wdNYGIjJOfhwLyA","jd_63a794ceaa35c","jd_jFzlayHVfWCc","jd_4d411c86144e4","缘来有妮妮","jd_67a5066119dd3","jd_716106954183f","jd_ankwmKRwtdjH","jd_470069961731b","yitian7758","jd_RJMuuIAbjlHW","Gerald1","jd_LYRLwSjIHNlp","lpl22","jd_UkUCUULGmgjg","小鬼崽仔","jd_aWeYxTqtpggX","jd_410db50555fdf","jd_70eaffbcb5035","liulicheng5213","gxs2008","18659256162_p","0912Angelchi","jd_5e7924956635b","jd_69f4c066589f2","jd_7a525244ea666","被生活绑定","jd_790e18230a8d5","jd_NnSEZCvPGVch","1193637995_m","jd_64e8eca218456","jd_61554c48261b6","zhousixiang1990","jd_6e047a76d30d7","jd_7c91745d9261c","jd_mPiduduBYBsx","92109488-72087051","jd_7955276770fe3","jd_71cae45132b6e","nb8355","jd_69d896ac61955","jd_65613a023650c","jd_4465564a8357c","jd_7f4a77478cea7","jd_7b9c4bea51285","ayasanono","jd_6cc2560196877","jd_64e8ad773a7ce","jd_7b95a833a7ad5","jd_WwVfFHoRCxoz","jd_7579b61429cf3","jd_5f60e1ca3a08a","勇敢的小泪","jd_52c08a0303f39","heqiuhui1980","jd_49a43d12252e5","jd_wwDAGNXqXqAa","jd_nxvmjAFgDMDM","bryanjin1977","yoyi412","267650873-594997","zczczxx","jd_7f27e01af46fe","浮光掠影1314520","jd_pngtGoYyvwVd","jd_pDSOtJeNlOhj","pan3344","jd_67815122efffd","jd_4c02222ddaf2f","jd_72b8ac5badc9e","jd_46dd4d84cc7f4","jd_6f12b248f5c79","jd_7cd041ccef2df","jd_5b2a13c885fbe","jd_7cfbf9c30742e","longzl","jd_60a9eb5315b70","jd_5e4bd6bbc026e","jd_4bbcd6fba5ac2","128992929-567826","蓝胖子CC7","梦回马拉多纳","jd_MatSUNLKJuVR","Primoo","yzmjason","realfatboy","yeluoguihang","jd_41c07703a6724","jd_604c5eb34c05d","WSD158768","jd_7bb12941f4959","jd_7ef2b949c3942","jd_GUUALHlcXWfj","jd_64b354773005f","jd_jZKuZLkiAHEE","jd_ygqEesxRxUxK","jd_585ec78296eb5","403693645-154812","Neint","jd_497e6adccbf11","15158581758_p","13560328634_p","jd_5fadb1b6e5d80","jd_58850236b4a0f","Dasiyshan","jd_VkNupsJJOZBp","wdNWsRVKPWcdFjV","jd_6844f37d2d544","jd_zfyatPIHBsXd","Yu-572","loisyan2017","jd_OHfYAnNOvdut","12539354-138843","y157578578","volov","q34347476","jd_5957a80d9c456","中原渔人","cooldepeng_m","piaoxyx_m","wdehZgjPbVEZiG","jd_425771edba513","jd_7915a40542465","jd_743203e583e8a","ZOURUNJUAN","sniow1","smallsmallbell","1005613173_m","crazythink","jd_631007d01c227","yangzeyl","jd_VbfosBYcbrgK","jd_7804d68e0707f","jd_4a4d7cf0a30d2","jd_60ba96731c7b8","yuhaosf","jd_459a859c4372a","jd_4520e76029ae8","jd_43d56dab362cb","NL-Ge","jd_540ea34bb9e97","jd_40e5a3bb64332","jd_5b056085e8d68","675786265_m","jd_pomTRzNubjkX","29660939-889163","jd_6efd21340994a","jd_tyUQgalUTfTr","zixujindong","jd_aDzqJitODTze","namelessjd","jd_58f5133c1dc80","jd_475bdd113485b","jd_6d413a805f885","wddxmYumEzjSkb","jd_OwcZCcyNMPuF","412225503-764105","8NhjXycsEF_m","jd_50455ac101a9a","yang5200955","可可爱爱的小陈","959017-90144767","wdxXbmGWrTWZLJ","jd_LbvsJqunBkKC","wusongtao1983","222859864-725403","jd_DBABGuaqkoHX","jd_5d1349131c693","liu951159","jd_HDAcvTMYWWNM","junior8876","jd_SZoKvzHYNbmh","jd_6c498ed694d3d","wdcSqTmcNYCgnv","qlwz","jerrybot","jd_bCXujLmHETmw","elbereth1122","kissanader","A52421","jd_477131c27102b","zhangguoli1010","jeffxj800","561631785-959983","jd_kXqyoXMfSfQv","jd_6b5cd84d639d0","dlqi1996","13750260458_p","jd_70339dfe775ef","多啦A梦口袋有宝贝","jd_577355e6617b6","d763500139","jd_5855b0a928403","jd_5c4749d4b0f33","131415zs","jd_EQXWpddeVrep","mistmeteor","Alex4me","jd_5847b7b8c7353","13997571369_p","jd_73687acf29edf","jd_43cc3285fbacb","jd_40c97b4046eb3","轩半仙_","jd_58107a4a46bc2","jd_fNiJKzwThyxD","jd_uBMSfGfdCUOt","jd_689a760ea4192","6500542-447427","jd_6f245b229ebf2","GISerliang","144981701-608561","jelly0925","jd_6a575b696ca57","jd_538062b9572f6","hhww911","jd_TXysqvqWZBPj","jd_7c26c04ec2bc8","shenkq1990","jd_UUJpBkexQlmY","jd_PNAlscbAPRwp","julyjaedong","jd_603808acd9dba","jd_702a61d605dad","jd_7f1e03be5550d","jd_7fa58b0dde697","jd_53838c7b84b3f","fishsteak","dengdongmmmm","54341-45754381","jd_6b04a52e50578","张123---","zheng45613","jd_521f2b70670f8","jd_64c02f24c561e","jd_79442c42eba38","816安县高通","jd_YAcHwUPRbGbd","jd_bKpDXNohmWTL","jd_4a6a551ff05a4","18103702229_p","18910376657_p","jd_bKrhCubyELVb","jd_68c08ef51224f","wddMeCrXvhyiTM","bestvzero","canca","jd_40dd75426ab94","jd_69edb8a1764f4","jd_LaJHusHvjOxC","18818418319_p","alefwoo","jd_XoKDUiyZyEmh","jd_66e5408b604a0","不服老的囧菇欧巴","tongtong30","jd_6543e9c16f4ed","jd_4e656538ca768","jd_6ec09b477ce4b","jd_7d80a5859c43b","花花小天","jd_4495be84aa011","jd_7a7cc38cd7f31","jd_6174989fab523","jd_4fe620f72fa7c","jd_7775a19d77004","jd_4cdcc62492c48","jd_611db52b576c5","wdyhBTnHxLaoZq","ynf1219","jd_6888442efe005","jd_488bc37cee9ca","xin_163","xiao_juanjuan520","jd_432f0dc2a3c61","jd17377555505","jd_DhZvBUIHUQbX","wdNgzsKoFAfacOQ","jd_4f2b48f4554cb","131531632-111093","jd_57e39b982a511","jd_bnaCZOAkAWLn","szhzx1126","jd_omrxXvcCfVAb","13458620275_p","jd_48cd194c5bbf9","jd_78c290de20544","lyangtang_m","13770776344_p","jd_402ca4a1a6263","fanxing2003","jd_41d0bb12880f7","jd_GOiWYOBshJfE","jd_7e615454925b9","57133101-157361","523017_m","1333907-70728649","tanhao1210","jd_JIAuyxKmiXfk","18367795197_p","jd_753ac06d1fd0d","549726443-648445","perfectdoctor","jd_53176b51ecb57","jd_4e851db82577e","wu_7531","jd_NIbYCEReQzCg","jd_oTvjbnjhmQuM","103101570_m","jd_465d9cf92bdae","jd_hhmrsgysUEim","y280536203","jd_mucVHCBnYXgd","jd_tYWMptdHjfxf","jd_WvVakEPyOAJz","sqk0708","jd_428899c5447b8","550233765","jd_54826d3c7ac1b","jd_50065df7d8e6e","ojdo9527","zjs10010","13421506774_p","newxiaoxin","15754308762_p","泪落芯微凉","jd_668d2f1db6864","李子1010","13556950344_p","IO_CelEsTiAnS","jd_591deb9abec4b","691659060-195353","jd_7458fdf75b82d","jd_kUDJZmCJwsnc","jd_73f655438ac94","夜倾城0722","qzlm002","qinqin_linlin","15565751572_p","thirdroot","admin3188301","jd_6648decb82b53","jd_JNYGrjaVWUGW","jd_471806d6e135c","霜仴寒","jd_63dc1bb25bf89","jd_58f60d8ed1964","jd_5c3d31b5c39d7","jd_479963905b2c4","jd_50c542c23c707","jd_748ee1b3c06cf","weige","jd_56c3d62adbadf","jd_7a665830349b4","huangqingjie327","jd_569dafd0df768","jd_fbpFCxIXCStE","waxsh888","linmin85","dave552137593","jd_HbQjzqUQbAvy","qiejunyi_m","jd_GDApyXtBVusG","jenny_tu","jd_7bef0592bd982","CXX031497","jd_432f8ae72ef7a","jd_oSufQWQRJzra","jd_hOAEBHAwiEFP","jd_618d577bd1fcc","jd_XsixVwqFWDYr","jd_67d92671ee3af","929822751_m","jd_4df74ff7338d0","jd_4b2f8f8459039","jd_7083960faf54d","lvesdba","jd_TSJRjNwlqIDy","天使羽毛224","xufeiforever","keggly","yzy995200","jd_6dfcadae7a438","jd_64a51151b61d2","jd_4bf1e88efc79e","1501427678-803886","jd_5ccc797cdd845","jd_52e05fedabe15","jd_434eeb52ff30a","jd_7a51fcc8cfc22","jd_712412939c413","15651666820_p","jd_4a250c6231e64","野人飞翔01","李婷_1986","SilenceT0325","Mr_Lubber","西行第五人","369083893_m","15088721730_p","jd_maAyKHcIwzUs","mhj1262006","不做超哥已多年","小琨不是购物狂","手指上的旋律","你的猫很胖","晨曦纵紫","muzi5994_m","jd_6783fb8631296","8132164","zcl173475","bigbearhuang","jd_7e007233993d4","chenpotato","jd_hArJXMsojBcJ","jd_51c1509e0740f","jd_tPmdVrjEMNcw","40390013-797613","longwangv1","jd_4d6e75d74d6e8","jd_6995574a429e3","jd_56239d4028ec2","jd_6229ab1ade145","goudm","1015187921_m","gnox","sleepren_m","jd_74f20543ea2b0","jd_682938c4241c6","18965169727_p","1835809891_m","jd_662529a4e1d17","jd_72ec278ddfed2","jd_5327925750852","jd_479c6be154eb1","jd_6c779f497cce9","jd_7ac8d109387c6","jd_59e61c2ea92db","jd_5af00647f34ef","jd_71da08f33f35f","57566061-865565","jd_KZbPpHADaUby","苏漫","snowbubblelf","13247673079_p","jd_47ef422181883","jd_786c1bcd9a1d6","海卓越域","15191795995_p","jd_GgTPjhLolCdT","jd_63b27c083ecfa","jd_710a98b914368","jd_7551d350db454","fuxianxing99555","羽落云飞","jd_6df75ce0d0a5f","lbwstco","wdRlGhkoKWOosG","jd_6c1186e36aead","jd_7d87c3768655b","200767436-743018","jd_7fadf20288c55","jd_7407449c381bd","367302136-368033","jd_7da26bb2ca4e7","jd_7cf47ef368f0a","jd_DoAvJIBkikhk","wdsnePoLRBOObD","xiekunlun5","jd_XwDjriHYIWgH","jd_nJtwyNwpdvkB","jd_QOfKAQOgcRHY","jd_6a74f03090ed1","hebiqinwei","jd_7705bb00d6101","Icelas","jd_5a8a460f8e523","雪村家的粽子糖","骑着乌龟的帅蜗牛","jd_7d0bf4f21a379","jd_7a3ac9d01751f","jd_4ca7f0bd2f9f4","wdugBlSxyxAErX","chronis-flossie","jd_7016886f8b1b9","jd_478ede4cb5e7f","1727434129_m","sxf_snoopy","jd_cReDKYiQryPo","RyoKazami","18720057214_p","jd_46ff5f0dbb0c4","jd_72e93b38d3139","farewel","wxhis","jd_4e2512e4e66cf","jd_624631e6c8ae4","jd_ruMijhTmzrgR","jd_67516de3a932a","beauty_2011","jd_43067a6edae32","jd_647c5cd74dfc5","jd_7e44cb549b0e1","jd_eJEgGnAUcuMz","jd_5e8c2dcea0ec9","13664272675_p","jd_YKLbqowYGdXp","jd_6bace5f3f00e9","yangyz666888","jd_42c748dd3125e","jd_719fd2b2e4f08","jd_4ab90d8a28021","ly1261774993","jd_6b397d79cf2e6","Mezi04","13534693611_p","jd_6a161cfd06b21","jd_bPkNFaFXkjAK","jd_7e1f85d4cc000","jd_76edcadb906fb","jd_7d1e7f64f5ac8","肥肥肥肥lxf","jd_UvTfCzgQKISt","15023168692_p","wdpQIsSjUAWcdR","13658385692_p","jd_664421574d285","jd_TIolhkNaqUEb","jd_ilsNpEZGKMjr","jd_yKBXfmxdEYWZ","lyyzlh","jd_7a6d14378c98d","jd_719e39b722489","柚子茶购物狂","jd_GKsLBERUlDzT","开饭啦啦啦","傅琳琳123456","jd_oKRpfyMJAvoI","zyg123123","jd_41b08e0dcaabe","hf小可乐","jd_657764ff2d782","jd_777834fd2b730","joyfay_m","jd_7f237a256e342","jd_BRfMowlAoESM","jd_4a1b2ce3c93e7","hchuan16","13936660218_p","jd_4330919d12f28","jd_41795580694f7","jd_VUSJXZYzeBZa","Luckgan0225","wdtWNtRMEApKeY","jd_576c10c66b0e8","jd_cYtpctrrcQui","jd_4b2e0a9180ccc","jd_5d32523304034","jd_40d569f4254c7","jd_65f4d26dbbf04","jd_4cad9ec71a700","jd_CSFNDmGuLHRE","jd_60695c500789b","wdgSLnTnBfablp","wdSlqRSBWqUPqg","jd_67fea80778b05","382499-79411258","jd_6ed3aada37cf5","jd_70fa2e5b4710e","w1563","show1055830991","galfordliu","jd_7609a0518ba58","jd_4ff23af32eab5","jd_6311e86dde4c2","贫僧法名帅哥","jd_43fdce37cf15a","jd_63f3a7cf46576","jd_mGvnEbVwCSgL","jd_6d8efd3815a47","jd_mvDxZZkCaOPN","jd_4c897c5d8b3aa","jd_79df22c491c4a","jd_78615cfd37868","yao17111","gy946376928","jd_mbSGItrccwWz","jd_542bb1e1817e3","jd_5588f9480d26e","jd_69d40f4fa759d","jd_QKhijbxwQWHt","jd_5f4a0c1ead43b","jd_rqEANJRTBazo","楠楠老公","jd_6a5d17a813a1c","辉少xiaopisi","Syuusuke","xsz03","jd_670ec0e203f9d","jd_5f2ef53125375","浅浅的爱No","jd_77daca9bdfcb7","jd_581ec258309e5","小小雷神","hetao8980823","jd_418a407595aad","武704803825","jd_czkusbyBeqbm","jd_kjxfBQpzdAOf","zxxxgirl","vingorvan","jd_zToARCWNrirr","1579878823_m","jd_EkIIbbrXBBlo","jd_55b9505991102","s2277288752435451","jd_NKgbNFPXrIlR","jd_648f12fed07c2","jd_4807d49db4c3f","jd_AWSjpPIluoma","jd_71d7ecced5b98","jd_6ad3be4539093","kaixin20101997","jd_4a72f6280bb4f","jd_478f09561f751","jd_78caecf075f9f","jd_4ec4100510063","jd_727fc12bf00df","jd_64117229ec52e","ssshzs","灰天de猪猪","23724714-38579771","jd_UYhRLaqTHbaM","jd_7c62870903956","jd_4cd8377a66955","jd_vRALIKCWucte","陈小丝321","18926067-10005997","jd_511966143fc21","jd_JolSFkQrpjpR","66238155-90698106","一二0五度","jd_hQtPLzdnFQtt","jd_4bc638dbd6e76","Fall-Rain","飞鱼快车","124834221-802468","jerryxu0","jd_6e19787802c1d","jd_qKdICBhoRYNZ","jd_5744d3a4a03ea","jd_74253c00d94f7","jd_5c67b4b7bac0a","jd_oBsOpOgJXBhM","104698426-211633","jd_ABQvzFeWKVlB","sunxiaozhounan","jd_wSblzIqNeIfc","jd_bBiRHXjefkbB","jd_6096cd8efb388","jd_dPuqpTzdJKWn","jd_7eff4855c8541","jinmaohu","jd_4344963770e0c","jd_62c531db03b5c","jd_6a6bdad444764","jd_LSqpDPYNLIsd","jd_WNyVWpennixi","jd_HJvpwrDqLEqJ","jd_59bda17e40682","178507959-72131525","jd_431ac10882417","一步两步的步伐","jd_5adc086df44f0","jd_7e6245f1c0822","jd_5c62a695c933f","babyfish0429","jd_XFArZrKWRaMy","jd_6f908a5bd1268","_Cyan","starbigstar","jd_541b0c08edbeb","annielu1992","jd_4293637053212","jd_6ab278ca73601","jd_DYeBeldUAKKJ","tantou123","miaoyutian","luoweikingjj","759廉江市陈志恒","wdOOoVmGedNyNP","1964357760_m","moxiaou","1276829689-883879","jd_tEwERiybzJMV","jd_65bd30c94dba5","jd_509c331aa26ba","oddmao","jd_7bc113e83f646","651163497_m","蔡辉煌","lllllhhhhhlllll","18936896715_p","wdFFsFpPvEnCOX","jd_76594243dd57d","jd_558d00616292f","jd_MttOMWgJGedB","mzsh2019","jd_57f044968f291","FrankyZheng163","jd_4084ba219642f","njukkkx","lzzccy","springss","jd_5b587003b324b","22525981-994925","18852955175_p","w86859723","280702817-466888","jd_5ac80ced209cd","jd_44dfbe4e1a840","jd_7d55b4c80d1b5","jd_MKiTvDpOpQFc","jd_ATztZYDIWlSP","jd_61ac82580601e","SRHZ","jd_RbvRxlOgBzgn","jd_68a465e51f9cb","jd_DbWCQmprAzis","jd_LYnFzsHxTJXN","jd_uTPjvKVZzUWK","jd_7bd06ee202ff9","guoershao_m","13750014099_p","8930006162","jd_7eccbec783fdc","飘香人","jd_5835d291ec517","wangfei0112","jd_5f0440ed950fb","jd_qDJgdEfmVJYx","f782446586","jd_bwvOKfXsRDgk","litao_63","jd_5f4be036f037b","jd_473d4217aa200","wdkihcIYBVyWxC","jd_6a74f0bf26cc6","刘-宾","jd_642beafed2479","jd_6f4b7c708b55e","jd_4d33cd266c591","jd_7519c25eb4ea1","jd_6154e36bb60e3","jd_4e2a6ee054775","jd_6129a3066c0b6","1574923088-226956","468667818-294278","529219690_m","jd_7d2c567a3e5e0","jd_oWMQkYriuXRM","fuxin10","jd_4277a6a3eaf25","Achira1969","jd_kFzlnjTEhKrC","jd_761e8c3b33008","一二三四二三四","13501533368_p","jd_QtKkjFsPKaMD","jd_7101397ad02cc","jd_WygSPdQutkps","13853815938_p","jd_5f4cb4099459b","lzzhaoxin","1559976407-787165","jd_56403d530743c","海棠花885","会跳舞的小蚂蚁","15021896367_p","丿纯丿黑色","知我者谓我心忧_2015","jd_edcvcrvFkVTu","jd_49b9a0f0a36d5","jd_5eabb93141412","13684149187_p","jd_695a310fd6230","jd_516542d576aea","小鲍214418","a1142515363","18382255241_p","jd_74d4b2508fcdf","jd_qjaShUUXkPzI","jd_4443c8fc85d3f","jd_74aa0c5b00a13","jd_417035122ee13","lanshiteng20","0oomelodyoo0","jd_72c7186554826","jd_6345a04d1ea24","li542182964","jd_AufvGIkYUEpB","17407794-130190","小渔人","jetwalk","jd_AJGGFBAOvHZe","liyangyang24","凋零de深秋","jd_punufNjmAAUT","jd_4aa0f27817456","jd_XoeuDOqGzlUf","wdOLwLzSwJUEgI","l_xiaohao","jd_4fbb0e6e90513","jd_5f527ed4cb93e","15023849523_p","jd_68b9c7b21c3e6","我也想做老板","风之翼yy0","wdNbriJEkNVdnrS","jd_74b1b762abcab","jd_6aaa6e3a5846a","jd_zSeivfvuTTeY","17949407-72188194","h781164694","614295526-675248","jd_KjbDgCmVpCDL","jd_6ba0eb4941de3","jd_499678af3e75e","wdnbkDsvatmPlh","jd_700f377901cfe","jd_6c086657044ff","jd_6f9b7149536e5","13345958871_p","jd_56ad229c32da1","jd_4987de10d0152","gobgyuok","gaohui465195696","堕落的外星人","jd_7947dae34233b","zww0808","jd_59661064fb9bf","jd_409aeca51f046","在路上822","jd_ZbyNfDZnABIX","jss007","蔡蔡芬芬","chilifang111","卡奈尔77","jd_6ac26710f50df","jd_4fce12a6c5d34","薛定谔的喵hhh","jd_6800683ef6d29","jd_4197bed05c260","jd_lHKpZfsUGayb","jd_dqTmuVIvTXJt","jd_714d03abf738b","tb9507844","15023555331_p","jd_7e6bb1c460968","jd_67c93efbad215","jd_6ffc7d3f2cde9","406881130_m","jd_5311fa0800124","smartisa","jd_4eb5d62459483","1255372761_m","jd_6ca2e8447697b","75813193-254946","kxg491055581kkk","13321710743_p","jd_5667924d9d8f7","紫檀木哥哥","jd_7f0fd297309bd","a1an1212","dycsolomon","ss1278913251","jd_520a502029f9a","jd_7e26f92945ad7","渺渺兮彧怀","米奇糖","jd_FoFMONrbnoZx","15959429258_p","jd_zbFCIHmNWebw","13688117522_p","jd_721c60f095ede","jd_561d9b97789d4","gao0811","jd_412d6dd0355e5","jd_rGKPcAhssTQz","湘江道","111902611-254275","jd_7d3262e795c75","wdYaMLQgPpnntp","win718","jd_ZnEnLeppalNl","jd_7380ab2296b49","jd_6736d27e1570f","judgeqian","jd_5070d5a6696aa","春风可曾吹过我","u_6ba03e53b245b","jd_6b872cdada63a","jd_5c563757d02a7","jd_rViEvpquujfM","flavour_mok","jd_XAmfvpSKCucQ","vobsub","qsw0501","jd_upvdAsEAlGkJ","jd_InJuIVkxxZfJ","jacy0725","Q送钱的宅女","jd_MFKKafTwYmeW","roffee","jd_FoOOnFzQYcbi","jd_MPjCajXovGRf","jd_RQYuTVCuEVTY","zhlim","jd_fNHDvUjJDaYU","jd_4bf446a44d250","jd_492d8fdb0370d","jd_60a32aa8faecf","jd_5c7f24bc6eb5a","15986936025_p","275169-32271438","yunan2856","834451299_m","a1265728777","wxchao06","657837529_m","jd_7563cfe1ead22","13017164568_p","jd_63714ed2dd0f4","renzhefengshen","袁东旭","206241305-21541159","jd_haJPgQtOHgyl","zenlyr","jd_77ac33b27ec05","V1912379311","jd_76191cc48a8c3","jd_vGDvDkDWuaXI","jd_69baff23b96eb","jd_uTYmYqplQBJc","jd_430c8382597e4","jd_6e477b6ba5cac","346923401-136444","jd_tuHqBrwpNKxN","26522235-566120","jd_5b74595387da7","学我无前途i","jd_51ffe6a5d28c5","mzwang65","13611497134_p","jd_5c535630fff45","15014469180_p","jd_plJiUKUQnVOc","jd_4fca4723cd29b","jd_4108cd8abd2d1","jd_7af8bc54c6821","wdrvMkpkxnjVQH","0小烦0","jd_xjdfaLNIrVJb","188140725_m","jd_5f41b04bc012b","jd_75fb65fca4fde","jd_57f68ea78265b","1784339854_m","ronron_han","jd_40f6053662a0b","jd_7db36bda99144","jd_7047c23830060","caidunwei","wdYoaArWghrrSH","我会吐泡泡ii","jd_4c51289a81839","dafd27","1610306251-152212","jd_6ba78dec1b518","jd_40caafa99b87d","18627583398_p","jd_nRXGFnTaOGpW","jd_iQvstfwSNaVm","rageq","jd_41c752f800930","闲庭落花1102","zd623828105","jd_68997b52ea865","aliasaxin","jd_AvIIUtZfzeQO","jd_5ea002666410c","jd_touIXJwzIBGB","jd_60ae19bfd3710","jd_4a1dc6adcc5d3","jd_534519bca994a","jd_wqwpLTJVHJxS","star3078","wadoro","无情的购物之王","jd_RWjdKicBorzt","jd_7c144751534b3","嘟嘟龟龟","zhangh_cn","王可馨keke","jd_dqKQPTYmuafN","jd_5332b9ba9b1d2","jd_wOtHrWZPhmnZ","jd_575e1d09f8854","jd_76763ba485c5e","___魅惑先森","童童9583","rkikbs","jd_4c59244df75f2","jd_4c6c337cb8ea3","jd_490891c4c2041","93332088-731045","stylenergy","youtian19911114","jd_yfGIQxNceYBa","jd_6a9b47bdbd3f4","nbdx1973","jd_ycwkSnoWvAle","15556532763_p","1530976712","jd_6cefddab64611","hehe9011","jd_7816b564de3dd","jd_420955fd9420b","jd_TZZveZqSQsjI","jd_66a66cb4989f4","jd_5fb71d01d80a7","jd_cayVOIVLamdS","jd_78cc7d4d1e202","jd_JkQPifUpplVz","380297016-161726","jd_432141c1a3b2d","jd_58ee91b176592","Z_y3344","jd_5bdbe73ca0840","jd_5d8da6c8d2110","jd_462c15aa12021","秋天不落叶_beyond","老伯伯伯","AuroralH","15558135781_p","jd_OPhIRFRWelpX","jd_4a593cf6a6944","18229920826_p","jd_zgoifYxZkXbu","jd_5b6455bd0802f","195989471-784218","sz_shadow","jd_7b89a2c368565","595德化县刘佰艺","jd_JWjuZGpnMxER","SuperArnold","火柴hk","jd_4a47d3c0b5edc","恋丶慕容","lzdong1989","kkaqier","jd_4f76c0ad977ac","jd_61d8584a3e234","gjtxhj","wdCQImTaENSPqD","jd_50d3a6c2c2785","huanter","jd_520d385deb100","jd_6e511ada8b0f2","jd_7923d4c5c5f89","wyc1928376_m","jd_6e695ecdf53e7","jd_ehJAYPdhKWAu","jd_TkkWLGdNYSHL","13214130261_p","小女人1014","klinsmannluo","寄雁传书","yangjiesky","101984036-670863","wdYWJeLzERhVZV","jd_47ba67c708cd5","jd_742a0938d2660","左三一右三一","jd_7f9a58c114001","lithushpuppy","zhangyangz_mnd","jd_5efcacc65448f","jd_4b506cd4ced2e","19911042-212620","jd_nUWozKjaYCEn","jd_4baddcc06e992","jd_7480725fb5e7d","jd_6aeb13b45988d","jd_5c838db41d930","kellylianlian","jd_4717fefafd938","630508577-482947","jd_dAfmclqYlhhM","jd_67deaf4c4fb27","dongjun613","jd_703f5f94e9faa","jd_7119c92bfb6dc","gdgdgd007","jd_53ddc0886f9ce","jd_53dab1962e6c4","15777521570_p","jd_60c8ef9518e7a","jd_5c6e6da3db9a3","13545163503_p","jd_59afe75b79e1e","jd_ZvcKUrpmWoPH","jd_6949b39a852c6","18360737400_p","jd_ZXMOMYTwuApp","jd_495f3c9992c11","jd_7b9077b0f5e52","jd_758c4bdc948a3","583166@163.com","jd_6c71cd55b54ef","jd_ZMSZdcszBOaP","jd_7763640e17188","jd_54cdae88a83f6","jd_51b7782de4cad","sun930302","jd_lWIYyhMdIlRf","jd_7988f77c2fce3","jd_60a5e7f55d960","jd_fNeIPqNJwceR","Mr_小宅","yanleinet","jd_4042ce473af62","jd_417bc0007b9da","jd_rQWjdGEfppGN","313387386_m","jd_6771a3d61d8df","13566163893_p","jd_NuZLfJXlPNBO","jd_4c39644865903","詹韦伦","wdvnMIsBtDOTuL","1455750812-585002","jd_6a1950ecda95e","jd_45b183c644b96","zhuyefei1211","jd_5911af1829911","jd_5cb017af359ca","jd_68eaa375a224f","13680451231_p","jd_pwnNoLUpEpny","jd_rTwfXosZmAKI","jd_543a9fef8f993","jd_qmUiRuMKazEC","jd_5bc1274bccc82","18069870880_p","KNocTis","jd_447f1f409a9a7","yc_跨越七海的风","jd_69af88d0cd344","jd_5c75b01e1c382","jd_MOnywoyJksQr","jd_6ee3780fe6d6a","jd_bwdomSOHLqml","jd_JZkSjmwlefyq","zdroger","lyhan8686","jcjyxjs","200031451-19642357","jd_aFrBYSAYwDRY","jd_6def9f6b7e500","jd_6a23d0e85d63e","1434082525_m","z18516575849","李巧1994","jd_sIRJBVUfhjjH","jd_6defa1a725eab","jd_5e7d07c3b505e","jd_555c6264e5862","jd_5b203fe06f0b8","wuhenstar","heimao_hyc","jd_4d15b483d0e85","382474020","jd_5dceb8053307a","jd_iLQKjmSUacbb","1765427593-145702","jd_6f7209ec199d1","1127659861-584079","jd_62d5d41c23f38","18606965848_p","30974940-239666","1967551-19270481","jd_7dabf04def99c","ZJJ147889782","QV0d","jd_AJdnoQCaQkwP","jd_DmtkQlHkRDbM","jd_71d72c3ddece1","broaderic0","storm_hammer","jd_EkdIvmhgchel","jd_7827d415577e7","jd_64ccaddb72a86","jd_gAyPcnqiaCRL","a23174567hqc","jd_71cf40395882c","jd_67bb1ac8dcb46","jd_6d5fd76a1cad4","jd_627bbbb8b3172","shona_liu","cncqboy","jd_5a3c59a63acac","帅得无以伦比","wxfei3","dv2017","46808052-206702","jd_6f925246487ac","zaqwsx076","jd_vanwalk","jd_PbTJTztJNTlp","包谷米米包谷米米","jd_475034d2a74a8","jd_69a85439eb59d","jd_PABmRTEjWKeZ","jd_6142e1698fe49","红颜惹人醉Y","anjkbjw","jd_6d148565370d2","蓝翼LOVR","18318906969_p","zou7570563","yukpui","jd_4e426bc880713","3726985-95842519","jd_636b717acf40d","262212756-990875","23449745-42740537","jd_579ce9c6bb4f7","jd_59831f770879c","丹丹婆0529","cc875668079","spring0916","90625290-177058","jd_NztHRFJYnMrr","jd_464f95f8571b8","jd_7f47641cb48a2","jd_618aac5afd560","jd_47b650f6fb035","lollipopme","小粽子mami","jd_6e8621960e7dd","撒公子","7517320-83429449","sky2060","你妞哥","13536685017_p","jd18106966668","jd_BlAmrdyATRRA","jd_pczFXUgCxkCm","tjiasong","jd_mAgwNNodOoGJ","jd_7c763ea43ae7d","jd_bePJBjiIvlyQ","18603517846","jd_6358444488b76","jd_7ac76acb9be13","awei475632","jd_4c36e0a9c050b","gjdkhk","jd_502c47531d8f9","jd_584ed358c7c0a","201116391-607759","jd_5d27df46fc86c","jd_4057b9c932b50","jd_xGQGCBeRpaaW","jd_7ca6197536dd7","jd_79006740c31fa","jd_6e65963fde8c1","jd_dioiZoXcWIKB","MyNewStar","jd_4f5bd67a18932","18040727845_p","jd_DiejMZYsVeTN","jd_49e0f87cfeddb","云先胜","jd_6047631622507","Jensenwo","jd_67add64ce555d","jd_bnIqSEzBgZpM","Dingchuanxiu","jd_6426517987840","jd_7e93df7b343ba","jd_mKxRzFzGanOg","jd_5922ff5df22c3","稻鲤","jd_51b2e9d4e656d","153419414-454062","jd_fLAQKhqKEfkz","516731530_m","jd_4fbdf2ffeadc8","305503734-374844","jd_dlArvdEDFEVh","q9020","liu天宇","dereksd","jd_4bccdb76a809d","jd_IxweYvnSLnei","jd_TNdqYhHWTgbR","jd_NJFgtUqvZghs","lucktot","kllua54","jd_6e18e1594e65d","jd_RENCGqfcjElU","奇趣史蒂夫","jd_iVOAHdyrJqhX","jd_orrVzgERfzLW","川川6238233","jd_7c89677910dfa","jd_7377ee608f432","jd_739b4b9b7b30a","jd_46398ca4962ea","jd_MMcljYqUkaUz","大猫和她的小虾米","jd_RPMQhpFlwcPv","lichunyu117","jd_7d78f77cc71cd","iWinking","jd_7072b0f4286b6","jd_4127637e096f2","h小卒h","jd_5f09caa4c2967","shadow_hw","88574735-334265","jd_6ca20f4516f0e","87509234-57407631","jd_451ec7109f750","jd_ayXumfkSIzPu","wuchaoju","93376665-85936974","jd_426e3c9fefd92","liuxuqi99_m","13715797925_p","严新林victor","241470387_m","魔小紫龙","tkrapgl242_m","jd_BsUdWZSXgeah","jd_564cb8fdbe08c","wdqfepCEfjVnDj","wdgoeNzaulANwM","jd_4e8f7b28efd50","jd_644a669e362ab","jd_mcbSTldlHkNP","wdNTsEjlGaLXTJV","jd_45fb80426270a","jd_694750f7d0254","jd_7f33911587476","jd_QmlSvlKTJTpn","jd_5b9f25de91637","jd_NjdUhNTgUlIi","297283830","wdDSNiPnbWPbwK","jd_bXfHUHSbagBL","jd_5e869bade939d","jd_lfhTKfRRTlrc","edwinzhangjiehua","357285078-197429","jd_CwSVzweTtPFE","g羽翎","jd_6c158e192783f","jd_cdomTVUzJqkX","jd_46c520671cc09","670982594","jd_6db89219bfb02","duguhailou","sabrlnawow","jd_549c86b335a4f","jd_nBrKbDcXidZr","jd_UFgGXayULKJV","jd_5305fb20186a6","jd_7d9b92243b8df","jd_6b819c4ccf2d7","wdihtHajvLTSpz","chenyu891208","426218811-161334","jd_458b405863c55","jd_401ddd847c12a","jd_iKYIrAyjwSvz","kingxc107","jd_5422d336d07f2","jd_4e49b1d957949","jd_4d156df95b289","sp_lxz","xiao530053922","vccde1","jd_40fa4c0d0202e","jd_7418c3c3988fd","jd_5cdc4cba88fbd","红眼兔子2012","jd_7710b3e1f8569","jd_5a62da63e41a4","xqsx42zsy_m","jd_5026d3fb5be78","jd_721e93e15810c","jd_6de59754bd742","13126576773_p","jd_79d8fbd9df54b","杨几何","jd_lwnUFUjHLZQX","jd_7aecbc5de5234","jd_6c2f13710493f","峥嵘岁月11111","18695122670_p","jd_7e6ebe60ce44e","jd_74dc40dcdc1c2","jd_ngtKeQUtPauM","18627721398_p","飞贼老爷","jd_42877ce70984c","jx20154","rootjo","jd_571ab53712a39","jd_71ef98a987eae","13567645906_p","jd_7212d6aa4c525","jd_74509601ad6be","skyfire1945","15539128123_p","jd_7eaa66cd131b0","jd_jRbJBbcVTZAW","jd_64d18d90cf656","彩虹色的星期天225","wl2001s","chenqi128","jd_7ed70a1367be8","jd_cnEmTKcNEjxj","梦想的商业","12345H495","jd_6f1e1b5d9b940","二莽要吃肉","jd_565a1ef963658","jd_cHkhIMsHcqYF","jd_75896465076a1","jd_64e1df4296066","jiangjinlun","jd_ItkoFZbYunQx","jd_LsxUpGLDjFGh","jd_461485688fe7d","kiddoe","jd_46bdda5e50ba5","jd_CsWLnrjEbysB","海蓝色121","xuejiao11231","nataliecheng2010","兜兜2兜兜","wpw622_m","jd_540c4644a9a7e","sc104500225","1336083296_m","jd_55fe87ea26f86","jd_63f102707e4f1","jd_49f390ac8cbe1","jd_71e4a8eb916f5","24041209-484973","chinaptao1","jd_7ebf7322f4d39","mrhechao","YYR970805","jd_ekegGHJBgSAU","wdrnuBmPpdToEE","pan221290","tasty-fan","irisfurong","Dan4727","b756942525","jd_nPcdMLgaMePP","jd_7ac71f021466d","jd_yzQiiQIqWjVy","jd_4510d80b189f8","wenjay1215","jd_5b5309f3ae709","郁甜饼","jd_611b0be146d39","jd_zEnCMALekcQB","jd_504640beb6a47","jd_54bb18d729803","高山920114","jd_444afb55e9cd2","jd_6148d6374b5ef","wdghcnsTtGIooS","lyh4316","wdpJUuUBMDSabz","jd_5fc7789cbd91d","jd_79058c19a0188","jd_5481b8a94ac7c","jd_6bc1db180ae07","jd_yUMAohYgvuMn","jd_5b00de63ec853","jd_449fd500b01d3","jd_6834c6387a65e","jd_UhJMeZzCvnXA","jd_7fc0d9e238255","keteri","jd_631c976579a63","18649706242_p","lpf1376069842","wtctc","甜美的约定521","realfatboy2","ysytcy","jd_LjtSzumrYgYm","15588331508_p","jd_52dba1b0ed102","jd_57280489f8c26","jd_4bd5bf197ae00","jd_5585d08ae295d","jd_425200fddcbc4","jd_67535b07b2dba","jd_XywMlmgilomf","ma_xiaojun","jd_590c2c075ac06","潘18458658692","249056960_m","jd_QonLqUwsJBjh","yanshixiong33","jd_64eef6118a088","jd_WSGoRsJNpKLG","jd_mmkQAPHzElwj","jd_7207f2a470b8c","jdgonow","jd_7539e7a4a2f8c","jd_5f6afd552147e","jd_bWkRVAQCJISN","hzg317477458","jd_ShOYCZNDsUqz","1398092467_m","jd_645ad0bab514d","jd_6e69260736224","wwwxinyu1990","jd_5732edc5af786","18005715241_p","pearl2464","michaelhejun","玉奕儿","jd_6e7cff3376ba8","wdjySqJGsUyoWv","jd_45ce025ef7382","jd_vQgCXZpCbnqF","aa82377233","jd_7720e2fbbe614","qi1848983613","jd_62971cc20463e","chali522","jd_lJvCJMGlLKMv","jd_WaridDuyHLtP","jd_iRhJQfEaDBCD","jd_7e51dfebadcd0","shuaijinjin","haol001","15343829987_p","139433442-169990","jd_PgkFAErBcRuK","温伟保","昔年898","jd_GJcSlptipvoE","jd_zfDzqSpEOmdy","jd_70a6817e49079","jd_RPWsMZxYqvFF","czx886058","yijingjian","kkk1998884","Sunshine_201808","hailong1235","jd_79e05162022f5","tkzy09","jd_570cb998e762d","jd_415910d727585","jd_417058a72b935","jd_LiyifBjauFyO","jd_718c184a121ba","jd_xEgGnATNqicf","jd_7614b77332983","jd_7c181221691ff","luckyzuck_m","jd_44439c8ff12a7","今缘随风","chaiyatao","alexciel","jd_7ba03c33a5a88","jd_72fd66e95f9db","jd_71c94e6ab9655","啦啦啦和我","sonicfox","jilinpanwe_m","jd_40f94d3aeae67","jd_ViQdDaLCIgtW","jd_401a530378cfc","永爱潇","jd_QXKPEgUdSUmB","jd_7bf1ab1e6cd65","jd_43a184d2a6e00","jd_7c3acbc3016e3","madviper","261231-97509015","宝贝的小窝窝","zhoulinchen47","798214002","bunnyX","jd_6b302ad4821d7","jd_67fc85ec810ea","jd_6a73b5f65d663","尺度游走z","jd_6edc6cc98a77a","jd_4f2a70301ac08","jd_559057703f80c","71764888-40969094","jd_6ec79830145c7","jd_6f559eed6a2d9","jd_6e7a2ac9eb93a","jd_KHMPrjevYCtR","jd_5f5a582d61336","c77187326","jd_7882b203f1024","zxfandyy","wz0104wz_m","jd_sCkPTAMjzart","wdTXsoWTuPwxXG","jd_4bb76aa833e90","jd_SisvzLhXhwiv","jd_XHsrkasXmlpm","jd_4ed1f74598136","jd_7f0014e9f3ca5","jd_503bf419647c4","natalieyel","yuguoshi","jd_6789776e8b1a7","jd_7e78e11668e99","小孩子大梦想","qqqqq2525","68376853-271675","fzzhangwenqin","沉寂0215","jd_46fcbf0d9673b","jd_612a0d99f23dd","57562216-62545499","jd_4d9c125884250","jd_592b1e28e4b29","dmairuru","jd_50cf195cc9224","jd_5f100403d4fa7","先先贝0710","jd_dDCQpAdRzMqr","jd_44d915e006888","jd_46232bc896ef2","jd_6bc4f847938e8","jd_SYzoCuuIYPQL","samxh88","jd_66c1a01a4fc92","jd_4bd6947421798","30097-11716605","吻上小星星520","260589032","zhangle831213","jd_CPYyqhpbEKYx","jd_56097652c4867","jd_7d40b69c10640","jd_7fa843f4e2b7c","13503847778_p","jd_61a542ae36de6","jd_BWXaBrGVBGQl","cooliochai","jd_7f8cc3a62f8cc","13210765060_p","jd_418929ce3a2ea","jd_6c17d003873f6","jd_iaTVlguPGCKx","xwcoco","djudjbcjcbvnnv","sanwan2008","jd_4a14a37c65627","jd_73d7df79511b7","lanif","云雨轩辕","281306647-479751","jd_zpGxDtLNpIoR","jd_BoZLrkRTNTCU","zzy_zwj","jd_fgKPavGgYnyh","jd_48e038ce67834","ruochen88314","jd915634","jd_LddxldqrRtpe","jd_6dac4844b408e","jd_792309124442b","jd_nQlUnbELzlxq","jd_6c3a1ca6b7028","jd_4165deadf1844","jd_7dd3466f7b1c1","jd_OhFliCEXbKzm","jd_5567192da2fbb","garfield12345","jd_7ef9c317fc674","jd_4bc9c92a88a68","jd_64daf05a7376b","jd_7d64e4a791f00","jd_7239dda2483d3","jd_50a3808477f23","圣辕劫","lrglyr","wdNfNlErCclmOsr","xxb1983","13226985572_p","patcha_mu","jd_79059446b8aca","jd_7e073ca21ee65","jd_531e2e729ab7e","jd_5db302d2c5bd2","jd_HvdbWCUYvBmC","jd_65d4d0ff7655f","fv558896","nfsq11","jd_69e4f01d38c13","kyon2046","jd_5533d8742e542","jd_52c908cb45002","jd_72636d92c78fd","anc8899","wdiTstDxaccyBC","jd_4cafa4eb9b63a","jd_KWniUPdujVTV","jd_rhVNKoKNatiq","jd_tUxumfNEUfKD","jd_565d7adf9f2ff","jd_5ccb480040359","jd_DPNUAQTsYPAR","jd_67a171f8c86fe","jd_42b2d8f3a9ea0","jd_GTrjaToSGglI","淡雪993","jd_CBoGZwdpBoTj","jd_559b00270319b","jd_655d9888fd789","jd_58b12c22ba7a0","18256923930_p","jd_405a41883d569","jd_44915590c189b","276284386-865597","胡胡爱你","jd_60751f5170822","putiwangsheng","jd_53b75dac6fe41","15556562236_p","xzh836069579","jd_67f96eebb182b","18873940756_p","caoshuige","jd_773ca6416680e","jd_RsdhiYmyFcmk","vivvin","byl145","田阳波","jd_tKvIQFSOjtLd","50391999-51534396","lcblcb0512","jd_52edac4af0061","jd_UzyAnhXvLCFY","jd_53c2e07d5f4c1","jd_5ab6b7597fcd4","zengxixiang","jd_YZXInpKXhvFP","lonchy1215","13067993738_p","wdjDNxpSATPyaD","王令wangling75","jd_cLwTwOaWoedl","jd_7ab24a6884551","shenbin1980","dolphinzico","wenhui7100","pzwsquare","jd_jntnsnRHIpzG","jd_eCrbcMAizydF","jd_4433ad081d4ff","u_42a8bb297adf8","jd_48415f116f434","z15884892349","jd_73a6c43f09884","wangyi4101241","jd_xmXuvgRwskcp","jd_54963290bf0c9","jd_4ab4b64cfd34e","ldl811219","cqchenbin","jd_gFSmERZxjmhp","jd_5496251855219","jd_49d66dde74b85","jd_5e9aac0abee88","jd_77cdb03ca6a4f","bio12110","jd_4e54fb68c3a0f","wangzhe970329","goulaoer","jd_5b7c6f262e0e0","陈GQ","15278532687_p","wdaXfxoMiMPpQT","jd_kRVxlLDYCdBc","jd_58806bff4116c","jd_753d8fe06428c","jd_689e64850fe0d","jd_6c75e03ee61e7","jd_wUlvWRlMgFdS","jd_gGyylBmmddll","jd_4fd4dce4a5135","jd_4cb332f20c043","jd_4d52b013289ca","jd_7cf060482b7be","jd_54a5655c0fada","jd_728b0e1c3355e","18500529608_p","iiziji","jd_758d1de26bc0a","15166996640_p","bg9bjz","jd_IjMnccNrkzNX","jd_7c6294aa77b15","烁烁果","yugoushu","jd_4ecb4094e29d8","jd_NZxYzHTreYHu","haifeng101","jd_DqYlRvhoneRb","你满不满足1993","jd_65f08fbaf3f5e","jd_4e7acf904c976","jd_YsIkYGPGEnvc","jd_GUnpvzkejSIF","jd_5626b166dee41","szcare","jd_69f0e7aec5895","18668123676_p","stampedelin","jd_58b785d8d9ea0","jd_571f789979e9f","jd_BuomvLRFbiLP","jd_49630197ab2ac","jd_6630bc5ed901a","jd_4f75cafd03833","jd_XInXhyZqVpXG","jd_63d8642d47751","jd_459a3eeb148d0","jd_6066783c0c296","4574537-496527","jd_5a5679f1f52aa","jd_HyCnaFibhdmS","jd_59a9b4668dd8e","einzmc","jd_JUeItISoQvUG","sunnal_cui","jd_614e85d51d9c6","jd_55e73fedad952","jd_61cd0346b8838","jd_qwVPMHvMDEqa","jd_56b44b461349e","jd_cFtQCQPuWLga","jd_4b00c89608cf8","jd_QHuuyorFrUxV","jd_59b60cd6125cd","jd_utfpnNvStSFs","桜心","jd_6895908ae43b4","jd_50c78813ea4c5","wdCfGYhJGhWsPt","jd_4eea6f024e9f9","jd_4f4ecae43355a","jd_73905d006b912","guyi1987_m","jd_6d8373b3a6563","jd_613b26b653550","jd_5b03c2731895b","18731310757_p","jd_GunibUNHejWu","16000079-692785","MIKI2814532986","jd_6f4c1eddd9964","jd_4b93e3feffd22","jd_5a7cb6d4477af","jd_6a8ad58330003","醉酒听风雨","wdxGCasQAMYnng","jd_cZhdFLQJWecl","jd_437f2c40b9c50","jd_47f73301751e0","liuj1a","jd_793ee269c5b7c","wdPtOTVePpSTyJ","jd_50240a3c3c323","PanguTeam","jd_kDbmAxRfOaKj","jd_iiVAaHfVwEpH","jd_HZnqnkugAxSv","jd_72a11b7c7b864","15818163664_p","dtwya920","jd_5520f95b592cf","1387508871-687112","生活想简单","jd_76c84862d5187","18443121462_p","sky_随风0212","jd_SYMOVDrRPQJQ","jd_6fd4fa7854140","jd_7e049c8d5e158","jd_4fa9ecb3d1330","addeyos","jd_gzIlUPuXojIN","jd_58c682ccfc79c","QD051","jd_458cdd2c51a60","jd_5fb06fa143a25","jd_iqTLroEoLmBK","jd_PYDNySRjbTUy","jd_PKihPghgrzzP","15554909210_p","scga李蓉蓉","248735868_m","jx_llf","改变风格368","jd_794b7acd149fb","这是谁家那小谁","猪傻叉","jd_dyQSPfawJhdR","jlicon","jsnjfz","jd_QxFBnsbsAuhq","15566054320_p","wdIHuQSpfKjzlo","jd_47857751ab11c","gackt7788","jd_7d168922c9a78","jd_65d697d51679f","kongbkx13525499539","jd_67ed14fa763f1","那长","jd_448e26564ed2f","jd_6bfc0e8b0bee8","18665051746_p","jd_5e1d82d91a7e8","jd_455c64bed6d63","jd_613b8e1d8ce9e","yjjyjj_yjj","jd_wUgMFnZEkmWp","394686330_m","jd_71e8e358cf9db","jd_4212bd1379611","wu1wen2lin3","13952894479_p","jd_YYBhCzlOCrCB","jd_501b2bb7f6cc8","jd_BlGzHnMLSDlu","jd_NykurMeDgZXH","jd_40663232c3450","水有长流","jd_5347d7a59a08a","jd_4564c2f38a05e","jd_626cf92bc2bb4","不够格的小流氓","wdlEVwGYFfgxCO","jd_454378db79d00","error006","jd_4dd9f589cd901","ericwcx","jd_JVeMuodePeSV","jd_6b22b91671b6c","jd_VqOChuEDMFsu","jd_5fdc84f26e60e","jd_TorSIrTZYhbu","jd_683e333a38451","jd_7e7f69ba6f712","jd_6320c519bc496","jd_6d698a4dca8f8","熊素芬520","jd_7aba8d4d10c9c","ekil","jd_7d2ea34fc4c6d","jd_64ee1ac79d55a","jd_4aea52a005a7d","邓丽丽仔","jd_7db953d9d886f","alicewangfang","jd_45bc8280e8fb7","jd_588150b4ca75e","jd_bKrjjAgsBOAk","jd_6b9907c2160fe","jd_751a26ce07909","jd_7310e2fe5bb1b","jd_620374923a0b1","jd_568e02e33118c","jd_6a04eac566083","jd_6c14bbbe00d1f","121172971draz","棋乐融融10","jd_sluNzPLUPody","jd_djwOsVQlpxOF","wchm19871005","jd_LBocEORUxRIg","garyiori","xuzhixian19891101","s1428131515131582","hou-my_m","雾锁心泉","1121809-77702808","swnning","zsfoxx","gxc130925","jd_6cc9c62b21b71","19569308-924441","15045102716_p","jd_6dfa9f9f9112f","597新罗区邱俊艺","chaoyj","mmzaiwms","jd_70cb73ec86052","11537621-182931","jd_6bff03740ce62","jd_cFfOaYsejMPq","xiaodongus","jd_zZQiKnUXmvaS","jd_5ca4b558465ac","jd_4259e2fdde503","jd_oGmDsjsfvmFw","kellyzb2055","jd_63575ca281f82","danse911","jd_UVSdzcMeeoHH","wdCrWdBvcRKmsQ","jd_RDpKFSVQUXGg","jd_43ad5293c6019","jd_59572e9d2ffa5","xq-436582-lmm35","xiiirww","jd_5b02695b3b815","coldog1980","876145734_m","jd_7740ff24f4f84","wx4766","Bakala","jd_573fffd9ac96b","jd_7c263f485fb4e","jd_5584910e7987a","wdAwWaAqnUOnQr","jd_593088b5ab17d","jd_401d0c2a78c1c","jd_42a2af99f6e54","ningx_921007","jd_fVWnWVwokbej","jd_7624f070bc413","jd_422fcb38ae613","jd_461e1c38f8702","100459037-189044","jd_OuLtTGUYXcTW","科雅LPK","jd_64328394d4ec9","336507680-147316","jd_pHfEvGQlJckI","jd_5cc6ecc949a02","zyyoo0613","t1175783297","jd_75f39f23171f8","jd_7d151bd097b6e","jd_56aa9344ade2b","jd_6013d00c3524f","jd_78dc2fe7c86bc","jd_77d5d20f046bf","jd_53950b364fabd","362925628-396582","15680886793_p","jd_54f69cffee3af","148608509-550648","jd_44bb6ae1ad254","18631161256_p","53776831-49547733","jd_6572705f33bde","STT9","zhaosudan2016","jd_54a0da44058e5","jd_62bf7ee344404","树下听雨rs","琪琪小号2号","废老大","jd_402088619e875","crueylll","wj321_m","3in1","jd_5999c99bff800","jd_kNozjVZFvpkn","jd_ehvEEVRrHTCi","jd_tqtxSpLipmrk","jd_ZZNxwjGKeJPb","jd_focmPGqkrRVC","jd_4b58329748f54","jd_789d312a5adc4","55190047-594937","shengyusun","jd_538ec5e3dc275","jd_fqIJwswPshMn","jd_50c1e6be98e90","jd_55d7378ecf15c","kp2395820","jd_495eb46317a3f","jd_7ba4b79031a43","li1600465559","hi5681148","dj1203","cheungyau","730427-87068773","jd_462f9229c20e4","jd_4eb6f026cb8a6","xiememe","jd_6f09e719fcc08","373723666_m","cheney0816","jd_mwdlyxTnDiUH","比取谷八幡","jd_WMKMseVOdPuz","catherine33333333","帝国雄心","jd_rFmOWNLtrGmW","jd_6f66f392a7a8d","suwmlee_m","jqs0818","620293325_811212916","jd_HndYGQnLbRCW","jd_rVjzMFwZKQCc","jd_gZrtrItswlqZ","jd_77de01e1bc887","jd_rHmsIEIfVoyF","jd_4cfdefbbbfa3f","jd_69b36efe43f06","jd_68db102301e15","come_on_you","jd_5a45b27b386fc","lhclijianhui","jd_4085ded170c10","jd_SCudvrcIdjdh","jd_COWlBxJKGJNj","小鸭873","尤大大的菜","jd_PYjlZdIwfzbs","wdPcUecynBTgeo","jd_7d78de6793f34","jd_540944c9dfcf4","jd_4d837819f6922","jd_5513b79ac08df","jd_77f974f760076","peach201314","18981300052_p","1023604458","1632515-912109","99975197-422261","jd_6a8311667bf7a","jd_467fdc0929811","15229701736_p","jd_GJmcACuMDDta","jd_wEJJtQLdhoVY","yawenchim","jd_KmknKsosOKOY","谈缓缓","红籽829","liangyn2012","kingjohn2000","103722198-329438","1051352003_m","174668514-189701","jd_4f3a53cbf1601","jd_sLeRDkPiriVY","241718224-134734","圣西罗的孩子","15866635088_p","jd_mdFTTXIAjKgq","jd_742a5d9171131","8313702688","heygu","93359662-669248","jd_477461e442902","hhy792","wdrLXIHSrITisI","chen7790501","jd_64a4d26d9ed1a","91103754-854695","jd_7a536ccda3a35","tiantian","jd_LfEdrDnJlKET","jd_CRJFTuMfKSmt","jd_614c0d0477cba","小澤瑪莉亞","wdnlFbDljtkpEP","jd_OCXTWOhSkpGL","85192cool","jd_74614fdac369f","jd_482ed4f04229c","jd_43aec570d6d9e","jd_55d1b643790f4","jd_519bb5d7c7d2b","jd_453623286b441","appack","jd_xJuXluqfjPvL","13935232189_p","jd_eiRsTTECFgwY","JRSD_RAYvb1618","2436026858_m","15062175771_p","waxsh88","15822729658_p","jd_753080b4b3e16","13868966989_p","jd_6bf1efba6076a","jd_6fe5e7b54b931","jd_aEKmLmanzCiy","casterpill","a283783349","jd_779e5f63ed10a","jd_4437ed54b0ba5","janeory","jd_5a6d0c8b0f847","jd_48dfab2876947","2011小蓝蓝","jd_73253545e4f8a","jd_542df7e077863","xujiake","jd_7cb7a86ab2f7b","migranter","jd_4569aa52f75fc","fred-liu","735817877_m","jd_670083da689fb","jd_AtgScIirriZv","jd_69bd0e9da7705","jd_7f75cb841b3a4","jd_738a2a81e832e","kathy0927","jd_wrsPKZAwLhiO","jd_UfTncormjGzk","jd_suFfmOfGqMvg","jd_vEaTPepPZazR","jd_47c4c35b1d462","jd_548a47fa1a4ef","jd_7ca3ee6cd90da","jd_69567625b699a","jd_7f074d3c09b3e","jd_chwhVsTKoVJY","weldatlantic","jd_55d294f9c7e1b","17816893901_p","飞翔jxh","jd_7ac8ca5bbcd20","taokaicn_m","jwd1208_m","jd_4b0ceb3d888da","18682019504_p","69957367-192357","jd_55b918b8e7db5","summeryan129","aixufan","jd_yNVIEsykdKic","jd_vkaxxcPzlLSH","5547519-81416570","ilmare","pcy02","jd_46f49cc85f6d9","jd_46e34ba42d4e1","jd_4352cddee214c","jd_4fe99060b4645","15601710972_p","jd_ulNEBsKjJgUn","jd_5fc8087d3ce7e","a597584442","47995111-550215","1397596667-967151","jd_54ead06ffae44","jd_77fc095a68140","贾聪聪1992","jd_757f6b977df0e","见崎鸣","jd_7d7737fe543f5","jd_vvtmWJxdNVFg","zhaojl2011","jd_782b131b1ffad","jd_4ae9afe092205","795247-49541529","jd_5df38d6de3209","jd_rTkVJcgXadou","crdog","udbrave","jd_485dd6746a526","jd_630fd4ba0aabd","jd_57a21d9e86454","anthonysze99","jd_KlnwfZEzQRkY","jd_kDLReJYACRow","jd_55b992dfc8cd1","jd_7ba540536cd70","安魅网络","jd_EnZyosoDrLdx","huatin123","4981638-496928","jd_422a72f5b3a3f","jd_446c3730d942c","15761610490_p","jd_yvpEZPXrYvUl","258842259-677571","jd_hEystBjzDRju","15295823660_p","你就是你43","hnyztz","cristine66990","15757831325_p","chaoyueziji123","jd1225873567","wdBZKzEqfbaMjS","wangcicim","jd_4098bb661e16d","jd_455facad965ac","1506337838_m","jd_vJJZEDqhcBuE","sdlijl","jd_XQzwbYmofRiY","daili0504_m","jd_ZmmNSpINyihm","答案666","wdiUKKDyLVnNYA","Terra_Nova","地瓜妈","jd_vXsHJikePbWM","jd_UYnQMSRhiyXs","jd_637bae60d0ad5","吻下去豁出去","95332518-106965","jd_68760d881ec35","wdNvIxHhvIGYzOy","jd_7d7946bf3af9f","puffxie","575上虞区蒋沪俊","jd_5b960d42c9081","zhengwei8762","jd_6173a1bbf8b3c","399948932-890656","huiweihui","jd_6772316a0e369","jd_477e3c33ac796","jd_518e556221899","dgl1024_m","jiangwb051365","weslez","jd_56b6017796376","SJY9504","jd_63697b3687664","jd_716ecf3fe9c0e","jd_4744cce20249e","645779072","gxlmj555","jd_iyahRYgYlolE","ylk520520","dmw444","jd_6a9b66e14f819","jd_770df446b8b71","jd_411d0084cc396","jd_58248b9ef4e73","494782858-912537","jd_6575c9a1e9c8d","13717112707_p","jd_vLjrZdppmmsX","无伤丶大雅","jd_WcBsWugXnDcb","jd_GNpHuBIHdSqC","jd_46f001f0e2757","sjsj2011","576123219","jd_63597b5ec9948","jd_724a410dd03cd","jd_690ef18be7d8e","jd_5039ef423d5e5","13735008768_p","liuxiqiang2011","jd_71e9d29ff89bc","tingyue-wu","emiham1218","jd_4aaeccaadaacb","jd_791c2573d4446","jd_xNsxEUeAgMWZ","chengjianglong","028蒲江县王莉","jd_hRdmkHigmcXL","jd_6b48467e56017","jd_580044c5dae66","jd_GfuyHMHomJdj","jd_RcbdrdiDooIL","jd_XDceuZJLFWSc","jd_728626fac628c","jd_6217a007b3ab0","michelle_z_m","lily99wjk","jd_xJCDdraVwEGQ","jd_77ffba99e87d2","jd_VdpvDUavnKnv","jd_FiVeMyfTDYEV","阿达大大的","jd_HtXraDlPqjhj","jd_ISwaxKEelQkn","jd_IqAABXNgWAsY","jd_408c10402497f","jd_dOePYmOBCqLq","jd_41010022753e8","littlesky87","jd_56860e8b18248","tiger830","小灰灰_你好","几水","jd_owzKjqZAIVEO","13508975696_p","jd_569cc5336ea29","jd_69ef900df8f4e","yufan0512","马大小丽","jd_6264d7ce15bc3","jd_60c60b529c62a","jd_QmaGTrGWmELb","yjj_126","jd_bTTKGYKEGXsj","jd_5f3da489240ce","javonca","jd_4aca353145ba3","jd_51616f59e0eef","shenruyi23","jd_6a43f5183c0de","jd_4e87639bb6f1b","jd_4948cae03d2c0","jd_vFsNGmfzRhXi","akbkcklxj","jd_evndkOkVGJpG","you_less_m","tuonika","yaku2688","jd_57af223bfcc74","1309893722-164885","sxdselect","jd_mjDuUOwLIqDY","jd_7aaa40e16412a","ybjtt","67827877-839154","林玩君89","jd_46c6e3b31964e","lyh8120","alone_yang","fjb54007","jd_540f63e95a30d","551肥东县李跃东","ichliebe_cmr","jd_526fba1132ec2","jd_OrHWzSfHcdAl","jd_4bd42f5798879","jd_6f7131e86e5df","jd_6c69d860e85e4","jd_5cb82f857b5a0","spxcre","jd_651c65dcf2e2c","jd_4861989fca95e","jd_4bd6d04520ede","hhx012709","hf可乐","jd_urJvLTjnvIfV","froglh","jd_6cb70b314f6ad","jd_7d147a198f23c","jd_qBStbjGyTmoD","13918863380_p","jd_72606d83978be","slowsailning","jd_72fc062fc157e","jd_5ab2a1038d610","飘蓄","jd_5f2989e3cf2f2","xnh1978","jd_5856a61438598","jd_kGCzdWMNCjEk","photofan","jd_4f37f67245c8b","jd_4697e05dba645","15619228212_p","hetoo","jd_eMLvTyDwSvLx","annzero37","jd_7682b061be4a7","4612063228","jd_7832d23415d13","lixu9337_m","jd_5773b63332796","jd_532d609db899a","jd_70e42bebbc8fb","aa1123369429","jd_42e98b9090ad9","jd_kaXQAzTSGqbk","cnhongwei1979","jd_LHGLtSSGZklY","dgtyki","jd_5c0bbab55c569","jd_zTAHufnvmYyR","wg521118mvwi","艱鰬墆裓鴮","jd_6c0e307fd880d","jd_4c756215c282a","198746157-84086461","jd_7b4b5b2255097","jd_710d381fd1067","lulinsnowing","Pemolo","zzlzfh","jd_4c2abd5e91de0","jd_78a74d15ac7a5","yucl2008_m","面对疾风吧555","42705127-908562","jd_WdUAtpkOInJl","jd_arkjoUVdqGLC","liyafu0407","lwx16155","jd_mIzEerYQOKSQ","fangxingwei123","jd_453da9446b365","lwking3569","275732804","mi阿然酱","ningbormb","hjldare","firm1259","jd_hqvOpGeNphGs","jd_7df2bb7e43e13","jd_ZczrNYjAIZwu","jd_FDNsizEbfENT","wdmvaVRFigLbcy","d786616590","苍小楼","jd_5c919262307f9","jd_rsfQUlovoiLn","albertyan1997","宋梓文","cf0309","jd_537dfaede4317","jd_636279b93710d","jiangyuhao1234","linhaobo12","jd_432b5a1a14931","jd_4b71f561629f2","jd_614635be185be","jd_5072cf9019b4a","jd_43575a951dffa","czrwm","云涛0215","清歌留风","jd_766dade41cb1d","jd_KKBrJwMwOfsm","jd_5fe725ff39ca6","jd_56da46e665c4f","jd_569b16da6e5f3","jd_7165d8dfb04c3","zuoaiping8_m","echowxsy","jd_4590d03e443ab","jd_sYONYMxGecCD","JRSD_ktTGi3646","jd_RcGxmNItkKCL","9991992531","95581245-627991","jd_56b375d2ce284","jd_5e63dda63993d","jd_78d449b2781a6","junkeone","jd_7ebf32f36d6f3","wdqEHncDRfUany","jd_660b75e6a2b3e","c18997922349","jd_mDCBAGSOCdLx","纯天然野生奥特曼","jd_grJlfMxIYUSE","zsy309080883","guojian316_m","jd_ZPdKGIoRiZER","wdLFqvixMsddpS","359962162","xhafei_m","jd_41ab9e8adb050","jd_68103f556cba1","jd_ZRNnllpVosLQ","jd_fPQsgDjXmGgE","jd_5bfa4a66363eb","jd_79567b0075212","jd_mnRhaRtcQKcC","eastwom","苏琪坤","15940997465_p","18616761131_p","jd_mPinUTubsZhJ","jd_711d2fca412a5","jd_76ba1df88f695","jd_624eaa01d92f6","jd_4bcf73a4c06a9","yuki19961010","手心流年1","jd_HFnTqdAzJDvB","wdeFOoSLyFKIQc","jd_6ec121a52a8a0","问里面","jd_72df09c28a804","jd_tyzZcOHeNHXj","jd_5a238fc3d2cbb","zyybh","jd_73d26348d5248","灯草","jd_7117fb287b2d5","jd_42e20fb8f2e2e","jd_6d05d915cdf21","jd_acECoieVJEfI","db05213","JRSD_ksFpl9700","jd_7f3763cc785a0","Wj105194","danyoutuei_m","wdGakocsYNUJYB","jd_sJVMqrwgnSyP","cqjerry","15212135152_p","jd_AHBWNWoVMYQi","jd_AwcCxtfwaRHH","jd_HOvORuvqIURm","jd_5ad356528dd12","jd_577c297e1bba7","jd_6e01e469df888","jd_4c559d7d812ae","fangxueyidao","jd_OmJupenlgsok","jd_4ec061c0cd660","jd_6d0998c30bed8","jd_lTlfQsuQGkGh","jd_65c1f94132982","jd_44b50486b649c","JIAE88","jd_6ffcb0dc5817f","jd_GmSeLPsQReGJ","jd_4a8415f125b8b","jd_4b99910529628","jd_ILDMhODtEIKJ","jd_BwVXfiTPEseY","曹方亮","sxl360198419","rastyu","jd_LmzfyPWvkaHN","jd_7fe946c283c32","jd_pWlaoEocMqHg","jd_iiOzBgDRNbbt","jd_uSUUfHRsKyIx","jd_pzcMGevvJrkK","jd_VAUgSwMbXcbv","宋不了","zsrjim","消失远空中","92031221-19831794","jd_438a1adb63b49","1645695156-480797","liujing172205810","232935545-613154","曹丹丹900216","jxw91002","lzd596049368","淘荼蘼","hyzhoo","jd_40f544ba76d4d","jd_4cddb779557c0","jd_eCvxNqAflWds","jd_7867bf074cd7d","jd_44e040a3165d7","jd_45d5c4933a241","jd_ejaDXOcobCWO","jd_720cd81b5e25b","jd_4b2a66b997e61","LLP24465","jd_53fcbab4f7978","jd_tPLLBILvuicc","jd_54fe715ef24f9","15800989605_p","我还是乔","CLOT-B","jd_XELbzjdUWNaM","jd_5f5792eac10a9","蔚蓝的回忆","郑振洪","justincnn","jd_uMRkPuLTBYPm","wdoxfkaondTyqT","jd_78e66dfa7470b","jd_6b4b070559a28","淡一点比较好","jd_40dc68219a4c3","xingxing7616","九月菜花香","jd_61eb3938d837b","jd_7f213ff46ef24","jd_gOxxOEXmsITr","jd_eIoaSSIOoPFf","jd_4ff77747b1aef","198936639-824999","jd_HxxdxdWWVrRf","wdNVmESxtEwRWBh","jd_EqFAoDltvrVa","dvdrm","hugelegend","jd_6ca3aa04b7e69","jd_4f9192f56bfe1","s1907521323138698","jd_496d3639702df","jd_64affaa504b57","ly520823","ravi1110","jd_hcsKTPjOxjvK","18688099719_p","jd_50c1079580766","jd_yjqdmAnCkmVp","jd_76851c6f16d9e","120840529-933145","gushushu","fanlele521","jd_UjLpmSZlLlbR","jd_6762354d15880","jd_oUORCBxzRDJD","13022835701_p","jd_658b25f054971","wdsZWVjXNvLUDQ","jd_siGKIGUSVcrv","jd_5477c5b362b7c","丶私有","szskcsf","jd_sSQnLESaOakH","jd_7402c059dc19f","jd_4be8e32c41d2e","jd_431dc03baf6a5","lichengjiu","novnow","jd_6a2918e70f922","jd_GJVgqOngnVAg","jd_5d6a053a576d5","102988088-17170316","jd_UTVteYKChOVu","wangguotong3","jd_418455b40a21b","jd_7ab76e452874a","zhangjing1987820","je54149725","jd_YafIptzLgjgP","三三五六","jd_5623b83aeaa10","jd_5cc4f16b9b67d","jd_HzvoWboKEyVF","5347885-515305","jd_mjivHkXCWwxD","jd_497761c828dd7","xjq18351979658","jd_YRvMJXuvpANf","jd_59131f55c6994","116422344","jd_5148c0f011da7","jd_709db8e5e2b42","jd_7563a790c8bd7","jd_50207878b7562","jd_66fd9c69b3bd1","jd_4fa6547e73d52","jd_4b567e5f2e79c","jd_636e1a690b0b4","jd_5cb736511d4b0","2272568283_m","jackson16","haojiachen1988","jd_6cd7866a49665","jd_6ca2445fe21d5","dragonnmb","jd_72cae10e135e0","jd_SjwIdnVTEoqQ","jd_6e241934538c6","jd_60e04effaee08","2412081501-119416","kicky19873","jd_731e93f6db508","wdKsVsUIuZdCHW","魑魅lx魍魉","jd_4fcac7ec060c2","jd_76b209f9c601d","jd_lDHfwufeaXlv","jd_7876223bc3d04","zhuzhonghao","jd_64e801d6db692","jd_IyhHvGaBRzsU","18931546601_p","严均平","18848955190_p","jd_lyEhEMVREgAb","jd_bdBrAGZlEwmR","jd_57b53449c8f60","a6363520","jd_52ffc7a3b476d","jd_46f0f0ad86805","fu992256447","jd_63c7533a4aa8a","benker2015","jd_63372205e4143","jd_pTAKcYCDoYUA","jd_aDRWPYAEmCNu","jingbo_008","qkrwhdcjf","jd_76606c6948b51","13604241640_p","StupidGee","Yvon-Shong","jd_718511bd6d271","shaojiang112888","xuhcan","jd_LVQJqgJNObok","daniel4by4","passwordhk","a3601001","woshikd999","jd_677a11f7c6b8d","kk891211xxj","yu-彬","jd_772fac7e92206","zebra_201403","jd_56f10ac21f76d","jd_71dd7cdd701b4","jd_AuOvQuVvMaCn","jd_63751d264335f","jd_682fe62c2d8bd","jd_7483bdbebb539","jd_707643ca4d706","徐蕾1991","jd_LWWnVZOeWbAH","jd_sCPwtAvaEKXj","jd_NnLUTvEAnfhw","jd_tQAvQTvUmuWR","jd_7f66376fa1beb","jd_jKTXhXZgcfMQ","1413854651-345332","jd_7026628756ca5","jd_55c58d1e6878e","jd_5e0e57a8dd723","jd_5bd076b55471d","132946735-100492","jd_786df28a73db7","kk578457207","jd_714a66acb604b","suyang0128","jd_70e711de563ed","jd_79b748edd55ab","amandazp1","jd_7b5e277c34b37","jd_4caeb21c7d8b4","mumuou","jd_612e5c2b571a1","775190860-994144","jd_719ddf158bfa4","15920453599_p","hibersh","MZGX007","jd_avMEtzfkBxya","jd_7f6ac094be191","jd_hbytsetzFCDa","undeadlove2010","jd_4cf2ca6389087","jiemaiy","venjays","jd_701cf98576812","15216336962_p","sunnyhan10_m","尘辰say","jd_aDlETymbcIZy","jd_5117aac2eef85","MindSculptor","jd_6910c3119f6c6","jd_lBvyYoDOBYiP","guyschaos","jd_49aa13eec9027","jd_6d7a2707c3c07","jd_oMYWqehZKtBR","jd_iIDWohZLTDwV","jd_TvMQGrEHZCNz","jd_61e540c0f4dcb","网乐乐406","jd_rlMqDkzEWgbH","向左向右sky","jd_6c274f37eb231","jd_UiMcUNNXhUsp","jd_5c4044d18b327","jd_7a6825aa9c51d","jd_SLFGwgcmjzUu","jd_4fcc50a7224d8","jd_5bba6da031c0b","stefunny","卢洋1122","jd_59b70a8c6bb4d","15230666175_p","55687275-771666","jd_5ecf4ab1554ff","111991181-927543","qiu27_m","jie8545","jd_710988b95fa7b","wskdo","jd_BeriquvIxUgO","二连长","jd_6f34262deb6cb","jd_VNmiwJUBBrrs","jd_pauxpLEZtGwj","jd_46982b911958d","jd_73b9b04277efa","jd_lEWjpPJqkfWr","jd_701345708e847","jd_4a20183e97839","jd_bTjZlZhOCcIl","jd_432c8fd43e928","jd_714602a989a42","jd_49a83f0fa288c","jd_7e70feb443d15","jd_7f36caef3c188","jd_6a3a9eabc9f88","幻月红莲","kurama_xp","jd_719ac74acfdeb","凉快吧","jd_4fd35f49647e6","jd_44fd2b7deee64","wdqpkWxaDkEFFU","jd_vyvXnuqZQFRG","fly_king","jd_5fc51571a7c9b","jd_46d4aed408d2e","legofans","dandan9148","jd_4f10924b7707a","jd_bPCmDfuIokcn","jd_4e97464d82a71","17596242-21930246","jd_6b94467c33082","ya1995","liujl618","jd_73ae8fbeb4831","jd_rzhRzblIVYbI","ruanjianfeng001","943697653_m","mqy_yz","粤东浪子","彼与彼年1805","jd_4eb1efc3e4397","jlspwws","jd_74a7652250a61","190933307-30140102","jd_702dd779b9872","yanhongwei1999","jd_47eaa3966eafa","812086085_m","cupandwater","小冉子乖乖","zmgo0703","434700717","jd_6e69cb1bc338d","d董儿d","jd_xURdzoWkzwfl","欲望小孩","lionbetter","jd_TgxCCANvJQFI","撒旦的马甲","haiguanzhao","zjgtree","jd_42b29e5fed9aa","jd_wjMuwBphjewQ","jd_46fcb7b332e00","jd_FUmPPwftZSKB","jd_6ac58227f907d","莂拗姑娘","jd_572edee67b6c6","daiying107","jd_GFPdgGFJbavo","jd_62f98cc19f779","jd_5ea991e6ffb88","jd_63367c7e55e44","fancyor_m","jd_636f23b688ffa","jd_67e1214075fc4","xztsummer","jd_47117a811ce8c","jd_6a1093a73ee14","jd_79a9b0092456a","weai66","jd_ZbtKGlxwwrTT","jd_5f8a23fa63bd6","jd_5a824b5191eb0","jd_56d6d6b268300","jd_6ed214c8f04be","13782250980_p","jd_5a8b4e49eeb92","jd_647b9925cbb92","jd_51603d523a107","jd_bhNFLnOBNKdP","jd_FiaaEUHSyoaq","Kyandi","jd_7b5a631fe6fe1","jd_XFsXfcQtvbWw","jd_7b986f77bec5d","jd_75f2bf5c55a9a","xgy971","jd_57bd7120495cc","jd_48d2a58b57be5","jaylesin","fennin","jd_62e2ecfaa91ab","jd_430413d06fc7c","何时我被时间所遗忘","jd_7e4e0f7805c5b","wduPzVZEHQadoz","jd_7ccf3e40e4b0d","jd_VEfoegflayoJ","1036605705-156893","wang-12321","18130903116_p","jd_5cc7cc95cc891","18502430219_p","gong4479","jd_YFWGDNDKVRSV","jd_EGzZLThdglcZ","jd_7bf8e3cd767fb","jd_71221294d63d5","Q9052289","jd_54dcb558271a9","jd_4a96c399cf420","jd_69928722b0eaa","jd_68d06cce45588","jd_65c69dbfee65d","jd_585af79760264","sakura_2012","jd_49dee53333c21","jd_DgheqHrRqEzs","sc081811084797","炸1234","jd_66bae59546f31","jd_6fe8ccb880101","jd_748ea8050af3f","jd_tbPQYFawXdZY","奔跑的奈德丽","jd_62113bbd6d5ca","monkeybape_m","wdNbZRMLHXXGTCw","shumisun","jd_55e4cb5fbcaea","jd_54d071d9089da","jd_7f188464d28da","jd_79cc0739463e2","jd_tRhkwJdSZGns","jd_xyBBaBhCqTVQ","w2304599","jd_7233c348e5346","挽歌孤寂朽年","勤子鼠","15990012775_p","jd_cZXmqVbnOyyW","jd_7854f071cda83","jd_oeXiXioUhdcZ","jd_6b353103ecc55","RayChueng","jd_6a0c94e5b4978","jd_62f5ecfd69149","jd_JrCguwaPaAPW","15391527752_p","150154906","jd_75873c39a8e88","jd_DShBTipBjZbO","小曾6406","Microbubi","橘子美人","18134458-116585","jd_pmBvsLTyWwQE","jd_53198ad4018f3","13308064157_p","jd_7566ba418dca7","820034797_319142956","jd_JfndlgKEKzvx","shayuying","jd_6e3ed71bdcc49","jd_4f5d19da58aca","jd_5c8aeb55f0198","芳俊丹可","明玉欣波","yoyo福宝","jd_763003a7bb0d4","西西里1206403","paopao360quan","kangbingkui","2547313983-594262","jd_4569f1b96f72c","kinglee_gci","sexy","nicole9090","anbo2008","天使缘","jd_519b37491966a","jd_4e8149fa315ab","jd_KHydnTbunAfz","chinablue6680","jd_44538a52eeecd","a1511923590","jd_49705528c0bb0","jd_6578dd92a05de","jd_4271708aa898b","Z-18279401192","jd_583736e6aa14f","jd_4d36cd35df2f0","jd_45596d7954ec5","IVERSON109163","jd_JtTRZKOfQCyF","15221198655_p","visaqing","lpmickey03","kingsprite","jd_4279ac827abd8","jd_fboorrxBUHkY","jd_VolSrIBtBjho","jd_XUlEblSZWius","wdFNPEpcHOhsmb","jd_uzlsOQfTVhON","jd_72ab498f4c89f","bjxjzh","jd_475f02e4083a1","jd_YXAPtJrshrRy","jd_XCQDszBPqkey","jd_5c9f1e58f03f3","jd_MTmJXqWbbAMH","僵尸遇到鬼","jd_772fcdfa7eeed","yangsai00","194641990-11589118","wdNZxkUIUYGmuZm","明月初升","驾校蒋师","jd_56ed198d23cdc","起航的云儿","jd_5a634a62049ab","wdNsDZhuWRLmQnZ","wdsMHxdQoPjNZS","jd_71611752f48bb","jd_qpdnlgeYcrIY","jd_54103bf93e463","jd_qSRFBcNSGZvf","jd_5ccd787c90c6f","jd_WJMeGbvfqUwM","jd_DOVySRBdphIo","jd_rlgEgMWeYFez","中山仔1980","13665112686p","jd_5ae5553498f63","拜托520","jd_qLsWXrnaEAlA","jd_5028137dea4c2","jd_YivqckGgHrzk","kurama_aya","jd_4706751495c1b","jd_WXmrGkdoarMJ","憩憩de流氓兔","jd_78bc8d846f687","63716871-974832","jd_559c74448dfda","jd_6e5a448a49d3e","jd_6aa41c2e0690c","1185909563_m","今天景","23562999-321511","zhang1135169218","jd_67960fb9fbeb0","jd_afbplxreTITQ","13792111860e1988","greeeeeeeen","jd_6ea232030e3d6","kigol","llinzzi","hunter2236","jd_78b629f0c83fb","jd_50805d93bfbc1","jd_48b98e35ef667","jd_vxDvVbSIcbXy","jd_59c775382e917","jd_75053873e03b4","jd_OxZpfOtqBtPy","大飞1994520","jd_545489b0148bf","ai3c","jd_UtKFWFpclJND","jd_wOaeVBCDmpJz","1556414925","jd_vdxdfLFxdBhB","jd_7f0a9095950f6","jd_TyLWfvUgOdbN","jd_6ba4782171d95","jd_jGlkkACpySDR","月心月士","fdm明珠","jd_52b86541490f9","180229592-149407","shannon2017","gjatbukn","jd_7412e52955b1a","jd_45865cadac1df","jd_4148db62dd1e1","jd_7fcf51c76e4c7","hqy577_m","jd_iNEQWpScvkmV","jd_49407aa6325e8","jd_7469f1e29be81","我爱我家扬歌","jd_pOncQVUYiahi","jd_7deb3f1cb2c0a","jd_676804a0662d8","jd_5fa8034097d3e","1932446425_m","jd_51e472cf66aa9","vac1209","williswell","hanyuyefeng","13317182430_p","ahrizqw","巨根少年90","summer3097","jd_4adde60a9335e","jd_724e0bb2eaf98","jd_VopVckoJgXxk","15147854332_p","jd_aTZAVSCMJbOi","jd_71cd1a75455dc","jd_rqZpQKHXNfPQ","jd_6d18c896a5067","jd_rEySZwwnrcZB","Master_Kenway","jd_6a5866a71e2dd","jd_qeLnZulcwUSq","欢欢604","13723676722_p","赅用户不存在","jd_7ebc9af0fc8c9","wdpEXEcVtkUqfP","wdNoyxoeHYQfLPw","jd_456f2621d6798","jd_5dedc7b17836b","jd_66728a3249045","chenyingkeng","18222556987_p","jd_743b6b951d646","jd_GBqkyeDRzSSq","jd_7798da502e5dd","jd_TWyXkUJZnAnE","15015264827_p","jd_7b122e6c5371a","jd_mPypudOChuaZ","wanghaiyan0415","胡小孩a","jd_75634f3f94e0f","xujinming0124","27886575-165561","jd_796a89d0376a5","jd_CljhufFrylaS","jd_7cceab3143892","jd_4cf2860e676b3","jd_6f47cda6730af","jd_4becfc6e72c86","jd_456f2541c1374","jd_oCgVtSoxfUks","zhaoloveme","jd_67970a435918b","a875536834","xinhai902","jd_5029f619aa626","我手机号码","jd_5ea681a3626cf","jd_4794e897e9609","13767382786_p","jd_JokSFWcGeIWG","zengwende","drawerkvm","jd_425e6ec7743e5","1827948-120476","lcb512","jd_5ba4488bfdf1c","jd_6d1bb26a6e93b","13437324120_p","18889977418_p","jd_4bb9077710273","yuli7665","jd_72a2213e93938","u_746470aa2aa5e","jd_5d7baec08f155","jd_7a7777a12ede4","jd_7f5b93e3e4c89","jd_eCQvppJXOElD","13983880578_p","jd_59fa81d213507","pinkle","jd_jETzcpBVkWBa","wdJINbxEVpJRRA","enjoyC宝","dv550881999","jd_PTLzLPCvgstZ","jd_NmRrDgScoJxB","342844415-510708","加菲儿蓝","jd_72f43a6dd430d","13385710003_p","JD7752","jd_5661d1e7c2a82","jd_JQEHOteuptJN","13910396438_p","jd_JgHAOvWqtgwh","yhwl8888","jd_5485d335c27be","31280004-468581","ahhh111","jd_48fa90b3e8f4a","jd_7ee3d17177909","jd_RXnElFbenFVc","66956365-145669","jd_70925d4cfe682","could_li","jd_51b44d3679bd0","21295-89328131","jd_49b72b75488ba","18814866187","jd_77ee9f9433cac","jd_77f51108b7923","jd_7caffe6b42aba","jd_ybQjhtGrnIwo","jd_7e93d1c29c22e","1159397096_m","jd_zheLvPPfECIe","jd_WpkcJZKoTvTW","jd_4de6a8fcaab8e","18394856686_p","jd_6efed0e2c1c7e","jd_612b523dcfe06","jd_59d4ea5ad29bd","jd_7d2f05290ed2d","gw4612090","jd_HdReDiEuRRjG","jiangchina2018","jd_571249f4ef4cb","liu19930226","jd_ejluyUcoFDSj","jd_EGnLEgeVJhyI","15071428592_p","灯光下梧桐树","jd_HPxlBbMzHixf","12124629-110306","JoeNik","jd_aplBDWfIhQff","jd_7bb3192427571","jd_51424fdda9b2e","guaxr","jd_42fbe49480f3e","jd_5586aae837025","jd_UYVaopDqjUjV","jd_731e0e9d35d63","jd_7dea0dc0583fd","jd_5fa67506f920f","jd_6f952258894cb","jd_461cdb5e3eb0b","13960108456_p","jd_VASTeNDjlnxs","jd_mJhisaBcFRdI","jd_7770b85eceac5","jd_BWtJidSZUcjN","lsy1719","jd_75632b0593345","jd_ayenFCrvcIFe","18072722056_p","jd_6d654f26d8690","lgxjdhao","jd_5b9dd8dfae6ff","wxyzleo","jd_eEMdrVUtbpfU","阿夯","tangsan1993","jd_MHVQIowTcHHJ","wdwRmFwaTMVLqL","jd_579296dae9086","jd_5fbd9828494dc","13873044412_p","yehao_tx","星源奕雪","xn408163898","而未央","jd_5d2bb87e0576e","lyonson","jd_68de7493ce199","jd_AiQBCjMmsiiy","jd_503395d6a0c17","wx3124884","jd_afioJsOflrxL","jd_7fb1e1eb55665","jd_XeEOqrCkqmOf","jd_46518ef3ec5b5","liujikuan1990","165381228_m","15950925490_p","jd_65f6222231123","jd_6456578a55404","1301254-98715331","jd_421225d0ba828","larymic","jd_79a4a1fe1a441","jd_7ce217e4f034e","z947511564","jd_6f390e43953c8","jd_62c8dcd44fcb7","abc253111","wdGlOBiWqPGiWk","jd_42dc8669cbddc","jd_tuAYveWYChVE","18696118-163604","jd_7affa1a7b0a03","龚天睿","jd_5f1cb32f51956","jd_53207842003fb","jd_4315e7f55cde8","3193850-614115","jd_lGIGrSlVHFqi","jd_7ac446bc59ccb","jd_42924e10e6fc5","jd_725cb2f8e1374","jd_4683e5221862f","jd_60c0be4a0a966","jd_6afe5d30664f1","jd_4bc33d12cfc55","15230868861_p","duhuanbiao136","jd_zkiBgLIpSahd","jd_vmixztWqaZmj","jd_6779fba99478f","18323695900a","sanfran88","jd_5db5d017aab85","xsi640","18610933369_p","有致生活","jd_48ed553ffe0a8","szsdoksd","tienchiu","5684135-60082418","wdNentxAWkIVkOi","xsjqq123_m","jd_4199d4b746326","5309090-48145048","我是我的情人6035","airterry","wdiUIiBlGlzmuJ","13667196918_p","jd_5d9f4007d9288","jd_fpIyndLzWNcl","jd_zPOhUUJPmXjh","18200477515_p","vwxyz000","我爱来","jd_65b4834100db9","蒂芙妮的早餐","cater923","15519047376_p","jd_52414eaf0bce4","liaoqionglin","jd_730342f5e480a","moonspell88","jd_6b7789b8d4cd6","jd_mOGwNDMxcVFj","hh2001","jd_464fbf6d8ec51","jd_7b3fd79dc8149","LinDan0118","时凤仪666","jd_5b44334947905","86393899-33557928","jd_6221968c5abf6","jd_50ca0d6639a22","jd_6c4c779ce274d","bootwhile_m","zhangli397604","jd_409d3414b79b3","18111258837_p","jd_rNDpUXphCWmJ","jd_7fc4b38a451fb","jd_4f718c2795b36","dssn182","jd_486abfdae37af","jd_eBzFvnWQgQbB","jd_rZQchqsoGeXj","jd_6d5c3b8946a4f","jd_oarcNdvaIUUY","jd_7368514f5574a","jd_6fbbd991de6b4","jd_5caa8e2646289","jd_52de3756703dd","15709916676_p","jd_5d47292f371bf","jd_755af174ab48e","jd_57863ec1bd4e5","jd_CVtcneqaiBbP","jd_6dbd94f0d88a6","jd_yNWEHTBOtJOb","dicksonkoo","jd_436bc4de51b27","dana001","jd_4c460c07f60da","jd_5799fbda8dcc6","武晓丽1992","hljmsp","jd_67a3e3398964e","jd_ZGeVbOFbFHOe","一个人演绎东炫","jd_46d17dc2e41d2","jd_5e48866851d82","jd_4ce1ea6830486","jd_6365630934e9f","jd_5a333f91daeec","mengbangdeng","jd_6dc5c82015d1b","jd_65a4f3636296a","穆小浩","jd_wmQJLbBoacdB","陌上花开zsl","jd_6b473574c8852","ins001","jd_5c842da9d78b6","jd_7eae4cf519469","jd_521f6ac2da54e","jd_4886c86ff2c85","jd_517b11c1cd9a0","WANG15223704162","jd_7cbdb11cb45ac","1005104860_m","wdnzvGVtbxHyya","jd_4caf938965439","JRSD_hRPhs7362","jd_VJRAxidmPNPZ","圈圈circle","ky6150450","371796935-368953","jd_528764c66cbfe","lucky0523","tlwstc","ppk0510","jd_56bb739112c6a","jd_7d2ef77b018b0","jd_78153681f0d6d","jd_7cb05df0345ca","jd_EUtahodTRMPx","gangzhiguo_m","jd_7cd83e8fd3761","wl953756948","橡皮520","jd_5e5ebb68cfae6","jd_6b7a8050fea38","719628-83431035","jd_50226eb7ac3db","herojanetting","18523029737_p","jd_45f030c53d0a1","jd_5c5f59137f4d3","jd_sFdYEnPceHot","15817075865_p","jd_538360304ea1c","18393467740_p","jd_61fbfce6f093b","五月之雨","jd_ZfvqkvBQprfm","jd_6c0da6e81443b","jd_743e6c55fe369","jd_7138277723f2c","jd_4bda803731dd1","wdzSQTpRJiOGCQ","wdsqXEgcHRBkaI","jd_5c3a70e4b263c","cSBSkjzF82_m","jd_bwtZzHpqxOWm","jd_69bf459598bc7","jd_VavranysDTtJ","jd_43c7ed0869a2b","1975424388_m","kaiawang","jd_79f4a46b5d34c","jd_737b329b2b47a","hdhz800420","jd_7f91133f402e9","小二离","jd_46d8549312309","jd_6d87067d29bd5","123茄子子子","那一抹蓝调","jd_5a7081017e050","13543648733","wdzygfJYmGPYri","jd_77cab6c312b8b","jd_6bd347745f9ab","jd_4084e3b049cd3","userzero","jd_743ed21a6add4","jd_4bd20183313c9","ryb1992","jd_6b903a328b9e0","18775061551_p","jd_7bef3beb4cd1b","jd_52a31fe2c940d","-不会笑的猫-","jd_gspVAvzFPNSw","e0236wang","13451750886_p","qq2519157","jd_pEAHJinySevx","jd_QdFrEubkCmVT","jd_795aa43e50e1e","pinkboy_","duwenjie01_m","jd_71c13f088ea85","_小小鱼_","jd_4a1bcdf50082d","640989-77235127","jd_eKYGQofhEbYf","81017154-47471579","jd_63520e4894a51","jd_5e29c98fb06a5","jd_dedpKOZOBcKS","jd_59c02e2be21a8","bei_wong","jd_oZkBcYdpmGCL","柳葱头","jd_48da718a5c3f2","15507514200_p","wdNLmtfbzshXRqP","jd_7e1c1b80798ae","jd_aKxtSPufnagz","sisam","jd_vEJVSiPShovR","jd_NTMMsVEYLttj","57434331-781861","jd_5bf8d13785d2c","jd_673847e44874a","jd_xfXRqsVbUWkr","jd_66cff81d7898b","jd_zHMAlLYwhoQV","jd_5453ccaf4268e","jd_EALHZMIuWNJe","jd_793af08e9d509","碎叶揽月","jd_5344f0e8417b2","余秀鑫","jd_7b42f11472bcd","jd_4208ed10342c3","jd_77478e34d13e3","abc9878","jd_6e2867ecd3254","jd_6385196e5b45f","jd_AqTSGDikDKyu","15927018807_p","jd_7a3254226141d","jd_52c69e25378bb","jd_7a68f7c1e097d","zhuangqianyu","jd_64dba5accb44e","fly12358","769895587","jd_cWCxwrMdhmTz","jd_4afc9fbe1b148","jd_513e3099bde5b","koding_m","jd_5a6ee1025d6e9","jd_5d67d867142a8","jd_4c0b1a9ac9552","jd_KZQoEkpEesBF","jd_fjBAldjnXcqK","jd_69cd34a9a3a19","jd_4b27013943f13","18779870990_p","fang356299500","jd_5c587c1da881b","jd_48b5095a89cc8","jd_6bc2ca55309dc","jd_42bdcb7300385","Lena1114","jd_5e39bff8c041f","郭安君","jd_60ac61b1f4905","SchokoChiang","Eyebrowbend","aaa_27","jd_4fd5873aecd6b","dw2490612","jd_47c15098994e6","jd_51424a042c611","jd_SuAxpIVrlDjY","jd_5361b37d11bb7","jd_400b3164993ce","jd_63c802443a78d","jd_4600b3d981697","jd_BOuqdJOzqORl","jd_ajUCBMjDYIxf","18550339991_p","xianhuashengkai1959","鱼缸予爱","jd_780a203ae54d4","jd_5a0582818b831","jd_7af3e68fd7460","jd_5e8ec4a377abd","jd_4efbe5c1f0df8","jd_4a374ee9eaf44","jd_7b79f264373f9","jd_5d2e2ecbfc006","jd_47762b8de394e","jd_BnTGUSyJZncg","xingjiu324","jd_cvnLLHQhlMnY","Twoclchen","jd_5a17931fca472","jd_FDAHldJKdrKf","_魔星_","jd_443a56f899a4b","A_不忘初心","jd_XVfOHJLekrnX","gaoxingjie123","jd_460ebfe32e123","wdyHiZOFzLsBWX","jd_40897657c36c2","jd_51756932e62b3","yyakakakac","1387104733_m","jd_69cb81d1eb0fc","jd_56a0abaa16ea0","jd_5dc96384ca425","jd_7cdc187299cc8","jd_66c019a14c390","注册不易","jojoyang212","jd_52837f578445a","wodingmao","jd_5a1c60a87d475","jd_52b7afeae301e","jd_OUrIkAUliFJe","鄙视注册","jd_575e51c0ff11b","wdPBpltznPwpUK","呀空空的","jd_7910b5eaae843","jd_4ff6f32b8ff15","1741229517-729387","jd_651394e9b3c38","jd_5194ad17227ee","jd_55505f0903c7e","jd_564dae7fbc4ef","jd_VCbUoEitkOYg","jd_4e9b2885c6c85","jd_5efd57df3756c","jd_5f6a397d7081d","jd_mldrGFqCUCSJ","jd_6d5d7368cf130","神玉0205","xumanman0123","jd_75ccca4913e7c","jd_49b31f830566f","jd_46cbb003cc14f","moremoretealy","jd_JsInDXJcSpYM","jd_7855db854bd89","jd_5b2737af71209","jd_QkLQgfpfCidC","jd_6858b92a1908f","jd_545286ddf60c2","jd_OUaCanqYslIk","jd_79570851b8966","金星19931015","jd_74ae6cc232478","yrwy","何必这样6","jd_5112e8e0cc750","jd_5d58a7a1f92bc","xuanyuandiguo","jd_488fd25b1ea29","jd_64eba4d23994e","shaoxia200989","jd_6b81f8017cf11","jd_UzPmLAgWEixt","jd_63641e4f31b7d","jd_4348d84e1e628","jd_TCvmzcrrmRDS","jd_472538f712677","xiaoxiaobai-Y","2544029558_m","jd_5d2ef2af30374","jd_DpksHwjvzSLR","a13525560856","jd_4ed5650e026e9","jd_7339f188c50ac","zhoujianxun1958","18049229281_p","jd_75e775cb1af9f","jd_513a20ded4f2a","jd_GsvjCJiMfEOR","jd_5f9905bc72781","jd_nYQbGLevKTEx","wdhdbpADajbhit","18374132720_p","jd_6aa25d9ae0748","zhchsgdtc","非一般遇见z","jd_eLtHvrzRkdlA","82850238-824187","petular2017","sun2cc","jd_5f3e272f2281c","113413141-793900","jd_7048ae6eb624d","1360742110a","jd_6d810e5fcf739","jd_KcpzJnBcILKd","jd_6c4c06709001c","jd_61b1713beedcd","jd_KVMqrxlLUczJ","hemawan","jd_5cdf813e0f694","jd_4d55175a0a03b","jd_5dec6b4b18b9a","jd_MmGfTqZxGUBB","jd_TlFPwnNUAaez","17656012_m","374234963-621270","jd_5ae08e757626f","-鸽者-","zzshang@gmail.com","jd_71b208e3fca60","jd_czFpyOQbYoTl","jd_QUBriZIYSOmZ","jd_owLVMVAJJwJy","jd_hbncDSKTMruq","jd_69d3406b7114e","jd_70909e8b02588","jd_5d4b55bf120ed","jd_51924e871b864","jd_67183fbb7c658","wdBPCxBdpuQWlr","15852305741_p","jd_42518299ea548","jd_71fd733ad7b5a","jd_76a249f9bf00c","jd_5c1519482bfa5","jd_518067751f998","ckp1999","jd_LlkuovtBxYuH","matthew_tsai","18336242909_p","jd_ICUaxdnJmkIR","jd_50ddde62520dc","yang19861011","jd_pSeDHAjaOVFU","jd_7bc9525f0b835","jd_77c7f2f3a58ba","hivi0118","pizile_m","jd_489963254710e","jd_oARxiOqUyGVI","jd_7237c5517ae2b","清晨醒不来","wdYNghPACpTjXT","get我是JD","jd_uSQBPLyHcJrM","jd_jCteJUVntKqk","AWard","sxy602229523","z3776","jd_SpgdguLwKwMO","jd_6473ccc6f8900","念暖0505","kfotdh","jd_5472263e63f5e","jd_569406438b127","jd_454ba05ac8594","jd_BcjraUNUATCa","jd_6cbaa64594137","jd_69b03fff758d0","jd_719587cb66ab9","jd_438f7d17fcf49","jd_5ba1a080bde75","googooog","jd_6f310135aa928","charliesxia","1193365-80760976","jd_4e38202b29f84","jd_651dd9540bfe9","jd_5ce813d60e698","jd_siScOITlPDDE","879876282","jd_4aed396e8727e","jd_51b64ca9a0b29","zhanjinghui123","jd_5e8284f42ac64","huangxiaomao138","jd_436c2240d715c","放开你撒","jd_48379d942702a","jd_71ada3932b49e","jd_WSKYtBOuPwsI","jd_WKVcYkeBFhMg","helloypy_m","jd_7c87e6375d4a9","jd_66e20f4f6e12b","jd_6a93b2a93b026","wdFVeevoPFIjTt","jd_4900f3b9008a9","a19890898","jd_559f5423e00d0","jd_6ce44a65a95f6","芹菜120","jd_FgshQlftDtEw","jd_5dfadfb81a9aa","15572703703zt","jd_4ed4fb43299ca","往事随圆","jd_52ae04fcc94f4","jd_5610e69b0c980","jd_58764cebffe13","15501681882_p","jd_7e385d5847e2f","jd_4a3c7c55dac2b","jd_79003680fcbdf","jd_641ab7846c1f6","jd_656ccf0369b08","qf610","hp12222000","jd_5d203ef64414a","mrshaou","jd_4d976cfec92db","jd_6d8946382c34b","jd_wStXTWlmjmnJ","jd_GzGPfkliCCpg","jd_5a5012e21bb64","xsonglive","jd_dfTMmHTKuaWv","jd_65964c11e3043","jd_7262f6c9bf53b","kucece","jd_7a77519833140","jd_7ca9d25c06bd4","lyg21883","jd_617e2821638eb","snowayon","风尘尽藏","jd_40f48f32b45ac","jd_64f5033e17021","akari263","jd_46119dfa69bbe","jd_EYTLMipiDUDS","henjeffer","jd_5051a4b54dbc5","jd_RzuIksglUsAa","neverforever_zy","zcjschina","jd_hkUOLVvGZAMy","hbestm","zwd2zwd","jd_640501180b6b2","q470393267","jd_cMcxIKpNZKch","jd_67a2dd34fe9e7","jd_5378b81eed593","jd_LeZNTsFteygg","0linjiawei0","jd_707ae950fd096","jd_5f4770e592099","13811828511_p","jd_oyoZUguOTAke","jd_599dfe63467b5","15202262818","jd_tUffgSKWCrUo","sj某青","jd_4729b69b9b70b","773552961_m","jd_vjBFrweGeOTN","1873263552_m","jd_KkjmxNRhLHve","jd_jun250","jd_684b488f35d67","jd_624df92d629fa","jd_UzxprGNwgRvy","zxy3607331996","15103784139_p","jd_7a6ff2a127e44","kwyhu","御风超友善","jd_406540fc8489a","5566082844","jd_67b7a53943b99","2677769-40385553","jd_59e106845a869","jd_oFhnKVftPGcr","jd_74c41736a2466","2086459293","JRSD_CXLCe7980","ling_9141","jd_7f014c547f4fc","ratios","159867337-16760451","jd_4e295aea77153","wujiezero","wdLEbjlfZFllog","1091626221_m","jd_FJlHDlllGGWf","langyiq","jd_50b98f75d6c8f","jd_7f88a194bf08d","jd_7cda1ba46a13c","_chenshimei","loryown","jd_byGKIbApYklA","jd_veDSQjxAJmcg","jd_61e7da95db6ec","jd_77f1b24ec702a","jd_hlNLNOvnjvqm","jd_47f39da869782","wdNzKfBvYxLUwXY","sjv587","wdzINnBhsZdIBk","jd_KYaGcyGbQtrh","jd_LnkOnmoPpUbf","战玉忠","jd_40bec3e2ae1e5","22392268-717746","jd_5b5c39188985a","dxdd002","jd_62cd997e7a437","鱼丸678","红薯花园","任丽媛64","jd_6ba4359d1ba79","王蓬森","jd_lAwQZFixURoT","185076661_235069206","jd_7774aa24d053e","jd_5730e5667ff0e","13764865043_p","jd_799008fbd3a9f","jd_cOKAARCOLHIX","jd_4c8331ca137b5","jd_4cbf3c3dfb06a","378176172_m","rebornoffire","15713965060_p","khuntoria140","jd_6ecb2ab00eef7","人惹惹","jd_4821948a10461","jd_5308da2553131","jd_ezqLWhOEFHsc","jd_798563333c6f4","jd_47aa184ff6310","月靓1989","jd_NLhWNrQIGyoZ","jd_4992b36259bdc","jd_donAaGadpakc","jd_68854f0b0e4ec","jtmusk875","628001","14652088-78453557","jd_wyXcTjCUbORe","13056010676_p","1142718512_m","13450125388_p","jd_4dcd8892b6123","xf-3","jd_iRQsuVvwUiei","千山人迹","jd_HQKsDMhOyNNO","gy55you","jd_KEcrclTPHwYs","star022843","wdNuMUrXNQqUttA","秋流年","1374361-66307000","305651432-144446","jd_758032fe4ff99","jd_7bc512103a9fb","Alex8945","88609234-297009","n790020783","jd_49c21ac1ee1b3","jd_426f308aca0c1","jd_782eeafa4a00e","jd_aegNHZQKaJgo","jd_7b65d4e860cb3","jd_vzEVKbuJgnos","jd_7160fc8e933bd","jd_tpUsqcuiLvOn","jd_fXMciCSqxtzz","jd_642795fa6964f","jd_57a1e88e9a7ee","jd_TOdYTctKJAHq","jd_QRSjODHJBDAn","83299843-190299","jd_ehBwHBeXNsRj","jd_695c52c722d3e","18741125126_p","jd_6838e9c144830","zhanganyla32","jd_70cd24fae9977","jd_YYoAcFjniiDG","盒子里de猫","jd_60f0429b4ebe9","jd_jkApbXAHASlP","jd_wAqExzQNLbMz","jd_47cdd8da687e8","jd_535fe323ef356","crain04","jd_4e184b3b78355","jd_XqMHlZAVwTyv","jd_529691a26e6a4","jd_46ddb048aa3ca","jd_6fae3d0738716","Zhengjim123","jd_kCVHlQUdJGjr","jd_5ae674fc78861","jd_566a6dba060c7","jd_AldvbNYTGuUA","softcats","jd_seFfSPnbNLLk","小鱼泡泡熊","915026540_m","jd_52315c56958e1","jd_sWOfrpXsCzaC","我为什么要剁手","jd_5ccc92a2da556","jd_63965950fb1f0","downlezq","jd_6979569dee1b1","jd_6e61c0382fea7","xiaofang8904","jd_pPSaKPEWkDEI","jd_6f6ee2fffb761","jd_7aec0506fcd7f","wocoo","50497982-259928","40043173-353216","jd_4ca1023cf79e0","贺知奕10","jd_68ec7c9e29d81","13777610862_p","jd_5f95f6adbe3cc","love1kitten","jd_4658255a5c01e","jd_5f522b99e30d4","583786734_m","15819474042_p","jd_5f4f4ae77bd4a","jd_5232250116dc2","jd_5744e9504d348","jd_744234a48c153","jd_6a526684c7f08","wangxiaoming1989","yuanxin8701","71389964-118986","jd_6ea50dff6585f","80丶凯少","jd_xtehRhIatAdn","jd_42e829cc847da","jd_49b95270b79ad","jd_6fcad39c41649","jd_GVuWXvMvUitA","项南虎","300350471-178343","jd_668a5725b6133","rnmkh","jd_7693d3f52edf3","zhch55","jd_KkJjLomXuXDZ","273282122_m","jd_767f52b920ac3","jd_7b09351fa0edc","jd_20nlkug08zi77","jd_552060bad3730","jd_4d4620dcbf3a9","jd_45266b97ef208","18602526017_p","jd_6cc3a69140d70","jd_71ed3df039652","jd_50965b3bd4de6","wdzLqVIHRjNaCt","18575016388_p","gotuiter","jd_5da2a11314bbc","15038373565_p","ad429","zeyangshin_m","9号楼的少女","jd_702ea507bccab","jd_57d2b92c607f9","jd_7196269fefb44","jd_4a9ce983f2832","cai520518","xyx208","1685047533-786982","jd_51fa9b4caef6d","jd_57e563be79023","jd_5422446e3a324","jd_QkSAwQayeUzU","taratimetolove","jd_IeJuOZEkpxFD","18780717220_p","13283815737_p","wdNXnIUlqgYVoIU","jd_hBirpDSGlCKg","jd_QrlvcwvOuZGg","jd_YWuWKnYitefP","默化2580984244","jd_7c1f1619edbc0","jd_62453f358eb41","jd_GpcwgIoNbjWh","18665658621_p","jd_WwWhuDjPMvip","jd_iYiMbBfwWTiC","15108236800_p","wang9181_m","lionysj","jd_PjYVfZxnCWwg","hengliang145","jd_46137723e4da9","jd_6c2f9a3532146","JRSD_TBUSH1218","jd_vKRYiMqlpePk","18176629669_p","benjiandan","13181087565_p","lihaizlili","封丶炎","jd_CjCWGrhPbwoc","jd_48dcfc1cd3156","jd_7f9816a7b2641","jd_4b90c9d318eeb","jd_6cfbe25d05a31","大雪不会学","jd_738dcb6838509","jd_65129f79d29ff","jd_570b4d56923e2","老衲玄清","ly18311083351","jd_SLaBvdvFmsVt","jd_61b0e82a13fad","402951957_m","xiaochuxi","jd_718fcde20711d","jd_7a9d28235cd7f","897124712_m","mansiulin","336086772-256876","marionho","483529610-329841","jd_5a5addc09b27b","chenruicd_m","jd_bIiBRalkZHji","jd_ZraGiHLpHJPv","jd_55f98f56da6e1","jd_BEAwxYeXIDLg","jd_47008df0ce039","jd_59b7b407372e5","开花的牛肉","办公室2401","18630066867_p","jd_594e2a5062e97","jd_47a2f9c3e4c89","周周的金库","jd_7013a0d3ce272","小芬妈咪","jd_5063f9cc07345","waynesg","恋着","jd_4ac1d8c7b8de9","jd_5b9bf96fadc48","jd_6a7282efba857","Nothend","jd_6bfdbd74292af","18659333628_p","linlin2008001","lyj8812","jd_5f471168487bf","jd_77e5b88208cb1","jd_65c54f4699b5e","a_deceit","wujiangtao_mba","yeqin829","129128102-913199","jd_672b80acf60d2","寒风与我","jd_SGLrRzHzJIkI","jd_4a0be7c07a092","jd_507c0e8ca88ee","jd_6a725ab5a00c8","jd_6f3384db117b1","jd_zJxvMdhxdkqX","wdReQIbaSQsisn","jd_444c670c09c12","jd_7e4c6e22adb60","jimsonbug","jd_rQcnhGSZTvMj","wdZzxCrYnbekyc","wdwlNkVrDwAjUg","JRSD_FxPKT2996","难民装绅士","eibb41","jd_7be2b58b7704b","jd_74ebcdad04395","hljchm","jd_56edef5706dc2","jd_CgqQrYbagBiL","yueheng优","jd_7d5822d0f2afe","jd_5eb3bca2a0fd4","sclap","361751166-33153397","xiaolili0317","776308875-271608","chenshi527074459","lrg169","sharon19920218","jd_4f7d0c30ebbff","waynewjp","jd_7edd0d75f6313","北京中医药","yandaxu","jd_781b9d8d271b0","jd_RqgqYAjFfPmr","jd_BuJSfUJOgmHW","jd_479f9af76777c","jd_eHFuOxTUapbC","jd_42dc4ec0deabd","jd_bCJqRHYngyDC","iArya","jd_524fc12f3a489","jd_7a208fd40480c","琪琪小号1号","jd_5a0dacaf4561f","jd_zqwZzysldJNN","jd_xGlFLuCzOpXN","jd_45caa2a5b48fd","时间回忆","kabaite","jd_sKtwKfrfykST","jd_52e4485ead8fb","86025747-378987","zjmmjzzjm","457814898-182634","jd_613fdfe24d341","jd_ahWfRdFjDWIE","jd_76d2176f34231","wdxxqswMAGGobU","eiglory","jd_44fce61083ecc","jd_loqSMpzZMvXg","jd_40a761c5d8e40","jd_61a52787095fb","1035303052_m","tommy_jun_m","jd_4a7b69ebf80dd","asdjaie2534","jd_4d0a8d2d17908","jd_sqyRDLJxcQnF","cindychou5","jd_fsvgNCngPvXa","mindcat","jd_7a8f91573699a","jd_hLfwQmIDJToe","wdahhliXPxJyFI","jd_ablLcJVZOOXu","jd_779de347949e3","jd_5848f605c9ef0","jd_rTdZjQkzkvVC","jd_59f275700f38a","赵子豪-1231","许东944","jd_45ae21a69b087","wapedkj","633莒县崔久梅","aceyu97","wdOjzGOAiwQAJH","aiwy2008","jd_XlscrhWJsEPw","jd_551681364f001","jd_4ca1901852f72","jd_6f1e34fa02bc7","Narniaking","jd_74742b13b7338","18688849123_p","4eszxcvgy7","坤lyrcis","jd_DOAYVAveWLoo","18060950359_p","filix03552223","jd_5c6819fae8311","ccyand","jd_6e306dfedd073","Adam289","jd_5e7c825762b91","jd_5cee284dc89e4","jd_dDbJxrcyQurY","jd_542b60b46524c","alvo","646886217_m","jd_690a62f00946e","扣扣手指15262408362","jd_77ad2cb05a9b3","轻枫骑士","jd_QyQMtXwEjMwT","13609083869_p","jd_4acc944bb4255","15237369738_p","jd_5164c522812e6","jd_5290c5cdca301","jd15098696518","18703098639_p","jd_MHuEWnqTVTfC","jd_4ef45da646711","jaydiao521","jd_aWOitIeyzaUy","jd_uVlezuANpPTl","jd_50030335baa17","jd_nYsNQxobGAdo","zzprofesser","jd_6f354c0e3cb7f","3410239490","jd_OHaPbvkVOIpl","apoda","6112599-81640737","haohaowan","wang18840813108","shangyu2000","liqi988","jd_609a3587b853e","jd_47e4d88113ce2","吴铃钰501","jd_66a7cdb81d759","jd_tDFnHxuaQSfJ","jd_7388390306723","jd_523b2b43abff6","15872657022_p","jd_725bd392121fa","jd_7f6783ee23295","jd_5a4b4c1d0b311","jd_619b00a718d60","jd_54b3505bca771","476140781_m","jd_6bd4d7ab3fa72","jd_7a79a4b11fd90","13119565460_p","litao88912_m","八重樫太一","绯色之魂","jd_4d0fa8acdf892","jd_655b7e4399369","jd_5c2ff2138cb18","jd_WeDZjgssiUDq","274581473-860045","罗辉v5","tbfly","jd_59ecbe42510ae","13265883816_p","寡人是你的皇阿玛","jd_7725f08820aa2","不可理喻919327","jd_xOBwhMOaixYP","jd_BhNUkUzHwPsj","omarwang","silkeborg","15020369310_p","jd_6f24c295dab6e","jd_4862c7d353cab","jd_798c91d9636df","jd_50867baf898fa","xy14053156","jd_58b2778b39a22","caiu000","haidongwhrs","Arthur_Kuo","939364985_m","jd_694f22f29d44e","ache006","刘作宁","28286170-845788","jd_7cfcea51dbeab","jd_xETzujFpucBT","jd_UnrHMAtuYumL","jd_6eeb7a332a688","wjszwj","1375222588_m","jd_585bc74daece7","2269478801_m","jd_74d8491708459","finfantasyx","jd_4a58b7b95a01d","jd_78d4699dabf10","jd_gIzcXQggouEg","jd_60c71b8766083","jd_4a8d8d6af32bd","jd_6b435e7118709","jd_53ecb37c67dc8","jd_47174b2a6f580","jd_65471138816ed","醉了睡-睡了醉","jd_448cb3583e614","jd_6f1f602d6c1d6","jd_4383a489138f8","Lasx","283719672_m","jd_7832e6bf17155","jd_4ddd61da10def","15638998890_p","15041982561_p","15241508814_p","jd_6bef25cf276c6","蘑菇小姐会开花13","jd_PpjoUFtsXDRo","jd_4d1e4f0874857","jd_5a8ec82394eb0","chenjinghua02","jd_50659de01735c","jd_6ff935fead3b6","z13034679_m","jd_5410110f4dfb9","海盗舩","jd_UakqoPbHFCZO","jd_YuBZCxGGgXes","jd_4108febb14b74","jd_7c8327b4e1f68","746671016_m","jd_7174ab3de9895","jd_PmBEkzIuQaNo","jd_zIHTjVOKIQGa","jd_553cdb11b9399","jd_68e782911ee78","RebeccaWu0315","哈哈哈琼琼","jd_735e2c4586269","jd_6c47f815adae0","15940168817_p","jd_406fca83d5733","jd_5e006ee182b49","wdMTHUGajRUeQy","qminglin","jd_6f3a38209b159","jd_7242c8d231df5","jd_67e5dfa074623","ghehikaru","keteratao","飞鸟hope","jd_4e94059e4d79b","jd_59cbf476a68ab","jd_79dd3962843b5","zyboy3707","jd_4b71e98611902","jd_635aadf1b57f8","35125-50886726","897812862_m","jd_KiYgBjhcyYJH","MikeMyself","jd_DNzLjmNewgwt","jd_49ed9916632c4","jd_YcFYjajZKEOH","qxh1522","linhusd","ai-JD180","jd_mflMSToNZfAY","breakersun","懿小九","13605732951_p","jd_466cb692d6270","jd_578235c0fa17e","15872385967_p","jd_465ed5c38ca81","jd_dGdNusUaDFPA","jd_TWdlUOpkhAhS","jd_561d0e5a8347e","pigpig花菜","jd_691e1550694b5","jd_oesoblLZqJhp","jd_5ab07458cf160","jd_676f15fcb7042","jd_6a49251fd99b0","jd_55c23a9b29e8c","尽我所能TAT","JING8666","insect27","wdkJKpQJDjSpPQ","jd_58a22c32f358e","lilong8844","jd_7d0b78ac84322","980683215_m","jd_47b96ab88c1f0","jd_xIofuuEPYrvU","alxh0554","jd_7264d12e7a951","jd_66aa8720f70f4","187057875_m","含流星","jd_6f9dda1c6dac4","jd_5e61084747ac4","jd_6b8699a9fb3ad","彬彬哦","Uchin","18216422586_p","love525","jd_5ea2490d08232","jd_wFrinCUBUZuS","炒鸡大萌比","jd_eayUDvETPXxS","jd_MlZtjVomPRdH","jd_gVFaAcGXJqIm","5893296-417797","jd_7258c991b5376","victorpzg","jd_qdTniQxjWzgm","jd_7303a246e357e","jd_6ecc752c20a82","lan5523459","635茌平县张安东","jd_AyXudxMfviZS","jd_oVCnJQUFtGvE","肖梓绪","jd_60460ba8ee92d","wdbsglkZUKqztY","jd_WRckFqAQUGbx","binjd","jd_6d35519db209a","马楠32638","jd_651d470625a83","jd_6c395163413de","jd_5f2d2f7e4b45c","wdPCnvTbaGrcVh","jd_gWWhYsduWNUj","jd_57d5c77b7d9a0","jd_6b0987cbec09b","jd_TyUcSGluRTZc","jd_raLAtaDLETfw","jklook","lyc7671169","jd_6d9de4de13b89","jd_475af01fd8cd0","18515707-21775022","斯顿雪域","YXP716","jd_BVSTOdmvtXHE","jd_4725b77f6bc5b","jd_74f90f24e7b7d","biwei1977","jd_47256ab471699","jd_5eed4953d562a","jd_70e7f7851c18b","jd_6456f6d896665","jd_70153ba72513f","15258195902_p","buy86023","jd_cxiAhxmyhrOd","jd_69fcb97e2eae7","kinbiao_m","jd_6b8542a4f7f13","15224488889_p","jd_4827a4bc10b95","963344-42186223","1178080609_m","jd_7157e15f73e4e","479279679_m","jd_6191f5aa0a92f","ahxxchangli","vicky11141","jd_CVbhlOmjCLcX","sky10031","jd_44b555ff212f1","jd_RZDppQanmJcw","jd_5738e7147faaa","jd_43a631a648a0c","13618114165_p","jd_6e2d3ce615c5b","shn127","caoxigu","美好的一天1111","wyc15677203968","nic_w","izzishoo","wewa3227","xiaozhuzhu1234","jd_79a69a53d2516","jd_51c1b2f9727dc","jd_73cf1dac6074e","lm844401195","毛小豆201157","zhangmenghan506","bitghost","jd_6d880f38544b0","jd_ndGLmfdzHxJJ","jd_4df040ca713d4","jd_467bacb7f491f","jd_xfSequREjRGj","jd_4227f32310c62","jd_RKFTHcZSFKYc","jd_ZBFlHtEuuckL","jd_40ec96c63bf5f","jd_6f964f5d27b30","jd_68870522c9a33","jd_62c0a218e1c00","jd_711934ca1396d","jd_5864a51f9312b","wa325232","jd_6744c6a87c0bf","Rolling8023","jd_48993159766dc","jd_uKPaAAEroRUt","414491389-380387","jd_4b03a6d011ddc","100102","jd_5439526a813eb","jd_6d86c337a47e6","jd_AksoXfVDpIkl","445698948_m","9561471","wangjilin1_m","13822588740_p","jd_4fd0410377ea8","13222210520_p","zbq抹抹抹抹茶","jd_79feef7744b6d","jd_dCpMYRiyaLiD","15718749868_p","jd_5316a795a81a4","jd_4047804b03f62","93433_5783","jd_wPswDkHfiDPU","l89977391","jd_jdAXblRbUGNg","jd_71e2969547522","wdECFVTCQWpddG","hoooray","jd_ZJqIrvlUmGrn","jd_CpdcpyqXXYKm","59880401-13601533","jd_51c9851e775e6","handechun959","sunflower寧寧","jd_5f9818a056779","xiaomeiru5_m","jd_7d6d303435534","laotang_0","jd_462abf635280e","jd_4b71ab5ab8102","billseaver","jd_7480601abdc6d","jd_402ff236d2db6","jd_42e7733fb89f6","HEHEHE8992","jd_46d9f1ed657ef","飞天胖猪侠","jd_qCALeGkvAaxA","jd_50e270e44f26c","jd_CPwcisrhVWUt","jd_60d57331c3015","jd_794beed8413ea","jd_4dbc14dd21c50","nichangwei","ourcubk2","jd_513c76dae5a03","jd_4694c0c21ad13","z724130632","shenyangyi978654","jd_5200ce5356d6f","jd_4a9545496c647","一抹沉寂","jd_62e797b70c883","jd_CPwccxrriwTG","aeinstein留白","24373045-627527","jd_7247a01e3e7b4","jd_5d6c188e14a57","jd_5c51e810eec9d","ahazhang","jd_629dce8d6e4f9","jd_418aced9808dd","thomasleng","jd_5b598329faf3e","jd_631233f8cf35a","218594778-787878","jd_782dc9942ff8f","jd_68e590d69ea88","jd_5fff231beeea5","yhkm8531","jd_agoVMFuRLAOX","jd_62ea046b24f01","jd_7d914f11088bd","jd_7d80f24951651","jd_qFkYeYVBJKFB","jd_6605fe8b12d7d","jd_7619335902a50","alvinxu0","raven318","18094677919_p","21137898-81438976","jd_5cbe0900311cd","aliofwind","jd_47a3ee5a50c81","jd_WExFRzfFHCjU","jd_6432c5c5a05cb","jd_7bf2162b1fe84","13638687598_p","jd_7ca5cc87bc3f1","jd_6d417eceab918","jd_477d27c8ba52f","juanlin_001","jd_730b216597594","jd_vvVylHEmZFUY","jd_ozUOckvxNRjM","13669080115通城","啊阿丫黑猫警长","jd_5a4186b5c69c7","672692314_m","库努蒂尼","jd_615514bbe0fe1","cnmjingchao","ooxxhigh","jd_722bf26860449","jd_XHTnoVNxIukK","jd_7ed8d71970201","jd_678fe0e28fa58","jd_528936323681d","jd_59f26e2497a0a","jd_4d3b1771732cb","jd_6014475b3ee69","jd_5ae9151db40d1","jd_750d6a9734717","jd_huQDNfYoQhJY","jd_47c4ed6ced210","jd_71956714d5138","527916783_m","jd_4e829135da644","jd_430b2eb3d3674","jd_4c71b081d2708","p5621571","jd_4326debccd62b","34819578-38719141","jd_722fb2037d21c","1363162-83482480","18605148861_p","jd_6da713a57ea8c","13825823-199988","jd_72ed55ed13b72","18961771414p","jd_43b31169bb52e","jd_558a06b2f11c1","wdVvHBIeNpABIk","jd_5917f21d1d7b6","727964952_m","jd_6fc5ebc2d8189","jd_4bb1f53b82d44","jd_7b94d1516f97c","jd_40dffdfac29d7","jd_FbMdnOHLvxbM","jd_5e87fddb9a2be","jd_416e3c9470823","ygch1993","木白月月鸟飞","czl0729_m","jd_5363987cc98db","jd_NzSIqEuVGrkJ","llzzll1234","jd_65bddd92e54d0","jd_75e2c181f0c74","qinyong9222","jd_44b125595ec5c","jd_mRGKlnDdlWxv","jiebozhang","啉啉1990","jd_6a7a0890f021d","jd_56453fc911524","jd_XRzNEMTrHeMf","DeXtEr2","jd_AJJPNVgSJgvA","jd_6782785602bb6","jd_45bd4a5198c6e","florashine","jd_7981c10516af8","jd_715fd3897aed9","65096066-959521","18972787876_p","wduriLzdKKLbKq","jd_YeElpYLxTwvF","sg940304","miu321","jd_MUveoVKBilvT","jd_FFWNeyJRMEbR","865008309_m","jd_514c1d4c5a4f2","jd_6a972e32ff997","jiangzhen1760","钰满堂","maping1996","lornice","jd_7092f2ee6f3c8","jd_5113fa78e7eab","jd_71fc883e06737","jd_7855ffebdfd68","HY何某某","jd_66e04f9369512","HMJMF0214","jd_4833a0efccaae","songli0323","z469792238","jd_6d28635dbc708","czh_uns","李梦521m","fly_ff520_m","wdEcnfmlhhidDU","jd_7848c085e599d","精灵机灵","jd_54bfba291404e","zhangzhl1972","演技爆发","jd_7eebefc8cefb9","买买买45523","jd_GiQYjSgqJPon","杨丿tao","zq950822","jd_6fc01988b0517","风凝霜","shallwei557","68818-54818022","jd_7c016bfbb07de","jd_433fafe0d2d1b","橙子璟","jd_WAyyJtMlYNjD","jd_4b9186aa90e51","jd_67bb6576fe03d","jd_lIMOMyhWNGzm","覃圈圈","jd_68af047a63212","wdCPCzJrCRIYmX","jd_rjFkHXeXgNYt","jd_aJPVEjkgKwko","jd_4d028b3ed320f","jd_gQUPNTzSuRJB","jd_513d28c88af54","255342805-168432","cookie429","jd_46fd0a3486a84","xi7271","jd_5df379cc9de74","jd_56da4649b30aa","物联明星","jd_5634d9b4cb911","jd_4310090042fab","jd_611fb590791e7","jd_41feb3833d40b","jd_4f963b977933c","jd_4c9dfa3c19b92","ujinhy","wucrio","jd_4ece16632af6d","138418174-446747","jd_652a63de32807","jd_7fb2fa5e65111","jd_55b69175c1294","jd_7d3d6f4ea0d60","jd_ImtLnMXGVlUo","yzwzj19","jd_45e3e8443ea55","13282096075y","jd_41a14a3af9839","青柠加薄荷521","zhangyi81393","wdNzzFVcrtTnykz","joe5264831","jd_6464a6d18a7e6","jd_5c78c3a8d8e02","jd_LfKUZOjoZTpE","jd_5f34af2243b3d","jd_70c7be7b89826","jd_HGmPQMGKSAFk","jd_660ee1c5b29a7","jd_65211ec0282e2","yy88513","jd_4f1d228b8495b","jd_EjGpZySUIeZm","wdPGdbAXzEUXSc","jd_5c90e199198a1","卡宴plus","jd_NSIzNpxKMvPG","9648723-59345720","Q忍者","茗幽777","d7xw","jd_7dab52569b7f6","phiclin","jd_6c52ea7525b39","529498783","jd_70c5626ae21dd","jd_722381c085bf2","jd_jqjJFOQqWSOT","2108028357-944197","jd_5c6904f1bd3ad","庭院深几许秋凉","jd_7a9da0a7ba70a","jd_599c34429ef72","lvxia_aa","jd_iKFKkWAyzqEp","wdIHsIkhvZBCkU","jd_4ca8d060d0c7b","jd_41de94664cc44","jd_EOCXOyGiFfNU","wdJGkdgSxIkBaL","jd_UlHwQCTnvNGx","jd_BwQlMiCRgbeF","lxqemma","jd_4d5f3260ee646","jd_qTfILeaFWDpu","87021181-23321575","jd_6a2b16914858a","jd_6efb00817dd12","jd_7e895f4f56854","jd_ZbMmjLiSKdAK","jd_XiUqZEDPuIFD","Advisor0905","jd_42764f5ea2341","348245775-316543","igawhoyo","rayphang","fangzhewei88","jd_722ae717f0b35","jd_57bbdd18fd234","jd_62e4279b6cea4","jd_6887963dde3ab","yc2008yc","wei862276141","jd_59808dde263ac","jd_705ce2c23e7cd","jd_7fbedd28bf709","yayun20","jd_zyCnOxWmSvfl","jd_417f2423f304f","wdbllIArfqlqcm","cdg0515","282518588","jd_574a3e36e936f","jd_45e55ae8ab9de","hotwjp","jd_uCBbhrrzoYbN","shiwenfeng999","jd_EVdJuNFfCVVK","jd_53b55e863345d","jd_402fa9aabbc03","jd_4b73a3f831a43","jd_67a1962e270c1","jd_52adad061db1b","jd_73bb566aa12ff","jd_62bf9c4759000","a18779869232","jd_549cda66d38ae","jd_EFWDXPlfkIZM","宅先生795","230794233-28980849","1746650165-599864","qin_xy","jd_5376cae73fd8b","king9115","jd_NVnLevCXbKxI","rachel_nss_m","jd_65365874769d2","jd_49bbc3c2c2fc4","xnanh","jd_580727ee9264d","jd_7f13cc26157fe","jd_JScUGxJXNUTW","TreyJos","jd_768d301c1e20f","jd_vmavbsiKEPHW","jd_4c759cdb043d4","jd_6d4064293cdcd","张园梦815","jd_6d6bb86776716","jd_4a32e7b476e1c","jd_7fba5c4a1fb9b","jd_414ef9dac9ac7","jd_638c122fa69b8","angry_001","jd_PHZwSNHmGrCk","jd_544ef5a62ca94","newhtml","jd_465d4564650ff","jd_647392faeabd5","13437823262_p","后一宅","zbfgql","jd_710d5ea2c6374","jd_5b410a209e25d","霸气麟仔","jd_43b37ecebae55","jd_5dd9f0e2d48d9","ixying","jd_wCBMqowKEHAn","jd_769cdb07a08ca","jd_58351f2c01671","18144006871_p","avaliang_p_m","wdfFjJojuLtqdT","jd_LCAwzpXSsIGK","jd_453cf9406ad91","jd_76158a7de1bdf","jd_54422fb48d105","jd_GWNcjQtbVMEr","jd_5d376c8ebcf44","15277755739_p","jd_4b32a5596fd39","jd_PKeTzSnFbWqQ","1241079576_m","jd_DMjvRHFBfysY","yangemil","DanielXLee","joyoner","35074751-618103","jd_5ffedf5d5a1c8","jd_QnkKDNVDIRVV","bogle2000","jd_76ebb56309f48","jd_7e313420bf2e5","锋老小子","jd_51c4016e2b70e","jd_59b56808ead46","jd_7fc4c8054e34b","jd_66dd23a32361a","jd_qAFWoaiMXrYD","jd_50b9f17fa5479","______never","jd_42d17a4dd0566","jd_xXjMhzFWydjv","jd_ewQIuTyTQijw","yuzhou521_m","aniana","jd_6754589f29a1b","jd_51baa6a5aaf82","lvhuining","virus2010","jd_NrYCKdpEVOvf","13661019049_p","jd_6614af939bda2","jd_595f448b569a7","tianjiaoer_m","jd_tkbqfhlZwZag","jd_SPMjjMHZvcTx","bozinwells","jd_DcDTMOblJHiM","jd_RJhysdawGSnK","ruruoyuxuan","jd_4c44f63503f6f","iamadesigner","jd_6cd6008aa1d62","15602791163_p","jd_5d31282a001bb","jd_46c28335980ac","jd_vuNiDTlgNuTc","jd_76878db264a9e","jd_YmaZolQFaFzo","jd_VHuGhZstoeYw","芮宝麻麻0916","jd_oXyjAXsdVUNH","jd_5f3081a46a1f0","jd_7ddd1ea8f4f70","jd_5238b06ac8e2e","jd_486e35501e974","jd_542f9cec54f44","懶得動彈","jd_404f3aa73d8cc","jd_75826a39a5dbb","jd_48f6f7491a21d","zsy309080833","jd_nrpcBEcoRcca","jd_BgFqfGFyHocH","jd_46f9f5a3b464e","jd_76edc65b3179b","jd_7be7f17143f92","jd_kukNDgUedpup","jd_zbALFwNvbukm","jd_7352c256befea","鑫王氏","15713793642_p","jd_65c0c599cb6e0","imfool","jd_51b3b3bd01dec","jd_525f0aa748e00","jd_PmhUCpItBhAS","曹杰12525","小米儿粒","陈丽红2010","jd_qPBWTuBUskVs","我厂aaaa","jd_7fb35bc61fa78","jd_olRFKSGgaizj","jd_CUZcCEhIaeaE","受不了le","jd_54d56d7e6ccc0","TLM913520","selena19","pzjhn","1426379-97813565","jd_6e234955455b4","Carey丶F","jd_747f494a1cf50","jd_58b1ceb55e0d6","jd_5a0cbcd6f69bc","jd_6d9d3d81fab49","jd_73c56dd674525","今后形势大好","345528011_m","jd_56f07791c20ec","jd_43ed9b6257d0a","18844810770_p","jd_5d434f177cf33","15221085708_p","wdvvJszVBkyNpk","jd_RjPICpqQDUks","jd_510902a778e32","星空2100","jd_7bd58f1d58458","dxxhh","mingge0001","JD15213781721","jd_7f73c11e91a23","334445392-142919","sky924299404","MrSevenYe","最爱菠萝","15002942176_p","jd_7c18c6d6f70ab","小尾巴107","jd_PWegsLWefIce","Muse10","jd_4bb10cbda6e08","jd_56ea6d2555b09","jd_670cd7145de84","13667665062_p","李建辉0910","chali0","28103077_m","jd_599b20ea4c0b8","ss浅笑安然","13756251352_p","jd_4e6682e5abae8","accust","wy12688","jd_4f6ecf4fa944e","s1735882162112426","zhongnan12","jd_623a0405c43bd","haolwu","jd_BgoFiqZFuZLh","ft101572","jd_436d882770ca0","jd_5e9ab01005897","jd_582f20fd726d8","djmao2015","jd_55a6beb457e02","kaxyz","wmlsgsb","jd_KtRiOJUArFzC","jd_VrbcVykdIDIY","jd_40d49f5ca60b5","jd_71f09c762d1ee","jd_vNFvDyjMEfHR","jd_fAySLtZmmijU","376397399-375171","jd_OSJUuiVsXnHg","jd_67a533a811a26","youji064","soulmate123xu","倪小采","jd_745d0751a3bd1","335143213_m","jd_bSqWGzbxiJIE","jd_7f39c58f158df","jd_6ae56ee4ba597","星空小硕","speedracer","18775306895_p","26440947-235752","jd_64e99ead5e10f","shen20141104","独木成林1853","80778726_m","jd_UBFIuAiaxbjg","214048538-189661","jd_6f7b21c485417","jd_LJJGmDhSRquI","jd_49705f0682f11","jd_DuudimkTlREN","jd_645f5a9363384","jd_PylkcRLehmBr","jd_62657aba24423","jd_4e277782701b9","avijxiong","1051495763_m","jd_7732d687cacfc","jeson101","liu881021","wwwbocecn","jd_7232308009333","jd_48aa7813e4869","eggplant6767449","jd_4d7ac977ca284","朱明祖","jd_4af0624e76166","jd_aXJGiYjKiqfZ","jd_421ff28a61320","jd_jdQHYQsPzWsv","jd_mLRSmGZClXZx","jd_4fd88878ce1c1","jd_72a15f1ddd721","jd_56c6d04b26c1b","jd_bwakZgNqCssd","jd_53d06c143812c","jd_79505c41a94e5","jd_6f34a817e28f2","疯牛12124866","staryzhou_m","wdyDazTRvspZYb","jd_4eedd4e44b5aa","茶园蝶梦","jd_5f9745ff96f62","jd_6a0bc83773041","jd_645eef6c06060","lenglenglingling","jd_7e40e17400336","jd_TbvWTpAxtQnW","iovejrj","jd_59e8541343900","jd_7fcd63099941b","top铥","tofuliang","13474271837_p","jd_406c8eb5e17a3","err0r7","feixuezhuangzhu@sina","jd_7666c7638486e","songyefengtao","abao87214","powersxd","jd_4808fb0977586","祝之毅","jd_6055e6be4d146","mrx941108","jd_57c9d410b1a42","jd_5005a4e8c4193","shine476","刘李宁97","jd_5242beb697a0a","jd_IOPubVWadBVq","ivyyaner","jd_61707c2280a99","jd_5667c67409883","LSJXF","18190738208_p","jd_75e380a22b7d0","jd_NuOiXkxHJxkJ","jd_LUQupbHLDADO","jd_590dab5cdc59a","一路有熊","jd_42c7fdb5ed696","jd_pVClNksRvtVa","jd_72fa4183c47bb","小红鼠84","夜空夜","卡灬卡西","wife811","jd_598dc111ae8a2","jd_QRpiLyXxCtPY","jd_4da12947152c9","jd_4fd270ea5ae03","jd_507eb7b170d69","wdgxZMvrVdsobT","nitiandaige","格格的美梦","1479118-98862167","MoetChandon","被雨淋湿的海丶","mob1ngb1ng","lvbinxd","天地遥昭","jd_6416f47ae54bc","doory1929","jd_72a8532cc115c","jhkwa","jd_aXhoDdWZnnSj","18139025450_p","jd_6e068ff974b47","晴天1824","15968511335_p","jd_5670ec20fa7a2","jd_6cc37027cfc9e","16155435-13799618","jd_7ca83ed413147","jd_kuIoyQouhCLm","jd_470a4713c8f78","1091979172_m","l654417585","jd_6ba9253777384","jd_51c4bdbf49b5f","nicolas_wong","jd_61c50fd86b91a","nicholasin","jd_716353ae450e8","jd_LnAmlbLxTfJH","hudou1781","jd_63c9d02473fc1","jd_6621c8cdd0a98","jd_73a9dd153d8c6","jd_739ba7f55457e","jd_616d5828ad4d9","jd_AWBIpWRiwoXd","jd_6aa248fffb0f4","wdyVlpwqeHvzaw","ljh2lzj_m","jd_tNLkkftZHedF","jd_58fda82ad81c0","火流星","zd772634369","jd_bHjCVkWCbMpM","jd_6360057e60010","wdvLWxSUfeVEqo","jd_4b26079b48946","jd_cSPFEQfhBUeQ","jd_74617ef62ab0d","15680033991_p","jd_oZoeadVfKpCr","jd_feIbhlWVgtnx","jd_6dc4c69db8e46","18321733097_p","291879250_m","jd_658acb4038515","maplysnow13","haol004","nike1999","田小灰","jd_vbOnJhokoGbK","jd_78fab1fde7d02","jd_56ce597bec7a5","jd_sTOSRQPTIdEY","jd_4b4d5d1076f41","15754129358_p","15673434190zx","jd_uJjXidMVjxUo","18823775505_p","jd_qYPtJPCnZKsi","魑魅罔魉","jd_6e762e28149e3","a18210923023","sunxiniao","jd_6699e27c34a42","jd_CheeFXmHBgEe","jd_6ccef3235d4a1","13880650447_p","skyzn","FA520221","carry_1995","ncceylan","jd_55b98aaee9f72","wdGgZboEOBnWEg","caojiannet","15868005933_p","-3026151266-","362800838-920704","jd_75fa0a5d23728","jd_dQTwldiNHjfE","jd_6f0df324ecb01","jd_46c1266def0ab","93115179-375696","1302903-124020","闷骚丿Dmz","1583086913_m","jd_46da927096615","弓长孟力","jd_67e79110a2ace","jd_79933368fed16","lhs2422","shabiguoguo","jd_7f89199a5fbe1","15834507567_p","jd_6050d9b6a8762","jd_67e0d54cb1080","linkin尚","jblove","yuefanlihua","goulh","jd_69025004ebea3","18730222952_p","jd_75eb59aab8e72","jd_kCfPNgKemggD","jd_RRWDudNGhgbK","jd_7a5f9451b12ae","镜华水暖灯饰","jd_tSOQwWxmNaiB","bachun7759_m","jd_7016345285226","jd_5203ad6a095a7","jd_5550117a94d17","jd_EfTJgSwtPmvy","咔咔咔次","jd_5b02e84b9885d","wdexPmgTBujrav","liulei732","jd_79330db66d44c","哧哧嚓嚓","jd_42d563189ce56","wdhMlVAynRnmOY","jivu81","oztoma","jd_77b8c0ec6fb34","gzcq","jd_UaXWOzWnpnRc","lyqflmy_m","thresh14","931645861_m","jd_GsRnfmHHyoJe","jd_KbpzkovakSpT","jd_5e3439ab97680","jd_biApAarsVfVx","jd_45ef249e297ea","jd_42d0d8919330c","Raisi","胡志铮","jd_491b85ac623fe","jd_570e4e266b808","qqwu931221","jd_IAtrLHjKhMwT","18921943627_p","kulinich_m","jd_SoKWqgiIYHoE","jd_49c2fb2c1a371","jd_5b858dd72d046","jd_58332cf231a21","jd_ljjGoZthEgRT","jd_qdcwTFKPCKTf","Zoe_0111","jd_599a20d85221c","maoenci","17168297-87350428","jd_4a00ebc4259d7","18303036892_p","然嗄","jd_66b1a2fa14589","sd6520423","4559524-45489552","lizhencg88","jd_78ec75c3bf072","jd_5782151504d9a","jd_4d5e9fae85f44","啃苹果的帅宝宝","小叉仔","toxicbug","a382488630","jd_522c8beefaccb","jd_79fd3b704c726","jd_CXjOQERLyHuA","jd_6b9748962eeeb","chenxia1323","zce0903","jd_alUBJLtwxuzd","jd_HSQaQgMYTThm","jd_51a775ff92c5f","jd_40335d4f52222","jd_xOTiYqvsggpY","jd_EDALebeoRqhm","cnruhefangyuan","jd_592bdb65622c3","ldlkill","jd_60b737d48e699","jd_439f442cd1837","jd_62bbffbe405c0","jd_7e7f4c746c0a9","439007846-60918987","jd_747572b5b7fbe","yhj0426","潇潇洒洒082","jd_4fea19d42ea9a","jd_zFGdPPqsfoMM","jd_47b2b1b81e068","yyf127","jd_6721496bf3d32","jd_SastEorWsEfO","jd_rhRSpcqYSfJg","4524466268hy","jd_MeMpVIulgWOa","jd_618ecd0dc3dd8","jd_4bc2cef9490a0","明星影楼楼","jd_67fa8335c459f","jd_5535e56373cc2","jd_5b1cd2baf783b","jd_zlulHxZYotmI","jd_75df5bf2a4580","桃可米","jd_66c37155ed6d5","jd_ipIEtPUowbzj","jd_7939d33b8e52d","jd_752c3103ba303","nxdht","回得去又怎样","兔潴潴","jd_xytXTShcFEnn","qxl1984","jd_64ef5d8a8f351","wj静璃","jd_5bf00e89aa2ee","40999777-63019254","zzloveyibo","jd_rJgesIXweZJw","jd_rDqRljdwHnCI","jd_44334caf46296","jd_76daaff909c9e","jd_pmnBbCZCnlzJ","jd_797dd0e60d419","jd_UeLfbrsGgCXP","xuehuadlq","jd_62ce2b4ec2878","随便什么东东丶","jd_799c41ca53ae1","399862983-556809","天长地久1683","jd_XlOhyBFpfMqd","871959097_m","jd_620013727f85d","jd_41d022b3df6ac","13976634930_p","jd_51ca6e43e88eb","jd_7c5b7995460fc","jd_684ff27e5a6d1","jd_ImLvsiryuLLP","jd_guVVJLFKPGfB","jd_SuadLjdTQkIy","jd_405eac0274e8a","jd_716445bb8697c","jd_4e7b75ee81293","jd_5afb6fd0d397e","jd_gKaurbJrQViT","yueheng果","jd_73738056ab3d7","小爱0313","jd_EnWfmgTllmoa","钱金娣嘉善","jd_7eaf7ecf8f1c1","jd_5a7cb01c630f7","jd_61a2bed0b2ac8","jd_498301188af1a","jd_FhHfWQSXPkIa","jd_ppBeFJyvcpeA","sunjianplus","jd_72c95ae82af49","jd_VrlzFQzoyzgB","slf唐宋元明清","15671094586_p","songxuxs","jd_4f58b701c1d5c","2746651-142770","jd_5f5f371c2ae8f","wzj0222","jd_623281c373928","jd_6783f3825cdd7","jd_ySxqvLWNlUeS","jd_745e0b68568c0","lj3967","1580378-54279483","cindyzhang8881","jd_45802cc6ecc6f","jd_442fd2ad534eb","jd_6f1faa6b4cd89","jd_757fa256fe8dd","jd_4581396c114b6","wsfemail_m","毕浪国际","jd_7b468b7c094ab","jd_639930527b7c5","jd_7d63f680e3aaf","jd_57292c3f33899","39327512-909825","jd_58a2a349751ec","MrCong8175","jd_TWKWdhXOFpvS","jd_49813c650cd1a","qq245770233","140884233-905606","li加油加油","jd_4af2979e15906","jd_4b2d5ac2e4eca","jd_WPbAqoLsWnFF","meng730","jd_73aa54d68038b","chen664242518","jd_7c4b4463b614f","KOMANCHUN","jd_74699c3cc2e17","asdjaie2526","我的小碗魚","樊子羽","jd_7eae209be59ab","tomrytwx","jd_6b5eacbafb203","77680776-391304","jd_5bdf59aab2b35","jd_5ebc59e9b99b0","fasoul","Hincomplete","jd_dbnOAWlSnLRz","jd_VNYeEWqMkdWu","jd_77085cf803727","wdDnCVmSCPQWYJ","1324110338_m","慕澄","chinawiz","jd_zcXHczgrmwDd","sunxun47","颠覆者-X","jd_47ad57db886c2","2278274194_m","jd_NeMWQAfQyVUu","jd_67ba557b97fab","15071206843_p","jd_FRUBolIZpvtk","xupengju110","jd_gJblIdOPdLIG","jd_7a1161b1ad68d","15876748792_p","jd_5d8e5d58870d7","jd_7ba0446973897","jd_4fda3227ded37","jd_71fb98fea6368","jd_6635dfaeabf5e","18690725682_p","shaduoh","jd_6f28d1bf91bea","jd_720a2298ca8d3","jd_5b2ac4f3f5c78","jd_lfcREnJrojXa","j13971628740","jd_VwbUMVKrgumy","jd_4736a53530961","z763708432","jd_741ce49148abd","jd_54071000fc7af","wxz3145","jd_67ac596dcb610","jd_6c39dff1b837c","jd_ERQqpDIiwVam","01chenweitong","pp775434812","jd_540ab47c75e2c","jd_7ba85f0ed71ef","jd_izZaJlAdTvCC","jd_45b6a575f6642","692620136落","jd_6cee3de240d6b","betakernel","18651221398_p","jd_5da194a3df3cb","kedongjun","jd_43f5a00fb9f72","shmily05291221","jd_6976fde3a40bc","jd_5fb9a912f49ce","静逸轩","jd_6ec6f59302350","jd_zNdWsfyQidzR","18677140410_p","jd_ymgmNYLZjJLJ","jd_4c56d410bcaec","jd_55a52627c6ac0","jd_pzYPGyITOjXt","泼墨染青瞳i","jd_5ee526227ca1a","18130075506_p","jd_6f0c2516903ce","testbuy66_m","Silnce丶卟念","qzhgame","jd_6fbd67f5de15e","yjsydhs","jd_4f4fea43a2447","jd_61a1a493f709b","jd_5012602984c43","jd_465ab0cea96ef","jd_719e4692c0472","jd_YbrsBxnQVRJm","yolandalxl","jd_DZCtrvVSPVnA","jd_65acfd2d6849e","wsmry1208","jd_xdwFFzMpNLNU","wdceCjGbfkZGlJ","jd_75e5029724151","方舸","kai15689161455","jd_ySHTTSmTIPQR","jd_5cdfda9f71919","jd_444bd98157c90","312高阳县刘娴","mnbvxwr","jd_55aca4cf3b28f","jd_70fe6db8d5119","surainy0204","justfengwei","jd_RKYKJwllEeqY","jd_kMcSswoyRvst","jd_5e2f63c52c76a","jd_HPzWSjiMHdPG","13951015910","CJ64888500","宇宙无敌闹心经","jd_5997a50f3402d","jd_4318db5eec978","jd_717020ecba7fa","jd_IJaQoQGFRLYf","18684938352_p","jd_79e2367174125","jd_6c3f42a5d86a4","jd_4a9c1cb691536","jd_4b992df9995e1","2435045839-690623","wyl_995","fengying0347","鉴婊骚年","princess_8701","jd_5310f1354ad55","tangtze","235215683-364228","cuienci123","jd_40d55630e62c8","jd_677a8599385a6","lfLtxT2SUBfL","zc734140764","jd_54d1e7ecb42a5","筱紫兮","jd_452c50460d003","jd_4326160953c22","jd_5375dc352f104","dowbobo","魔鬼幽灵007","jd_5e8a2a8d34ee6","1796148-76055511","304644627","jd_632811e80d8f5","Eser-0756","xm19811218_m","jd_652d521e59733","jd_CCFeEeuYuumT","jd_70b1cf233939f","297951591_m","jd_snPsIsGdhkTq","13995531390_psm","jd_ZyeZMfHkRxnq","jd_GjDoNlBQBNWl","15552383185_p","jd_61a13d5e9ee6f","jd_680ef5b81d3cd","27856660-539411","jd_zGlSEsPwUaQP","18701668932_p","jd_6e157cce65d6c","jd_57a77002500c5","15399629660_p","u_4b708fd3859b3","单恋脚踏车","yaibacn","jd_XeGeQbeIlJAk","jd_424274b96b6f8","chu2767854652","jd_7ebf4068967c2","jd_7410d07f7be6e","1788230499-251076","W李华杰","jd_fnmpnPpMtCSj","wulang7726_m","389467797-786278","jd_6d5b99c9f54f2","jd_5b5b169d4be4a","13295016897_p","一起去浪","962268-60569751","jd_4e02c94f4800c","jd_wqEUialgGtey","liangfeifei521","jd_790dc47e5b060","jd_hlXqCHchWhgM","logoforyou","jd_67b304b41b908","jd_647732b6eed7f","jd_4f0649b8da9b3","sunny93016_m","zzf241207","jd_78d2e2db2ede4","strangevy","jd_4584277b97895","qxw1989913","jd_41dabe79533c7","xinwu5","jd_aylRCtlWgguH","jd_VKYqWBYULKDG","jd_47f55856578b1","乖乖女_zyk","jd_guuCSJjzuaLA","jd_nzvOYYtqDQGw","jd_gbGALPqkZFwA","鼓哥","jd_6ec5ed0344ef8","jd_7a23b239f6e3a","肥迟","jd_AvNfqMueRMaS","jd_ZfusdJGnLjzg","jd_451b46447de6c","yesheng24672","zlh19840828","jd_7dcc129b5e312","jd_583db992e5885","猪八戒的春天","jd_OiRepQjUCXyM","jd_6054a7dedd605","kfcfs443544460","jd_gWVWsQbJKQoy","西府塰棠","jd_McWpQOiyYcHS","泽泽酷儿","river_s","W_Pisces","jd_kCHtVxPpqhLj","jd_6649bed33bfbb","fuck半仙","jd_4337529e557ac","jd_vkQWRKczDryJ","jd_fMIMXpRKdeXd","jd_njMVbJICoHVc","panfeng1991","jd_481a27e508df5","jd_5523dce805544","皓月澈","wdUBvEFAfbpTLr","jd_4263d9b9e2923","jd_715a0bdbd8aee","jd_7a552ec16272c","jd_414289eec3ace","15999592721_p","jd_7179300a9e7a5","peacd009","112314293_m","Maryzhang845","jd_tElMZjbsNbcL","Crazy曙光","jd_6e1512fa2bae5","jd_6cc73f8cf473c","13656663390_p","jd_7ad30acb6f0ea","jd_68b038e1c4b79","jd_cIxUEvAENzoo","jd_5fb97759e1ae8","jd_5de26471af04e","jd_5638f460cb62f","不爱吃饭怎么办","yanlingling0622","wdNGToVCvbWVBHp","jd_6e32fbb1bc011","jd_odjnmlaOPxPG","jd_47049ab16420d","jd_4d66c11dc73b5","jd_61cee784e0ed3","jd_53b75fb98bfc6","jd_RfabHGOwIaJK","jd_6e21a7545a9a9","jd_650b6565d8f03","jd_4c15d4371ebc5","jd_nlrtMiGrxRim","冰钬俩重天","13866430304_p","jd_hQHEFnChPmPz","jd_774d4c7c0eb95","jd_5f6fbaf816e66","13951675863_poj","yemingjkl","13544516494_p","jd_fthbcnApLOnb","jd_7048fc48cab1b","jd_49c2d7ae35ad6","jd_6d319b793e443","jd_559f7f7657c96","jd_67a2b187afec2","Demon-Hunter","jd_79bf653f546c0","jd_6c421206520d6","jd_4b1f8ffa6ede5","碎玻璃710","GPanroro","jd_62e4396cf3b64","W寸草之心W","jd_4b512de71d0c0","jd_NpaPkHyWpfsi","jd_618cf4acdd07e","18826278305_p","jd_QjJdJkCaxWwj","heke501296708","jd_4083ca1680ba2","13407701634_p","jd_65cd6cad9dae3","woodman747","jd_5d035fb9d6a0e","jd_paFRxLmoHQyo","jd_43295470701d9","dfzzs","jd_6b82b368507d4","jd_CUkYtcRqUAsK","jd_51ea73f6f470c","jd_42d226a7c4d83","何炳贤","jd_UIVdtEzvyuUo","jd_71f69df2d9ee4","jd_5e57c35bbf1b3","jd_576e78272d0da","jd_4813e5506c005","jd_656c638a58965","56577162-281832","jd_75728312e0239","accenture99920547","jd_5e1e37cf83d4f","jd_411c062161a8d","jd_65041af214c47","jd_47f47eea789a3","jd_bNixCngjSvIQ","jd_50ee551c41f7a","雪美英雄","jd_5b55798af5873","jd_793f01a012893","jd_699d01e8199ba","jd_ncxJyvViVkPM","jd_pjVrvOetivSX","15738975956_p","jd_790a08448db31","jd_BQuGbiEtrntD","jd_YskveYnOdMRr","13808251380_p","jd_4f54d22eb996e","13720432949_p","380442388-597040","wdLUxcBIaDxgWy","jd_ukcJSsZhnLZV","jd_45a4d4e7ff858","18821260996_p","jd_45c4ea558557b","wqxxsjc","jd_SZTJmtMqrKmM","wzywzy41","jd_5dc3118e0319b","jd_4438968df1164","jd_66ec9802ac924","gdmcking","zhaoyali1129","godsword02","jd_6fc930a6eb875","13952133953_p","13770481518_p","wdVNlLEoPdvijf","13814842044_p","wwm18282709678","jd_642c8a30ff83e","741652075_m","jd_4e7b078f96e45","SUNRREC","1138951849_m","jd_tcYZXeMbkuFp","63835001-92680837","饭666","jd_6c13066b5aff7","dianchaowang","sugar-dc","jd_6930de1e31da6","1083846397_m","jd_5433af8a7d22e","jd_456366f7522fc","jd_5f23fa4db0a2e","jd_695109dcfa482","jd_NHfnpWICQgRb","jem1997","jd_526cc6a7bd9ef","jd_DnQINBSvhuiE","yinhaosunjie","jd_6fec944fb695e","jd_crVgqfNzDFJO","jd_56796ff5fae7d","不信鞋135","18382409005_p","23409966-110541","jd_74ea1643a90ec","jd_6a1344391914f","fang2625","shecong288","jd_5e727fe67a46b","jd_74bc235894e4e","sophilein","jd_qdzEERjsubdB","42056682_m","huangqiupo","jd_677dd20bf2749","j9091929","jd_58bcda0740d3e","jd_78c5e1bab1144","jd_PGpnbSjAaFdG","只做你的的小人","jd_CQyYHafujXFx","18028578057_p","该死的猪","ccssh","lyf36524","hzl201","15178095314_p","jd_576fdfb288853","jd_682941d894f28","heliang219","jd_4e7918d7188a8","jd_47062a77766c7","jd_47ceef6c7eed8","jd_42b95ec06d754","jd_ZaVfPokMmppJ","jd_596bc4bec63b9","yel991231_m","18223552457_p","jd_6e675d4b392df","jd_lAqbnuZfnlRf","15927020822_p","wdhMjtmoySaHNq","jd_LiUXyeQjpbCW","13719748853_p","jd_7ebaa05f01e39","阿七是好人","jd_78e64addf53e2","jd_696f9816839b8","jd_6c2c38b490357","jd_7c3b0b748309f","jd_568e87714baad","jd_6b41d8f5e26ae","wtt-4827","jd_5ca5bd529dc14","307604301-429904","jd_502afe49ad501","lukao","jd_71bac41669a00","jd_5d216dfc2bb47","jdscliuqian","Free_Air","13574119379_p","ala-stone","jd_jVnoyjxxvIiU","任剑萧","araragi602","karakoram","jd_48b43d9a2e247","jd_6747ebcb881e1","25244851_m","924428048_m","jd_774b2fdcdd6ce","jd_amxomQzaCtxj","jd_bkYxnpeVABsL","jd_HxHtnzGFGzHv","13763038371_p","jd_6f77fa42400a9","jd_7617d8033a08a","jd_5f7f3ddb06dd2","jd_785e089e03517","xygbear","greathzj","13651636428","wdNtwUflEkWwufp","larryemerson","淡忘-LQX","jd_5bf1d9564df57","jd_qSeDuRvTbiBO","SP18022209577","15029285506_p","jd_7e6591d8d85b8","15996267793_p","wsh123037","jd_5aa113f6eadd3","cupidy","chenyusi8888","jd_5827cc6629e02","jd_5cfb2a54cdb01","jd_5f39791d52af7","咸鱼蜘蛛","yuhaoshuai","treasurelife","704524-68421077","我在笑你","jd_7dd96158ba54b","jingyu5566","sk991359234","nishaolai1","jd_DhvBzteXrvXF","jd_783b424b7b1e2","jd_5bfbfbfe18cd5","stlbb","jd_7bc766ac760d8","jd_6fe3806b44cbb","hewei0049","shuxianc","n08320112_m","13426241686_p","vanjanly_m","jd_4cfffec6b6c45","oklookloveemy","long525231","2218032645_m","18463968939_p","hayker","jd_wriBSapluEbf","jd_639516c6f8460","jd_52c50efde3d97","JRSD_stVwM2506","jd_5bb06ad620afb","jd_zqCwVKmUuOIy","jd_6371c0ae507c3","jd_78a69c4916823","jd_JCnXDCndtCUD","jd_781601ef4a2a1","jd_5f5bdc51f7b14","jd_4531bc07937fb","18635494525_p","jd_gChWsFVEyrlo","tomorrow_52077","jd_WXdDRougzVQs","jd_4e06826ec41ce","jd_SlWvBoAHPzea","三日坊主85","jd_mQikyCkpzJgn","jd_644593fb1afd8","jd_7c7d067e97ef6","281704539_m","jd_njxZDhDDkjtz","jd_7bd24081023a5","2621410990_m","41567543-14769000","lf4004145","18640615825_p","jd_77f3890ab770e","jd_411df452fd3ca","40990-22620032","jd_720750a3711fe","菲菲妮927","75173324-45201923","17317962-53921659","jd_4aafd295a71e8","jd_610eefd2bc0ad","jd_54a0fc8ca2f9a","jd_527412391479c","jd_719f835f58c0f","jd_64c8039041db9","jd_tHjOvUkYqfGp","jd_4e198cba1054c","jd_zSOAtPGygkRZ","m15397979652","jd_qaoodZpuyHYx","jd_pDIEksbFhTxY","wdKXFajkfePOSA","jd_446b35c1e5cc3","jd_5ca478afcdbd0","wjl617123","kellysu26","jd_51f35a111635f","wj654013101","jd_vSoXDkIBDhvV","半杯茶R","jd_6c1cfa9ef481b","zzaass00","jd_XKHwycdhJdUx","wdNYAsFNWDLbKCC","11478805-772521","jd_65c0e513e0948","jd_475b1c0fb069b","yaalon","jd_4d877a8221f21","jd_6280b30b9ad96","skyrim_mbh","jd_728bfbe391d8c","jd_6f8dcc363f306","jd_701ef2a32b4af","916004489_m","jd_TyQLTlSGKRNI","jd_60f9648f9346d","jd_gqfdynGQebMl","tzwlwm699","15905209182_p","jd_42abd57a7ec19","phelpsz","1296850193_m","lc0088","jd_69a5e9758c8ff","kpstxd","jd_wFXwseAkpimD","jd_gsODuKcYdUyY","jd_MvPCMaPhgzZm","13810016681_p","jd_ipTdPECELMFf","jd_722167b76ba44","jd_baDQJdqxDykh","jd_gAYYXUInWLAq","62554342-590210","jd_5def961e5d8ae","jd_BwdyCzQujtBy","jd_6f5e8ee8f9429","jd_GGjcnjYeAxLV","jd_jZNAexXOyurJ","linrenzhi1993","jd_lcdMwEYclEpW","jd_CqkIWYVbDwwr","jd_5bd89badd3893","jd_QXSOyupcAXeU","jd_50e061758a9aa","kdpolaris","jd_cDwCPxHcrFfb","子墨轩辕","winfastern","13035326986_p","jd_4e98f85248b11","cxp6666","sumuli","imwanggang","jd_459265f1bc6ad","sammy2002","jd_60cce6d65e962","jd_zrAgvPJcGKHa","jd_4552e5b75c05b","jd_JbXxpgToUjXs","jd_PUpvjgmInCGY","398562853-447036","lisbo1552","jd_6c2674ccbd6e4","yc27216","zwm2296692","jd_78bbbf4000870","skyhobby","evskaka","jd_6aef39741b2e6","jd_BDzFkrTObVze","nonems","jd_421ecccf3770c","wdNzQnHrIJMMCqU","xie643234","15827064271_p","鱼七猫九1","yangdeying76","jd_fTqOcLJrpRkQ","jd_739109ed61aa3","nijiao77sm","jd_RvpDZIxseSQb","jd_fkrRReQhXoyM","jd_4aaf4be7adf49","jd_bGmLsrNxfCZn","q15810527284","爱丶假的","jd_6f030585b9944","thorongilii","jd_41d90052db6e4","jin13752991610cool","jd_70e9037c3eb47","18805602898_p","jd_6770387ae90b4","jd_7b6be83881779","wdvKYbmZmmTuCj","eternalfor","gdsgpp","shengmingqiu","15726813786_p","jd_6d1b1a5380efe","jd_5b03e42410507","jd_dkFlOIQfBbXT","lmy16ban","jd_4b46ded36491d","南京华讯","jd_589ba2e7c466d","骷髅铒钉","jd_jeVyaIOtbnQV","红红敏敏","jd_uHnBwSSDqCOE","15606926760_p","jd_UNnHaYRosqtY","jd-hhhhh","竹叶筠","jd_597613fec58b0","夏日星空1988","18350562907_p","春梦伤了","hiwi","jd_5955aa691aa60","13590051765_p","kittyzero","jd_7d5a7e102eb17","jd_4f510e829bded","jd_KmwtjtxEMWAa","jd_caotkWLGqAmu","jd_5c91f0b80ee7f","青丨筝","jd_nfZtxLdbpckq","jd_NyFRvJrPgzWT","jd_7af96c06f8b2f","pcq727","jd_676eddfcc6ab0","jd_ljYfohpwGkhP","jd_43ab1803383f6","机器人111","jd_nojFullsVgLr","jd_6e5727159dc59","jd_QJhjeqPudejW","jd_57a92efbc97de","chineseshelley","jd_59a58220121a6","RekinChiang","jd_7fa35663e06eb","hat007","jd_OJpdvggXncVL","15828267358_p","乐乐20010601","syy88818","哈噻666","jd_7b4a47b73c06c","jd_FBdMnUVTiOtj","jd_5d01ab2954c8e","cuteluo1983","jd_RrmXxBNCYHSL","jd_XuoHaPYCEotM","jd_HkKSKgdAhlNx","jd_66f05c7e648fe","jd_uhJjUEVQscOb","jd_XVGSrXttLskO","jd_IJvSCqYVPUwU","火特二号","jd_7f7bf54cf01af","jd_600976d49f64f","jd_4eab7f9577c17","guojiang6556","wenchao115_m","107629584-85415739","820938322_610973678","jd_IcnHQrwOTfOw","su_l_h","jd_65f252f27db52","jd_515946873de8a","jd_676379f15b428","13248295636_p","jd_685d3b44e21ee","597上杭县陈艳芬","枫榄陌染","jd_45256748c19dc","richzzp","jd_424d697651763","jd_56ea2e1255a7e","jd_GziPrYFOYWKA","jd_61c81d684fbef","42256925-809034","Herry20014","jd_46b4724f6fc53","cuiguoxun","youlingwt","jd_ERmvDUgXvEDv","jd_63a5c7e25eec2","jd_618e19a1bea94","jd_74adda72a7b5e","garfield1234","jd_55c4c0c0bc3d7","338736100-921265","jd_SoehrpOEykRv","jd_675236ac416e4","18768176872_p","liuyang118659","jd_WDikVXIzpNtK","jd_6bbb57b434794","jd_kWbgzLGWpBfZ","jd_46fe7d08ef39d","jd_DCHgiTamcvZG","jd_NAmdznwqUUqZ","hao0863","aliyy2014","jd_6af82c1873183","jd_789a25ad1756f","jd_58c95495c3d69","王智弘","psobb24_m","jd_6ea574ae45a02","jd_7927e76ad4628","walnut9","usertest001","jd_60be4a09fd9ea","jd_78e970a6038e0","jd_PHgJBdcbKgaC","jd_sgfKMJDpRBaF","jd_5f829138c2634","jd_405e4c861b53d","mhdhzhang","jd_7eab3d1a07acb","166654210-126853","jd_pdvYmvLWfYgb","15018606006_p","jd_6e23ea9053189","jd_4a8e107694119","15580838949_p","jd_4b4d7c5d101d0","涌动的海","jd_7fbacd4e070d0","jd_FtPfpKQcYGRS","牛奶也酥酥","jd_aNJuwluwcAvK","lurker5230","jd_417bda8b4d3e4","jd_4d8110b3bf5d4","1270974473_m","jd_4759412004886","纳爷威武","72115772-659500","jd_493692f44f720","jd_siNfmPyACDJi","jd_610786a5f861c","zaron","jd_61f32d4a50db7","Meikeo","zhujinxia9_m","jd_7f6327faa3ff9","君子沐","jd_43886da4723d9","jd_675552105c136","wdCpPqWqyWCWPq","jgl_zp","jd_4f51770ebdab9","醉夜潇潇","xuewei1986xue","13888595922_p","jd_548b62a16277b","jd_648c2a58e400b","jd_475b76e1c8d2f","jd_CraikOKPFPxD","jd_cdmJGfwkcrMG","maibinqiu","jd_6395386662d6e","wdfwLvOUDpuAug","jd_66a8c273903a3","jd_76df8680261dc","杨丽敏912","jd_531adf80bae62","jd_578855ad92f31","ice-hazymoon","18622968166_p","jd_WEayZrxtUHtW","376759930-592799","644308422-229777","zhuyang_1993","huangwei5188","jd_5cee165dfd4ea","xswhbo","401087884-489829","jd_AwHhYImEoVcw","chengbin5200","jd_5adbcd8a27086","jd_536cc0dffcf09","158094287-836907","xudachao","88154-15754955","jd_WdyqExKtISsb","jd_GumKhBdCYaxE","jd_7109df5e01e7d","muchao_119","jd_458745533a179","jd_57849ec609f63","jd_54a11b70f1055","jd_gfGIywpzPFqb","jd_5c1e07c2bab46","13430311342_p","jd_CNkLTddWgIkP","南宫莫伤","jd_4502ed856ec89","jd_75e0c277f538f","jd_7939172f0a31c","jd_497a06f9b4ec3","jd_47f76b1cb9866","jd_7926075b3e0cc","jd_5f789197ba545","jd_7013613f4846d","jd_56d6d441c28b8","jd_jVFzhFgLgHzi","jd_KsUrtanZHicJ","fgprodigal","jd_5710b1f51e14b","jd_EraPTfrkzdke","jd_7a28328361fac","jd_4bb8140f07356","jd_50bbefc3478b8","lmchow","jd_56adda6f4505b","jd_7214e2340af8e","jd_4b406b007d300","jd_6ce63a2fff7f5","13815834530_p","jd_FPVYwnBwSocA","jd_542a598d10a38","jd_SlyNjIffoDGg","liuxinhua1852","jd_426e19dcdf6f1","jd_tKrMabhJzdTx","jd_446412dddd4d1","jd_6a67c6fe0f1d7","jd_491d7a7bd80ed","jd_LhmWyQFfnynt","啊德雷","jd_6ff58a7dfb9d7","jd_6a7161541b7d7","jd_7857dfc4da423","jd_5851f32d4a083","不丢的奇幻漂流","jd_63108a94f859e","jd_79645a22ba6bf","jd13809211659","jd_513744b1d643e","jd_VhqNFhNANNaA","source1989","jd_62ddca3d2979c","jd_4e5b0d8d9d1e7","jd_7eb9282f1cc68","骑士豆豆儿3","1085826329_m","jd_745cc3ec74ca9","wenzhi5w","maplysnow","15288709109_p","jd_60c63b6a209d0","dbvw9991","wdlndglxGzFfRg","13670280546_p","若惜沫离","gusha915","wdlZgkjRtdPIKi","wdLLRiQleAVgcm","jd_5347ef94ab4e0","jd_5c629f2654ef7","jd_7b7d584d94162","jd_5e1c165b1457f","jd_6eb9a5871b354","jd_vcaRXyNRDIYl","jd_yhOTKTYfNKRl","jd_4e7702e26b6a7","jd_DByxjohitCaD","13005339380_p","86474933-987408","jd_hdXjmlkYGTce","jd_7cd8ba34bd30b","jd_yztzkGvHfvjh","jd_61ce03a58882f","jd_hroPswEzEEji","84111561_m","jd_70f7410febfde","jd_559c5a0c647ec","wduIYQpqYQAiUU","zhoushuai271","丶牧草","superboboye","13691465245_p","jd_47f0c9e2b4afa","jd_7d0d91896b397","ft1101572","Apexgzy","jd_55768b455312a","jd_6cf22d85f3baf","153860865-972603","13862166630_p","15605181039_p","jd_4bd84fec70da2","jd_59f90da556514","jd_47f4cb0bff332","jd_6b297f87eaff5","jd_676280aff45bf","jd_fBWwWyNcwHbj","jd_59bef92c52ad5","18629418540_p","maojunyang_m","jd_7a618396853bf","jd_6e0da8a25f71f","jiangweiff","jd_784e6e875441e","whyyuan86","437310528-382475","jd_716d83d5a51a4","hayzhen","jd_4a06f12b0c282","jd_731bd2ea2ec1e","jd_5cdb7153d1c58","jd_TxrDkquwXWmK","jd_KFiohiqmUKSO","6104-37806414","18039952175_p","jd_5b8b1ff3f3817","jd_450cc09a36186","jd_59a330f2c065e","vgenie","jd_525e53cf5c6b6","jd_OzYzxUKIVKBj","jd_JfaesRPwPBId","jd_6963dfd7f419a","jd_5892becac7ca2","jd_5b280719dec54","jd_4bebaa0217604","fuzi_xiang","18883993895_p","jd_nVPRGNMLPAsh","jd_70a91be1c0e32","jd_77ecc639568e0","jd_lpwjSqDIfjBy","mjwlwml_m","jd_kdFuIesjQtsw","LH100606216","宝宝爱吃维之王","fascer","jd_72e9eae01da23","fashioni6","jd_terguMubYEIy","jd_52156cf8fad32","皓一笑","西决wzk","niejianyong","820694800_m","Michelleths","jd_5fe5c0b42cd66","zhongzengjy","15622052611_p","医学唯我","mc413511928","jd_NJcjeYZVEHvC","13632523606_p","jd_4ab4f54b0c0ff","jd_6d93c2fd3a9db","jd_5cb1d5c13f76e","wdoAJyjJPwQZEt","滔tao520","jw-828","jd_62706d389009b","jd_6fbbfd7d1578f","jd_731c428836d54","15715846562_p","q304644627","jd_rfHCqEMlkUfS","13813363836_p","u_7f9a45c016b28","PengYMING","yuerspool","jd_7d57e407914bf","13026172444_p","jd_ZwirehqhiHIm","jd_QEecPqYvpKqj","jd_603f89b4975ca","jd_54b96545d3360","wdGonsmZbfKixi","jd_5006126d8b01a","jd_lFDQyRjLSDdy","jd_4073458998068","jd_558b99aa98746","jd_6700ea9ce7cfc","jd_66f22a8a0b3ac","jd_ICSWmYHRazTY","jd_HLXRGWqvADRq","jd_743066a96348a","wdhSMgjHnGBEED","jd_7009694ac3ef2","jd_7722916197d4f","ko25256","jd_4574020f260d9","jd_556bde5f6fc91","关伟东","akimong","陈炳生3124","jd_tJWlyRGXXcgt","jazzly","jd_48f1723b04425","qgbloveyou","caisson","jd_5143c16a5e210","jd_50c41bc3de0d0","jd_62a36aeb4d814","jd_59d94b06de56d","xintian312","hxd1252603486","jd_DLNwFqGymEdg","13290292019_p","wdYqYumXRPjHeV","xmeimei8521","jd_6a2c8931842ed","周沃悦","hong3096","MaDn1998","jd_669c1edf4eb6a","咸a菜","15640429733tong","333585263-197253","ijjk291","wddjGWiVwyqRlC","jd_KNBPBIFSkqKf","hongri_2020","jd_QEJFqwXTiyuN","jd_7420c425d509c","jd_570aa397b741d","jd_426c4750ec0de","jd_618a546da845e","jd_77ee2cbe27cab","jd_GworlknlnPZT","jd_6c1d32870044b","jd_650fb4e2db641","jd_6acbc254383c6","jd_7cb8e7759c41f","jd_46b4ba7d536cc","cf281151850","1114987-97583841","jd_VpsOUfAmhmTB","jd_iOKyTimIRbpN","liyouleo911","billxq","nicolanan","jd_62f3527cdf350","jd_NuYZATWPnCVT","609998660_m","遍吉大昌","xiajiyang2_m","花小小爱","jd_47f6b2b283ad2","jd_kkgmvYGczmPf","cooking00xyz","北方的记忆","前尘勿恋","xmfly15172429894","jd_6baf0abbc89c7","jd_4f5faf7d53278","wi5101","16918293-56217388","jd_oXxDPLHbJVMz","jd_aEPUSkFCSOsE","jd_6b18410c65028","jd_69bc1b64473ec","星云散落","18772383543_p","15806784747_p","wdNGmKVllqVhVcZ","784598711_m","xuyujuan3642","tunliangliang","jd_rrJUiwVlJxKL","jd_718a74d69b86d","jd_612555096a092","wdTXFpsGVxxZfl","加藤慧","jd_4448bd9ebe455","wdlAgLLskbwqmy","jd_yjYhyXDxQBKU","jd_67dbd419cec27","jd_wFkXsXZZQdbn","gaohuabiao2","jd_RgyqblbvpyhZ","jd_69ec01e87bed4","jd_7993ddbd6b4c1","jd_41f5680b39a48","jd_70b4cb6b7e3f5","fensm","Gnaixuhz","jd_71577b0d5e7e9","jd_PFmupZIFQSTb","jd_4a64408d6cc00","jd_TesGyAtYSeqL","jd_71bb44cf239ad","13545892959_p","yukpui09","荼蘼凋零花香尽","zhang2821552","jd_79201bf822559","chanyn","jd_PrkaspxQrjxD","jd_452448fd4a29e","jd_wDtyEuGtNyYK","53689122-638384","jd_621fb5cef5dab","jd_72de6f8ef5a1b","jd_kSVwadAmrRJj","wdNqawTDhwvQJF","wdwWJWfnLxTsPf","jd_4943b8cda16a2","cnkeyx","jd_45cbe6f83686a","爱尔兰1990","jd_5f1c1aa151d71","小四029","jd_7be61b51fba5b","jd_580ba82d24f84","uamybaby","17093123880_p","jd_kVjGtXKXrNhH","jd_740d605623ad4","jd_7d4fe10652048","jd_631fe5f069c2b","83656716_m","15263697781_p","董蒙恩","lantian352322392","jd_GkzxlPFhzavs","jd_vdnOBRDQWAif","jd_7cbe994e2494a","jd_61e65ec8faf59","jd_PRWtMwqDnJgG","jd_6be296c680317","jd_4c23a30256404","18631914686_p","tangzuzh","jd_EHitioIkyLGn","jd_6fba96f51a19b","爱丽莎13142","jd_4530fd33ba800","jd_5fc1de207c537","wdejODOTvMxanJ","jd_7104579268252","dc_haha","okpass","jd_DAfhsUQAxvZi","心有猛虎细嗅菊花","jd_6cc44b21fd9a0","jd_41c29faf96596","jd_6d8f6333a019d","jd_ymQpINjvBniP","蒙俊轩","jd_783ef3282a62c","jd_4a39cf0e4c3cd","jd_4589e121f098d","jd_7d7424874f8a1","jd_66175109a541d","jd_wygldtdOGvXx","lygjt","jd_GQAuaGdRVLKt","OZM偶然","jd_KbdncqRkbUmP","0411dlls","lntcory","13777004558_p","jd_swUCfZOccdut","jd_kdpHELWyydPJ","jd_yZedBVQJcBSS","jd_628523127f09d","94423210-148795","jd_7ea58faaf61e8","58932115-452084","169087838-164904","jd_7f61dfb57709e","jd_BzvJbrfYTMMW","亦幻菲真","小沫沫1219","伯伯111","jd_WNivdCqjJHor","jd_GmVPRbxKrAxt","13288809735_p","jd_6002b8984e57e","m414818198","jd_589bfa4f8c1c5","jd_44fdd6527982e","tangjunwap110","jd_tGIVqFVpZfnx","jd_WwXusQFFSvYM","helloworold","15637712292_p","quzhengdada","jd_41096b3a61384","jd_QPpDGqLaECnx","jd_tOZSxHRZxfNR","jd_5807d2a64c781","jd_6274e426ff798","jd_53b5d1ebcc1a0","15770702609_p","meiya520my","jd_717977f5634c4","阿斯顿4751","jd_7b747ff6c32df","xxming182","sjzxy153","jd_LZLQHGbekcsH","seacat","jd_6498016b5f363","xyk92615","chengbin52000","jd_TJwYiMCRunKu","谁是红太狼","13185023293_p","jd_58e93af4fadc5","24134011-76825404","gujiys","jd_79e33fc2b96ac","1475711-984231","jd_62a86720dd9b7","jd_71255de76fcca","lsh202020","jd_mmbsfQVqOPkD","jd_7178f444bfe17","honey946920","范剑珑","71892670","41099948-529439","jd_53847a09a2c33","jd_54f0c8f549fe4","huyaobest","jd_6d60a2e47eab6","kang399","jd_4298abd950d1d","anyuwang0513","jd_4dfc528b32bc8","ibenx","foolray","LZ丶雷锋","jd_4e4ea3ad758d9","15800541165_p","jd_778ceb2cc3911","phoebe6281","jd_6a472e5c04030","jd_43e3df2729377","jd_731f2b3a2a3b4","jd_73fdf172324fa","孤风处","jd_5300b42a8f23b","jd_62c3455f675b6","jd_aaelFDTOFGYQ","jd_6e6a55b92bae0","jd_675d5e35aabfc","jd_4023db2e85a82","jd_6ce10fb62678c","小小土豆520","jd_4c136dc23a2a1","叶白_","jd_71f9fd06d210e","jd_7c8ec38f0b2e2","小叶榕_42","jd_7fd9e36903c78","jd_74cb91dbafc6a","jd_73ebfcba57ccc","jd_718fdf213c2d7","jd_58d73f7be54c9","jd_4c853a2df6953","xg_zgy520","wdvtoMtxtTDnZU","jd_565e3fc80de00","doom_vampire","jd_79dc85bd21505","jd_6ed1b8059a3e4","jd_59ffeb21d75c4","361372-27819972","55669125-265315","pang_weina","niwode一辈子2013","jd_58a9f4f24c5ae","jd_tWhqnZhHNELM","jd_AUFmsTfVhHiD","YangFeng1112","asine999","jd_dUOjvkWXSrhu","keadeterry","jd_5fbe1ced4acfa","jd_551e0f2eccf4f","jd_45b381ed08edc","yhjtb000","jd_6f4b6c6fbcf7e","一夜尘埃1122","xhm18649","jd_4592a288ca954","jd_icrMZSsgWcVJ","jd_7cc3be1c69869","jd_56740234e598d","jd_BngMpgGvYMXg","jd_74bd3585645dd","jd_sImNxyExUJVC","jd_walIoULKaykk","jd_RsoFePUvLiML","jd_NWUVQmcVSFeR","jd_5618b176f2c8f","深蓝jeaven","jd_gpbnPwcgTwlr","jd_6c1d5e3cfc69c","jd_KHbnaPPKmVru","625603964赵","jd_6362584751f04","jd_5f34cdf5d1b59","jd_usjbVoquGSBr","18780070688_p","yuzhongdingxiang","jd_IbBMFdsXElfL","jd_bEvjrGiNaYqi","jd_DMhsSmfDPFTa","Requiem凡凡","jd_6663985fe4a6b","jd_OLWONZOYMbZg","典不典","u_475b4e69ca2a0","wdmrXJpioxATQB","synss","jd_5db2b9f42a664","秦琴2404","jd_xIZRZuDwNuIz","jd_FJGSEhZsovft","jd_aLzOsGXGtzDa","jd_6185a6b4fbfe2","13550593156_p","allenilkb","jd_loMrTGfLnbQx","it_kuing","很闷很无聊哦","jd_4a5876125f358","jd_71aefbcf42c5e","122140894_m","jd_549bd44045468","GEWEI920","jd_qtnNHGqXtybY","jd_493d1bf035b0d","jd_4c606f75f5a8f","璨小妖","jd_TXAMKUHgXjMd","wei_1122","jd_LKfMWEMxoWxk","jd_bFjqpRJUuLrF","jd_dAhaGNUgYiqJ","jd_4d41adca2ae55","jd_78ce752defd77","jd_777cd278580b9","jd_esyVxJIKbeZI","jd_4aed284be5563","13622887891_p","enixmeng","relaxbabuy","jd_OeKDaOaumnFo","奋斗的青春","revive0day0","jd_7a15ee5a05f58","kk209x","jd_70edf1311451f","doom_vampire2","jd_417864ba371eb","tmzx054","jd_73f529537b9bf","jd_7851e2769a442","宿臾O","jd_69c0e9392b565","jd_79f7c1646f8be","jd_56fe0099a45a7","jd_573c9832d8989","jd_683b71652abf7","jythldgz","jd_7711ecb1b0d29","jd_wiCJjnsIiKVW","jd_4562e9394b14f","43321965-72549548","18064267808_p","jd_QTsWANcmEJkv","jd_5e6bb2ed3a3d5","jd_63ed0bcbefc22","109729487-911224","jd_567dfe561bd65","jd_752f3f5e0882b","jd_46eba9c8c6fbd","jd_7d9cb3ef20f07","jd_FBOWVbjjgBPo","qgzae333221","jd_6409b17c221d1","严物眼量","jd_zSUzTojvVZMy","13868160530_p","jd_5ab4f361b4d4e","jd_6835629ab0ead","15021069631a","心飞扬215","jd_62911c1ca8ff2","CWWCXW","jd_6992b70c5f188","jd_45beefcc084ec","nanjingadmin","zcn-1221_m","accenture99920034","13524907147_p","mygod000","jd_4292eff585170","jd_757fdb36565e8","jd_5d4392563889c","jd_614f005c24d81","蓝色眼泪15117042559","247015180-679075","jd_74242754e17f8","jd_zIbydKeXjAIA","jd_569f927a126cb","jd_543b092ca35f4","qxbycy","jd_696f8872979c6","13911692997_p","jd_613ad73bfdf9b","jd_6c722c4484060","韩志康","jd_5e4c9434de73b","18803076458_p","15210588955_p","jd_62f13de18eeb5","jd_53221bab7cf72","jd_LkqwJJiVttUQ","jd_wJFmmXXEgszf","jd_6d9f15a16817a","henrek","青衣蔷薇","jd_421faf2b2f7f2","jd_415418ecab965","jd_XSLJssDDxFtK","jd_5b83255dd98fb","crueyll","hrbsnowfox","1260192-36093819","wdNEvbVLomomhoY","cjy1235791","jd_4206d07375c26","1216412529-140531","sunjavashine","心灵的触动1160","jd_7ae09a991e4cf","xzsk2","jd_kRjrVRsOzNSm","jd_4acada4afb603","wzywzy70","jd_775c361d43ccf","jd_59285db6c2d0b","jd_5f86bb90c9b00","jd_4cb5cac927115","jd_4c5a44e27bc4a","65281097-159719","15913552209_p","jd_4753e6e443b4f","zlinyou_m","jd_7ddb71e81b3cb","jd_lHKRecsVVKwh","jd_60c51ad6018c3","wdGYSJzxSsNpux","梦辰545","kejunjian","jd_402fe7425fcaf","jd_4fd0909105976","jd_5a9462dd55808","413056775_m","13226585317_p","窗边的小豆豆777","jd_66f583a161ca5","眼睛嘴巴我","zxh871006","jd_4a31c8e791d57","jd_572255c3eb21e","jd_490ea3fb71c58","jd_qXkJJsDFmmQk","jd_MavyxsxMxVCI","jd_78e89331647ea","a197247196","zhengsj","13073023365_p","jd_75924690b95e0","jd_MKCTMPVUCuqz","没有署名","jd_762c0d126b95c","jd_59e918726bc5b","jd_666bd881844ef","jd_7fd477ab1ca05","jd_dAPVlHkQlRGa","jd_42f7b4058f508","jd_722438a6bbbba","jd_60e6416528858","hydz8023","jd_cPeMeUMfSXGF","Ilym_Song_m","zz13158888915","zhangdiaiyeyuchen","jd_6a8e435d2bf38","jd_75572adc6ad5d","493502443-489206","jd_6ccdfd55f16e8","liangyunfei100","13213058365_p","h158579284","jd_6d2bfb59660c4","jd_479264ad454f0","jd_40039735e08e6","jd_cKYBovVIhJJW","yuyangyu755","jd_541e72438613c","jd_AyDZFcifdCGI","jd_728724c46529d","jd_5b9672f6deab1","jd_45994ee71c875","jd_EmtWdjacwAJo","jd_6d3d8095bcd3e","baorui23456","xuxiao0o","jd_4962642065032","mrcjq","jd_50995641461f3","zhengzhe36","repay丶","zqiyun","岁月静好f","149838543-435198","jd_45d609addbed6","2392542946-712403","jd_6cab59a123c86","13969039530_p","happy六哲","jd_PTYxzjKeRWiE","jd_cPUOaGrvHuBJ","jd_5c746385bcff0","jd_7ed7bd7019b96","jd_CaMzDYoXtBGg","jd_XHiYkosHviRT","liuqing025_m","13319804239_p","jd_5d5d63403bc59","jd_NENkePJHtcrE","jd_4ec3969f6e14a","jd_59495ae34a837","jd_4066ec9767f18","jd_XGOGbAucLGte","jd_eZVKksKRplzy","好帅的馒头","13107313779_p","jd_598d88f3d55ef","wangsiwang","jd_hrhXZhdUjjVg","HUNTER罗春林","jd_5fb23f40107ce","jd_52fc42183ab8e","jd_50e6ad9f25610","jd_5ea3818be084b","jd_5548b45f0048f","jd_600313bf01b61","jd_6b9b4a6f8d813","电音ST","朱峰0414","树上的木屋","jd_JRMhwrierjRS","drl962464","jd_41a537af05914","13595045051_p","jd_638ebf336be29","jd_578be380dd599","amwynkc","371207260_m","18316965600_p","jd_69fc85c99cf77","jd_4ee49da202d72","super逸","jd_54893113f96db","jd_VIvEiOTWvhWF","jd_tTyWYesvRWLH","162558967-51845745","jd_621788cba8d71","jd_kTJdbwJYjMWJ","jd_5d88a0666f5e8","kc94514102","jd_7433831413eec","jd_53af4f4ef9efd","18376764538_p","幻化琥珀","叫鸟鸟不理","wdaHrFbwDyLLbk","jd_6411b83412c4a","吃货集团","jd_61de7c783036a","runclover","jd_guyTzDpeCLsk","jd_60771c2a298c3","kimchill","jd_7670ce8361552","jd_719942354b2b7","jd_IbzyCqVmFzRE","jd_44d2a1cb73da5","jd_DLUCDhGtEJRQ","jd_4bd1817ae1f32","jd_5b3ea6655d894","jd_EUUZjEkwEFvU","jd_hXeJtIRShVNq","jd_58ceb0bbaeb1c","huang_q","jd_IeUHEFKkdWSr","AppleBugs","jd_prslZJfJwzRs","jd_5a382f18e4e9c","jd_593c3290fdf79","jd_taYpdKWgYNxm","992678265_m","jd_4397fccb335d8","jd_niHiNLyEfwSp","jd_5e2cb47cdcf58","17708339036_p","13870927907_p","lsn794685614","abc60402000","jd_OtmEPdFCuPqn","jd_6a64045129aba","jd_VWkfbSWMzxRs","neutron1988","lhw0755","jd_tdUisZOwnBtA","jd_6954091aa6862","18718920810_p","夏天热冬天冷秋天凉","jd_4ff06546ac3a6","18762452787_p","zx282049862","mseweb","jd_55fb155cbd796","jd_6a85b5842e656","1290029643","15842965320_p","lucy0803","jd_7b053d866b161","sunhuasan","wdZTMBEsscpnZl","jd_63e0fdb43bbeb","jd_6f91a6dd36967","jd_7550fa6db0daa","jd_42432151e8ed1","jd_ElZcASfzazXI","夏末么","jd_BnprtLgIGywK","jd_4f600a35ba0cd","jd_LyJJkbghjmLv","jd_7679a40fbb620","jd_HhCZMTTFlOwA","jd_dIcCLOLzCUzn","a1026574707","jd_4334c769dd90b","jd_66afa80dcf849","Mafffffff","jd_LZStYEkTfUAX","jd_46990851e6f1e","15410336-72240884","jd_cxKzixtCRnWq","yiyi6696","shaofet2","小左羽","jd_5b7cd41f077e0","jd_XFuzyThjBTBs","jd_7fa2824ef1c1b","王凤奎","jd_5ad79c4fd78b6","jd_bBgjTwLGdnPY","linshijie051","jd_BHutJojUzMld","wxd0217","暴走到明天","jd_5bc8db7898444","jd_460941e00a512","奈斯67","jd_CFHnMjQmPTrg","gtax","哆啦A梦不只是只猫","jd_492ab0a964106","k1483162508","jd_4f3c5c05ef633","jd_4a3ae006ed503","范元棋","jd_gDLCuQOveXtf","jd_44855e25a8a17","ruojiruoliliu","13626133677_p","jd_52f00822a12c1","justcarter","s_himan","jd_58891611a14a2","jd_5cc50fc6566fc","wh165227462","jd_601319cdab3f6","whyjxz14","shenfengseu","worldliker","wdUHvdHXPnGlnv","jd_79b8df2e95a7a","jd_WQXxOhneyABd","jd_5b519ef82a83d","497729208-345004","jd_45978c0dfe1d2","jd_5b605d07f3dab","jd_7e66818cd0653","jd_yWauGTAOfhKx","ligong2008","jingshuoyu_mpy","jd_42dc27f3cb631","jd_cZkyTknDrUzO","jd_qtKNfTjguPLq","xjfskywin","cody33231","海水若冰","jd_57cb2ea15390b","我是米粉","jd_RfXLBsoNCTML","jd_658cea631ad40","wushuyu541","wdoRefcnnLnFAq","江州六郎","qq414725984","jd_76b6424a93c42","jd_74251a2abd777","tidus1124","jd_4b926eac25b07","雅望天堂1990","xtqdm","jd_dsPvKyduPCFZ","jd_6a4cbf480d85e","wdYqMyJEbHakZt","jd_4f2d43c140359","月翔潜龙","jd_BOKjCHLPQajP","jd_5197c0399ecbb","jd_OFeXFLIlFwEq","jd_5e712b29bf703","Leon_Pupil","jd_5640a944d0754","jd_6bcf4d4a07885","120058841-694328","jd_691d104502a91","jd_wEVXZkhdoSBW","70837697-152397","jd_5bead2c5f4fcd","fengmegnqing","jd_YWanfCSsLjGZ","文已成魔","jd_CyhlzRppStWO","wangxin763581932","jd_4fd5d0dfc76c6","jd_5cfe34118934a","jd_kWrjqljvarQA","jd_68207330d327e","jd_4bd414a619c05","jd_MWwYXyckITKJ","jd_MTJDzNvVFvSh","jd_4506ee6d09fd5","jd_6d31a3c5e2bf0","jd_5242923a1f7b5","jd_5d325dd44fd20","jd_lkvXPDaVxBXv","jd_FQmdKbsfkITb","jd_4f1ed2db36e1d","jd_AQNoxHyVKnNp","iwy2001753","jd_52289268f058d","jd_638b94842d890","1139276055-689684","michwanglei","573嘉善县秦海斌","jd_6e4d1c98a02f3","jd_odaRtNJnUAjD","jd_pOJIQGAWFYxl","jd_719b433592d94","jd_723c80caeb4fd","hui214","曹丘宜123","jd_6a0f84ee9c796","ihotte_m","jd_545b658f6826a","jd_asrCcuhZdGvd","jd_DFTPicGdOIMn","walktion","jd_5b6982a790943","jd_71d648c97476d","jd_48b6e5fc7bc1e","jd_76103d64262fa","jd_4b09314759ce2","wdZIbHIpSCZlTp","jd_645a729627ce8","jd_5e784891287b4","jd_420aab41a84d1","540484520-345276","jd_54d99f2cab889","jd_xnGujgMIQzUk","jd_xgwzwLwhVUHu","jd_644396fa39254","jd_jWcynrSqjcvM","jd_kMdnkfTvvntW","jd_44bbe155af1ca","zhi880718","jd_oRWZtDYmWLDC","jd_789cc0fbcac2a","jd_uaxoKzhsKWqA","jd_gHEGrFjjjTel","15763253576_p","赵赵赵zmd","借风凉沁","jd_txEkUPzUycps","jd_76ab935755613","jd_648a415893843","logo868","xh756913459","jd_43cb3d8e52f99","咫尺聊客","jd_48cf32a019e31","jd_5643dff22dad9","平行的世界线","jd_ZzOyIeDfDxGw","jd_WoKhrXuqBXXS","266118187-825533","jd_AnhBqmGEdjfP","j-pu","jd_73a1d353508e9","jd_752580d77585d","jd_5fbabd3d914ce","jd_503c372762d41","xiaoyong55993","jd_4ebe762dd98eb","jd_GEIuuPnhzcBS","jd_5c6ca440121fa","gubin686222","11210345-89925321","jd_5493fdf194ecb","似醉_xz","DXL87820108","s2097833902349895","28391374-657821","jd_7645b0c915742","jd_MeyEnCMveCYx","啦啦啦1057","jd_5228a731957f6","jd_ndGxzWvCLftC","jd_6a4b427c0fcca","wdNWpSOcpdbmDmn","jd_6bf81c1fa4aeb","heze3024","jd_MsSVbCxlUVAq","tongwei2010","jd_sfThPIGhnxHz","jd_4a1fc4deb6028","jd_5184197fe9164","75252640-39707906","jd_4413da42020d5","林觉书","青涩1995","jd_777eb8fb74b35","jd_5dbadb1a21369","玺羽生","jd_623db9e746f3f","jd_6e69d273843cb","388962943-384195","jd_57f921f2eddf3","蹇汶宏","jackwen999","jd_6457953399416","jd_440066c29f1f5","jd_6de70c03058e6","wdNcxoBFTWMdhM","jd_4a3430c67b4ee","jd_455851353eaa3","jd_65a83b617e938","jd_7118dc1eb7599","jd_6428fdb593682","dearzhouzi","laozhang123456366899","jd_5b2c822bd01a4","jd_454b221ee11e8","jd_SOlFamZyKkFY","chen_hey","jd_UlXCqsGOwexO","jd_EoOPddaQofgl","朱忆玲","jd_4d651d9e48204","jd_6586614681dd2","wdelOpPLWHGbqS","jd_7495d34660b63","groudonzcy","jd_dBuaZGNkIycL","jd_4d801efce6fa9","jd_6ad95ece12478","jd_75ebf474187c3","jd_gwwJkoZGfvta","15506809140_p","jd_hcJfJKiRtplT","jd_rUTJjefepHVC","jd_697c292d892b1","jd_EtffkGgPBRWT","15623514669_p","jd_44b5d4573d8aa","zzfancitizen","jd_76edf017bcd7a","wdLsgAIUTDFQUs","xuyoumi_m","wdCmiuKXftZKRI","wdQuYeIDpduQqV","jd_753172056739d","jd_43644796d3181","Leelilu","jd_471b94ee59a69","18657790092_p","594656299_m","高超2010","jd_41812a130d40e","jd_7fca66ddc8cca","yc2210","jd_4839c7db14850","jd_7d4141e7b2544","flf260","jd_426f58510cab6","jd_4053957f4aa37","513如皋市张浩然","jd_YsccOlfloVJm","jd_46e65ef26bd60","6552717-42308088","LinusZ","wdNcerjOabTRWDO","我是怪咖2","jd_7cb656497493b","jd_599d3dfcfcaec","jd_46e217df1c675","jd_zBOseEwZAyNq","guilin0807","jd_VIhjvEkvYAId","jd_4fd117c2e090a","jd_4b51ce56e383d","huotuzi2012","15018491415_p","jd_4ab0abaf05fed","18603917879_p","jd_FJYZhAyCmPsl","何志永2588","吃兔子的花","jd_692d3a15f0a49","jj18889996091","jd_53e3a0d59b2aa","jd_6b3484ae118bb","zzy0764","1120247833","devil522","sunshineYPH","15753511339_p","13076776243_p","jd_67f18ca3802bf","ghostja","jd_785914f4c7d28","jd_70e0d8fa1240d","gd7313","jd_53d7e42cc1874","jd_492fc3bdd4f9d","jd_44f6a599c67d9","jd_540830c31beb0","jd_7319dc6079a8a","41199658-461467","jd_5716b6793dfd9","jd_580aebb0b104f","jd_68e4365f7a7d7","luoni69","jd_7ba0e98a58c0a","jd_705d4d916845b","jd_sXmCRALJihiY","radaig","jd_69578286f32af","jd_5866f3380f0a4","冉智勇0914","xzb","aidirac","jd_48e7196cf1a78","jd_69d1ae726c292","1322288-17413642","jd_fJmjWrjUPriI","jd_529ff0b0da275","SIHAN1314guaig","jd_50c247fa9fc69","jd_cWaeJzYlOSyu","jd_75d530cf02965","jd_yylpsfMLMWmm","jd_7e8f3d5dc845e","13816628178_p","jd_61d628a782f95","dc_ha","jd_xNyNABSwMYvL","jd_6fa78a67e688b","JYVC账号","jd_CLiltBkQLMAi","jd_5ae61d3cfa0a4","jd_BlPNoXSUsZAE","jd_49240f78f6e80","jd_52c603a926b99","蓝天下的灯塔","jd_VOqTQIbeMUdZ","jd_6408aee976efb","rinho1239104","Good6452","sss死神2012","jd_507a7927c5b66","jd_4eb5492189dc3","511023dq","zys68640665","jd_496ee30889f1f","jd_7f3cd4a79370f","jd_485cffd56ecda","took935","jd_bHRieexalGjh","jd_672774ec945ad","jd_tcTnmBbQknJs","188748210-139704","xiaminet","付森110","lhj19921","曲小沫","jd_716ef74d1e3c3","jd_51cf875af19f2","jd_42dd4a517f9d9","mklj555","jd_UfbpCvBPAYzR","jd_42cd05fa92eff","jd_638c8aef8fa11","jd_5cfa928623d36","jd_hIpfyUJuCvCp","13632823445_p","18752787487_p","jd_45d2d8dec6881","wz76931","jd_UQknZxXXqPPY","jd_cvqDMxRUFUms","jd_7575c95c0e12a","jd_6d223b4f0f320","中国郎80","天然呆的你那么美","jd_7b3614e88a569","yeli8888","jd_bwSnGjdEgKoH","jd_rPCuHnyiYkCE","jd_maStDuESSpNh","jd_AlZJhDPxnJog","jd_GhjQobSnflWE","jd_793924281f79e","jd_6b4120643ebd6","jd_jERQEQiZtwLM","jd_591743dbedac3","jd_ynIFqHRwYhVP","jd_65d23275b1007","jd_4563f883cc700","jd_MuEftzpxntJE","jd_TrXAUuOsmxlm","jd_646445183b3eb","jd_DfUgNxEzyRJS","jd_51c61650e86cb","jd_6c3fc0666fcc8","jd_AREPXiLMEVEo","wdcgfnYFwXfNPZ","jd_54d15efe19571","jd_5fbf146c9fc6e","15568926655_p","Whealahad","jd_50b0d192dfa21","jd_7ad4ef459af77","gzwangyj","jd_cpNVXpsSQepJ","jd_5a05632d0380d","17280334-68421655","jd_YPEazEWOMSsz","jd_56c10971bdaef","伪造爱情","jd_rLgqhceNwtxf","yz425900","JRSD_sbwmt0328","woodyxu","jd_7749cd234e606","CCDreamm","jd_77aaef9ec5eea","jd_5f9b031c885c5","jd_6aee1c6e1f9ee","jd_eoImxUkZIxAt","jd_7ff6303b6c580","101753615-780134","yjxingchen","jd_59235b4e741e4","jd_4670dd4d19f33","涂加伦","jd_401419fb8cd83","15988772212_p","jd_506c3fa26ce45","jd_7598a3f4c97ec","budaicat","jd_IVTJyModrlCA","jd_4a727fef7177f","jd_5e151a257b5f7","李旭龙7011","jd_JsJIKWtXpMFu","riki205","dhbowen1","jd_5c0cad58b3d5a","jd_705fb01d1fedf","jd_vFBbbmKbQnOE","jd_ZXCwpSsTMKEU","jd_6e0f246c68ba8","jd_45af4e3f54570","chenpeily","lisun212","jd_4092ed960cb72","jd_762f916460dc6","jd_53ae4d8511ce1","jd_6781697898f9b","jarong329","jd_76e501c157683","wdWaoyKbExCbTW","jd_qiFAQJDBMNFI","我想有个上帝","绢豆腐","18858299479_p","Im_Dai","jd_lHaiMkTAmmzi","jd_owsXmDasZVhQ","wdxisCROeigERp","bcbcd","jd_mMrybUMPSumT","s2400560780954379","jd_TEjbGvtfyctV","jd_79ca4335861b5","360616109_m","wdKyHCaXgATiqN","神v中国","wdNosEvUKsqQJH","jd_535a5fa4ce512","沈钦萍","jd_4bb0a97b122bd","jd_ZAhgyFJDfocs","13771995564_p","jd_50d2efb60dbe5","Fuckr","shim511452","861729091_m","jd_781a9bba22420","jd_46640faeb5a64","strlancer","15188321851_p","jd_47b199eec73fc","jd_5d330fbdf8e1a","jd_dngbOmcxnlpL","jd_7010211859dc5","jd_65c5bb73e4986","64415771","一条流浪的鱼儿","jd_4d4f73718d3b9","jd_72a12f28ec9df","910918ss","wdunFYgKTsWYoF","Eugene188","jd_JLCOslNyPypD","阿胸网络传媒","jd_45d021c3e3c41","songhao8080","jd_RstrbmBrImco","jd_75710d760a510","jd_tMfddwhrUZUT","jd_fLXZgJaObLgz","jd_pwaQfvcockca","jd_4946ffd46949e","jd_4fb8ca15350bc","jd_JWkLpnShufUo","jd_CuDOlzxwBYao","jd_46b16c569048c","jd_696c06994d8fd","jd_46d83fb8d5a57","jd_mvsKuWIdOOeN","jd_5c3086750cc5b","jd_7de0888c00726","jd_5d3e78e33d35d","jd_5046ba80fc1eb","jd_54d6f7491052c","jd_77e45545fe5cf","jd_6fa61a6ae71ec","tangchun_2007","jianyaoguang520","jd_5d46ff4dc10c3","lwd2136","jd_ZecLwDeSguoA","jd_46cac3133507b","126326398-909647","jd_785ceac6de9e9","iokjohn","lt15575271230","jd_WQiMdCEiOGSs","jd_jnMnXiZDUzZn","1019352318_m","chen8148","恒道耀邦","youyoubaixue","jd_584a3d945bbfd","CAICCK","jian3711jian","jd_732176c762f11","HFCU","jd_476c17fa5ebfb","jd_556e215e4b293","88339749-979186","jd_66e8c18f45454","jd_6ef7b63eddd13","devil86425","jd_WzzpioYfjrsZ","jd_680c586dd1dd6","jd_hBNWAvsIGHYj","jd_51946b893d2fe","执着de相信","wxyllu_m","Jeremy---wang","wygaby","jd_772efbcd75c0f","6004818-75662455","jd_582745cebf410","cavell23","wwk232323","jd_65b20aab4b885","jd_5f447db59314a","jd_41ea7c3e877c2","jd_6bfe51f915c90","jd_5c5a944685c45","jd_736772b10d42f","玩家卫弈","白减黑","jd_4470f8a3a4ed5","jd_71699f715a37a","qianxiuhua1990","星网工作团队","jd19960318","98826409-926836","haituan","jd_4f4d23bf01647","jd_63f0294ebc5bb","jd_4711faaa6ae44","jd_5ad46b44a8743","jd_ZjMsgtHrcnNM","jd_6cca6ddf70915","jd_lPHTOctKKIXT","天天跑你妹","jd_YcYpduxFeoMv","jd_QrBIBzxKOKzo","Cry丶784646218","chenkezhenzhe","jd_RWqVPmFzxRnl","jd_6f173affdbe59","ivan87","jd_NRkOhWtiEyJu","jd_637ef2928bd69","小伊吹萃香","13818822934_p","Anonymous灬","262691349-738749","我要去东京东","validms","13655536112_p","chuchumeng_m","jd_6e5cac999e632","jd_478e6effc5ff2","sarah0happy","13823403259_p","jd_dNAowsjxAomg","shiyue3232962","jd_675374ddfa9a2","tao10180","jd_46340de70be92","jd_69b0a7ce5a043","jd_5925dcdfb09c7","song9818_m","jd_fFBfydUcFqmK","jd_4300dcec3e58d","jd_GZeytZPmdKRS","jd_wQETvDKymLIV","jd_6fc1daf45a5d6","jd_7cd0bd1bea7e8","jd_45db3de0b2141","jd_4aa4787512c37","1400503618","jd_4320322a504a5","lmw1231","8769449-21045631","kelvin_liu","jd_5169d585d2693","星光流影","jd_6c76fa53bd2ad","林意终林","jjqqw1122","jd_6652cb5ae5ea7","jd_63d1a2511b19f","1008974-81912784","jd_4b726ef6877d1","jd_489caf95cfb90","jd_77b2a00605923","huqidi2008","一眼万年的时光","jd_6b83941536f09","jd_dZUmRNllZtdB","951839351","ddan0323","jd_ZOyHerXLncyA","归来吧92","jd_66a9b00b7b949","jd_7344d12af9b93","陈帅0907","jd_GTAyOkrXgKtO","狗东用户001","jd_43f5910902bfe","jd_CmxkEBIrXqrW","jd_76252485d5149","jd_IkDbtwcNvkSm","jd_5ad86b7ba337b","jd_7ada2a02442da","jd_702eb7568dbaa","jd_5b0b98acdd300","jd_75bc209938d91","ma271700","Nice丶蝙蝠","movind","jd_6750b2407f222","jd_4927d6348dd72","jd_406388ca48a75","岩公秀莲","benci","super27034","jd_6f70549cb28d4","phashph","szc578","jd_52d53b703347a","jd_56950ec87149b","wdrZWdjHCAFWwj","lishichao1983","jd_41573cb9fd3c9","jd_6db220a0145ea","jd_4687ac4f357cf","jd_49d4f33cb3960","13580563566_p","jd_UZJiJYHjaeWM","jd_6ed2828afdc2e","jd_432889c0c743e","陌上花开花又落","wdlmteHRgvJYtV","jd_66d25411f3a49","xiaomoyjj1983","ji.shuihe_m","jd_6a78b3153c290","15809205255_p","青龙-红","jd_6f7406e1203e6","jd_eSmzbGcUpDMb","jd_663b682af72b3","jd_5ca5c3434b2b8","15538836887_p","周大大hhd","jd_uSqmgDZhZQmN","jd_737e6157f963f","15996588601_p","jd_tRfOonveBlhB","jd_5fdd366030b5b","jd_7c9f369fc74a2","jd_419156167bfa2","jd_TZocLHtFXJru","jd_667fddecb4a17","jd_67faa7dfb9be3","小新新703","jd_vrGUwFKBonPg","13602879760_p","jd_xBWzPrphuqYS","时光机zhm","jd_4785c0ec28fea","jd_5495ccea04a4e","jd_4b27b21be0e43","jd_46784bcd86ec1","azxcsdwe","jd_551a21740739e","情侣装的约定","jd_5f579b7ac6617","findthewayxf","jd_sCXkEybldvrH","jd_7edb3a2f53f4e","饕餮1051615192","jd_78dfa1e6ce4ab","jd_63c65f65a03d0","jd_55f9bbd9a1e16","wdNqEpVAjKSGPne","jd_47fdc7fb7ffae","jd_759e1a7946957","jd_4808bcac39354","yasminexie","z499356687","119986340","jd_6ee2f072fd03a","jd_4bcf401f666f6","jd_yStGukDhbOPP","jd_5bd0a78ee5788","jd_qRuIrsZxnTMC","312高阳县薛寒巍","jd_YORoAqhJdrRP","wdmxSikRBVdvBm","jd_iRDYeMchqLQz","846407187-137780","1304009050_zjp","jd_68b03f1cedf8a","jd_65a6f5a33c16e","jd_6c4535853f309","13726802246_p","蓝梦abc","hnxiaomxx","leolong7777","cataler070","jd_4cdbe6b4cb4d5","jd_57d708b2cb722","jd_BANOIgcAZpvY","jd_78abe0fd3133f","jd_50b7ce4f86e23","jd_XjmuRpzFPYLm","jd_7b6a77b36edc4","jd_HhHfHmHUQZdb","jd_53710fb87d890","jd_58a29c3e23e4d","jd_gFATOHUKTDsC","jd_7e126d5fbe0e6","jd_CjxgrbStxDCI","jd_5f03650262503","jd_ALrHJKtfEhaB","jd_752111306fedd","llylishiluyao","jd_62d028026a5b6","jd_QBKRQkaEDdlg","jasonliads","jd_ewECJZLqfOhP","draxypan","jd_69633d9ac94e5","青龙jd","jd_71987e524b969","温酒与鹿v587","qq578624545","jd_nHMfEnOXnDIx","skyrim_mbh_X","jd_fGIvQowEIlqY","15301687225_p","jd_436e46f81a82e","13917230231_p","jd_66bfe81a20842","jd_45aab31af6498","bao4521199","jd_691f87d6e20d8","jd_TrhgSCTHeWxg","jd_nCOKELHvvery","RaymondGo","281978297_m","dengzhibin123","Jasonzh_","jd_595d6e5ea73d3","小文子666000","yhwei99","膨胀的雪球","iamhaozi1","jd_720fdbc993c3d","jd_auLICzoeEOWi","jd_44b5fcf8bdb4a","jd_4cd6d498df24b","安河桥北981","jd_46762f9ddab47","jd_508ac7bdac20b","wdGDioySPTelaS","jd_7ed1906b66c80","13607205531_p","gm_fire","jd_78e812188c77b","jd_682a740049b64","jd_5fd969b02b917","時光可逆","jd_47bf914beb18a","Rem丶笑","jd_TJeVZLMRSlRx","jd_73fe7d7ab8293","15349209325_p","lscomeon","jd_KmOPXQNCprhf","林若玄","jd_7a23de7aaba83","jd_4cdce1a1e16d7","kissbbs2010","jd_6b9a98d7bf5ab","大喜lin","刘强北182","jd_zKzDaXqwgeCf","jd_6946ef1e2d85e","jd_aARbAntlvQol","linronghua1111","jd_qzMvHREmUYuN","jd_7ff049b2b4fe5","jd_5901c8d3bb2b2","nic.hwang_m","jd_7a03728aea832","jd_5a1feab832e8a","jd_4ba608ac0958f","jd_OSXUptmoYDLO","921648641_m","jd_534300a8ed0f3","蛋蛋7916","sunhui074","18001155-958991","wdTCBSWrIXzCfK","jd_61c42ced40f15","jd_asmOuqgujqvK","火星上的兔子","358627480_251475489","jd_4e0d23ddcb3de","jd_JcycfloNjCbs","jd_DeAsLDHuFCMP","建军0258","446574470_m","jd_434380d625659","jd_70f72ceec3ba7","jd_79ca9100ba888","jd_7d1cfee27b792","sandy-cheung","2555726-79015565","云淡LF风清","616626829_m","jd_6cad8c973e2e8","jd137515","ljaihong_m","jd_5e4c6928d5fe1","jd_535d53664df73","kitsune_wu","jd_rENUDCaorpme","shalwin8521","24100149-937347","jd_5894c648d8502","jd_clpsInxjsQvK","zlyztqz","仅仅是帅哥而已","Ilmiotesoro","qq43661645","lvsongfeng","jd_66a484d5f7b6a","jd_7365dd1884326","jd_5a218f6fc6590","jd_7b4f21b471cb3","q821418887","jd_BGjczBhGVCVm","jd_777a51f8a2bf2","jd_4cb04547cf44a","jd_ACqmXUYOOVhp","jd_61c5acb219939","jd_770a1278f152d","wdiCFtTBCNhAvq","jd_6da0fd4e7e1b8","范弘琰","jd_CqbJuyTJhqOk","jd_5e8a918acafd9","jd_weBTeBmxzRhb","wojiusloven","dky1996","gzf1","jd_436e972ea7db4","jd_73e0b7d76f27a","shijiaochang2011","wdZRNDUlBICilt","fjhua1","ajilaomi","jd_4caff74eb53f7","jd_70a984cf03693","312653421_m","friend8179","jd_5eb65dfae09be","a410868170","sf_2003","w645881","会飞的猪八戒丿","zhuxinghaoshuai","jd_424e05d1b4f55","jd_6fc1bb6e5744d","435590503_m","张海冉0622","墨袖拂岚","mcby008","lijing931097739","baibing3140","flysnow9","jd_752e2c8ef6cab","jd_59cee1ab3b978","jd_777c9ac4ca19d","jd_eiMlfUMEbHLn","jd_6b833335f92f3","jd_4f634bd83b9e1","jd_7aef3f426dda4","jd_4f8472e40b942","13611444062_p","wdPWNRwnDYlEcI","AnlakHui","jd_7524cb006cf87","大YY爱小言子","smilefriend","jd_534be2aa7046e","asmh1989","jd_50d1a6a156721","数码军事","jd_775f58fb66fbc","jd_422f9dfe2047a","18801924321_p","wuyiliang0","jd_54cff3f805461","徐杨易","15824130978_p","jd_48aa019b49afd","jd_6f49cf13d04b4","jd_4dbbdf11fb068","jd_qWvXonXMMxvS","jd_prGGKdyCzzdO","jd_47e927ce3e057","zmysyzddb","jd_58b28ba37ce18","jd_rlEWTlEWkJwu","jd_7c04cc1fec1d2","lovesailing","13453426866_p","jd_zNvWAkRPdpXQ","jd_aoSqtgKHiuFg","jd_eYpsuiOBCLtD","小万牛牛","罗贤庭","jd_gWcAcAMolDEC","jd_4920c3596e50e","菜菜002217","jhzsevilin","jd_417dd8c97b7f1","wdbumLdqoICSwR","jd_48c98b1ddd7d4","jd_55d7657ed7b3e","jd_gYLwNMfEwgVC","沙拉野人","zhouyi5065590","peiliok","jd_74ecb049e9d9a","u_481f1d53275c5","jd_4558b8157835b","wdvKYxbmPFpiCq","迟向","jishijun204","jd_GiSxELuQvWhI","jd_789e7cc395fe7","jd_63f78bfdae591","Z286885509","小小心愿99","kks0916002","jd_572858d4ebbf9","jd_664daa0772e0c","qq517961081","jd_57032dedde02c","348489526_m","4234724-993255","jd_6a2135542a3a2","zqrao","2508559858zxc","jd_oJNGHYLOFUXS","jd_4cee04f9c5313","jd_64be78730bbef","桥豆豆","jd_620aeccbca62d","jd_774c0d9dcccf1","浩枫宇","笨笨熊情系爱情海","jd_6123c6231dd98","jd_lkitbrEPlSNi","95317422-439177","moetype","jd_oeuMHJzpuDIk","jd_sIhVxGvKEfwU","jd_XjyxWwFxFPii","jd_pIhTNfOlyDky","wdPSGbkkcKHGHa","sunshine11111153279","jd_JTNQfcYqFZaU","jd_49f433b792d86","糊涂男的","jd_nRzNPRobZKGR","日行一恶","区栩彬","jd_6f063db4205de","李小鑫2012","jd_6a73cd1cafd08","jd_5e42c1c776711","JRSD_yzMet9020","jd_43300d07a0a9d","317185959-300375","1073947866ao","何坤禹","黑色的魅力","jd_6276837b5301c","kkkmkmkmk","18877382520_p","jd_64d164c83031c","jd_asWkeNQFgrut","15218631792_p","13864113185_p","360126313_388493937","15205921181_p","jd_40ab79417656c","wjl0313","jd_7f9c8d5379456","jd_73fcad9ddcd1f","jd_788ceae71c174","jd_4d849fe534d04","jd_72749410e79f1","jd_7dfddf6df78a7","jd_657aca7e49f3e","jd_5291d6d90c4d2","jd_hiwQUBPnbYjS","无草","孙泽虎","jd_4dd0796700388","jd_4950a58139288","jd_616d5b78e7c87","13826261116","15588746833_p","jd_56f434b02ad41","Hinsshuen","jd_7af46d97c1eb1","82503853","1143971919_m","13681610268_p","jd_45f7f83cb7871","s140265_m","jd_5661e4b2d24ad","conpeal","jd_aRofTLhCmxMS","seed00000000","jd_vawOwbptDTFO","zhz19951005","jd_RqPLeXHwZezm","jd_jLgmTWzqEalF","jd_dNezIyjAiDpT","wilson880714","a战虎","jd_67c8a520e0df7","jd_605098e6bb461","jd_53f7cc5d499f9","jd_77928c01525c4","jd_7798ec4d65191","jd_4483bdf83ae16","jd_tpYPKIFFJeDc","jd_APfdmORgRmkR","冰雪chuan","jd_4b52d08408bf3","jd_564147fb577d0","jd_4a3a2f49df541","xiangqian12","jd_559f9eaba76b3","wdElAnGUXjRleZ","神秘的矿工","jd_41a20e9d96d87","jd_469e72d8de8e7","andyyu82","jd_jVAVeNYKehas","win3gp","jd_497d089bb79f0","jd_697c48868b100","jd_777565e5a5a26","dyrin","zy986926","jd_mcMxjxptQVfD","jd_5ac3a43179731","13775208986_p","jd_5373ef15e2d0d","jd_qKzbxnzlGiun","曹经强","jd_7ee1b23db5325","jd_5a64abdd15e53","曹曦冄","jd_5a148127e3049","小巫婆-小巫婆","a1035822758","jd_7d9eaa73729ef","jd_5bec5fc7e973f","15082384882zxr","jd_4144d3e75d63b","jd_hUqbEBEcjLWC","jd_47d5a3f4da51f","jd_kYqTQLvjtCjP","jd_709289771fcd8","jd_446c6bf86250d","jd_4695b9c1ef70f","jd_XuSiJpviPvWf","3536301390","134012209-236092","jd_gHzOSDVYDiRU","jd_54486856e0a94","jd_4b9dafa70fb99","jd_6999694aea33e","jd_tsTUlHwsbZqD","Joe714","jd_GCCSKlOtfgar","jd_4aeedd0bd8f8a","jd_ZbdNnyodyPFu","jd_64149f91f9910","jd_mhWtHfjrMumF","山秦城","jd_VOyuWtFAWEUX","jd_4092cf1acd250","jd_5b47077ecfcea","xb33997","18767123966_p","jd_QEZexMOzqPPj","jd_5c4f609526eb6","jd_57fc914dacd8c","hljchmbb","jd_CwfKwvRPOmrD","zhang911224","byliyalei","jd_rANOVGFwGeDI","hyl378376170","18650856665_p","jd_6d282b10f2286","wdvhwExvGsrxLP","有时下雨","15914261205_p","jd_6956c03052c9b","jd_41906287ab801","15967419566_p","xwm19871108","jd_671496870efb2","jd_IZohSNPWmRpv","jd_kTfHTXORAEJG","wuhuida66","jd_XqarcEetqmhL","lxyjd2013","jd_65c33b0111a52","wdyZIosiEoFLJd","jd_75e35568aa8b7","jd_567c153b3b034","jd_4e93f86dab703","jd_791669f181f07","jd_7c003af5b6fdd","wdUtXhtPJuAKqt","jd_5f612185167f1","jd_77d2117041d20","jd_pxvuzqClUBjO","jd_536d19ecb4e56","13559030321_p","hhyy0219","wdYdxJZTyaaVQf","jd_tvbfpGpLHWtH","jd_614ebef0e2d8b","幺欺七","jd_48b63c9717e9f","seackykwok","jd_52e139baa8877","li107756","jd_6bd7f30c21eee","qiaojiasun","jd_51804e38cb31e","15771116955_p","jd_7dec3cf2111b1","jd_4f24e8f23b865","jd_681fa7ec3ebed","119055043-526887","18038043103_p","jd_4ce7aa2e4333f","jd_TCLqSwFxFSoS","15510660890","jd_NUoFAGcwVWQl","jd_43332033008d2","906478612_m","yy阿姨1314","jd_696d78b2d5457","jd_71c97998f73e9","jd_IVSqphEzMLzr","jd_YGgLkgbUITEy","dfliwei","jd_6fcaaeb3dffbd","jd_6453754b07b98","ywl790041621","wdNWrhOeeYmiLmv","jd_4c140bc2127c5","jd_5f6592baae3ca","200075911-760708","wdQxYVeasYaMAI","wdHNQijGkorkvJ","jd_5cd9f9e6fb730","jd_738547f1b5d1b","jd_bCTHoAguPIOq","jd_5b35862f989ec","le7654321","jd_DDShSvGZUPkB","jd_6e15fef9af773","jd_smiXeFUdGlFX","33805493-44583723","15337125159_p","jd_7aee2073f1388","jd_696164239d70e","jd_agbnh5oo28","jd_MvMTWsioDyEG","18007909755_p","jd_60adcedc0b503","jd_446a8a7bc0055","jd_6519cc6032130","1174388-19199898","jd_5f9bd8e786798","jd_4d2689435a95f","jd_ypvzvWrttldQ","jd_4815451052780","jd_556148282942b","半颗Q糖","shaofet","jd_725847b3b9fad","jd_psXfIStTkctB","jd_4c9c6bc09cf04","18025966728_pei","jd_SmQLunWEYSCe","jd_5f6ff8f4db559","jiahuan0207","uyaboy","15093219213_p","jd_xRMEZYYXrssn","jd_SjOdCXzmUVeE","jd_510a40b46533a","wdDtwuGZnXmsaX","jd_4496549f2315e","jd_50afb2b91b1a8","king008gui","jd_zWHXkApQZRoN","jd_65d89eb22b8fc","jd_6d5f3c3cf8d8f","jd_65fd7b7506ae1","jd_lWYnWjRVaLwI","jd_72d6301a263a3","jd_60e71cb15907b","jd_EgHhuQuYZGDd","裴金池","yangjing371","xiaozhenyinhu","jd_60bc63dd03cb5","枉久0603","jd_4e064d5355dc7","jd_73d0fa3d90a76","jd_4ecf410682db1","jd_71e1db85e056e","jd_7a9f7830dc5c6","苏世r","jd_5f53813f78a29","jd_7f9cf39c66f73","小欧挺","jd_4de6769a53f5a","pennypangmin","xykshun","chenyunfeng10001","jd_voctWUIFFuZF","jd_64bdd8a610706","jd_YZFBmegBwvmC","jd_sgcaJtDiztXx","何东亮2000","jd_705d7e474734f","紫星悠悠","jd_hxASQqagHncc","jd_523401152baa5","zhenaizq2014","jd_7c1aa8f32f2e6","jd_57a4c8897b29a","free四儿","jd_YCkNQAgOzgpN","jd_68be6dba96fb7","jd_5b6f73d18c998","kokerorz","lndh4980","2974317658","herryfish","yasong658546","jd_VMSLiCyeRjWF","jd_5b57a53a2c6c8","wzg1994_m","jd_6e737c5be444e","九月菊香花开","jd_493739a51ca80","15932870545_pqy","jd_7416ac23aa01c","lk5280","jd_616d3381252e5","余生一个浪z","jd_790305ac369c8","新納侃","jd_5ea5c4435b793","jd_43c8cce3ea6f2","jd_4b75d2e9b7587","jd_52d23a218be1b","jd_60d776fe9c319","jd_50b59cf9e06d4","jd_IpfNMVmjNWzO","jd_7261b287ffa19","wdjkotWjUacfTz","inter681018","Twsam888","15281460602_p","neu_wht","jd_PRKDlXHgRsRJ","jd_7863b8db4b86e","tangying2000","jd_7516b058d71e1","jd_52e026451b8ff","jd_zEnVgcRckjmi","jd_79c47fdde7eb3","zgp311","jd_5568afc817d8c","liushzhql","jd_6f5286aa86b49","jd_jezQIAFUjbDt","18651598789_p","476729366_m","myx_999","jd_upHeMPjJgtnS","51710300-582124","wang1144001026","新锐工作室","wdrHxCLpVWiJef","wdTABFnBthebGs","jjocry","jd_6157e03a2f41b","笑呵呵814","jd_4487bfc9c72c8","lzm15516434155","jd_GQoRZwgzkqgn","13633909650_p","jd_WAWfpHfpERXt","jd_66baa1d6a7a63","jd_5519bb057b5c3","jd_58a3381fccd52","jd_fAbKfMmqIayA","相濡以沫却厌倦到老","jd_4afcd2bec7bb6","jd_7ed184354b34f","jd_mLVhVpuXVmQm","pys8302","jd_cXtYxrvulPeq","jd_5f9210228e7e9","jd_scwKFeGUotna","91778846-811626","jd_7cc676149df08","jd_797893f03b14b","jd_6743ce36a6670","62277035-548350","jd_79c51cd247c79","jd_NuEJcMKGrOLt","jd_42c9ca67266a2","jd_5551d2a3b16b5","蒋鑫海","jd_JGORChYYaOMh","jd_51ce6116a40ee","jd_68ec15c037b86","jd_42554483936a4","jd_526a25ac099a4","wdWAZxQQLUpqZg","jd_UJqnEkqvuoAS","jd_4cd984efef61e","陶紫0707","jd_oxGBoHWHEvkl","kevin2004","jd_412cb2c9ebd60","jd_6fcb65d5f2239","13721046086_p","jd_7fa50c4a6b26f","jd_53edc82840fba","jd_SmzKTsYoQNSv","jd_738450f01abeb","jd_44891c09a8b4f","jd_6a2b40cff9c86","jd_47f52239fd120","jd_77c21bff1eb4c","jd_447f989dc8f86","jd_43947383eca53","401195009-153001","jd_43c8cd10534fc","jd_50b2c358f50ce","药5277","sunya0726","pzwllllll","a13678","jd_6f16f8f7403b5","lili67683088","jd_5f5f9e28c87ac","jd_7d649dd5c8545","jd_RjKUWXDfeJNg","jd_50cc87ef6e0cc","jd_49bedf0ef457d","xuanzichai","freelong44","allistz","jd_6c233c9243d8c","jd_625ed38a9badb","莫家一靓仔","jd_73a3d92a547d1","jd_ysfmEAcFyrfO","jd_4100ea6c61625","青稚8601","草莓0769","hsy_0815","jd_6b63dbeb1bad6","1035337594_m","jd_srYZMXvfOwDx","jd_60c7a15c77300","fprmyssn","jd_4c5232754e4e2","wdPQXtkpkzxdLR","jd_7650804f067ef","jd_6e01c903bc92c","jd_61b89af0e7306","jd_OpLNUSypNKZe","jd_64a8c970518e4","jd_gZfDBViWLJfK","jd_zJBHJnlTKbRy","qvanlin","未闻花名1996","jd_656f4f6690e50","jd_6ded9923743ba","jd_6df2fdef0a390","jd_yQmZNOjwcTgp","13206264-759323","rehanlove","jd_7c17c28941521","jd_ipZXFlhioYRA","jd_5cd555d29a5ca","wdNIuuzMtzjLLuy","加沸沸沸","124310002_m","jd_674f3bb9eef37","风子的一号账号","18861824291_p","xingjiechun","jd_78f6a534cd9df","KisQ1994","jd_sVYemJPLgKGZ","jd_69a019f9844c4","18600981275_p","2918923827_m","longzlll","zoujun84","xufan19940409","heweitang","jd_xwjdWavwukKb","夕落之夜","jd_67d072134d6e5","jd_45a3a96f0dce8","Axis_II","飘舞凌乱","jd_673481c35866b","380892644-631564","loshyu","jd_683a650c69f82","jd_612383788d0eb","jd_5940173bfe0fb","jd_51af5cb838098","wdToHCFGijLvBS","jd_FQOrZLrHvdsB","jd_5187cda8bd705","jd_JRUwqBoEWzYo","jd_73336dd4d3fad","oyos","jd_64bda9681f0cd","jd_5f86fdc5f1f0f","jd_630c02854ee02","jd_6a328322ebb72","jd_6a0ea8f4951dc","ljhspeed","jd_sSnZndapYLfg","lovesr192168","jd_65cc37818e61c","jd_61e022c7c4c9f","jd_kobVbCpeimAC","jd121698_33","donggua0522","HYTKXP","18378812474_p","jd_70c8e5d92134a","promayi","jd_rjCKZSPTIBtq","jd_7c8fbe11c8a79","jd_4224e3e7d78b0","jd_USGmdjhzyOct","wdMYrYWBgwQlHn","jd_428a5b35e6b9f","abc1684488","houandy","jd_7ad7ffa30e5b5","jd_67ac1833a1f5f","jd_734d556bd4607","jingyi_yaoyao","jd_46996bfd0d425","jd_559835ab07d74","jd_56304aa759882","jd_6dd9fcd220052","jd_727957d065274","jd_445911fa3a11a","笑傲人生z","2665255-377317","ctr54188","jd_66c4e0f16ac73","jd_440d4b559831c","淡淡甜甜","jd_438c194d21104","jd_46d498f5c2cf9","咯咯个人","jd_MIieCoGhuFuU","jd_435f781b28d48","jd_67679ef355863","余留香","jojo123846","wdCXGtIFSwflfS","你叫我做大佬","jd_5557a0424d924","jd_512fac31f3ba4","jd_WTOfCSqIHSpU","jiangtaig","vip_sunwei","jd_50c6776e29c36","jd_5693fd40e0a55","jd_CtqOVvfkzuZV","jd_650e2e5a68483","jd_5317b321f223a","jd_73bc388e99917","mm991016","jd_TKKHqgLlwPvr","kangshangfeng","jd_NIzHXDxbVnqs","jd_4c17a0664ad0e","jd_41f7d849aa21a","jd_7aaa04cc27ccb","jd_7405c0983d3c1","jd_ccbKeNsUfwjG","jd_xYWsFYIwPPfM","jd_GTOajOkTiQHG","jd_50fc2127adb84","jd_bWUIRQwfhdrS","h4l0531","jd_64a30f7661da2","刘毓41981","jd_DsTiltBmwPIo","jd_OVEYorYIeoAW","yaojing2020521","jd_71b47b13c3de5","jd_5c12e748b742e","jd_XHymwPaGTkMw","jd_4955f6b8c062d","1046368768-310607","15651128232_p","jd_48bfccf6b67ed","wdNfPpRLdkMoErC","冰枫王座","90376348-374330","jd_528a08389d259","jd_65f6880c7f880","jd_7772f8539308a","jd_4d28a8b509402","jd_585f9a7d08c5b","13477473547","jd_624becaa64f26","chrisjanice","jd_6c6619effb539","gigi911119","xw949195555","jd_4d90afa56ba46","9540664-55330027","jd_gRIbMNmiwoGv","沉默delw","jd_VrYSQkANnivf","fanchenglu","jd_5e4c8e0d1175f","brucetian123","pandraol","jd_5f6e20f447e93","jy02920793","75507302-517537","ql123183643","francesdolphin","jd_xRygtBnWTfjH","34988223-62561053","wdk100","jd_59fd82d63d90c","jd_7a7ab0b30cab3","懒洋洋de猪","jd_BfnMRvEFbMal","360703912_m","小刘太郎","xu15172347664","jd_rTrUnZbpNkwE","jd_41cb8fcafc166","jd_tXhOjlBQiqEC","jd_787eaf97f32d8","TXF小枫","jd_42b1d73cfc1a0","jd_leXAsaMUYKhM","jd_4c754ee98e883","jd_499b95db83ac4","jd_oyXhVvFBfCmu","宸诗黄","jd_6dc4d42aaea49","我只是刚子","jd_7388cec4da198","jd_TmBwsWGzAfKZ","亘玉之心","jd_nPzXmuocqQJA","jd_7fc8788f52b1e","wdNkdAiFyyltdye","jd_4e72c1a2bef25","jd_UkasuphhZoki","jd_7e53af9004afd","jd_75b4b325c20ef","jd_54773e42cb162","小黑马1119","jd_4e20927047770","jd_7b9256d56a6a6","jd_GDkrkjkuqkVx","xiaoyao9184","jd_OHteNCQhDYxK","jd_6b2a07fc9694c","simply_880102","jd_497087883198c","jd_465001b2d2043","关安","二狗当道","lx97","jd_6d03fa6375afc","jd_65b9f7d1a558c","jd_4f9d2c5a5f2bc","jd_71f9d571b65d6","jd_YaUqzUMRohUP","老兰不老","jd_627e6b36d4ce6","phoenix_ghk","jd_62d4778dab64b","288223058-142269","13825689550_p","jd_4eb604a5e7e5d","jd_5ba1fd5cf1c44","jd_7c779302a67ef","wdNOOtQnmkBInMs","jd_481ae323ef382","jd_780577cace15d","jd_75e3cacbb5268","jd_753c4e81d34bd","jd_4a77e11b8647c","13226541584_p","jd_4b1e45c8ba6f5","jd_6b1bd4e4b478c","jd_5384a0e84a851","jd_428692619babd","命运交响曲99","jd_485ed85f1e6e7","jd_nOCPLWFAJnki","jd_485a7f21684d4","jd_462e7bacb5b62","jd_ekQakfESkzGg","jd_6d6577cafe4b3","jd_BHNtNUPXNEcO","jd_6f29939069935","jd_xpzqSpeTLGCg","jd_526c19a19ee1e","yuyu0012846","jd_UiEDlpXxFtTY","jd_mhhHivvRDWSd","jd_7ed175ad928ac","elizaqiao","jd_jpQXiDxzUEEp","jd_7d660a92879ed","jd_43151c04acb86","yueyangbt","jd_738653cae37d4","cynthiaoyi","jd_FcEXnPMdukLF","jd_511d59b0caccd","珊珊131313","jd_68659ee0196c8","wdEbccHnhjvzsT","jd_ZyVoTVbDnhXw","寒雪雁飞","jd_LLCHwoCBNcnB","荆棘里的花0428","jd_5e4f7d4a3bbf3","jd_4fd723b24f57c","Next-Night","158154278-382731","jd_AnJpMTsUkZfj","jd_4bb4436b2a785","qq651218360","反恐分子","jd_49f8064767065","jd_QJLkBbRNYntR","jd_738bb2f15ccaf","zzllsy1","jd_530a5325c393b","齐小少","sumandeng","jd_51c892e17c6f0","13682741552_p","hanshibindejd","jd_42c65691b046e","jd_62a1617a2d075","18640144523_p","jd_DYPuixFBoXCq","wuzhiyi51","1824115755_m","jd_4036892497294","jd_607b4d3a03273","起个名都费劲丶","jd_bzWJEuFrRsOQ","954904617_m","jd_DlKiYEynKvka","jd_4cf76461827f7","sj15820201282","jd_LftGmVTjszxE","13760139790_p","jd_pXyqzVXsvbok","jd_rAURkbjHltLQ","peter5933","jd_pMaCJmuMYkcE","jd_PzSpizMPpjgI","jd_5aa5b5573afb7","jd_5269b4469310d","jd_KLPJyLdjDJdp","jd_6485b15df5304","wojiaoxionghui","wdFBeIFSdeIVfT","jd_61734b28034cd","jd_58fe74581fcf4","jd_45ff6be0565ff","jd_dPCfcPuChUTM","jd_5e8cc5f8e3119","fengci","jd_7f6cfe9715e35","andybobo8","wdNRuFGdUrRfydI","jd_7a7873c1582a2","wdzXVWBZFnjfcn","jd_721c5ab8b1d09","jd_5a0e4aac636d5","jd_6a3d2882d3f15","jd_4e2c3cb849e3e","jmania","jd_7f8146a09f49b","jd_6bf4b07e97ce8","275172737-186597","jd_58bfe9b65866a","jd_470b3d11a4b79","jd_WsslZYmoTXfd","5255281-29197375","66果子","jd_6b4c83ce09e88","hangaj","13928192200he","jd_511db54936271","jd_4893302102e94","jd_739b4d0fceb68","jd_LoNnRflHPBAK","jd_793b01bf3fd0d","jd_YOWeAxsJJIqS","excreman","emtinyat","jd_bNJgiFvuYHco","jd_4064222689800","jd_4f69b28595650","jd_cvdiZSPGmOLs","jd_5e058fc83d2a5","jd_49ea50872b2b9","13305540706_p","观性","jd_760d663e43d82","jd_4ca3276395f06","h245803585","jd_eDGwJpjKztmk","wdNvBrQMGLzhWVq","wzy1361626_m","jd_YeSRDjvBqPaV","9425656-200371","jd_CyxSmPLmvoTA","jd_5de347bee6227","jd_uIQyLRHvEOwH","jd_iBrGbaNIywZs","jd_6ddb409109470","jd_DaTOubsALkMK","jd_BFCQGnOFJizs","jd_4bdd2b397708d","jd_69f878830be1e","4225728-46130544","jd_voGKFIOIdiAG","jd_cpWpSoPyGfbJ","jd_482d38ce0e8eb","壹啵","jd_7e59b64bc6231","jd_wzijJtwaySMb","jd_5d50e2180f741","jd_7f3b2bf401487","jd_6d85cb969fee0","jd_rSHMLePgLJLn","jd_78d9ad385b9cd","jd_4797f9107d34b","qq460541750","夜破长风","300212641-981218","17020615-28351541","jd_7b364be4ca579","102702352-101388","xinqing1203","jd_692abcc790e9a","lingkai995","zhugui001","jd_745167f752978","栋栋账号001","1877001-67209889","jd_7ab1df3c1627f","jd_42251f6922382","890913201-379578","hzqzzwt","u_4a0fca5f3ae91","winghongxing","jd_4324b50577191","jd_7335e1adec19a","jd_478292c329ac9","zmdad","hwwtz1948","238226880-616527","皓水莫负卿","ximie00","jd_799218a67275b","jd_HnuQezLnFtEw","jd_HOpbMcMmokAL","jd_yrdktJcHiDuU","jd_uGeHLtDxzAvS","jd_rRhSzmYiizov","jd_kaIIAXiqhgHK","jd_LNyOnaMXCxQf","lovegjk","a9738796","jd_mkqFTDuPSgqn","jd_56970d844fadf","tangguolzh","jd_743c2a5d9101b","belthil17","jd_ctxpwZSIaMmN","jd_SlhyntQtdiTM","Tomi0571","panda750776089","jd_LBljRKaSJSDE","jd_4b605ae50de59","jd_ndMjxeKdXENr","liquncom","jd_FWKlSRllGaYn","jd_45f3ea0aefe3e","jd_695093083bf4f","jd_5d4efa39558e4","jd_79d7dc934c6c9","jd_53d9901c87290","jd_BIUenuoLmTaT","s1660595785649450","jd_4b589a5c44cff","幻夜执行官","jd_66f6cd693bf01","jd_PWsLSlqSOvBR","jd_4820c9bc83071","jd_7aab8fb3d463f","jd_76be5c0cf6c36","军军-购物","jd_681fe1d19e265","jd_7614ff82aed4b","jd_43b38e6dfed57","如颖随行0330","darkadam","jd_673a08be1eef7","jd_ohGaXdkplRlc","TK凌乱","muziriwei","488629327-701315","jd_tFfhyYwFHuYD","jd_543ce62f37491","yincheng33","jd_5fc2e2f1f29a4","jd_TFBoJVOuhhzp","jd_63bd91f1f0e03","jd_498105a663e5c","18608749235_p","jd_62d77a988895f","jd_cEJpZEqFgiIs","jd_FmSJVzlBxIAj","贪恋那眼眸","jd_6a543435cf52d","jd_VqJuLxDztOlP","jd_CCcDCZaHjdBH","jd_NyobBUUJxFbE","jd_6947bac706269","18665206371_p","ravanelli","jd_71eae6d7d699d","jd_4210e218e2e09","like18382799753","jd_FSEbMcaFqJcL","18829341028_p","jd_48820fb3205e5","jd_5b77301cec27f","hh_92","jd381","jd_71c9bf58732c7","jd_eBWWEyUjchJd","jd_HChSisBxDvCV","jd_QyLGqDHmFWSz","jd_7094811c6ac9d","rvgty6325233","jd_HoDYFSUgeehi","13822283891_p","阿Bread","pingtouzi","jd_5c4576a326478","18302413149_p","哪哪哪哪哪吒","jd_7032c40b3df56","jd_42854fae3df2f","jd_5ecbc68a0c976","rdesimore","jd_68eac3740cd38","光明之歌","1120294734abc","jd_6cff62efb4729","jd_7bd6ab5539330","wdpBEkrNmYZUoz","jd_535cb1f0e0532","jd_73deeb4d98564","wdNRRGPBonfUkcz","jd_CDdQsaxaZxTq","jd_730b8e2641d06","jd_53b34a2e4cdec","jd_7c8a843a1661f","jd_631f022b1e115","moshiyeap","jd_dFvdeeFOrJSz","jd_iURZwWlxlCru","jd_5e59e70fa8cb5","weeper","晴空落叶","910454481_147338515","rxf013","392281711_m","108504216-128513","严江偉","没有团几在修真","wfyyhx","pjy612","jd_73b64c262100c","jd_4a91e86bad8fe","jd_419b9cc73de02","qiangqm","yangjiekkkk","jd_4211550c4c34d","jd_7ee9391d75d22","jd_7ce6430143b81","jd_42b76b0e95e8b","jd_54bfcf1906f03","jd_7eb9ce8f8422a","jd_4edc6b6123447","jd_onipkdJWCjQG","买手机4","jd_zWAZxYUmLQhW","jd_CEDlwdqJhVFg","jd_jobitLQZacjA","allensunshine","jd_587e36df64306","jd_63874199bbd4b","87600227-984674","jd_7f9110cb50ec6","JRSD_BdJJs0799","jd_67bb583f01966","jd_4f94524c65e57","yong86900409","jd_58967558131fb","dawn_sp_m","xuweibao","jd_SkPtNgFhzWvp","jd_4a8fd0d908186","15572320712_p","jd_4b1d0b15e2003","jd_uPqPTpUbaXXL","27240220-80327838","1355545-32668799","jd_ApYDYBOdJMgE","jd_fmSuxNrnwpaw","953535649","2008lxu","寂寞无眠","l3196680","jd_54707adb8bdc3","wdendcwcqXKDiu","jd_6141669bd58f7","jd_5a1f22c99a59b","zyfdtc","jd_61bfde8cc3f78","jd_5d5c2e45dd1a1","13922715449_p","jd_eSQoxSiRFWFf","BusinessAnalyst","90295609-149703","jd_773f1eb406e5c","jd_63b970b4bfa3c","61399021-733503","jd_ZtncSEdxEZEt","jd_fjicwcoElASJ","jd_48a0b5113b51e","山人海龟","jd_542a721fa0370","jd_7d2e980e3ca08","jd_45dbb09315d7f","周先生340","jd_fwLnoRLzjzIP","jd_5421a538c8087","qioqio","jd_41889de1ae86f","路灯丶","jd_4c46f91f1daf7","jd_7393b94d77569","jd_48b138fecccae","jd_chDKirKewwve","jd_53aa1244b9d8c","jd_5ba31a1bcc1c6","C235689","jd_BqImDsovtdZc","409048747_m","可爱的小毛毛虫","zhanglianbo35","veped","jd_AmSUEsEJEvvE","jd_66a4b9e4ed6fa","liushuijie","jd_zPrshYszlSHw","我有病12345678","chenggangb","橙橙丶橙子","jd_621e7edaefe30","jd_aAskSZkSdVMH","超金皮卡","13667737445","jd_7e3ac45f51b8b","s1737137580283980","hstgames","15185017451_p","jd_52a2e1be918fc","jd_614db29bf46d2","zxhqq3008","jd_68e290b52493f","1016849981_m","jd_6260d3e88b416","ANTONWU","Jaroen","15929163838_p","kiss0503","jd_IELlnzPMIiSu","jd_6bcaf6c03ab48","jd_78d99ba264157","jd_KqftCCeBpGXx","jd_7f9615653b176","jd_6ebb740ee9235","jd_fyintFLrPXuc","jd_7a227733576c1","jd_4c7bfe4f676ef","9953919-41881847","jd_661dc71395dc1","jd_60399dac1694c","jd_553fae381be36","jd_6c10d2f3e1b16","jd_6b7db99e25549","jd_75ba61aab7985","garwin87","jd_5c798e2a016f2","jd_NPzgOSgGvipj","木木小姐319","jd_4806bc8a3d15c","kitbin","jd_HMFkFTNLEOaL","18244501159_p","jd_79194f0ea5e0d","qianaokun","前面的man","jd_747f58d6b4d04","18889847159_p","jyjxqy","jd_7c04b9d9d2cf1","jd_6830720d71c06","jd_65175ccec7f49","jd_7da5db441aa50","jd_6c62363f4e0c5","tzyjf","jd_5dbe0f4d7c915","jd_48dcf8b1b3704","2076087516-766230","comehown","zxka0527","jd_74d235404350f","jd_725b333508adb","jd_5c7e5c2223aa3","wudijushi","jd_4a2f0e17f29c3","jd_76051ce46d5d1","jd_6acb0732998f5","jd_54b92959d3846","jd_4fe5f487e9e0b","jd_6cda530e3f3d1","a50951773","jd_58c77f9be51bd","turn-left956","晏旺520","jd_5ed6594933c63","wtm370","jd_jZJOMysLVQZt","shiyiii","暖暖901","wdVafHTPJGqajS","jd_EJXXkWfEaFPy","jd_tyRKAEIQwsjt","jd_NSCsDchuVpJg","13292785985_p","1669970096_m","静修小米子","Raozop","jd_69f8fb6dcfcf9","lylasi_m","jd_4d50365c07f4a","jd_62ee570824a94","jd_4d4faf0a04d89","jd_40e3724f64b32","dff1101","jd_587beeec45290","jd_nxLiGAlihKys","jd_47c8fc43215db","jd_ouJAayPfsDLH","c6709","jd_7015f902e698f","jd_HKbySLVvjdUJ","jd_duVMsHULMqaD","jd_4033ab1f321c9","jd_608a218ac2f00","jd_61b80383f2cd2","liqihu1","jd_75f2ed3f980ae","jd_6e87d23ed70d2","jd_nVYQvSwUqEXT","initios","jd_xrVAerVcdqOT","asdertypo","jd_42b804657868b","jd_55d39e4bd8580","vinceguo31","jd_5433e9f9cbe31","freezyyzhu","wangergoua","jd_510a355aaaf7b","jd_ekYNeenGApVk","jingdong-BT","qiubing635","南风天的鱼","qq7171","jd_ocKfaemPDWDV","jd_76aad6ff49a5c","jd_584c9bfdfa9b7","jd_5dec8855f79ad","applerosa","jd_yPvQeTEZLOIX","jd_TJabrEvMMtZX","jd_kMPubvsdOgHo","jd_ZopbfYOzEgiO","jd_GWPqWnLHNeHg","wdsffMNFSzUlws","zfcmail","jd_JyhxyfJzQxAe","li852081224","745820115_m","coldmay","jd_7ec1f0e6bb8b8","jd_4239054ebc8c7","jd_4ceaa2f0b777a","jd_rNByBjYCobmc","Po1ri5","小竹096","jd_MVlNMjRuSOxU","jd_5fce8b76fdeaa","jd_MzsnjIkNWZTC","jd_HrIgcnwEpmmf","jd_6bfde5c195046","jd_6ad60637a18c1","甘乾铃","icycoffee","jd_6b3b2678df66a","jd_48512d57114a9","5290318-52478942","jd_65b1f8aee5a11","jd_598ad348b7d5e","almeydawang","537微山县卜方超","jd_ycPpqLFOgTUU","jd_7d78152adc095","jd_56c811dff8ab3","jd_544a462efb3f7","jd_6c5feb99d2cd9","jd_zkaAhFlUtXIR","jd_FmjoBjLdCjpN","jd_5125f9969b244","jd_cHcMwdBRfkVl","小小艺67","jd_4f767404deb2e","jd_497802f414a2b","jd_4bdd5990bb9af","jd_ecdvCsfxbJxU","jd_uyjOtnpwlWXQ","jd_51bf4b5aa237b","sy370","浅浅佑11","kqwkn","jd_6e0af8f13477a","jd_XDphNcbUejIi","qun_life","ruoxiaofeng99","jd_42f57184c89c7","18712822593_p","jd_474c3dc34cc0b","jd_6a6ab7ec5bcfc","jd_44bf59cea1dc1","jd_66f4e472e3937","281928479_m","众爱妃平身3516969","1292822972_m","jd_iPNtmYXNXMUZ","wdNFhEVZXaUXiR","ctc2008043_m","jd_6283d34394b09","静默之川","1468992175_m","陈玄心","jd_WYgrvOqBFHEw","wdFYhRTwFpXQrp","wrarth","jd_56ddf01ee1a93","jd_OTsJNlhvsMnZ","jd_7a0f96874beba","jd_55c3b680b7313","jd_5a74c32edcaac","jd_542bba541fde7","wdEBTAMYywTCLU","jd_6c1dfe2e7d347","jd_485d1d4f400e1","jd_4c827a4df32a2","----991007583","jd_nZrXfQZzZytD","15385986593_p","jd_iarrVXLxamPI","jd_69fb5bd44c2fe","jd_6c550477d68b6","jd_6fb63d0a4f599","wushiyuvip","jd_ANwDsRtUuBEW","jd_QDDxNhVdcfKR","jd_vJREegchscTl","jd_5de27ad38581b","jd_4105d3e0a1802","jd_6f6effd37dfb9","jd_DuRTCvfnFetk","jd_PoHxMLmMlwIS","zenghong01","jd_4bb5cfef322fe","Crueyl","jd_YIywbqHzsQbM","wdxNSKmBbsjAMR","jd_ZBNlwIZlNJih","13753794269_p","xnzzj","jd_CrIErtOlNCDY","zhuyou88","jd_hxQIYMSmwYlz","jd_4927581c3a3a1","13794115165_p","2625680-57329737","jd_6c251efa2c7e2","jd_524bc84625072","jd_6f48f5cc97bfb","jd_hhaKyuooVFqM","jd_nTVwFecDiuiw","bayuexiong","jd_ypWbEJIJnlmr","jd_CLqFfOaPbWcU","18315330118_p","jd_7248eb9dd6104","jd_795265a38f1a7","jd_4d339cbc1ccef","wenhao99.h_m","nealbity","紫皇夜雨","jd_7242a74e6b76d","jd_4a516b74dbc49","jd_FAhVrqAdFcEV","jd_TzgSyXZkrLKb","梁JD960616","燕晓来","jd_5470c5185b726","jd_742ff7e2f1490","13144043-204560","916099332","小捣蛋的守护神","jd_420452a204d38","78568442-528317","jd_4ff155e9da449","suizhen_liang","jd_4b079d79ecd01","jd_78b7bec9732df","jd_62be88b662aec","jd_6693920abfebb","jd_4d43e22f1d4b4","13419035579_p","jd_759f2fa0508fc","jd_72c6c8ece7849","jd_6887f7af61182","jd_51031685f0d29","zhangghost_m","18674833559_p","jd_7d1ca3e11d777","zhumuyao742","wdwiqzGQQDpQzT","jd_74683c933a83a","jd_6e6147347b3be","binger宾","kweangg","skynewu","huangzr0326","jd_aJtAhPJPZycs","zhangchuangtao","jd_INHXbVLlZdJt","jd_7882678882bd5","wdJFoJZITqjXsj","jd_xFHLhJHilfEC","jd_7b16fda67b6cd","931226127_m","lsybblll","jd_NyWYlcsxlHkA","张吉健","jd_POfLNZIZghTL","jd_7a9ee46bfa48e","wdNGXppHOvVwNPe","jd_4413cf9c8ef8c","1010346-666723","默媛07","jd_6357d126679bc","jd_wzPIiWbiXcvh","jd_zvxeYFQMnpon","jd_760018f5e311a","jizeguo","15201999290_p","18762351912_p","jd_7ee3d6c25d0dd","chinawsh","潘多拉小狐仙","jd_6c50801e626b5","jd_682adb395c4f1","jd_6e14bfca08e7d","jd_5d913bd724942","liuyifei520","61682599-730168","yubin19840925","jd_6e444edb1ed66","jd_71337998f0199","wdRFWhnmZbpQnx","ycfnzz","jd_oVuxgzaHePrI","jd_597f9954de00b","矮丑挫","jd_DbzAnlEZGjNP","aaa2112","李描描","jd_7a42965d2be1b","jd_653d7cb89efe9","wdBdbyDVcerWDT","jd_452ed066fe5dc","jd_57fee0c0aa76d","786502939_m","jd_74e9382460e60","jd_432ef57bfbb93","岑雯涵","jd_62e3b45e68044","jd_4ead8efb34763","jd_76707ad26bc7e","jd_71bd1d16ee4cc","jd_54a1a9a2c0935","jd_MXRLyIBpyDWz","jd_AVIibTQPTtNn","jd_5a75e77fa0ba0","jd_7168a8166c8d1","18502981508_p","jd_6b91bad594db3","jd_qmCHnGkKefga","jd_5b0928f1333b4","61893084-677321","jd_4e3fb009b2e4c","qq845618","jd_kiRcmSqGXcfZ","jd_5d5ea4187060a","jd_EYOCnDyjPGkt","prion1911","jd_73764ab2bc49d","jd_71523e934b3ef","jd_6db1c3f517b1e","jd_5ca291b7aaa0d","hyperion911","xlys999","goldenswal_m","jd_79f86cb8217a8","jd_GqOIIBreXNmA","jd_5a9d235cbb4b5","jd_60ba295de2679","jd_7194cc1e76b0a","jd_LInosmaWwJJk","x小姐姐的微笑丶","小女在等你","jd_6654adc47d07e","jd_qHvYwZOilzGq","jd_77e37d7755149","jd_7ca8c039e909f","jd_dQxMUPJURmNZ","微微7057","Faultiness","cmj781","jd_XoVrSJErFrlU","jd_54ad6b2f74024","1809247-61230840","jd_5498f8149c1ff","jd_7c8d65babde78","ryanpt","jd_6a762a30769a3","jd_fnuOrgCqOYFU","jd_52cc63bcb308f","jd_KlsiUetyArjQ","jd_55ba6c74d3abc","jd_oKbVBbruoFrx","lio8639","bowenxubo","jd_7efa5a5c9d0c5","jd_vkYUiHldYaTV","jd_5a811ef9bf862","youxiuwen","jd_7e6aae1b55fd6","jd_65e49c22befe7","howmuchisit1","jd_65b9f38047b77","jd_dpinycpVrAor","jd_6c88e74d4e156","jd_7a8535cf3f116","jd_47239ed4af40d","jd_7382c80707994","chengziken_m","jd_66609267c1423","wdMBXSEfoloFeZ","jd_4255b269d4809","jd_56e3232efcbb9","汽水泡茶","jd_72bbfd902c315","jd_5e4e2eec3b019","jd_5912d6db0d13f","颜含笑","hhy2044803-2","wsleanne","jd_50517b669806f","binglun752_m","wfmcool","jd_44539778b4bb6","jd_484a46fe5988d","jd_6ef337c609bae","jd_5c766ba58424d","gzcrayon","jd_78e1f50161667","jd_6319b992d7fe3","jd_68f463163a9fd","Cedaryoung","jd_47b0a807f5671","hx2595928","jd_7724452cceaea","jd_7ff628032a352","jd_6076b1f8f9ec3","Margaret陌陌","jd_57ce31683788e","srlyqh","jd_6762f2d420a6d","JIAOJIAOJIAOYU","a15938569711","jd_63850385aa1d3","jd_IWiODreNLVVM","jd_4f45a9fa116af","18316859930_p","jd_737475db8dcd0","jd_sQkEdSyLVaCp","jd_EuYEzmIsSNTa","jd_AchLtjcaHjGv","double533","jd_59270cf3ef7f2","jd_650a9a8641d6f","wdaGdFTCgLCsKx","jd_6504b8e9e6ff6","jd_xAghNrTeXnrg","srxbsw","jd_48f0c6b443155","jd_5579ea16adec3","Best_Girl","jd_ohhLUylWEYaS","jd_xwLjDWIfESJJ","jd_689df7f46b4e8","jd_7cc5200951896","jd_7de71d8710283","jd_61de4f6ad8bfc","jd_4a10fec747081","jd_7731f79c27210","jd_QTZeyFyJmcGa","jd_bIJrrfTfsTJl","jd_UVoEyYseTxxs","jd_7ba2ca9379e60","jd_417d22704ffe2","wengyirou88","想念那一抹妖娆樱花","jd_ILXLEXlJBZux","jd_CGebmtykTIZt","473799158-95476664","jd_56eaf85465f17","jd_7874cff42e846","jd_551dad3660ada","hyb9512","Ly_Aom","jd_41a06b351d78a","jd_4f50a445f82ad","jd_6becbf3e7a401","jd_48b63dcf74484","jd_447e853e168e3","chandre","7893818-79082746","jiang123574","jd_79bdd01d99037","jd_46ec5e60ea76d","xmlcms","18176816591_p","feverxg","jd_51c0bde483009","jd_4adc9343f4868","40557286-97194355","jd_58648f0813328","13726226539_p","jd_75565acc6e468","jd_4a1c3e9d8ef78","jd_5b2164360c841","jd_5f685fac09d78","boss44944","443087886-72526511","77572y","jd_4c1fe6b301f47","56055518-80128571","jd_DoTfdhjvNLmO","XmqDUjzw2i","jd_AfyyULRTIxvj","jd_7e1793c186eb4","zhx0401","junwen001","jd_52e4dc49ed5d2","jd_70e17ab96f0f4","15659388549_p","jd_685f57f041aa4","jd_6d5753456c628","116938232-936140","郑镇焜","jd_40d99a488e19b","jd_4474641607522","524385179_m","jd_40132aa5e20f6","jd_7628da0b6766a","yujing2332","jd_680f4aa03a287","95166763-147430","jd_41436608b81bc","jd_4e08264909aba","wujun2081","wdmRBDplheEnpy","jd_68900e330c808","jd_6bd17f3918d3d","wdJBEmddlCQTFh","jiaangel9","775943323_m","jd_TaMcODJROaNJ","78085688_m","jd_6351c3b726758","jd_486eff03601b4","jd_75e5e2a4f7e13","13250502285_p","jd_xCDHzyZqlQxz","jd_PwaIFQyKOXGD","ricardowoo","landlone","jd_6a5ea9835d7c7","jd_7516235fb1b5a","jd_wLihAOrBzjXG","kenw800c","jd_725c8886d26d2","jd_75711c2b47e4c","jiujiujie-1","jd_590fcb96189ba","岁月不如歌","jd_533d4a7136d21","jd_PoIxxnYPJvNv","sampson9210","jd_51199b582e0a3","jd_5c44825e0e1b5","jd_WPAIbXIIeTEd","jd_73fc4bc2b1b86","jd_LNYxIGlGZHjZ","jd_yjVQWmZZhbbX","jd_5f188995fe3a9","jd_6201e17549113","jd_WhkgrNtugVBl","hanziyuan08","532596364","jd_UEMZodYBDwLI","jd_5376eb1e23323","jd_7d3ddb61bd0d3","jd_595cb9a37a9d6","jd_7dbeef82f037f","jd_7feb62b8e4ce1","jd_joy01","jd_42c4b730b8389","jd_7e9ef8dd3e587","zeroivw","s1497390453300965","jd_417a9cb8132fd","jd_7a391d14e8abc","jd_4d99f93e65fa1","13902526896_p","jd_6f1ed8f3e9fb4","jd_fTliLfaNghDn","jd_4bd3ccf403893","jd_439c2d423e177","aqiang19","vlansun","jd_EYaeLFAZwMTw","喵喵康","oyer520","DR_Evoque","jd_KxuDzImTYoAg","jd_72a82896d8138","13526852028_p","jd_682f2f2f3f955","jd_5df5555ae8bc6","jd_63375f634ff2f","jd_687cc8e1c07a9","jd_4b8bde8d7081e","hylc5506555145","jd_5762dcf173a2c","211971183-120959","jd_4d33dfd115296","122292195-513519","jd_JNCPhEHerJgL","张丽新886","谭春节","jd_635b983d81ace","jd_47dc37ebbd397","yyj87","jd_yZawVuIjPGOD","jd_459ff2e0be03f","jd_TcjcQrDmATNT","jd_PfEItWmXmOcq","15527276162_p","jd_XtVjdxhxSjFg","jd_UfGoySdLLvLq","slxx5237","jd_455c6d5e8a2ca","jd_4a91333f542f3","猫小2b","lan662152","jd_TWWdjTbRYDqk","q20030341","zhang35259437","惊喜一生","jd_4fe80f7613a71","jd_59f87ccbbc611","jd_42d6c329e5749","jd_7ae90e69f1196","jd_78897c6a67d4e","kid424","jd_VYunaNDXHnNv","a654884917","jd_5045fc9f0b475","jd_GcOthRQIxAOr","xb9294","telwhy_m","jd_551eeaa8849c8","wdcBoQDKZHFRlM","jd_4db0d94dd6fa7","鱼_片","jd_iQMkGKGWNHDp","jd_ralyHvshaEgX","18281152638_p","谢佳--","jd_TKERzKVfWXAs","蘑菇小猫","jd_62d432d9facf6","jd_PNyCaKpCopTr","jd_713a7c495b2a8","jd_65ef11531f397","jd_6826a9c3cc450","jd_5b165cd72f5e4","wswcx","19100556-53037866","iyangming081204","pizier","wanglichen_mzg","ansome","Black__Cloud","jd_5f69326dd455a","jd_79195fedce569","wdBWSJEiVFyynB","小砳砳了砳","solosuen","jd_ZaQHaCkjbvBi","jd_rtlNgjDRCmDz","jd_79ff97f970910","13629829-419864","jd_404f0038efb9f","jd_AELORvSIcSHz","jd_66152ab1c0588","jd_451b584b8cc34","jd_4009f94d35605","jd_403e9bc6f2c91","牛奶不爱冰","lxlixiao789","jd_6c134d623b5df","潇洒美工","jd_7512c3be74ac9","xesp","jd_6d5a7be565588","jd_4777739b3bcdd","jd_iGAScSqngkaQ","jd_qxvgcnpDBWTX","jd_gMLcxSzmexOk","jd_kRInAehmxnEu","jd_4b06a139e299d","jd_505cb1320615e","jd_5d52e751ce680","jd_7a14726b071f2","jd_584d37b099b27","润通轴业有限公司","jd_69d1ae86b6ce5","goodsyb","jd_714a7a5d48e4b","allanhello","jd_662b15de8b4ac","kernelbeta","jd_777b34a169ca2","jd_7392508d755c1","JRSD_fvNOC3240","力呗1989","梦里无念","jd_XUtFwpaqiTBE","jd_57e6c5e0afe2f","jd_52ff0f178af1a","jd_6366fbf0637d6","jd_5b1c629fb2e75","jd_lbCwLEmvjebx","jd_4a07fac9119f5","jd_EPSZvSkFfDWJ","jd_eCfabWuivBtM","jd_IMEOwPjFunAg","jd_cMpnEwaEBioj","jd_4aa4e64d5624a","jd_404955789e454","1-1-8","w0k0802","337534989_m","rustin","jd_6ca8ecc649074","nymopho_m","jd_454e862fe9428","蜘蛛迷离","jd_74e2f15297d0e","Timihaha","jd_WXqwKRRPvpNt","jd_453d2cc2b59e4","jd_7aa17ca88efc1","jd_6f35299f03e05","jd_kxluzaXlqXqV","符号控","jd_uQUeTRMyfxNg","jd_73fe896e74fe4","jd_6398453f425a4","城南旧梦Q","jd_iXoqYzKldLrf","jd_6ff9f7bee2134","jd_4e7baaf91b9e6","jd_guXIFhRbXVYc","jd_68e7b26501859","zjzhc","周丽艳329329","jd_56192212a3a77","jd_SfecXJCjLttX","jd_ciNTcSIZeHIc","jd_jGYOKZgPkYet","jd_4932a4c119fb2","jd_YpugjqvzYraC","jd_50607f95f5913","jd_42ca4c98a0b40","mobo1980","jd_NPzkFXoWouJR","sniurt","jd_6366f5fbce278","吕井强","JD2816852601","turanturan","gufujie","qq313605382","72471048-757110","笑oooo笑","jd_7644d3ea41fd3","jd_7752be4958068","jd_58a36f514e733","jd_RiPXEEBKuxGK","jd_yZipgGsaEFRF","jd_52c2726010f92","laughingzou123","eddypei","jd_7e40d1e78073d","xiaochunlive","Jccc_","vb1980","572德清县姚江锋","jd_46a659a680d7e","linxiangy92","jd_4cf1e88c3fdc7","jd_5b636cfa4f1ed","15250962683_p","jd_TgrqwPWoqzow","czlycpfz01","思念泛成郁","jd_64b69f7cf9159","1584589710_m","jd_YIwtgkMcPauf","jd_ZOreBKJlshqs","jd_424c05d284d04","jd_kMvFtTNgMaHd","dreamboat7","jd_agkmnceCEmFH","jd_HaXeQMGJhoYn","易飞fate","jd_6165b53c3bca8","jd_ecpmdXyIPFpW","jd_439462444eb7d","小睿1989","jd_5d477d787e4cd","lzsb1022","jd_6f5e41ecdb5cb","jd_7013421cf1e6c","jd_7ec019db39458","jd_MiZeYIdZmREG","jd_RuTyIErSNAFO","jd_644540aec0d38","jd_NxSIooygNDBy","jd_XzjzEhRvuwtZ","mawic","jd_40862b8c60880","xb33992","jd_6e0cd59bf9e67","xh72002","wizards23","chunchun19871219","jd_cAPINSvEIEzi","jd_ekuFDUtVxncE","jd_45ae414620c6e","li2573630883","jd_7ccdd3d7650a7","jd_7e5fbdc10656a","roain","jd_78bcfd00a38e0","jd_4a465774db27f","duanzhichong","jd_6f8622fc081c6","jd_628904b08c267","tao56000","15803894369_p","rosegoal","sylaryang","jd_63164e99f6830","adam_l3","jd_73dc319c5ef1b","wdbnPdwEhlXawk","jd_5f63e88181659","jd_zehXIeJcNAXJ","zznxp_m","jd_606a4bffc886e","jd_43102e75d4c01","jd_5db9dae97657f","jd_648291dcd8207","S俯瞰风景S","jd_53df20addbb85","qq438836856","runner0725","jd_41aa973912f6d","jd_7125ea7ca25e2","jd_4402d2237afff","jd_7a7a88ac66caa","电台情歌991","Ride_Wind","jd_641e60a62fdd2","jd_464e9ce43c53e","jd_4ec10a03491b0","zxf9949","wdNxyYcRLNKhnyG","jd_6c3079b6f814a","jd_hHjZbWgaqUIS","jd_504e9e9b23ff5","jd_6149f60e1fb6f","ydz541121137","jd_5e0ec2b90c6e8","皇家西游","jd_4fd4bf7a6da53","dawn02010201","jd_IlHWWTCddBZN","jd_yaUCeybcjqIw","jd_4f7caaea2f9ed","jd_4e5520e8f1353","jd_43af51caa1730","jd_xyytGhQMyDZF","184204626-130844","jd_4b2120d95e9a0","onwingslnz1978","jd_OswSWcYRKMwD","lyj571338392","jd_68e919c9ed389","jd_679ccc91977f3","jd_4032064ee6485","张德美百万","jd_691ba58148f4b","jd_6ee6e9cf156fa","jd_796b44d223708","eudis","jd_7c91247299527","jd_qaZAabCcLWem","jd_PZaHluURcIGu","jd_DVVMJdgYSwGQ","jd_4fe32955f55dc","狐狸-v-","jd_qJxJHgShddbw","jd_494f72c4bcc34","shmilyjessica","jd_QBLOCzjUlSqu","韩春生600329","jd_4072e27343dbb","jd_4dba22786b15a","jd_5525df18f0a45","jd_7b05576ae3737","jd_69841e01ff63f","18912370284_p","15596832278_p","jd_cFIaSHpxvwlI","jd_4009a82e75a51","wdSzwctZLwClBf","想飞的成哥","jd_63db55ffadad7","agxc130925","15206333319_p","jd_503f27f98b6b4","风过耳","jd_77bafed1fb634","jd_75dce8b11a2aa","Ausra丶豪","kkzwang","jd_71b3256a9ad0f","asdfghjkllllllll","jd_45223ecd69f3c","jd_7043e0598700d","包子没有你","jd_lwvkkhduPSbt","jd_732a355d9fb36","66637343-10799061","jd_NgjAmEPqjmgt","shania","jd_iJXHKeqAmUdh","79363872-298306","jd_6b39b29495d90","jd_WpLoehvGjGIj","jd_HkwiRsFsIeNK","jd_71fb3ee1e64f1","jd_738f839df728b","jd_6f103ce33cada","jd_ZVjyVqOLOgif","jd_52361cc2a6fa4","jd_4d212d86a5878","a412657308","jd_594e1ed1b3cad","jd_4aae8457ca6bc","jd_6d95f8aa22a21","jd_5e99a1b5aa1bd","jd_thoiidFbiLZN","wdBtlcHBabeypB","张倩文ly123","jd_ZTADveQtYXng","jd_43446efb19a8b","英汉辞典iii","jd_516c956df9604","eboyu000","jd_523c8320d62cb","411378415-139395","jd_717fde19f8f70","jd_537fe737485ea","jd_48df611dc6d87","jd_7e033171259d4","jd_sOAyXRuFpVxa","jd_RbltYzneESiG","jd_AdfDlhhQEXbT","jd_6eed9fe16c941","jd_70dc0cbfa5902","jd_7677987271d0d","暗夜幽香","jd_PCJwdjmmfBKs","jd_7b68f9334e47f","jd_QVJdtxeWqaSH","jd_xxbhVQPPgeez","jd_53c95c14d66f9","wdftgDsUMFGdUm","jd_uYhLOekMgWAf","jd_4be91e803918e","jd_dErhbSIcbIig","jd_qCxMIosCdYIc","高兴就买23","wdttLjrWKAPSmE","jd_591552f36791b","jd_gYjiAVKRarVj","Wsikang","jd_ddfSjiBzpUpi","jd_EgNGXmaNxzsE","jd_4effd1430ecc5","jd_jCWHiiFPAqeB","jd_5aed52f8ff3b8","jd_661263ac65b69","61572952-352332","jd_GwqEAXHJHDFZ","jd_711baf29223b3","15989107342_p","jd_60c8d3dc21fd7","jd_5496f7a01e9a2","jd_573cac8659a99","jd_501d7c8f38aad","zengguangwei1204","jd_5973d9b7d648c","jd_4fc4675d39b6d","jd_6f4c145d62794","jd_psgTbRhzaktg","wgsxsm","王政398","过客0432","jd_701b7e608782d","jd_TVuGozJsiheU","jd_6f9d005d7bfd3","jd_kmRKiFGfEQaH","kks0916001","jd_KDHzIEPkIaDd","jd_6b2a5f622a74b","syqfkq","jd_529b7222bd361","jd_OjTKhquysbSM","jd_6a295b0d67b73","jd_7ee19b824eed4","jd_5cfa362783794","wdNMsSwGOnfCnS","jd_62a2a81a5a62a","jd_5e63cd1e7e877","l598219598","jd_4650b690a9f88","xushankai","jd_7079e0ab9c003","b82503853","jd_7f6431aa3a8b4","wdNbECvhzAepkCI","15061953899_p","jd_59b7203278233","jd_4255eb1fb982f","沧海一声贱笑","我真的不是来打劫的","jd_5f8915b3975ac","yuxiahui2009","jd_UmPwjXMGvhZC","jd_7fdee6b68d6ed","jd_7ed47ad1d3bee","jd_dBPkHvRInuSz","1132858439_m","jd_59cd0634d67b6","jd_49aec83054790","jd_7100727512412","Zhouyiping1022","jd_PZtKSusfOmrH","jd_63a14f8622c94","jd_SjxJMyRxjGGx","jd_lBVjSaKwZiCo","jd_YcEwpVDncdHP","192536525_m","jd_6f2b8f0c08052","jd_NPScZTMOHjAX","jd_480c5399a4eef","jd_40245721a55b6","jd_RLhFNpnCkbgp","jd_LybXrLrFNruu","menglong210","jd_52886c5d13aff","jd_XROKtqtiJGFL","knlvz","chloe120331","妮买不买","jd_469960e745d3d","jd_608b37c9c3682","jd_6f31fd6fdf96b","jd_54bd63d137bdf","jd_418f349ba2679","jd_70d388e3e5f7b","jd_709ed4f80e923","jd_53fbf0a7eb43e","jd_eFRUVUwBYXvE","jd_4ae967aba4c1f","Mmmm桀","jd_5596c4f7fcae8","dong1027170743","QJH15385083045","jd_582f0a5a7af3d","首45a","jd_653ad042b1714","jd_7eceafaf34314","jd_5944bed8604cd","jd_77cdd63ec9269","jd_4f530fd18d946","wdVgxSLqreVMBo","bennyliql","yanghuiying199","jd_58e1e05f1ea54","jd_4dc7f82fbbe7d","jd_6b4bf127e9fb5","15021144838_p","jd_4d46a178a0df1","xudezh","jd_KcCjajfyMrQt","jd_5d5ebf8cf82b4","icdip","幽蓝的夜色_","jd_nNBvJtbmsdBl","jd_4da5e011e9450","jesuesd_m","jd_6fddd5e437de1","jd_72d484263a791","这集我看过","apelif","jd_PTIgWRKoClgd","jd_56bfb02ae2423","jd_50aabee8e0746","jd_609b5a639222e","早源","jd_fBIxaccDToFi","jd_57ea6f0d4df4d","432421960-972708","wdWcQPUyiWpJtE","jd_7ca8cc63609b0","chenyingkeng8","jd_EGZtXtJqNMbK","d13246456395","jd_lqasQPLrRURS","jd_UYyXMmZwqDEq","wdnIKvQSRKFnqb","jd_55d7e73cb5145","jd_wNPmZAsuSUvR","lihaiyun1314","jd_TwLtBVuKjRdI","15016474902ABC","jd_66a0e84a28bf3","4012078-50948247","jd_SYqoWoNFKWCI","jd_LFrTgwiZDGJB","jd_STBscTdRsfvV","jd_rZcczTuwEwNg","jd_UTlvuAvZQKbS","jd_47ea967b83e8a","18226604605_p","ynsjlx","jd_58e6efe19e1ac","jd_53167be98f6ee","jinleki","jd_574d20d8965a0","jd_66a8f6236419d","tife12","rgbpe","vvlyan","jd_67efc83fd1b50","15859100651_p","liuqingzho_mpj","jd_6a8c0669876f8","jd_4d839d183a963","新新人类543","15637185037_p","jd_621a377e1f168","weekcup","费明涛007","jd_73206637eb8f6","jd_76d03fa866c28","jd_lzrqzkKSAGiw","jd_pTDPflbIjHWH","222510887-218628","jd_5f5c310dfcb24","澜漓了然","jd_6498c65c655af","jd_4fd5ab23975c0","jd_736094800255f","jd_6959cbf8dda8a","jd_72647af76c33c","jd_7a2294191a76f","jd_5f5e7d853bc4b","jd_75a1b03d9762d","吴伟忠95581","jd_66bddcf078df0","jd_77fc903be8d42","jd_YMzIfRQmPjzw","jd_7502e7200f695","jd_4c35349125db4","jd_431341140d29e","z1d406","jd_GJWWVOgPIJVE","jd_WlGczAXWuaeS","jd_DAxMoEUaMXOl","jd_cqJfIMHhYVHs","jd_66f3aab93d6a7","jd_73f454cc481bb","jd_TZshENxqBfvn","jd_6189b9fe59b0c","FlyLFeuilles","jd_46527678a7754","jd_618b7cd141a76","jd_73c53fda743fe","xiaojing262","jd_471574a143c9b","jd_78e0244eb9613","jd_4f5dc533c8e5f","jd_65939c2b9265b","jd_43c0d1e32b480","jd_urmjfBygIOCO","jd_46549bc6740fc","wdMxXPyAZwJGEJ","zhuzf","jd_hhjvnOMNPzEg","jd_554bf764c55db","雨洋葱头","jd_xURWVLChtTBp","wdBkAkUTzifxGI","jd_4df202da2cca1","wu360463231","18283191-76177339","taoxiao0","jd_486d8d19f7c50","jd_413898b7fccbf","jd_ZlGltupqbRCV","jd_639def1754e6d","wdqxOTPZwmnkGm","jd_55ba7082da5cc","jd_BiPljCvsqLbj","jd_TVOOmaHqDERy","jd_4bb80a242a3fc","jd_5e9e6faef2db9","jd_4d291c33ac7a7","461862473_m","jd_6e2689f88ae40","jd_639c293feec53","pjbjls2","jd_vPcCFLDhPhzW","jd_57dcae6781a81","jd_PdMoNcjoNFJT","fishswimjust","嗅夏","洛枳啊","jd_513ad1fdd8677","慈小瓷","jd_589247b2dddcb","13758075505_p","jd_6c648da6da7f3","jd_ENQRStjSyOKe","379859838","jd_4884e03dc56ce","jd_6fb971d4ea9b8","huangnan525","wdwCxHMJstNTap","jd_ityLbkiaksja","jd_HzDvUhYfnArw","jd_67fa3998e91fe","w1085143812","jd_48f38fc905d81","jd_4879e77948ccb","jd_7bfa1c0f58b9d","jd_63c2400f1fb15","jd_hnZPPXDZqKyi","jd_7afe05cd61922","jd_nKALyzQsurHs","jd_4bee704eb29c6","wdNPMrslgGzJhCn","jd_VEHPmklDDEww","jd_65d2852480fd8","jd_zsCEpHmEpjQw","jd_7f29274f4bb0f","jd_DXnaWNCurnMJ","mingyeee","傻傻的小彬彬","jd_65be9f69790bb","jd_PLJmgTIYmVVn","jd_yteDVWWhmiky","jd_4e59841cae4f9","jd_613f152094ee9","xuanzi12138","jd_60ac31b7b56d3","jd_53a35536157f9","74114898-651147","jd_5335b970b0304","wdEBPhDPgqqznY","jd_4aff40f335a2d","yockii","zspades","jd_cdmNQmwSxuZg","jd_5d0091bceccb8","jd_xfKSTZoCOCtC","jd_4fd9648bdb3c4","z15178025616","jd_7c7ed9c7a9baf","jd_bQodLLirXchc","keindaniel","jd_4dfbb0a839cac","jd_XgqBcxkWpTiE","jd_45e8ae353acd6","a792279916","jd_gHUQRZKVuPtS","jd_600b29915f569","wdFIZmGAeZdEmc","bswgzh","jd_7ea24791482c4","jd_54c42896061e9","ordinary2433","jd_hxqzDOgJOGSQ","jd_77158e8105250","jd_4e101a36c9759","jd_68bfb774e0a0c","jd_7fedf6b10ace0","张福梅17717022844","jd_rVuhYktvhmCj","wode19930724","jd_FccFZJcncKwD","jd_717873ff99797","jd_5362c3f65b858","琴弦上的成长","jd_59a5dd104d999","kay1983","jd_61b81dcc2c509","kyoukou3274","aidanailu","jd_418a08348f8fe","jd_560ebacecd07b","jd_52f6bb6865fff","jd_5a40c3bb5afa9","wewa3228","jd_5f1b23753c8cd","jd_5dc20a2559a99","jd_WKRbalBWVnyN","jd_4e95dd3723e82","果冻工作室","jd_XredAbofidYt","jd_QSkTnljZZnBG","mutong1963","qoqboy","覃超1208","jd_6c067635fa02f","丁丁和红红","JD18228936787","jd_7e8b6ebdea160","jd_yfgRxAKPSOOr","15098037743_p","jd_41bd8306ace40","jd_6f7df741e5864","hiozjl","jd_7193c4b6bd2e4","jd_IWrRQIseqJLk","jd_fFaBwbxYpssB","jd_71a655d386a98","jd_5d4169b3f2981","jd_40e2d2792ea0b","jd_wADVsgoTcZGY","jd_446c41066df37","jd_75a1ad793cde8","14163506-82615404","jd_576587abde4a1","ivyguo0425","my_girl182","liu19911129","jd_586ab9678413f","jd_7e46de371a17b","tinham","jd_4fd5bc1f0b67c","jd_OcBosuXJyIuJ","jd_rUKGumJLXcsr","mayiehuo2018","jd_5d9176fa8798c","sshc2011","狗东我来啦","gp1136612050","jd_lUsDVHvESLuu","jd_662f4bc565c05","jd_551264b71e888","jd_BnXPAuflWrvc","jd_JnODPyFJskBK","jd_6bb2028264c78","jd_79b6df5fcf691","诺贝尔的爱情","jd_7e55ae8e6d29b","wdMrMrXPbfYzjb","jd_71f193c9c5d6d","陈德斌303","jd_44ff98dd67884","jd_7165e99cbe4a3","jd_4c09696ab1d6f","o莫相负o","racoon-","jd_53f632c0c9bc3","jd_666072a456064","jd_4d603458212a1","jd_51766efaf79f0","jd_642b761ca3c54","jd_kwWVkvHfxCKm","JRSD_sJMar0998","jd_fOGxcDWTJyVq","jd_4b21d27315006","jd_cwXgurGzvkqa","fs3223629","jd_7fc153bdc01a6","Mrlock专卖店","jdsuchen","jd_74229cc203452","jd_sYgOHGgcqvvi","xl14753","18586710093_p","jd_7a4072136a6b0","houndsky","nanablue0607","jd_61b26158dbedb","jd_75b45c1f7a62f","小帅北欧","jd_405c848d42a53","YING520A","wdhxqjDYGbVLTd","jd_7c61ba2345a4a","janiceeee","jd_4a0008f59888a","jd_5befdd0bd3ed0","jd_7c1099585ee65","13890529299_p","捉紧禄也","jd_53ae56257e43e","xyc3605","iTsw","jd_MeKkSEkGfusS","jd_7bd633e3a1b89","14789464941","jd_7334a1b06441d","jd_YdtfFWTLeAcR","834145601_m","jd_TwmWCaabmHEb","jd_5c6479e733550","zhong_ruffian","jd_oteoYYOwaOXJ","jd_jQGplnnqIupK","jd_7895ece6ba971","305635736","jd_642cf368ad24d","jd_7a08dd5e0501f","jd_bjxMyyRfjPXk","jd_TaaurAmawKDt","wangsunfan","jd_6711b7f39e8cd","jd_6d35d0fb706f0","机务精灵","Mr_jucy","jd_47913626d2a65","jd_FTckKenhCTXY","jd_fgyWxAGBFRRb","jd_4633de9639ef4","shu0802","jd_KsbOAdcHWAje","jd_XAdAWjncOxbG","jd_714964131606d","jd_76a7b36cc770a","jd_54dd314f1e98f","jd_57cbef1cf31f2","jd_5d4d0c8cbee3c","wdDJqBhhKvtXMp","sdrokd","jd_789a1a3728da2","wdKxpkGEBOnZUY","fgy334589839","jd_7e0720ff2d1b8","jd_769490176d52e","jd_5ec384f35774e","64456528-92130655","jd_MIvbJYNCIgAd","jd_5ab4e12e04035","jd_4a27a7e74419e","jd_6a587fc8a69a7","wddqURTEDeOSlI","jd_qNGEMWnKESdd","jd_PvIgKOeNahut","jd_xcGYmjcCZZAC","jd_IACgPGaikiPj","MmMmMm520M","319166628_m","jd_jHAJusEjosBY","jd_tIxZHbSvUWpX","jd_4c08ad91cd40c","jd_awVnhIuVnJuV","zhanghy2019","jd_49d9b4a9a6247","jd_zsIdiuYiZoSs","jd_4320d9cf523c6","jd_gCsBgBcvvGnI","jd_402b3c2fb81fa","jd_458b9bd570420","onstagezheng","13450135801_p","jd_55366bc4cd572","chenxiaoli7891","jd_7c16bb6b4aa5d","jd_5d7077e17dcca","jd_ZOxMDUocItya","jd_5454ffa179fed","jd_62d1537280f91","jd_66f3910bdf0b3","jfchang14","jd_6b5e78ea55ba1","jd_cLmIBPqnwcbZ","jd_795d0cea1eba9","jd_fLDnraizRpgQ","jd_51af3bcbf2e34","jd_MpBvSmPeLoPn","jd_XJGtgiNPLOWk","wdNvXDTRbBbnJJ","jd_5377a251066bc","21689808-96717907","jd_4b7dac338817d","jd_42d46fc3c0521","jd_6fb6626b85337","aa7392688","jd_7f75b22aaf7ab","被遗忘的锕","jd_5224ebad993ee","jd_50c7fc980a61c","jd_BJZiWnOtnlHL","jd_cSXNyVdGWUEI","jd_6926e4c6883c3","huisangmiao","jd_7ad5e699d1cf0","老李793330","jd_5eafae159d2ef","jd_4126157e1c431","jd_45a54686f78db","jd_6d5a499cba34f","jd_MNoKDoGEbztM","jd_6cf5126f1d9bf","jd_48fc6c136493d","jd_TlfpvQUEsUrV","jd_GeoFynpZwjXC","jd_7c264c052f653","jd_66f76d717eabf","jd_499525167eda0","jd_CCLDieGcovsF","ht403497676","音频怪物X2","jd_4dc31cf663525","jd_6b2442aaad4b9","jd_6b02c8f7010bd","jd_4eb9e99913b25","jd_5b4a072abf727","jd_lixJHvVOJMDV","jd_59979a1f8bc4f","zhanhuiyu08","ysfno1","jd_56f6e22d2a34b","清奇落落","importance12345","jd_ccNgQyxbHIlR","jd_744732e88ae2c","jd_611ff5a218f0c","jd_72241739d8298","jd_IYbeEBnfGuOJ","jd_60749cb8e25e5","jd_65d48e9c3f39e","destinykid","jd_7f0599133cd3a","15261121128_p","jd_QHSvaVQSFSdb","玉朝彻","xtimtim","18360722369_p","jd_egoKEAJHysdn","196092592-634815","jd_67c27a256cb1e","jd_50da9e677fd41","jd_6d2615079a21f","jd_40ea975b0b80c","jd_5340482d31965","ZJX13592761893","zengweihong0610","jd_7d3337488a0c1","jd_4368098dcfb6b","jd_cJAreYdUOZzq","jd_686c59389d372","jd_740bb07db01a0","jd_63fcd0e305593","jd_VrJpWJDbNkjD","jd_73d45b3291c2c","jd_609f377e50338","官方已投入yds","1847268-87685458","hongri_leo","jd_43b92fd0d6983","jd_60a0dc565749c","vae的浅唱","jd_6c929813a1858","jd_79ed909b691d2","jd_7104813470f66","jd_RyGAKclqKZik","jd_zxSJyQEwYyix","jd_BTsZEffPPzdb","跑堂小哥儿","jd_6927836e9a32d","jd_5dfbbe4ad8433","jd_40408e68c048d","wdtGcyhUTEhVvy","jd_67aab4c39d3c7","jd_5dcff8e80a702","jd_DmdEpYFJOliW","jd_5123f3c9b1c48","wangxiaotu219","jd_bcgBXpFuVIss","jd_47e70596d3f53","pifubaibai","浪潮灭","jd_5fc18b4bd5ea2","jd_4b195881af913","tanmosquito","阎雅溪","256311694-125817","摆动的旋律","jd_55aa52baf4366","jd_75d046fc085f3","jd_4b7816a10f844","jd_40c75b0e13651","jd_QGkKaevMiOoA","jd_768db87baa142","jd_41d6056c77374","jd_6188f2f18d284","jd_7349911223d25","jd_DsBsycGOhcRH","jd_4a190eeba876d","jd_5fc9f0d0ae2e6","q13524178439","jd_fGwQyKETUmsp","jd_VhCcJPVmrXlX","凉城丶m","xx3213278","jd_xLTPmmXwVCPT","jd_5dad01f2137a9","jd_zUaUFYIqmRya","jd_TfHKmhXBVLrG","jd_76808c3b98d72","jd_tQnKqMflvQUU","jd_RrmhsnjkTwRC","jd_taZKmVwJrnpo","15210912570_p","jd_nzkPGxdcPtgK","jd_uCIPVBYiwpWK","jd_411be97fcb66a","jd_67b841276212a","jd_7d360754ac2a5","白衬衫817","jd_zzBFAoZbqSVR","jd_tKhETYedApNW","jd_6f5f3216d144b","wdoRNDPZviuEfT","jd_sfgJunpanieL","jd_7553862993271","jd_71011b6694013","jd_51ee4ad0e37cc","jd_7ac33222f1552","jd_gIzxbBUBQGCG","jd_509704e536653","jd_pBXzZlqInyyk","jd_781c88a62c848","jd_tAotIiKyEXMR","jd_7c4f9dcd1e943","jd_YPdxtpfSCyOd","jd_xskVLZmhiXcL","571594887","寂静狼","啦啦啦啦啦啦啦111","雨梦微凉","125979802_m","jd_7a785fd829689","Backlight_MC","光头的先生","jd_6c868aeda00f1","jd_GeTyloqwKXwU","jd_xpMXUuwXxnKZ","jd_63a03d4978557","jd_49e43777ab099","jd_UdHOfqMgTHCY","buling1515","jd_41185894094f0","jd_ieIHFjZBqjbA","jd_6f7af5c9b7b9d","jd_RPIsdflYatOs","guygubaby","jd_67a1bf3ce2302","jd_mtzFVlrYcLAU","jd_BIqtJZEUNNlC","jd_FfYUFxKDlLLo","jd_7c41cf0b9b349","赵建雯","jd_53f0e9db55193","jd_SwgiWmMCQWgk","jd_742c7393db4a5","jd_wQRRrfUtMEwL","jd_5133094e7b6aa","15218870393_p","jd_54c6aa7082899","wdNpdVElIvIFTOx","jd_54a456019dbb6","jd_eIInRoiYiQMh","wdxwyqxgGUJaMf","jd_6144151109917","imswing","A641191800","616744200_m","ihntgtqt","jd_HPZrIDwVEOGT","jd_NWdaOrFegtyB","jd_FDKNAVAIsdQy","jd_4fbc0a56a3cf8","jd_GObkwDyCfogs","jd_VGLCJBiHZrIx","jd_5e721a58b3676","jd_6d72a9f6b5c10","jd_48aeca7182a75","jd_4521c19e3a3d6","jd_5bf823b277774","jd_6c72b8bd70351","hanxuan914","jd_4a9455b7cd9d4","jd_7bcf60edbe0d3","jd_6ee02f722a880","cnsnet","jd_6fd68edf35c40","jd_DlPnpBPnqFqc","753756521_m","jd_61b5610188ade","jd_7f57c00f25672","jd_631382c392a0a","jd_VwEImuzKlThu","jd_IrhDHRWuQBxv","jd_7f80cf7f58723","alliso","jd_72cd16da71bbc","jd_5bc831f014e3a","jd_6cfffa48a2c66","jd_53d7087577867","任君飞翔","jd_PTvQNFBOwsdD","jd_NzxciuJhuPhU","伪兔君","赤赤嘿喵","jd_636bc8eca17eb","jd_548398743d01b","15946408836_p","jd_68b842b9104b3","松娟宝宝","jd_7ead68a4ea474","jd_PpHmgzBqgQoY","13102599883mj","YY20889MC小陈","jd_lAcMLoOThEEk","jd_sqtUkFaWmtSR","jd_evTYaQhrDHqz","jd_44649c87d4cc4","jd_psxVMuSaJAQH","jd_VnbHHLYFdakU","jd_uvNQIhGuCEdP","华丽的操作","竹林晓圣","jd_439863ce08887","jd_40e401f86161c","jd_ryFzOaLpEZvK","trihook","jd_6c3da399896ca","jd_qgRKVpKyTWXi","jd_oeUcsmrMXmCT","jd_kEXyNkOohtKQ","jd_aLQMSNdOZAjs","lihao02825","羽裳丽影","jd_zrUHmfLYEOlB","jd_49f077cac5a13","倪626","jd_qTenFeqdNIGP","唯丶你","jd_kakUolgHGoro","qiuru508622","jd_463539b5a837c","jd_451ba3940b6cf","jd_634c5d9cb8e58","jd_76dd04e844d63","laotongss","jd_QAMNrxtXciyx","dd丶仵作","jd_525d5bc2986b4","jd_ViJoyRWzeVXM","jd_4b647bbdfe239","13623033270_p","jd_60b7d64f24874","jd_mlZIqhHhiYOc","jd_50aa323aeb5ba","671263192_m","jd_63bcbc81115b3","jd_76a4f250e5c07","light354","13560369433_p","jd_HmmPDSRiirDo","jd_mlSFBieuuKnU","jd_kZphOtmfPPYA","18636678332_p","jd_67bf7827cabbf","jd_IawXPlzyAdXl","jd_YEfYnzJMyTTo","jd_jqDYYXxTpWKO","慢慢0709","wxz_jun","jd_55d538b56bf2e","jd_5b92cf817d5be","jd_688f702b8e570","媚媚糖糖","jd_KmnFcdvjVAEc","jd_XfDcVetBDIzL","qingyang198787","18879310547_p","jd_5fdff317676da","jd_40077200a86ac","jd_CZZCpsNCDDoY","jd_OLGxVFMpzWRH","a15616245917","OnstageYuan","yll18030060019","纳兰sia","18533619883_p","jd_73b8c070ac92c","jd_XauneZSGsElt","catlancet","jd_6ff975294f340","jd_5c2fa3aee8fbd","jd_643b6c91f78ea","jd_70ba4d6f6a279","jd_vpxvWfSPcFBf","wkalwz","zhaoe90523","jd_WaKigCClKLFi","jd_NvqBIDSQCxpI","jd_QipngEHWXoAM","jd_qFngknskvZZL","jd_iWvZjIetagov","a13012027744","jd_5e5a37b687764","cd_wintech","18315728870_p","jd_48df8673ff3e9","wdhuRNvrNbIdET","jd_NBuxHjRQEISl","jd_FBLjfVmcXlWe","jd_lZgoYuQOsdfo","jd_LPdUdtRlCoQK","jd_6e66d8090cee9","jd_fXLUxCJIIFJM","18275717099_p","jd_7c2a27a28dc75","jd_5edc4c45c9caf","jd_aOsSZNMXOPdd","jd_6821106be2a2b","jd_6a0143f17a029","jd_580301a18738e","jd_OKQIdDsfRcDJ","赵小白0430","deelay","jd_CvQfLctZJLKw","jd_sgTkFrxZvFCh","jd_5eea01538b6bc","jd_477e09cefe55f","jd_5464b01e9cc52","jd_7c3b30c08a75b","jd_cKrxCYQReptw","jd_706daae61878c","jd_58d688cf3e6f6","a6806070","Betteriing","hh_93","swcool_m","jd_65fdb3eb0ea22","jd_70a3b20b902f5","jd_KLKrmoHtgfGc","jd_79353e5b392ca","凝木雨","jd_PoARZdjeSPCl","jd_58ef93da7aa37","jd_769784a814628","jd_7b363078d7c4c","jd_7694998e2f183","jd_752f6790374c3","yvesyc1","jd_SVGvAscIRZSb","311611428-900495","jd_76db7bdd1c95c","jd_HJmtvFHkUpFc","jd_6c6cccb7f9210","jd_4600e1fd264b3","jd_47dba2bc8e0fa","jd_5dbddfb5787ac","lidong576853033","lili356","jd_5904a8a4b732f","jd_cpjgbkZMZiDw","jd_53eb4974c5333","jd_SzOFLfCugpzw","jd_47580544c2556","jd_5ead4c7efe04a","jd_UqVYikYUzlMy","jd_63e83b4428f4a","jd_4b4abd38882db","jd_7c13f08c8aced","jd_5651bc9c56b4a","yellowbins","jd_430a0f219a5fe","jd_PmGxnKiYjsCG","Lin-Chu","jd_BgVtOEOfUspY","jd_631e1cbcd04f4","jd_49cb4bcb7803c","jd_48f6be38879fe","jd_4542032042e88","jd_792ce7437c8e8","jd_72a77d841fa12","15605291773_p","442060445","蔚澈","jd_767d129d39a29","jd_6f61e69b0a907","evilwizard","jd_462f3b19ef390","jd_emyalvDTPEho","邱兴付","jd_5b7f8c5e504c4","jd_lsYCsexJIuHz","jd_6e02658242329","jd_709c1428991ea","yintaibai5087","jd_6c552325c9f90","jd_brHNjimgieoT","jd_ezIRMXbpaWDh","jd_5242eb65b8279","jd_VSOWNJoKQZkF","xf12345678901","jd_VXoovkDNeUsQ","JD15158515161","jd_655659cb3a40c","jd_7b8db3bb63a4f","jd_nRPvfmYDckHz","jd_7fbe610300f43","jd_hKDnADOCvUIv","jd_68dcb65aa3be1","yin1140954935","jd_45cb70dd4df08","jd_bfhaADcjIqeh","jd_tzBocNFjBobN","jd_4c9ac896adbbc","jd_LrJfEtoDyyLp","jd_fGRVrvIflexH","jd_dDMShAIHcBAs","jd_4a925bcfc31d7","福悠悠","jd_hRnIVKDgsBVH","jd_53e911751e895","ZHhuandun1215","于嘟嘟宝贝","jd_fqNOhMAUppQy","jd_JbsPBXfpzrTu","jd_tBuaWxSuCGiD","jd_6981e2e4b9768","jd_4e832006556b7","韩金平han","pxinxinp555","jd_7db55459b8335","jd_65629af8d3756","jd_6905ab82ade8b","jd_5877f32a1cf6a","jd_66f4eeb25567b","jd_pyywnnymjGkr","jd_49fc7b4bc33ce","49991084-705458","18300613469_p","52612974-336953","jd_7ca99f6f1053b","jd_4d1540691c851","jd_5ab8d3cad658d","jd_7dc5829121bcc","jd_bqrQNNbvsLbC","传闻七公主","jd_UdFLJARSJMQC","jd_HsIYwFQYmEQw","jd_MdpUiqMnkQPa","jd_tptLFIDTDDKZ","757893758_255435612","frankstarhu","jd_oGuhwuDnqivt","jd_liGhGjklbWAD","kevinapi","15055812564_p","jd_6070d4f6cf1f6","王鑫鑫419","wdcwnuHzRokZDZ","jd_DNsZSRhQalBd","jd_zQJLoHPMpQxo","jd_eeKjPYtUwpbT","13919437530_p","yirantaoqi","jd_heDKsjwxMIuC","jd_5fa8589d0dea4","jd_40179fb5f0b80","jd_6c09f80c9053b","jd_knQXersyvWJl","jd_62937ef1964f9","jd_4752cf43b55e3","jd_4fe1acf71bee6","snowfieldj","jd_tawxNiPwnZnB","jd_7386e767e6ae8","jd_54b6635bfd991","zhuyoubiz","jd_tmwpVOzWNXZf","jd_ZGRlBNEq6mVf","lyb冰2280","jd_vUyBkbXpsWpV","jd_5d3675e0cf47d","jd_oCYBowZvvaiY","jd_JZDanbVVPTUR","jd_vDXDhgqSfqhj","jd_6f7b92450d0b6","jd_TikvPNQZzmSC","jd_72977e566e77e","沫夜殇","jd_oyNJsiYMmTtP","jd_GpfZjZIfkHUW","jd_wVezowRPuFJY","jd_659eccdc9fd14","jd_4fc7050a33fd6","jd_667727dfb4f01","jd_54e0da9c43e62","jd_empQsJIHskHz","jd_63f60437c4324","wdPqlDPgQmNFXE","jd_MZZQCCOpEWGu","123317124_m","angel670583851","jd_5342650dffe3f","wdlSqYojYmvsyp","jd_6080540d8d889","jd_5912088fe5966","jd_590122dc2fa21","青椒和彩椒","jd_TxlnFdNyopJW","jd_jjYLHVQtHPZz","jd_6af4224aa89a3","jd_44ebac148089c","121726512-320757","hotgame8","jd_560221509d7cf","jd_614dfd284cabf","heqizzz","jd_6962110e1f8bd","jd_61f433532e608","jd_GwnAMPEBMrih","jd_pkzlOeiFFkuy","鲁丽祥","jd_5bece13afcd90","jd_5973719101f27","jd_5e532f3ba6d8a","jd_584a9fada4085","jd_7820e58e21e6d","jd_746d92283980b","jd_qtXSoxbWxesJ","圆子飞来","jd_mIYoOZNtQIZT","18057376676_p","jd_gSDabDFWoSkI","jd_495399e8d3ee9","jd_wOIjhlAywHKT","jd_vraZInEGQrdb","jd_569ca673912de","jd_PXmEkpXvLXXk","jd_498cf16e21c89","jd_NbnOoSKMUSTD","jd_KKnvGopiKUWi","jd_6f5425d7890f4","jd_68e13cf9afdb4","jd_4a843874aadef","jd_491208b1c1d17","紫幽and月雨","luckdown","jd_azyXIcFRqRvc","jd_41b818aeef0f7","jd_78c3c14cf00f3","jd_579a221ac1424","jd_580d7982f2206","jd_611d122386c17","jd_519262fc51dc0","jd_72ffb8740684f","jd_72a7592bde42e","jd_vltTOxsppEdR","jd_6f560234ef230","15229089278_p","jd_7f34945302cfa","jd_77ebbf4481895","jd_yrEPjPmngrex","jd_aGxEbTUySfrb","jd_TFxPSPIzCLtv","jd_5ef7612595bf1","jd_4de38f53b1da7","jd_63e9dcccb8caf","luozhuotu","jd_4f0061e3e7fcc","jd_JkoWKAXdyrmK","jd_oNZycuQrtedR","jd_51d418d76fe6a","jd_MpJEIYHtPmYn","jd_57048117f5bf2","jd_429aa23340965","jd_nLyqySYTPXNK","15908915285_p","jd_QnJkMTaGrnub","jd_4856fff9e4ccd","jd_7f946b33eb069","rockbottom1113","jd_XaclIjaQwywo","jd_5a4faf3fe0d2f","jd_572fbd2c65094","chumps","jd_42937cd195ad1","jd_5ec6f298e0ae4","lei522162840","啊和哈哈哈哈啊","jd_JNPGocKmOEhO","jd_7ea988e80011d","睡觉ing102460","jd_SXaGtMsLSNIr","jd_lFEoVMRLCjpW","jd_QlvlSAxjlcYq","jd_7bf019ab55159","jd_40e02bd024d5c","jd_CQvgiMdjUVxc","jd_422dd2af3afb4","jinquan5188","jd_6faa49002ca95","jd_5e0c9898cde36","jd_LbKGsuigBxkn","jd_qCeZytepJoZZ","jd_5547a45e987a6","jd_uMHZWBYZyCsh","jd_4e72031ee1e71","jd_4733a431b0322","382837070_m","jd_MPYxbgwtOxNH","wxx77","jd_419e6e4b8c44a","jd_7e0d215640b73","0习惯0","jd_55f411d2f5d24","jd_5b2f843920305","曹润","jd_6d1cc73099928","jd_tsQMMtGWAXrs","jd_ArbGeNNZZrMs","jd_AnUmIlPTuLsr","jd_6e07c979c2712","jd_5f1a9f703323d","jd_73768f577a569","wdcAlroyMRyqoT","jd_YsEYIPyJeVlN","quan1320_m","jd_6e5039bcf9946","jd_7fe9e15b0c5ed","jd_6299e4f4ebf87","aaaqqq98","jd_jaWCoWmixRwU","ds15827237684","jd_WXDEgujpjaDj","jd_VYUqkNpEiEvJ","jd_vuHoRPzcNvjT","jd_PzOxKGAmKKeV","jd_71a6bb3a8dc47","jd_4093ff58d0638","jd_FnBjGIYTdjrx","jd_YtmHwNwHkHzF","jd_6f26ce9e889dc","yangxing0921","jd_EImAPyHtlKiM","jd_5ae55469a9c04","jd_7ee30865cfec3","jd_xvqedzSOOXJT","wdaWAfkohhLBEt","jd_7269dd4069c90","jd_ruoqpwUHHThN","jd_OSprRxszTuJT","gavin7354","jd_VLxkbWAVdjfi","jd_61a9a7c736136","jd_XUUdwztqCiKi","jd_crJUkJCckZTC","jd_urGHKbKuqpiU","i-zealer","jd_63a31b670423e","jd_4599012a63397","Mengli89","jd_70a0502870801","白明迅","jd_5c4e459796020","jd_53f41a0138ec2","brent_xy","jd_7b6dc6a1ae4ae","小吴丶866","jd_79f1e94289699","jd_6d555a65e8f5b","jd_7cc43b6e48eee","jd_OlfYCGdjCLAy","jd_535c723e24d74","436166659-305666","Vehiclecy","zhanc86","shii69","黑红梅方2016","jd_463a2d85251cd","jd_DtawjVtpemaS","jd_537ec2a542182","jd_VsDFtUJheQoR","蓝汝逸","无纯白非白","jd_70965f55d0516","jd_4b6967d810d97","jd_734e9822965d9","jd_7cbb4843a029f","jd_638c66834b034","jd_5f0b4966f24fb","jd_48e203abde804","jd_4da61fa3e1dfe","leexinxu_m","陈总无忧号","jd_44add11e9ecd4","jd_460f5f9964627","建工双兴","jd_7d7ab3265e56d","jd_kvDwkDilZtuF","jd_647aa0a86a677","sC9AxzP8","jd_VrkdllKubsLZ","jd_77f95fc0e0930","jd_IbQkNxLIKOAl","jd_rfcPIVWVldpX","jd_OIsMdAHWkzYV","侯镇0279","jd_GIOQIDCXuFFB","liuliulin","jd_CfBumpThqcmx","jd_4fcdea642fe2f","jd_XpGEwyGGbQjU","70800356_m","jd_6619618ee87d7","jd_rqyJDTcnAQub","amusement0311","jd_51d90ec1688a8","jd_5daac089f3f06","董荣松","jd_4647b11079a16","jd_47f22ad0c423d","jd_5e6e7a2842a45","jd_670cdcc33ade7","jd_VDpQoFmeSNKj","jd_6e69b7184876e","jd_615726c04261f","jd_rpDMXhBHTaCZ","jd_66df94b0d446f","jd_GmSyQjrucgjO","jd_595df9f659b6d","HWM183","jd_7ea1c0073955a","jd_5b2bc280e1c83","jd_69a2f681667cd","jd_efQhqekWpJeI","rasweiss","jd_55202c442f477","jd_74a4040c54398","jd_45f6389b8789e","shige","jd_7c3432f462d22","jd_74cdfd7c3555e","jd_4da9f3fe5b686","jd_5d0aa62a7fe03","loverui28","wdNhrRFluBOGDol","yzs981130","wdbQgIUMQnHeMP","jd_7533a445cb3e0","jd_71a9c619efa16","dslz2005","thunderbud_m","jd_4a59e8f08ee54","jd_6bc35fe2bfae7","易宝屏","jd_79ac66b1660c4","jd_6543bceda8e99","xiaoxatsai","jd_79611cff35001","jd_40b3c016ba440","jd_76540a2658c45","jd_50509c351b6d8","jd_6380ba66762d3","jd_4d945d7bd00b4","jd_71b56079a4d2c","jazzychai","jd_7eb29be094f0e","jd_xelXGbesCybE","jd_OfvtEtbimIKK","yujun028","mj19910923","jd_qOFVlscdRHHA","王辉1215","听法说法","greedbt","jd_PsdBULwXSWKR","jd_643415adfb9e4","qiqing8023","jd_447201e84c2a6","jd_7268b72af08d1","jd_53575603258a3","jd_4305f2efaf846","ArMay820","jd_61ad7e512a77e","凯撒195874","a18574390917","jd_74ee02a832682","jd_5a76b5e75b83d","jd_yWhlIlNcBQba","wdGQFqBpAKNNCd","jd_5d0e339ac3c2f","jd_7124440aded54","liu2429852650","jd_6ece32575b9dd","32446982_m","jd_hPkYJMCaIHVZ","jd_4fb0ee12e34e5","jd_WRNGqmrOaIjS","jd_bRyHCjVLyjll","feitxue","jd_GPAmxCcvwQJq","jd_YdGQIHFJQCUI","BloodSakura27","jd_RYUannEMbDwd","jd_tAzMJaQBlZns","jd_67332a3535131","jd_4eafd46e7eb58","jd_KpBaJaPkPabi","jd_suaBwsQyTvpK","jd_550e272fa109f","jd_ZCXwBtevyRIJ","jd_4aaf6f26dc5ed","jd_TeOUgrupyneq","jd_4b755376ba2e1","KMJ-2021","wdtKUzpYVrFnyR","jd_7dc066b471c3e","jd_qHceuNtDjxFd","13932201029_p","jd_qWkXIDdGSTdF","jd_42e1d3a72b6e7","jd_45eeca37f3d72","jd_66edaad539fc3","hoffem","jd_566675dccf91c","642113775xyy","jd_6cb97d6245471","jd_5302e5e18bdd8","jd_447f3bebe4969","jd_fJqysEZKNSLF","jd_6ccf5103ecf87","jd_4f5b5fddfd378","jd_LogfOlHrPwjV","jd_66080dfd0b2f5","jd_AyziRCsDhKmw","实在的消费","jd_428d1b8b4b30c","jd_64100d5988f31","jd_jLArQxlponmx","hbcarrera","jd_dDwJCPDTzvsy","jd_6c6bf62cb7453","jd_569ec0957abd4","jd_FcZgtbysJIJM","jd_7bd0ae04555c3","wdNjhUEUMZdwxyD","jd_uhgVYDYaIXyf","jd_HsEEhdqTuLyJ","jd_7dcf8f6c8fe19","jd_4b5a623abaec0","wdaqqxnJbPdbqy","18986029638_p","jd_7c839c6188ce7","jd_xqgnkzSmqdMK","906216104","jd_67c07f457d7d8","jd_VxeYrqCUzhtm","jd_bmjykVtPgTxL","qu19980521","jd_wRAuWDvubyYB","jd_lggEsbLNGlAU","jd_5b209e5fa392e","jd_5f556df8f23ce","jd_JTkiqDBayIUX","18382328290_p","y997505672","jd_YxposoBoryBh","jd_AzOoGqRkJofC","jd_exITRlhYoVIN","tanzhibin","jd_57b1c7351a1a2","jd_6768cb85f1ca1","jd_68345bc9f1709","jd_hnwPLyuvdqrs","jd_6759753273075","jd_BqpgDlCwKFZA","jd_72dea72464a78","jd_5f7ae97ea90f9","19443058-543428","jd_SFtZngXrfCbY","jd_6409065b9f715","jd_434afa76d0827","jd_kYgDeXUSPfvT","jd_5c53d34dac8de","jd_TjtVEGGgDqgc","lanye1545","15738396298_p","jd_79f9ca0d4eb7f","刘鹏61624","jd_uyZxkOeupnIE","jd_GVhYfeLSdIVE","jd_42a0ea9432eb5","killstan","13102110052_p","jd_OPjnYwHqiHKN","jd_GoQnbwANPPBO","jd_iWbwxQPpCGqc","jd_QcrbbHiNHrfE","jd_4510c897a2d76","jd_67d411e95f3c5","wdsrwfdzzBMrpv","fzyfyd","qqask","jd_6f29a3be2472b","jd_sQKaFRsLXuyD","jd_5b333527adad6","canny123456","jd_XLktLifbrmXs","子悦己者520","wdNQZJQioevrMsH","zzzz7875","jd_5cecae29ca0da","jd_daBFSNVjSLoG","jd_7394c8bfa1524","jd_516e85b6ec650","drioswu","jd_4f71b64b61ee8","jd_6d8e4087357cb","jd_44b111c149581","jd_cLjtcjeOwZzu","jd_HTbUEsulGdpn","jd_4089288c1fff0","jd_7ed8f4d3467f2","jd_WBiJCYuyEqrB","jd_xUijVMXbkEyr","15850770575_p","jd_71187a4e3da6d","jd_67abf9e5fad37","jd_5ee68c894a8bf","jd_ktkEmhFkVKVV","jd_7f615d63974d4","jd_4722091212902","zhangpc30","jd_7a1c9f585a41c","jd_62e29454f3620","闲情逸致2468","jd_5ac14f09d948b","jd_sPtqdssiqEKl","helop76h","jd_UsrQhSyBOPgy","jd_JIEOKnJbtHnD","jd_79d45adf7b644","czy198710","jd_SIPOUHLECYko","jd_aLfgztydwafJ","jd_5d796747c40a5","时间的对点","jd_KOOQtOpHDZnu","jd_549c4cdc8444a","13480504908_pei","jiangkun13_m","joguts26","ruysx130","qaz84875280","jd_6229d17ed6f22","jd_5ca6d0712b900","jd_pLNAjpPpRrPx","jd_78d018542f7e3","jd_510392cbfbfbb","15511620498_p","jd_7fdc1cb60006a","jd_aVeEzxspGuND","jd_rMogCNeUeQyv","jd_43e3deed95ab8","jd_7717e7387b284","jd_5e370a288b9cf","cyhelen2002","jd_734568c5196d5","aries08","jd_604b6da5e3d84","jd_7a525e86caa9e","熊熊的爱恋","jd_7d98c63a1f4ea","m17703038804","jd_40dcf593b290c","jd_522e27791bbe8","jd_66b7d56f3ae2b","jd_6eadea85fa607","jd_BurbYqowZBMW","jd_483ff9058244e","jd_7e700babf6ebe","jd_ZDqaBAokLbjT","jd_56ac5fd132ed7","jd_6918c642ce6e9","jd_49ac2dc3ed1bb","jd_7fda379f563ba","jd_5623a83b1262e","jd_659988b124117","jd_55b061281429f","jd_EjwnOFSFPKdb","jd_645af229ae8e5","jd_amnWipfPoBHe","jd_CjFpRXPhHIQh","jd_DNhkFojEBDag","jd_7bfa45d478489","jd_EDVVnjeCbMWK","jd_ULsDGwMedovH","轩仔99丶","jd_6a6ee2fd72e28","Ciao丨","Chansie","338692009-44026883","jd_bELOQlagrrLT","xiaoqingfeng999","jd_7e16fef5706d3","jd_FkVlmKuibCtU","jd_6e429810bfeb6","jd_6a48ab4b1b968","jd_6455145c366b1","zxka1987","ndd200","171435934-308526","jd_65be5d85c0baf","jd_UyOCQhUkieRW","jd_52513462a178a","jd_4eefee19187b6","jd_IEejWbhtJthP","jd_754b3f0489094","jd_53b19089a5e47","jd_aPqBeJaWHuql","jd_YQdPxvFGGyZm","15989103915_p","小伙子的东东","小小卧蚕","hn8530","jd_7410bd88e9fdf","jd_lFpkhzMlwxZr","jd_51b89e351a1f6","jd_5132e3e6fc27a","jd_qNXQIEtLHfEE","13128903787_p","ly54133","hxy801012","zzzhangyalei","jd_6d522df8cdd5d","zhangji268","jd_621cf633b72d1","jd_4619c5328ab54","jd_7291986b77844","jd_584f73d1cc0ce","phtvhedaren","q1802345","雪球时怎么样滚大的","移公愚山0214","jlw472776067","jd_48130cbe76fc2","jd_540f0e4c60205","jd_6837403d9670d","jd_4e3ad2e3c8d85","sedenfate_m","jd_476c1e2b2c47e","不要问为什莫","jd_42c44b47cf11c","jd_580ac595e43e1","jd_jCifNkNNcQAR","18114921639gh","jd_678afe4277ea2","jd_AscUBndbhRDV","jd_zBqhoVEWAoDZ","jd_4398e160d7d7b","jd_689f7bb0cbf0a","jd_791efd26cacd9","jd_4d29173694735","jd_WgAUjHEWMzqb","zzyue","jd_zZnGKiZtPzoc","jd_FbpzuaClvCsc","jd_ZeIsWgDLZxYy","jd_6f1d95476c889","jd_545b889be9ff2","jd_53ba2ab83be71","frankhyh","jd_56ecf41f361e4","114448446-245536","jd_sPBGrAMTUjeZ","jd_rDABHtZBmkAl","jd_YdIfEinuwoiI","你的肚子很大","jd_UcwFiQaLZPfm","jd_JWkVXDSHhXrf","jd_57af1e757f327","jd_4178a09abc53d","jd_759b7e857bacf","jd_oyQaIsEuFdbY","君就一个字","jd_69dec1e0a0989","jd_6a59647688acc","15989345011_p","lujingjing","O_o_","jd_716f25fbdfd2e","未出嫁的和尚","skyboo","jd_70c90be63a45b","jd_539f8e52c8e6a","jd_7beb7622f8d8d","jd_767d5e6280243","lqpfcz","jd_62745b556f262","jd_4e30aedbcf7c2","jd_gsOLCbkiHexu","jd_UOmVQTijmJkR","jd_4d4b391da3b9d","14784748568_p","wdRMTHjJXeKcKt","jd_MeRTRzhqLkGR","15935111731_p","jd_622bf14b5ddb3","jd_4ef341dadbb0b","jd_GpsMhSGFUXNr","jd_63b1af458a8a7","jd_59b1cbeb893c3","jd_xohmjMdacFvO","jd_CFWEucEoUvzs","18281807755_p","jd_BblyCClKmWMX","zw706651920","jd_5f3bb16def413","PazzV2","jd_7d7363b7cbdd3","jd_42543ca62696f","jd_FKYfadtXaOiA","jd_EpQIgvuBOtTW","jd_eztVLtPIYwRp","jd_7332048f59f87","jd_ujEARVLkFYXE","752369447_m","ty520107923","jd_gsYxYISFHcrI","jd_rsZYVGcZJQec","jd_wOKQcJqgSKYd","wdoCkiIISPLdeV","jd_52d8fe5ca6f82","cc38324","jd_APWcRGEOvuxc","jd_ZrOACkHAOgUg","jd_xZPZaTWHqtyJ","jd_4a7a448431cf1","jd_7cebd5ed40071","jd_4c85be80adac2","jd_46272f9f04480","153555712@qq.com","zhying010","jd_6ed7ff64cb77a","jd_64dc9c14d53f6","jd_NaATBzonBsHf","jd_4a3cddd1ba527","想名字太麻烦XY","dongjuncly","jd_5170a2972e397","18018102023_p","jd_66eea9acfb4e4","jd_5fd40ecddc72f","omega108","jd_56f53d8730f37","hmwhk","jd_58c67cbada0e1","东风破南风","jd_7ec561b8dfc0c","jd_46a4076984239","flower8289999","jd_5f7f6f71677f8","jd_LEmhQjUgrMzh","兜里有六块","jd_kdUVdYGQyQVa","jd_7da80abcd8a64","252911771-981002","流星玉米","447236259_m","jd_UlVZGafIYycn","251369201_m","好爸妈","114965185-715418","jd_KnXxshkSiHmy","jd_45c5351ab11c3","18320893450_p","jd_nUEuudsXKnNs","jd_6dfb012bf4131","jd_728b6d3a3c1a9","gwdmf","jd_4f336e2fb6c5d","jd_676344771ddf3","jd_uprkCgeShNMA","imarss","jd_47ebed14e3df2","jd_70068b9f7f74f","jd_eIXHujkMoUYK","jd_ujNeuBwAOxTe","钟尹延","jd_696436dd0676f","jd_651eff8e2e09a","jd_5538f258746b4","jd_4ca08ea6e452d","jd_fHMZJMHQlQFD","jd_491b54be82ea2","jd_jCRhLepaBZBK","jd_gZtnybuTcRNM","jd_oiBjPIJEHKEl","jinquan518","jd_qoXyCtGeMiVC","jd_6df391b3dc9a6","jd_409198b24e9b2","jd_45cbb7c882101","jd_63769ba761a43","BLBL老叔","123惘","jd_7bc34a47ee932","jd_79f041b6c3d1a","jd_rrGvadNjyNUm","jd_6661f55727754","jd_4a39e7d63cea6","15703013048_p","jd_536d27c516e64","jd_6770a402300f6","jd_6b7abb0dcd03d","276876468-798517","jd_6087b8c1e5cb2","412787563_m","jd_552c62f489ead","13810368518_p","jd_59938e27a46bb","13623898703_p","jd_5e5ab4d67cce3","iloveqianer","jd_tYKIAqLnSSCI","jd_468460d3a1044","jd_ihtRuWAHZkQx","jd_7de7c846cae9a","jd_54a65987ff759","jd_7950d9c2ebc43","jd_458a8de177baf","pudding524","jd_KlHHJOTLcHGY","jd_cDwcZHqhJAmg","jd_TVKeHljSdCNf","xdaming914","sunjiayao111","jd_4fbdf0a48f62b","jd_kaYyUJvkXGxS","jd_AgyVfOTMvMGt","jd_68d28476feba4","appleadionzm","jd_xlKvwGQZHJPR","jd_BUTbGaSRRVMj","jd_5e09cb7aead47","jd_UDXVLacAbnka","15350019256_p","jd_6c519cdb41afa","jd_663592b65867f","jd_6584d60bcf55f","jd_465a2582642c7","jd_5b1e64a8dc22d","JRSD_PYlfw5938","jd_tuziuEgFDSej","jd_TGEPDBvPfqOn","q879640409","jd_46b8c8b4a28e6","jd_xfSuLccuifxw","jd_777c17b99f504","jd_462d7421f8dfd","jd_dsprBbJPbgpc","jd_LLdmsLPVjjrc","jd_TuzLGAIrkzCW","jd_mwwkDfGfskLC","jd_wAmOSDsHFwkf","jd_NwuDQKCXIkHg","henry33007","13863217326_p","一日呢","jd_655123c1e49a7","lizisu11","jd_6e8938b4238ca","jd_703deead2007e","jd_61967bf4f5b42","jd_5695af47718a3","jd_61ccf823861a2","302732683_m","jd_OQaDbTbOLTeY","jd_494844e91c166","jd_4db514b9391f2","jd_6b06893ed3d2f","jd_bxmLXjHQtDpe","jd_SklnoZjmelLu","summerblue52","jd_RgtUYwPYFtcW","jd_6339a2b1a1a3b","jd_56716edc67191","jd_71ea03ac540a6","kiratjy","jd_kmuKwLJpevYA","jd_7040b21442722","jd_4caabd66078ad","397707356_m","jd_4dd6c666f8f3e","jd_FwvbYgqukAOj","jd_RlGVPKpJumgS","jd_kQwqFWGxRStA","jd_BsCWuhefCGnL","jd_75e2e9be71e4a","jd_4d342e82cdfdb","若某天遇见你","jd_vtCTFLnWPZdD","jd_5ce911a0b733b","jd_5945dd36d4c3d","liuweiw191","jd_lZDzxvfBLMLN","jd_6abc065f32154","jd_juoxTuQNuKXF","jd_WmDWbMVEgHAB","jd_7c346cf95e02a","wq17087165867","风行者之追梦小乐","感恩的心5611","jd_6df87e28b2f78","54613770-198910","jd_67edfb63741a4","jd_7a41ccab039ce","z441975209","jd_xeEWXTiRKgLW","jd_LUqTfVylGOKR","jd_HdPuMOTWKBMC","jd_PmvsbMxUNqIZ","60825391-214115","jd_ynDpansAlYNT","jd_ERMOCgHWZTnF","jd_kGgdWKwhItLZ","jd_691f15e7db812","jd_501dacd49090e","jd_73838c6f19ac7","jd_576a7776fa9e1","霄珊珊","jd_pKfpcdVnwyPj","jd_5d5ab367cdc24","228043502-850053","jd_PhsbduPDrzNc","jd_638d1e0076739","jd_7191c708496c1","jd_6d9db9d304d24","jd1822972112","wdWCqzkCZdHUuC","千铃酱","Google一下下","lhb00","OK_Gaming","jd_LttwnQVAYGfd","jd_78705fc70d792","jd_mUjhIGEYBxnM","风投浪尖","wdNniNlxQaXVPUi","jd_7c2439df457f0","jd_78d29a5a66512","jd_45819ab071a0c","superfish0714","jd_75ba300764fe6","wdKOhpHElRlnvB","jd_mddNQKkJOGJp","wdxCRtxAsclbeT","快乐的gentlema","艺术家无常","jd_42b6dc9ba49e1","jd_6d67d962aaa40","jd_540912b1b4538","jd_GmfmWSUNIpyV","若离485","jd_5f46bda6b7cc0","jd_fOfoKlLjslEc","jd_7d05b089c86d5","jd_4c92996efc99d","jd_73e8dcf0c8705","jd_IrGCQLbeeBds","jd_68877ae238257","jd_OGwdNwCbKnIx","牛奶好喝啊","jd_7f6347066acaf","jd_JLFUuDWDBPpK","jd_lvMuwsMwdssP","wq17087160518","jd_DonZsLGQJhkU","jd_4808ab924ffe0","jd_LhUZwlWBEXEt","jd_NJPWBqHVXGmn","jd_48791f2a1e2e4","jd_QxipxSIJiTvZ","jd_ZvUgdUuWxtWh","jd_449c2852d55cc","jd_tZZynHfwjqaY","jd_657ef4b8654b9","jd_PtnmSckysMat","jd_7defd5d58b450","jd_64f0bde2309a0","jd_6dd48142df5ea","jd_68214c0e39cd1","jd_58fb9611855fa","jd_56bece1cded73","陈长乐13906948558","jd_BaTbyZzIydAT","jd_4745cb1c53758","jd_68b9e6ccb90a4","jd_LRNxpgUNAIXB","jd_651e6388c214a","晨夕0599","jd_6891bf63aaf09","jd_LJBYLzuntXNL","18659222854_p","jd_644831990af40","jd_IRMTWhKcXSjF","jd_7aaaabe884273","jd_557eb62e41de4","jd_6769a2fd127d9","jd_62f08a6d84fbd","RLibEx","我的世界阿斯达","jd_625cc8c495dd0","376645287-204355","jd_41cd9c149a0ee","akenzc","jd_qGFzjCOVbRja","jd_5aeda792fbd0e","jd_7b780a7b6121f","jd_taOBXhFFypFM","jd_QmeuqEcRODiv","jd_73ffe216cadec","skynet273","jd_7bc07cf411aaa","jd_531c437e7f18f","jd_6fb3f488ab407","jd_76a1ac4f71273","jd_4c681361c8476","桃子桃子1227","jd_5a6dabc061c4b","jd_dSXXbEpnpALx","zhfeng0116","jd_WMVwDfQgOiwa","--似水流年--","longy828","jd_BnHIaMkqDQks","soulzty","jd_6dcad5e89bd58","jd_7a284df52bc63","wovwo","jd_670756e0360c5","Leslie_cheung912","jd_6dfcb7461bf3d","zhangzhonglei123","jd_rWTzRlTNGnjn","jd_6598f5bb92065","jd_4537e65b45bf1","jd_549ce8afef791","jd_ctSgNZGPHbHy","292866169-107036","jd_4951c3ed1deea","panglin007","jd_5ece43eec810b","16那年初见君","jd_jGvkDQcDiddm","jd_60027a97efcbb","orinly","15959037112_p","jd_FtSUZtsPiLxH","jd_5b8de738c309a","jd_7e4b63956af1a","jd_76f57d8d37e61","jd_qxNmWWnGsvMq","jd_5e7a64c9531b1","jd_qfetSZZIzYir","onstagechen","jd_55eaa163f2ad1","jd_440fad2d4cd09","jd_7b1d91152342c","jd_5faa1f1c006f4","jd_bVHGpceKTuUK","jd_73175dfd0d595","jd_72a1a51a1ac8a","a2540719484","jd_duYYCQFDTWLb","xtqdm153","jd_6f5724446258e","jd_SbQLOwRadSEI","jd_77b266a7a3827","jd_67f0ba4c47b82","jd_798d408e48e7b","jd_68ef177e4d01b","hcw2175","jd_iEUXUHScFhMG","jd_44b009fee602f","jd_gQeBRCCffhIT","不想像个孩纸-","la5good","moxihang","jd_eoJwHjZKBSeV","jd_565e3ad34bcbb","jd_5aea723111229","wdheJnwsSjnket","jd_7decd6b9f975b","jd_56fa4af621e62","jd_7f834163acd60","jd_PrQoPSBBGYUB","jd_IMLlHVDiquKV","WangFeiYu28","jd_5b81c4cd27781","了不起的没戏","jd_bJADChigeYuD","jd_6d25cb786e05c","jd_56dc6924a8bb4","jd_65b8327d67356","jd_69bc2afade26f","jd_MwfenBLdoIMI","jd_40323ae622a21","jd_OAhDojvvcbVj","jd_6e6d748ea460b","liu20170221","13504557828_p","jd_CoKXlRNNgIhq","jd_6a0d79d150647","jd_ZkKPttxOFhFY","jd_uikAewWTcibD","jd_6b9bdec15d5d1","FugoLiu","jd_IJkeUghHDfpW","jd_7c1b24885240f","jd_JBhodsVfPdTw","jd_xMGJwndnuaYS","jd_73ebeac18fbbf","jd_KDVAnIiWoedz","15218099749_p","jd_5d1381ed2d1cc","838989253_m","jasonchan92","jd_5c5b1b027506a","jd_bbBcqvaTOypK","jd_tOsCHCNttGKx","nick814","15053231812_p","胡万豪","13170927472_p","sishi6957648","jixiebao","E小妖","812142159_m","xiaofangtt2015","dnvjetfqp","jd_4d4def8b59787","jd_47f49f22f1dc3","jd_5eb904f19b553","enihsyou","jd_7191c5fd34202","好东西居家日用专营店","jd_73952cc4c9c67","lihaojingdong0927","jd_57f298a658234","那么德华","jd_56192e53d9dfe","jd_6132a47225b95","jd_4a5222cd0c39b","jd_478e7f3f607de","jd_jrmSCWZlUKhP","jd_famhrlFUolAJ","jd_dmJxLwKUtNhE","gm501356000","jd_5b02e59a88e73","jd_62938bf8a15db","传sir","jd_56fbcb3e15901","apple_tree999","辣小丸子","yangfeng2184","jd_5a7f982d8e1cc","jd_qQaTcUgdITHT","wdJKXFzkDtEeKt","jd_6e3dc69abcdb1","jd_EoXcyDSWPiQc","jackylee_cyc","jd_72733a1cef8b6","wdNuEnDqXUdPPpw","jd_76e053fae488c","Crazy橘子","jd_ykaCRJrHtIed","jcape","jd_44079aa6d9c86","jd_7d201a7c4f965","jd_7da04623a7702","jd_sKAZqijQchmL","jd_6c596937de193","jd_59cd9acc0ba94","jd_6e25c7983a071","jd_4837daa5732d9","jd_nzPJDMNduDaJ","jd_5dc66fe860f11","ycli6966_m","siriustar1989","jd_bDsqmajFCAsu","jd_70cf3ab589cfb","zhanw98","276007498_m","tangx08","jd_5e7c89e69ef2e","jd_4baaf0cf9b1b0","13052356680_p","Shinelion7","431790641-236686","jd_67144fa0d8eb2","jd_48e6bbeaee4e4","jd_6608072e88a09","袁明辉2014","amwogitx","jd_625dd2c42e245","jd_630be0008d063","231671999-756307","jd_6ecbe0138a780","jd_50ef80d8c5710","czb2008","jd_uNpFxNnuTZiA","jd_449a8014db83a","13480528569_p","jd_qYcebqezOAow","jd_491a6cbc036c4","儒雅的放纵","jd_RoAyvukZefZV","qazqaz37","jd_YlUEKCZeBsXR","sanue","jd_63965165d27ac","美炸了的彤彤","sujian19921006","jd_AmcJzWUFNFPR","jd_eLrBkYNnRgrU","jd_4e4a52b58ac9f","jd_aKNyVRJrzZkF","jd_FEsPJNDdunxV","jd_mxtbhneQeFAq","甘霖雨泽","jd_5d3a1dcaed4c4","黎明ic丶","jd_5486c77619699","jd_YboRkOooWnnv","jd_sMkwqPnPQRBF","jd_LnqyAWvYHpjc","飘香的生命在握","u_49cf051bee8ce","jd_616077e7dabc3","wangaxi1231","jd_DGwPtoRfUTkK","15105161554_p","jd_QCQcpaQyIpQG","jd_NmLipTeGAxVr","jd_5e8417ba59bda","jd_64eb01d9e2e50","jd_678763b1f676a","jd_MrEpDsjXpeTz","cn1033463147","jd_78906ae53584f","jd_zIvuBTtebxEx","jd_6d7611a1db965","jd_jrGYinSkCKxY","jd_jczkptcTUwaa","jd_483f44befca26","xiaoluo_lgxt4692","13505618269_p","linuxdemon91","jd_jXtUmNqrcNUh","jd_EZGfVDCQdIpe","jd_HtWGqVcrgGIC","jd_66df33afd45ac","diyili","jd_cpWYeZTwUvZl","saxin","j1578960318","jd_6d81e0e5f6db3","代祖光","jd_xdokZrhKVsgu","jd_7018612c5900f","xl5895","Cooboob","jd_461ae85c55700","jd_589a1c8a29abf","jd_7eee6eb3af141","我是晓杰啊","jd_701f52f8badbb","jd_xYTvsOyLAJvz","jd_6608d15841090","jd_7960625525977","HOHO9614","wdcBnofnQHxRYr","jd_4709fd75c779f","jd_60775bc2bee2f","jd_YYVwSywQikMK","jd_YdIPnOGXSFrG","jd_68131031f3511","szhuatian","jd_gUoOjOApdgEN","海鸥6299","jd_flJeMFniyXNI","东哥不败jsxk","吕大不","jd_GFanmuFvUvKl","jd_EdCtDecjDyGr","jd_IPVZJQNIJsNr","jd_5f5b517857e47","jd_76dae979eaea6","jd_518ba649eaed1","jd_vwJXdGunVWzW","jd_732c97419e61a","jd_PeZoJyoTkihm","jd_wfoJUJaSPoAd","jd_ZTulyDmyFOSD","jd_7b71eb9a91a09","jd_736340cdd7d03","jd_bGnEKBvqOiwY","jd_624a316f54ea1","jd_DCBilnQIiuqv","mimirongtc","1074857377_m","jd_SPOzaCGluWlE","jd_4e6906c9afbe3","jd_60cd1f547f420","jd_41c9e1891058b","松仁花生","jd_5517983dd5215","jd_LKyZmmKmCBUn","mei0222yu","jd_57fb3407ad51a","jd_WEhUfbsDhQfZ","jd_6f21cdab49b20","jd_WoAOXbuynaGI","jd_WsfapgrSYYFY","情书QAQ","jd_693d83f9e86bb","jd_7670caf076dda","18774366963","jd_ytraKvBrxmJD","jd_551bacaf756d9","jd_624f1eeb0d217","jd_53e1593327185","jd_aMckUtvuXgIo","jd_78462e2a7ade3","彭玉荣2013","我说你是小白","jd_6b3c696f424b6","jd_66b9dc882be9d","jd_72db2191ae7be","jd_70af2deb6705e","jd_54a9c2114a8fd","jd_5a2f81a363e79","jd_onTRSjQkuwCV","jd_4e09f702089c6","jd_PPkrWkvaIgDW","jd_4a28cf704cb6a","jd_50f66f065af18","jd_4f6782e573646","jd_54617a59d4c2e","w306480693","a42197111","jd_432cfb9c9ad3b","wdiiwjPUzZaNyk","遇见喔喔哦","jd_70c85e2c5e2bd","jd_cHExiIVTctgI","jd_4e398cad18f58","jd_qUrCAwlJqdxs","jd_NGLxJrJTAhpE","jd_672cb17639c6a","jd_454c2bc3df5b5","jd_JEQDmJjHIDkN","jd_faXRldrfPJvJ","kikido1010","jd_77056c0a7b390","lgz12345654321","jd_kEhskAOCEvJd","jd_qCWjHNfwtUEa","jd_7680b13fb5fe4","jd_4cd365c2b3892","jd_yheWwlhWFCOG","jd_74114a2cb2fd1","wangbiab","jd_5f499e91d1899","Adm01","jd_47a37e9123496","jd_LurmrWyQDwNY","jd_471f7160c5a42","jd_62f90e049f3c6","jd_GIlLMZULoaLr","jd_6c0bf8a6d4b31","jd_5d7750a1a9910","jd_UoTvbVrpUisK","jd_cQpQrTUORMky","jd_65c65cd544e56","jd_41d124487c58b","jd_BOFPbVOiStOi","jd_THIHbIjdwhXU","jd_7284931a4363b","jd_4ea0b3841a49e","jd_gBwVwTvWqEwS","jd_6f7702fb2e166","jd_hooTTNZJufkF","向前m","jd_JaAYtQjvOAQa","jd_574809aeb2b4f","jd_50a6d00113434","jd_53fb2c9be76a4","498677531_m","jd_67b8c01e3cfc0","jd_BLALaLRPnurx","jd_431d4606f0ae2","zsl538","张悦767","jd_7a67615f69fcb","jd_pwuRbAXgMkBe","jd_524447ea6cad8","18021727266_p","wdVwxeuluUPcKM","jd_HbSQLinXjawd","lao_pi911","jd_444e03d628852","jd_64ee41bd274c9","rfgdsewr","jd_490b6f757ab84","jd_rAFcfSUgLXtw","jd_5b7b61981e16c","qian18956105730","jd_7c29c7fa7b7fb","jd_78394b421f912","石砖小路","猎人010","jd_iodhTOfzQEBx","宝贝手给哦","zsl53888","jd_5e922d581e29a","kks0916","jd_sKgOtisqATBc","jd_WOieGCnuxYOS","qhb890929","jd_41eff0da54b1b","gzmcqq","jd_5a18a06d61f23","jd_BxVeQbdvdmhO","2938098867_m","jd_7111844bdb8e1","jd_FkbKQlYZMGvK","mailtomql","jd_jUYeGxxfzbeR","jd_NnPhrkhqXkJM","jd_DAUEBHjdTrId","coolzoro","jd_5ca46f0e5e096","jd_umaHjvmtknkG","jd_aiSIvmfYNQcq","jd_HtxpPDBFfMUQ","jd_476a11f8e4d8a","jd_429abdb58debd","jd_OlhZzNaVmWdW","jd_6591f7b599654","jd_bPcJGuzqJcZD","jd_pNLRYnoJTcIJ","jd_qyqjgTnRaRZU","jd_5d5c043b0f0ba","wdNtQTYusZoJfEZ","jd_7a925f6287b6e","jd_4d3f86f6c16b0","jd_NPEJjrYqvLey","jd_47e268b3400a7","jd_xPTOnsDoWfNW","cn辰落","jd_pPfQCvHUNJmB","15570081435_p","jd_TLNQIoPcbJcj","jd_zpdIzIFwXQai","jd_4246aee75660a","艾雪青儿","hu18119736145","jd_5c4048cb5f8cc","商怡123","9hiaQCPxnm_m","jd_5c1ea879560ea","jd_58700249b6d30","jd_AnoZZLmLoYbq","jd_4b3529fadca1a","jd_54565d86246bb","jd_IAhLRJBMDkNp","jd_nEUJBRcgIBDX","jd_57fdeabef85ea","wdryTNmEGRnwDc","jd_638817c1a1538","jd_YRDBoOkMpViY","jd_5c6fd3c5bdcac","旅刑人","32765223-962647","jd_iHIjuSCnSoDv","jd_6acaa8c03bff2","jd_534f566ec1f58","jd_jFLWxOkFdsDO","jd_VYUkglUOhgud","jd_6ec4d5160e1c8","jd_LKPePLfWjHEE","pplove2","jd_716e7f8582145","6679732-721396","jd_42d86ff03c867","jd_5d0c8deccae9c","jd_WGqGLzXmAghq","jd_59931858138a6","jd_dfKMzXPeqAAh","京豆豆762","yy289877389","jd_4f666a1707933","13189513969_p","jd_5b66026bf103b","慢慢是吃货2","优格的兔子","jd_62247bd1f6aab","jd_7f0f2249c0bf1","jd_41945605e7ac1","kingsmart","jd_70f453f5ba7b1","jd_4638e478b28bd","26340324-182123","jd_704c13ae68864","evenwin","jd_DUEuXcHEqshc","jd_syEjKGWfdVUT","chellou","jd_5a5cc0292867d","jd_DUJWVYfmUEKY","jd_4634eeef44344","jd_7f9073f342705","jd_rlzMpMGnAAbu","jd_wNgSnJIiSgEk","jd_UvuryFfcxKyZ","13731078576_p","jd_IoQEZeyXbZsb","jd_5cd00c5e7e77d","jd_tAJLidVileEL","jd_wvKmBtmaQuCL","jd_48f794f8b19de","jd_6617edfaa9c15","jd_uywFgepGEpDc","jd_HSGxNefMtKhY","jd_uqDnrHjcZcMt","jd_562c35b6bec61","Gkpk102030G","jd_LIkyUilmkpPr","jd_5957f48625c50","jd_4ff26a39a9150","jd_CkWeZjpsIcKC","jd_TfMPiMVIjdKs","jd_vXLbXqvxGiyr","jd_xbITcbdWokid","jd_rXQUhrAcoQzr","jd_tDVyPjMCmPnT","jd_629e73cdfb2db","zhulifengMaMa","jd_68aa2e08e8823","223215361-159160","jd_44c729308e3f3","2368259-49215624","jd_765a0c52cd3d8","18321656898_p","jd_6d0b213c79df9","jd_7db380ff39a4b","jd_579af23812de8","jd_sOqLKTQHKKVr","jd_620d42c0a23f3","jd_56f689e25928b","957714209_m","一根小香蕉","jd_5b3bd99f87fd9","竹子小叶1991","jd_4cc3b3493998f","jd_6d93b3c17f5c2","jd_4aac49f61615e","jd_6d4c56a5b7350","jd_70fa9a586bff5","jd_63e85e97b87ef","jd_MDdTTMAgFjAv","jd_61facbb284c2f","jd_EjNKmQXcduTm","jd_46dd17980947e","jd_TejxImJalqOW","jd_JZklSyFQDnms","jd_533981498214e","wdNucVyxbdSPQON","jd_TPzEGzclpFQv","你是我的OK蹦1996","jd_5e6eba17fb0c3","jd_48595bbcfee7d","chris010101","jd_419d6f26ccc50","jd_67a5c41215e18","jd_5ca27a6522f1c","jd_VqOsqszjruIJ","jd_MyqxHvuMRIrg","zhu359067638","jd_ckIpIvxRrkUQ","jd_76b69b252dfc9","cai15314924124","jd_6adc263d3f028","jd_MomlciXJFOxm","jd_5231186a1eec8","wdWzQTFclwGMUh","jd_GBViFcYmPDUw","jd_ATLLRViOTIsZ","jd_61c265810ee83","凡闻畏fwh","jd_CCeCCCXZnbuS","18502120796_p","jd_RYcnkSXDqrax","xiamile","leomang","jd_6383919d20eb0","jd_RVNLwTzEIzmr","1231386330-463102","jd_ZTxRgzutYoug","13872632424_p","jd_6edc8f65ccbc4","jd_60b81c60a3aca","jd_EiBklIeiLgHw","jd_7b4276afdf2f5","jd_703e7b8dd56c1","jd_gmUagTcagktE","ch12345en","山草妞妞","sychen604","jd_ISouEiTKQTWM","jd_5a07555524705","jd_73d363d98c6e1","5787396_m","jd_QoNVsIxEwAmF","jd_ZNlZJwfLTfwr","jd_699b1a8858d17","jd_AxPPxIgsMEfK","jd_6ca3b24cee80f","jd_VopXxrSyBHAM","jd_7bacf4cebe1fa","jd_772ca6b5a3d27","jd_yFguDwlmALxD","jd_RurdneupuyHF","jd_kZtkGJEKOFoB","jd_nNYyhdgLpeKk","jd_4c83f9472ad93","jd_MXdWBrPIbgWI","jd_QRsmSlpzrXyt","jd_6efef4340fc91","jd_ORIsImpgPgpJ","jd_GDdFfYJGVJWq","jd_4f9e6fa6ad7c4","jd_130-_-","jd_NrmaSxAaQlGX","jd_6e5337b849a60","jd_475eb2364e8e3","jd_69f4e37a16ed4","jd_NfSujlaWYAwW","jd_607fd98fe0881","jd_ggvwBbyyKAnQ","jd_DzqpEgsvpkOQ","csa3726645","jd_pOZWcGvHTuEA","jd_fjupgHNHSmnI","jd_WMXBFizXCyZP","jd_eJnmTHGbxkrd","jd_XBtqFVidzGPK","jd_6b1dc22475018","jd_48a2ec5da1f2f","cda全哥","jd_6b60be107b415","流年HRM592","jd_RebcgbkllmSb","jd_bQsbOWPoNlkf","jd_6662c260916c6","-1184659929","dayanhongyu1","jd_5422162767d18","jd_5ac3fdb721d25","该走的离开了","jd_639fda05b40cf","wdkJHRHrJCmcxP","DANA丹丹","jd_64469b33d7600","jd_6759842a51232","jd_678e885a81cfd","jd_6ffb516eb72f5","jd_owojrNUEbmUn","jd_40d2c2a011820","jd_zxhDkeTIbfiv","wddWAmKDwTUUgL","mikedoing1","jd_dkeGTprBIWVq","jd_sxQTQKiReLZu","wdxJZJtYsmHgGu","jd_GCOCnfobsBon","jd_564164d9ebf61","jd_6dda2b40d32cc","jd_68806a9740009","jd_efKpJdfvQNqb","jd_4b021c25d85dd","107665377-864964","jd_4a426eb4f0e25","jd_5aedab6180931","jd_6a3fb53324553","jd_4fc94ec01a51c","jd_bIsuZJTtFelH","jedrek21","jd_50113d7688bda","jd_7cf8827724ad2","jd_6b9eb6a0c5871","活多一次","jd_407347919205d","jd_QxhrGviImQoD","jd_75a454e0a42ac","jd_7b62acb63f850","wdmJwHXMOrPwMv","jd_586a3bff289c3","jd_HINWqSmMupoY","jd_PylNnnXtkojz","jd_uTbMnaFbomyy","J3Jiii","北京00559","jd_5a07f6653702a","jd_wHVQTQVmMfJA","jd_62a91316307d7","kissboybeyond","CAO847582","jaxwang319","jd_tgsCIccmCfYy","dlgsxzy","jd_uAxqWsqwUXOI","mizhdi","jd_6285bc4422898","jd_lNjBwWjAliuE","jd_680f88fd452d3","jd_6849eedb3e07c","zld369504","jd_SwGrnLiCKdiz","jd_6e0bf5f418f3d","jd_617af0da1efa4","jd_721cde6019492","jd_CgSNoSSyARbQ","jd_6a38a61bd00a7","jd_6005d7bcf59a0","SKT_youzi","jd_7dae074144009","jd_537b9e97ce0d1","RonnieOne","jd_46f9bf4664f22","jd_4fa776f8c4a90","jd_52d40f5a4c0c6","jd_ONsMGphVprtB","jd_RdaQNCjRxUvd","jd_426b3b8fdfd40","jd_AAWseCSsuWRq","jd_MGIfRbnNqPbq","jd_51ddeee310100","jd_4814a7ccb9618","jd_MDzzMJEhVmpT","粤U黑户","jd_7131f93e6b63e","jd_YKeivmloFTMx","jd_CjoCymXIKqCm","jd_717e480f2d196","13438623013","jd_76c616fc7d02b","jd_RgKmrAaoNByG","jd_iKHeKxmzZQbu","steve小淘手","jd_iQBmNeBgbWnv","dongxb1980","jd_qTAGSGbUGWZy","ddhy088","13530877883_p","jd_4fb388398d496","miji1202","jd_7ad1950ec7c98","泼壶大叶茶","JRSD_pGQGd8143","jd_5c88797a5c302","1560501090_m","jd_6c5c806701cac","czlycpf","jd_6ca7993e48d4a","jd_aMSkxswGBTVQ","jd_5a7171307138c","jd_7091b3e972f83","jd_qTJpoGhWrmEV","jd_vJcExboNXjyv","jd_54fcf86a7953c","jd_qUrDuWBldPgg","jd_5b07a1e86baf6","jd_66eb76f368299","15827657832_p","jd_755ed8e077f04","jd_KBYGrEwpeouY","jd_arYiEnhBiDxr","fat32xx","lindanhujunhui","jd_473a872a9c566","wdNRiqfQEtOstZ","q947580181","jd_629bc43c8c037","jd_6e2822e30159a","jd_fuWMSuAYuEys","jd_6e9f46892e570","jd_64d861cc9674c","susu2020a","jd_gtceYcXEHLck","jd_VUplBuKcSMpP","jd_zJYpFIKOBvYC","jd_5cc44b3b522a1","wdKNAXbmOtkeok","jd_49609939bd2c3","雨邪天","13564237216_p","jd_627e9181c96b6","jd_48759ec4c4075","jd_losIAnEQdkPC","jd_UmKwrxDvcvUK","jd_4e2e376d1fe50","jd_7b89ca13c6871","jd_qBAwpHiIBNPV","jd_65a8bce5bc9be","jd_42193689987a0","jd_4f54808a13c78","jd_4b0ca4b08c61a","13466576946","543323001_m","思绪随风2011","jd_67a35b834ac2e","jd_QOkJtEKpYEmT","ludaxia_m","jd_4d32c7e3f64f0","jd_78670d68d2b40","jd_49ee55e2c2019","jd_7e5d192f2dc81","23236740-21190494","nxramadan","13657633785_p","jd_VTARVrBbQKBw","jd_532d47978acc1","jd_77c08c58de2d7","shoppingjd2017","jd_lHTdWzeCQKRo","jd_emFpgYqRCJGp","jd_RDzAqQVBLrFK","jd_5ff02ba9835e7","jd_568f83db69edc","jd_569a0e2d44b4d","jd_IPiJTuBmOwLm","jd_5cf8244cac0de","z378443141","jd_WMiUSUuEZmAT","jd_wnvgZDhYCugp","13535549845_p","jd_70c3415850a0a","jd_kPIHvExkYoEN","xiaowx2000","umena","阳光男孩楠","jd_60736b370a0dc","jd_40068ff6817b2","jd_5b863cf6f8754","jd_7e6b42b66b5cc","jd_ZNbAvOMdCNpO","jd_63b502391d852","我买我寂寞","jd_HthZkAYRxQvA","jd_4ea5d2b47ac71","jd_4f40e5a77712d","jd_4d29f2505d9ac","wangxinlei","徐艳275295","jd_MJBZujfViUvs","jd_4ec03d857ef13","di908","jiannanyj","jd_79dce39ad868f","jd_602e9f01013c7","jd_4dc3b76054401","jd_53e06540f75cc","jd_XJGLoMkwNhPU","jd_48ebca52b2307","jd_5986ee9a6471e","jd_qVbSExTCpwId","jd_4a35ae5defe81","jd_eZuVHClRGDAz","jd_4e2f0c24a8f83","jd_63a3913882fe3","RMSProp","jd_tFoOHgHNELEM","18758196296_p","jd_yUamfEpuojDL","jd_YqsUANvXnynw","jd_isVqSXmbotof","2213531641_m","jd_6a9effd057e99","jd_78c8ee27302ad","1581577-14379854","yizhiyuan66","jd_749f84551696a","jd_UGONWPPBwmxo","jd_7e1686880b88b","jd_6e7cdb79bf671","jd_493c7d898d3ba","szbfbuy","jd_65d36303f68cc","jd_6eb3fb288f71a","jd_zIkalrQYxUhk","wumeng324","浪花陌上","jd_DRhbgpHeYMmg","LiGvran","jd_PTYTUTrLfLYD","p26620891","jd_7bcb4e9a7f526","jd_IAcaTGCFTLIj","jd_48baccad4abd1","jd_629398ddac6f4","jd_5498c8dea0b87","jd_4ece26cae4225","辣椒面面辣","18300779780_p","jd_6cce1ff69969b","jd_45fffa400e876","jd_7b4a4aa14b936","jd_72cceac4bbc8c","wdYFdYspshecDI","jd_FtiSXDfRbeKc","jd_bWSreGKAkrza","jd_4ee9971b07f95","jd_4b638ac3b5917","jd_566101cc735bf","jd_58e75445812c5","jd_45675bf90f259","jd_YJSccQaxHEQE","jd_680b06c5002aa","jd_6df58e7d96019","jd_55c2c2c79d44c","jd_5c4a68007a024","jd_642e2431284ce","jd_68d7b7e8e6ba0","jd_4e0afc28035d7","jd_rSKYsKCGwvDH","13910120227_p","jd_4cd31c34f555e","jd_7f4877839a499","wjb0821","jd_70cd3eddf08d4","jd_OgxxRaRXCnXq","jd_TPXbBNhiMVcH","jd_7ff43bab2473a","jd_5ea6ddb1deabb","jd_76dd9b37c2262","jd_CTZuvFIINTru","jd_4230573cf857c","jd_4cba35cfa8220","小战飞","jd_6d85f1ee64fb9","jd_wFCpSzWMeiZa","jd_aUINqdbemCsG","yihm","jd_6c77f0b8472aa","1041583740-927874","子非鱼032","jd_jyoCvFgWBrlI","jd_7c52cdac6c30e","tiantianwuhan","xyl956680408","jd_UlTVlwAxkGOT","jd_47cd3b0a925f8","jd_hNIGHjlJvlDg","a619957679","jd_7dfdb73359385","jd_TXBHvENVuFej","jd_UKrxIKnsplbY","jd_eWfbwcMKaiii","jd_6430be6b53d3f","jd_xJmZmWFkkMjj","jd_iDOynDpPjWeX","jd_jQfhLkxDsOue","musicfyy","jd_XqKAnvCHHVtx","jd_ZvnQaATuengP","jd_TICBVGVQBqdN","jd_oEGpGAYxjKSx","无法显示110","jd_6b4fe0c9ebde8","jd_759fe3a4b8f55","高冷雪","jd_79a0d26a58d13","jd_665aa4457e088","kekecarol","qi596877948","jd_4d3851121b2ac","jd_68d78a70f505f","jd_4ccfd18c2411a","jd_7416ed33e0d79","jd_63459337aade8","tande_wang","若涵140214","jd_5b844fd97c5dd","jiangyi03061","jd_65b561900e5f1","440603194-132145","jd_7ab2fa849dd74","jd_rZeZXToSxTWI","jd_ZHsKtPlaeEgD","kelanlee","jd_gvcilELAtXbZ","jd_488f12b8adad4","jd_6a903e47a8de4","21412107_m","jd_438a7f90a2993","jd_qDwgzTIhyEET","jd_dKrPNywMtXTv","一个流浪的法国人","名字已经被注册了","jd_6e2e7e0c48f55","jd_RAjRNmScVXou","jd_7b73464ad005a","jd_455cc94d77557","jd_4e14e8863b48c","jd_ZlJyAbTszLrc","zhj_net","jd_4609f385e426e","jd_6af484451180c","jd_6b35bb2f88e60","6090404s","jd_5e6e9c92a8ecb","jd_NvRyViCzNpOH","jd_coqgIhFPgLNU","jd_55070a7539fb6","jd_IEeqakzzMtwd","colder","章祝兴","jd_58b85a9e1ceff","在家也能购物","jd_5415a1ce1247c","jd_4f1005e5d511a","jnbwanghu","jd_6b5937bfbf681","jd_7741126473c5e","wq5011_m","jd_6e713e6ff4af1","jd_46982649be56c","jd_74f9f15aa2cd0","jd_7f2cf590fb7bb","jd_KdKTzYIQaVyl","jd_56904e549a4e5","1937029690_m","jd_5b34eb1c100da","jd_TkhfOdFhNWQB","jd_43384b49b3992","jd_fIOwYzvpXhPz","jd_6a95bb284315c","jd_RVmBqkCCwprr","jd_nmJFCrlrzqTf","18003267919_p","yu3939","jd_bOztsGABwYZs","jd_vHsWJOgWMTgt","jd_tLtHIHEqYlSF","jd_fMOAShtdVjrd","18781942145_p","287288370_m","jd_vSrWZBkOaXtO","jd_vBBohorrjTcY","jd_TsFsxfMzQhSR","jd_5765bcbea8a34","7899451-72684287","jd_522c874a42e29","micalie","287315184-680296","18703895406_p","jd_53f8eeb4841d7","jd_uYpBBvgmceuE","jd_afOIBcLKTnyt","jd_rvTWAMfQLWdE","jd_FgdfqMWMgAAa","jd_50f7526cb41c5","jd_6cd782f6f69d7","jd_4bc2ae3b1993d","jd_4b1707f6757a7","xsana","jd_5a4b5eb0e556b","jd_EfaYhDJCjezk","jd_6da69891f1fc7","jd_5612145791a66","jd_OnzEckXFvuLK","jd_uJCifFBZYFNI","海得1225","jd_XhcwTKaNRshL","jd_53837c67fda03","640981185-147617","jd_mHToNJHBZwNx","jd_ouXnVjbiQemU","jd_HdfaJTMhOPJK","jd_wdBPhbghAspb","jd_656ba1559cc60","jd_5594db586ee82","jd_598fcc3d58c8c","jd_526c71357aa92","馨梦月儿","jd_60f3ccfca024e","jd_TXRqJlXMdbVZ","jd_wYRchgYfOvap","jd_4410859a3ec05","jd_5bf6587c247a7","jd_WkLeBZpxjhTq","364452329-660971","jd_5af5d9b6fe0d9","alisa724775078","jd_CEMDIHVJokiO","jd_sTnaFaDizSAu","jd_vYdYLIjsdodg","13736187997_p","15651769282_p","jd_nLydhRCJoteB","15897550205_p","jd_cLIrXLKEnsdc","jd_uYPYUSVMlMSA","jd_fGijwamVWXho","jd_4a07872755467","jd_ECeqOukfhyFh","ellenczg","a250465805","guoguo8902","shige0","jd_7416983aa5242","wdNmfSTBjBmXkOQ","jd_4287b8e7c0891","淡若烟草","yhdmm100","fzyfym","wangchuang881214","jd_IbSjcElkeyYW","jd_4f50b7cf233be","217585821-125109","张明锌","jd_552f3c585b3ae","jd_6e2b1b55ed668","18200398451_p","nini0621","jd_ngMkBoyHqpkj","jd_7318e82108da7","jd_gOhUHlQJUNRR","jd_UpuwgfLTahVZ","jd_469703cd3a962","ff542654672","jd_oqbmHSuMYdit","18351998068_p","dnqweqh_qew","jd_EloHkktvsItT","wdofkQuKaPePPL","jd_69b592a0c0479","pan00022","jd_59df0bef31d76","jd_5fec8f3ff489f","jd_5038668034448","JD13868769533","JD15356871301","000dfs","jd_totGuZLcZvOq","吴佳桐13","jd_48568d056d285","jd_uPXfWcCQBjZn","qysmallcat","jd_499d80fefc6b9","14655442-865305","wdfOuORfQzEBdB","海绵宝宝428118","jd_771bd5a1020b5","Cral阳光","ikt_mix_m","jd_DuvuTfumHjSF","jd_4b2c37478d4c2","盛视科技有限公司","jd_43abd81654dd1","jd_4d251fa9f6190","童童刘","jd_LGfnHmPaKKuo","yuanyuan5682","jd_56da172dc450b","jd_qZtKUgEoWQfH","jd_7530e248fccae","jd_4fa1227ef2120","wdWawMwVCEHSjs","jd_43564a367f78b","星空437735326","jd_4a6f7a96a8d9c","jd_EGHUaBBtefHN","jd_aGSzxDlkYJOT","jd_4f51916f55c2f","jd_650cc98bd178b","jd_79ed8887ce9f0","jd_4c565c0fd58f5","jd_nnUwXnmGzQXf","465440016-115712","jd_bSDzPaQlRSiG","jd_DehBdDkHYzCM","asbelivelove","jd_IvTXHEYIuHuP","dhbowen3","jd_YqhymcVTotjj","jd_587fe2e4b6eb5","粥粥520112","jd_efIVTuUepiMN","jd_4e0d49f17f90d","jd_545d14a4bb62a","jd_543a8d00c8c70","261013290-10475625","jd_4ba2c98dfbd97","jd_745a000d837e3","跃跃额","jd_7be92b11b7e8f","pet_virtual_friend_胡皋三","pet_virtual_friend_绿茶sama","pet_virtual_friend_Ainio","pet_virtual_friend_乔治桑","pet_virtual_friend_路遇狗与少年","pet_virtual_friend_特兰克斯","pet_virtual_friend_Talon","pet_virtual_friend_1314爱澳","pet_virtual_friend_丁座的真爱粉"] /** * 生成随机数字 * @param {number} min 最小值(包含) diff --git a/jd_joy_run.js b/jd_joy_run.js index 0249b747..54fb24dd 100644 --- a/jd_joy_run.js +++ b/jd_joy_run.js @@ -44,7 +44,7 @@ let invite_pins = ["jd_6cd93e613b0e5,被折叠的记忆33,jd_704a2e5e28a66,jd_45 let run_pins = ["被折叠的记忆33,jd_6cd93e613b0e5,jd_45a6b5953b15b,jd_66f5cecc1efcd,jd_sIhNpDXJehOr,jd_41345a6f96aa5,jd_704a2e5e28a66,zooooo58"]; // $.LKYLToken = '76fe7794c475c18711e3b47185f114b5' || $.getdata('jdJoyRunToken'); // $.LKYLToken = $.getdata('jdJoyRunToken'); -const friendsArr = ["jd_DcDTMOblJHiM", "jd_553ea3a6ef2f4", "yhr_19820404", "13008094886_p", "13966269193_p", "jd_4e4d9825e5fb1", "jd_5ff306cf94512", "ququkoko", "jd_59a9823f35496", "529577509-275616", "18923155789_p", "jd_455da88071d1e", "dreamscometrue5120", "蒋周南19620607", "jd_620ceca400151", "杉雨2011", "MARYMY88", "13682627696_p", "jd_6777ee65f9fcc", "夏海东12315", "jd_437b4f3fa5d83", "zyjyc9998", "meoygua", "MLHK7288", "jd_42d9ce3001acd", "jd_57650a30ef6eb", "jd_44ca1016e0f96", "jd_74332d1d62a97", "jd_7dbe4f8a40a7d", "jd_4fa238e4e3039", "elbereth1122", "jd_4d9be23908e41", "jd_51f0d43d78900", "13588108107_p", "123by456", "09niuniuma", "143798682-947527", "jd_560c6f30e6951", "jd_54ddb8af5374a", "夏革平", "247466310", "wang2011", "chensue", "1362245003-624122", "wdGefYCBlyOuvz", "jd_412f7eb363cd8", "18311575050_p", "1307976-34738981", "wdgOGLtOJjjbnp", "klhzdx", "jd_5fdcdcb183d7d", "jd_5862fd8834680", "jd_6cd93e613b0e5", "jd_51a64a9da6b94", "302990512-553401", "jd_4078f69a72873", "jd_ewYCRdmukzQH", "13348822441_p", "hlcx86021", "390823571-784974", "jd_79af2bc7a56a3", "15053231812_p", "jd_6f53253d117c5", "jd_5bf29dffa62ea", "jd_47a1c4ad02103", "刘凤苓", "145391572-102667", "yanglan0409", "jd_4b8a70f3b06c3", "弑神X", "jd_59d962a076126", "sjw3000", "jd_4d4def8b59787", "L1518235423", "jd_579b891fbea9b", "frank818", "hellohuhua", "jd_4cf1918577871", "jd_akYbyiXqrIDC", "李纪红", "jd_54a4260ca986c", "jd_4cba35cfa8220", "13654075776_p", "13916051043", "jd_6f9b9a6769afb", "iamkgbfox", "jd_5fbda9be54d5b", "jd_76763ba485c5e", "jd_45a6b5953b15b", "jd_485c757b79422", "xiaojingang_0", "lanye1545", "chenzhiyun2002", "lmpbjs1988", "jd_SmPxpudoGYOb", "jwl19690905", "荷舞弄清影88", "jd_750d6a9734717", "jd_64e37854e713f", "jd_573c9832d8989", "wdkplHVQlgowTW", "wwk232323", "jd_6bfe51f915c90", "我手机号码", "13681610268_p", "ss836580793", "15868005933_p", "zooooo58", "陌上花开花又落", "jd_701f52f8badbb", "jd_462f9229c20e4", "jd_42193689987a0", "jd_7dc5829121bcc", "13656692651_phz", "jd_47f49f22f1dc3", "handechun959", "13775208986_p", "guoyizhang", "jd_677dd20bf2749", "被折叠的记忆33", "jd_FfAnqFVEoBul", "jd_4e59841cae4f9", "jd_5279d593e7803", "思绪随风2011", "jd_62e335d785872", "suyugen", "jd_4e68b48d16f7b", "jd_56b7a4e092e85", "cocoty", "jd_7b6d6e7dc98f1", "jd_63423cd594e8b", "greatyunyun", "4349小丢丢", "18027486801_p", "15207695569_p", "llbai11", "wdNRUvbJItetlvB", "jd_54154982c707f", "85192cool", "jd_60d497271825b", "greatyunyun9320", "ky252571504", "jd_74e60dbcae365", "wdiicnSbYSHWwE", "jd_529a0a309d418", "jd_7be92b11b7e8f", "13486659225_p", "jd_iFnquhpWWAzO", "jd_6e348ece13e20", "jd_6f5b49bb757cb", "znz传奇", "418001066_m", "jd_67ded5748c3ab", "361372-27819972", "jd_5fafb631c98af", "jd_76dd04e844d63", "小鹿Jenny", "00数字方程式", "jd_77a82b603c6c3", "勇敢的小泪", "jd_4481f68984466", "jd_758f5224ee957", "mwb1992062_m", "15975229552_p", "zdj8341", "pet_virtual_friend_胡皋三", "pet_virtual_friend_绿茶sama", "pet_virtual_friend_Ainio", "jd_4915949b7bfa1", "jd_7ca74ed9224ef", "jd_42764f5ea2341", "5317123-63418293", "jd_40a2d9485cbdb", "qazmcl1230", "jd_7ced325aba4fd", "jd_402fe7425fcaf", "95581245-627991", "luffy-314_m", "jd_BCXgLlmxHdiS", "jd_610b3d00928e5", "你要醒来", "338379384-148135", "pet_virtual_friend_乔治桑", "jd_54130a3e282ea", "jd_6169b3411ed5b", "jd_428d930ca56a5", "qq6924309", "pet_virtual_friend_路遇狗与少年", "jd_712bd3bfd55d6", "jd_4e97fe5ca4003", "tommy_he1", "13981372001_p", "129867657-673064", "jd_525d6e7a57e7c", "wdZuirGekSHKmF", "jd_75e1da74980ab", "jd_RVMXldNSQNOP", "jd_5f94da0265e0d", "jd_67ab629be7e61", "13887490621_p", "jd_4e0d529ba3c35", "jd_493918e314b50", "jd_71a220104187a", "jd_vVhhkdUpTkJQ", "gary388jingdong", "wdjQkAbFobMTyo", "cloud_kim", "jd_558ed75f52d39", "15555448319_p", "wdhxZuEvXhhvCf", "jd_72b940be8c0f4", "congcong炒葱葱", "jd_7eb0de64eb25a", "13209558123_p", "jd_53bf7cb6fb8e6", "jd_4fe620f72fa7c", "夏雨的爱情", "jd_47ba82eb392a5", "jd_LXnFHXoJwXkW", "62160785-578856", "醒醒该睡了", "jd_LOEWgvNwQIWD", "xiiirww", "pet_virtual_friend_特兰克斯", "pet_virtual_friend_Talon", "jd_4f7cd5b108733", "jd_NgNWXMVkJIvk", "jadonglin", "玩家卫弈", "liangxuejingdong", "jd_627171efb7c0a", "jd_53bc7a14f64d6", "15809290902_p", "jd_65a2ab73d9aa5", "jd_6edb943cacbfb", "jd_7f7eabc5caf7d", "jd_725e17effb6a9", "蔡辉煌", "voxb", "gdxx_hhw_m", "jd_78f0d6524a1dc", "jd_sDtnONLeHwfG", "xyyshy1983", "yinlang46", "ypqian", "15817094457_p", "fdxwb", "wuyaoxin2012", "明子溪", "henry1927_m", "chamy99", "jd_461e384274c34", "248358330-645106", "jd_4fd63de4a6033", "蜜糖向日葵", "wonghe", "36453197-121619", "琳琅满目cbb", "jd_5b7cc9e532426", "134795344-89911673", "15211488203_p", "jd_6f1f0722f8365", "jd_JmGCpqgpCtqG", "墨明棋妙陈", "pet_virtual_friend_1314爱澳", "1209815-33190621", "zhouhuayh", "jd_6d3cbb8b0751a", "jd_6e00e826f939b", "jd_704a2e5e28a66", "mztvip", "davidharry", "sara35424", "sun5025", "jd_62ce2385bb364", "352834026-406289", "pet_virtual_friend_丁座的真爱粉", "jd_582eecf8d27a9", "jd_49acdb02e8514", "13976911784_p", "jd_uGzohbhFpRuz", "wzywolfgang", "yjbonny", "沧海不轮回", "649297742_327799447", "倚兰椒", "琳琳8796", "snzh2013", "jd_73751adc04afd", "wdNnlMzPGJJKgqI", "yygt1158", "jd_53df36eb204a0", "花开花花落", "jd_611e082213c89", "jd_71e77d9235cf5", "jd_596fd9fea411f", "jd_7277d200aa1ac", "15230573701_p", "zb19881021", "692620136落", "168876810-159969", "zhushidan100", "上自习的猪", "15602231009_p", "jd_5213fd3fd5e09", "jd_6711f97ee4dfe", "44787591-640051", "MisterGlasses", "jd_7b22bbfe1e7e5", "138555963-81748582", "jd_QEVVkkDTQAlJ", "4932713-24535180", "jd_6dce98c07a644", "jd_DUtPtiiDamDr", "wangyneu", "wBm1TsDy3p_m", "jd_6acd3a6cc79cc","jd_444f5c020f31c","jd_71caf6b3ec4cb", "shin_dynasty", "carola82", "jd_AOhLSBLdSnux", "ningbormb"]; +const friendsArr = ["被折叠的记忆33","jd_7557b5f882acf","1209815-33190621","voxb","jd_60c91968f5779","Imnotwhoiam","tracyxu123","jacky_ma","虎贲1937","gdxx_hhw_m","13966269193_p","lxm3719","精神还是病","冬天冬至110","cocoty","jd_7bd7fb4cb6f82","yinlang46","jd_78f0d6524a1dc","wdxDdEiHWGeRxb","lxd5088","281309140","ypqian","jd_53df36eb204a0","henry1927_m","jd_752603c55d5d3","hnlymx","苏素红","hunter5213","wuyaoxin2012","setsail11","529577509-275616","15817094457_p","xyyshy1983","wdZFjkEVSAdaFy","88333498-57398981","jd_6610ed573c95e","wgrid","yhr_19820404","jd_76b37bc4f48dc","jd_7a9fbd6b875e7","jd_717cd34f51296","jd_6e348ece13e20","hqt_1988","花开花花落","jd_5a1329af66692","13872993806_p","chenshijie0416","P1neapple_m","明子溪","jd_59a9823f35496","jd_5b7cc9e532426","知足常乐自由飞翔","tangtangxiaoyue","jd_67c3f5c60aed7","cxhhcn","jd_56b0de7d9f47d","jd_611e082213c89","jd_4ab1734a949f1","354392569-110871","jd_5ff306cf94512","velennhk","jd_412498c6eeeb8","josua","蜜糖向日葵","jd_72311671abe3d","13008094886_p","wonghe","jd_4ba477ae26ff1","1069705301_m","lylflf123","jd_DzskmAWqwzlD","yangkaixiang","jd_592b225e3e263","jd_413d4539c4263","13902581495_p","天涯82301952","chamy99","hnlygudu","4607127-36658554","houjielala","kevinlen","204570195-134844","jd_vadDHUsmpSYm","jd_4fd63de4a6033","jd_461e384274c34","jd_41f7147738121","1147051-91577601","yang20678","jd_5b989f697d6e2","129867657-673064","佑一的夏天","jd_7f7814d692897","jd_7b6d6e7dc98f1","772826997_m","jd_FmcKiIMtOwpC","jd_63423cd594e8b","jd_71e77d9235cf5","ningjingde_meh","188810721-227782","dreamscometrue5120","云中鹤乐乐","jd_57156ec970076","623466-89793308","cq101030840","csmkaka","jd_4e4d9825e5fb1","jd_437b4f3fa5d83","gaohan0219","jd_DtamhJbBfTIb","jd_7b4b5a8207d90","fengduyidi","greatyunyun","jd_61683425167e6","jd_706c8fdab45af","jason7614","shevon85","失控de节奏","q_07","13166644472_p","aady丶","xiqial_m","jd_458825ccc2eb4","36453197-121619","jd_599646a803846","52032415-82431850","jd_6f916d2e318be","pan-guang","4349小丢丢","jd_7d33469dff8c5","q345665092","twogen","jd_6968d7dc24ba0","ququkoko","367210784-17070766","jd_610ec35319099","jd_5d7bcae4e6d17","jd_704a3e2d9c46b","jd_733ee77e8ca16","jd_502948d2b0e71","我爱玩游戏2012","15207695569_p","jd_6edb943cacbfb","jd_480c67e5d8819","limi363","MISCX","jd_7c8a7ad41e0c8","605612253_m","209649430-287793","jd_76d611ba9afaf","873937-50303892","jd_6064c9214e522","1176058947_m","31925640-481429","jd_423b97887f61d","zhouhuayh","雁南飞羊羊得亿","jd_63cd74e16d144","jd_539dc4aa25ed6","蒋周南19620607","jd_7c19732d17448","jd_618297dc33911","llbai11","jd_4a2970c6c6b09","jd_BvfYUytnBqQv","1123034-76073227","rockglass","jd_455da88071d1e","jd_7a4f6e65ca98f","jd_6f072cb5d59bf","hpseed001","tracyxyan","794826119-974749","jd_bUHzjYIiUkdk","jd_4d82dc61d0857","jd_706bb2ae5d924","q373456281","jd_7688619214526","jd_4a820fdf116dd","绿萝贝贝0708","jd_vuJPKtkTgnDy","ceiltop","lhx1220","zjw10wei32_m","怡秋","diablocp","983446382_m","1127157758-394132","754634469_m","1298361-36459413","jd_BeHLshNirani","caibaibai","18666404632_p","3818286-73685755","jd_481a39523f173","84795326-80349196","jd_76bef217859df","18923155789_p","wdypuifGSRbDln","418001066_m","6ird","540206926_m","jd_478f44263fce3","wdudNUlfawPZPg","jd_54ddb8af5374a","哎哟猪呀","qieziting","hujie5592427","jd_704a0d02ed793","jd_IfjaGQtbblpB","jd_68179e65e9fbd","niuming13603880535","wdNKCEOZqTqXTAT","鬼魅英雄","13453395506_p","wdQMkwHgxvotDX","jd_709659bfcd3d8","jd_66d25f1dd3267","jd_iFnquhpWWAzO","123by456","13916051043","scgameboy","jd_5db2a90394adb","Swiss-Knife","xunxun1982","jd_BLiGRtQCzhDE","skypjsfly","akingaja","jd_53f0d5608779c","jd_49edae2964101","jd_41cfa9d67438f","350402604-69748236","zhangshibao","KleinerSou_m","18311575050_p","18027486801_p","唯若linaa","1446025433-328227","龙岩","wdNRUvbJItetlvB","jd_rDYpRlFpvOcX","jd_6fc455fddb72a","jd_7c125a19294c1","陶子72","jd_5a80254ee91c6","zues1","sh19890627","jd_40a5adaba1d38","jd_602fdb17dfd69","jd_7b3e2647bb6c3","13631429708_p","8438837289","jd_409e05dd7cc59","wz1186590331","jd_620ceca400151","red_sc","jd_4ab1e47c65336","18810360626_p","flashlry","jd_482c5a6091198","momometal","1065713-70426898","jd_6777ee65f9fcc","naqahdah","jd_59ab86a736bac","jd_610b3d00928e5","gaolei_高磊","jd_5272d688195c5","wdAcHoxUjnHugr","jd_644d371af7178","xiaobo26","jd_43801d0025bee","jd_7dbe4f8a40a7d","jd_5e94880fc8172","15555717859_p","6389562-837919","98143069-88662384","1362245003-624122","s1762426005922243","jd_5f193ab9b8e45","67057795-179914","欧阳诗佳","1246996-54664157","jiaoay","jd_42b9c11dfb5ce","杉雨2011","734854387","jd_709c349f13b51","18601299756_p","jd_67d8430553c0b","mckee88888","jd_6f71ecea56bdc","zyjyc9998","roshore","jwjf","jd_430bb2e323389","13421288939_p","jd_5f256f27fdcd5","wang0251","jd_665d858a4252e","yinghualuanwu","jd_6f53253d117c5","她叫鲸鱼","jd_fptGRcTOUGEU","jd_4912dffffd4a4","stop10086","i_fun","15102761840_p","jd_795596bd920e6","jd_529a0a309d418","nahcoiii","gznzljr","webdone","jd_5f9079b45d0f3","15211488203_p","jd_7eb57e5ab2b0f","jd_7f704fd7fb976","w1013312320","1396539283_m","MARYMY88","jd_58962922123b5","pxx5707","jd_5f78f4d795319","jd_54130a3e282ea","13833221725_p","jd_481584b8101df","u_754782aec6c69","rzbaba","tygwd","Ctimes","xyl19900201","zb19881021","lbw39101","bsdcpp","jd_5c8de80a4bf88","luffy-314_m","llzmliujb","jd_67728f2eea746","jd_582eecf8d27a9","jd_51b70e5164da4","jd_55bd57b6c24f3","二次元之空","jerson2008","15721420-76490596","chencatw_m","jd_ewYCRdmukzQH","Xlp小麦","czfeng02","meoygua","lf19901226","yqing13_m","jd_5248436411777","jd_5e13adbb9590d","great智圣","jd_4bc481334d276","jd_gjEPUASxyAIL","jd_5bdf6d5da45c6","jd_61c2336346ca4","jd_74e2079316a02","jd_649bd30949791","17766997-548083","5317123-63418293","1920312-45955879","17762160-29337295","zhushidan100","jd_730d14ac5479e","hzh21","hellohuhua","张东旺1996","Askiter","jd_vDmiyakWaJUd","KK小肥肥","yiwuchendong","thankful2010","evenfast","a3253933","hqy51988","jd_4e403ef861d02","samsons","13976911784_p","873990762lin","niao08","jd_dhkcyiaoncJa","jd_CqdFAtZYbuZY","jd_4201282534a91","13692126822_p","谢世林1994","jd_689f156cb2a1b","jd_zkJTcPYkFJRu","26738986","l993716263","wdAmnDnMegtaKV","jd_7ced325aba4fd","jd_615fff14711dc","only25133","jd_61890bca936db","段小亦","jd_525d6e7a57e7c","jd_4f402c0bee353","jd_76a4259c8206d","jd_xcyHSXaXFTbn","seaqing","jd_nxVaPTmSAAPU","珠珠12","jd_6fcdc333ac5c1","10603954","srmlj_m","MLHK7288","children98","jd_47ba82eb392a5","jd_57284ea606edb","jd_4686dda7bc5d9","771091731_m","234140280_m","能蟹仔","smallbai09_m","jd_4176ed4f85901","60648497-286055","testmt","王亚菲lavender","jd_570e6894a5b2d","tiandongxv","jd_567d1d2d1d664","jd_4239b0a66acff","许如如","jd_738909f174875","lianhu7847_m","mystrjiang","jd_7f030ab776354","20068875-87628738","lonma","钥匙扣1996","huangrenlang","jd_4f7cd5b108733","raywithyou","jiangho666","chen132660","jd_5d8f0fc00d759","wdgOGLtOJjjbnp","yygt1158","1441581416-358048","1119741-80288729","15014100494_p","jd_pPnaZZNyzPxB","做一颗潇洒的蛋蛋","wdyklPvjrAfZtk","jd_617a7045d137c","Cain阿栋丶","39013455-723506","莫名之旅","wzywolfgang","jd_67c19b6b13ffe","18605665906_p","jd_687ba16ad5950","zealson116","jd_CdidEIVvtAls","jd_5fa95f15de374","jd_7b96efc863012","s1991963835132847","110581676-672140","631818745_m","1713440-94042466","leicastevens","a29739","jsjsjsjs001","75514181-528421","1547302868-391401","jd_5569c1c966877","aamber1209","jd_65ee28010f49d","琳琅满目cbb","意婕1212","25177893-156932","jd_4b514e09c088a","jd_7c7de935d2d9f","失色的星星","lmy812111787","qiuyuke","znlnzi","qiang19880930","13660443742_p","1073736-45428973","jd_572fa744f140a","jd_6e704406efef8","649297742_327799447","jd_4855e5328676e","jd_4fa238e4e3039","lyw966366","jd_6203fb62f028b","locexi00","jd_73055c9e6f28d","jd_xkWKwAWuvyEm","jd_4f5ef31eda5be","jd_54154982c707f","223919087-697191","64313685-323957","jpfx86jl","jd_57a9ce36823a6","suyugen","1382919-75464143","15165515680_p","18717177304_p","jd_5213fd3fd5e09","2894688469_m","jd_63e518e003c10","CYung","cnhzh","13630008207_p","wdnuhkcytHpfUs","srb1999","jd_4b8a70f3b06c3","jd_52b735734c807","jd_61886a502853f","jd_4b989aa65947c","252123421_m","SH13555717","guowen0327","jd_66d8f9fac5f2a","hnlymmx","joyce3703","satjing","小白白白白78891","最小峰","chan4881993","62001345-279873","1236724-862525","buu6","iamkgbfox","jadonglin","smilingpoplar","jd_EOfkGLiryBZC","wdGefYCBlyOuvz","13692255117_p","jd_50b3b7e547626","bobo1436337","jd_6b04659d0d2f1","18340836869_p","青春贵族","2025635-301297","turbo0122","15682785858_p","jd_6ac71801b823e","yuwangzhengmama","13122403452_p","winair2003_m","tristan111","jd_75453074a2fd5","18497592-38261102","jd_7339a2c5379e5","jd_643cced70ebe6","13592640583_p","jd_724efcf8d376a","jd_74b4a8ecb7eab","jd_74334ec5828b3","jd_ZBGOIfCyoroc","jd_7ea541fac2583","jd_KeLOZRMbzhph","金守旺","18027628252_p","175065824-351040","kidoboy","jd_5ec5da518d62a","jiaoanye","jd_407187dc6fe0f","jd_54ef7fa8780d2","aningstar","531136298_m","wdOGVQdkJKYrDC","ducheng1275","tb763069_22","jd_63f9f52454ab2","jd_7ef24b75d5f6c","jd_44eacf6e11a93","sm562145","网海一游","pxiaofu","15971143870_p","sadmini","1339758-16957083","18338750811_p","lie_c","38240968-222359","qsdydi","jd_4e68b48d16f7b","jd_6a25d457db175","jd_7da3259073a21","jd_45af19cd09bb6","贝崽2008","fire_online","jd_427423bdfbc07","39242147-966648","jd_70e0265d9aec6","jd_4b0b803cd64a0","mengkaicn","1094651733_m","jd_6552aa019ab41","ourfree","jd_60c14d350304b","138555963-81748582","fabrictoys","jd_4c22184b94beb","wdoFfhlLvMqjdJ","coyking1989","jd_68622307805e1","翟允众","jd_53a7c9a77433b","25816007-44716712","jd_6ee424ca0ed30","jd_79fa4fcf59516","76652954-88892171","jd_65615c42df69f","wu44520","shuai7cao","15738822237_p","45qing","jd_5b1e588da8d4a","jd_71f9acb100b28","canlin1001_m","jd_54102ea98b5c3","jd_487a00e04fa8f","jd_6b8fd11954fed","luwei900915","乱世飘零109","aabq","jd_731264ec0c2a1","laiying199_m","JRSD_WkaCV6789","adandd","少晖777","jd_7c8622efdc11d","青春风范","zhangxu410119","jd_4a100d1396dae","hnustqy","jd_5f7afb1891a6b","jd_5e0e369ccb52d","hanwei0708","jd_545f052743b8a","417088475-160276","u_7e4d24dcd8328","lcm201314","jd_79c4a300d72e1","小鹿Jenny","jd_75e98a665ef08","jd_6169b3411ed5b","muming88","jd_6843f22961860","jd_GQBQvehxQHEh","flylic","jd_64dfca009ebe7","jd_65e9625354a48","Phoebepai","670465509-522669","jd_5eca0a59832b2","15921888921_p","jd_7f93b6f546343","jd_56b7a4e092e85","jd_47e14b2a77d55","拓云焕","jd_4b601c5470955","ggz13156540246","62088413-340160","jonchen2015","jd_6b133dc8ce984","1361861-65733630","2102342-30254392","jd_55a4ece838e81","jd_64edfe305d1e3","jd_4cef5e8ffaa26","626528668","jd_tHDqWcwGkHiD","jd_DwJMjRWnrKWW","fclouder","wdpYWfrVFWcwnI","liu3412261984","AIGIOFirenze","994409011","439346544-751705","jd_4ec8b20e8de9c","jd_6f7ff0336c231","yjbonny","jd_kbUrAUxUSpzR","jd_4342df118e177","hbz_online","44787591-640051","wdCgWobBexvDPm","jd_6bf2b6376120a","wangmengpi","516187828_m","jd_578bdaf5c9b76","snn626","309373323_m","xhbccc","jd_ZTYdOXlnoAOx","jd_435c8deff4011","jd_796798aad09a1","jd_7febb4f3b30ae","13682627696_p","syabii","lin291203800","最青春21","xianhuaguzi","13717312120_p","jd_5553ff7cb4bb0","jd_4fe4e78e09bf4","我是疯子521","buu5","jd_517f643edee21","tinaone","plm010","zojyjg","jd_4c6b8340dfdbf","katyicy","三等奖疯狂","jd_422a56d05722d","leon_cheung","sonicjuejue","jd_5a8a874ae5281","jd_61d4f1cae4528","jd_nbMsHoTpbXmI","yushuangkui","jd_51a114b4c0531","jd_XlCRXukUZpcd","jd_66bd11bc9fbf5","wdjQkAbFobMTyo","18156012044_p","jd_596fd9fea411f","buu4","enson_lu","jd_60b01a89e1c1d","wdTnkEasojehAT","jay121169","jd_48500999f0ed9","89407275-15330334","蜗牛和风","我只爱细细","ky252571504","12822358-39504983","jd_703c4b109c7bf","jd_53bf7cb6fb8e6","misierwang","w446879031","13575858695_p","bojam","jd_4a4a0076dc217","jd_60b5454a32dbf","jd_4aea340026bc1","10879497-15420789","知浅浅浅","jd_5869333eb1fb9","85313072_m","n123896","wolf5956","jd_69a95c9fc3191","jd_798cc61d77c49","element.em_m","飘雪姑娘0","Moommn","longwu1031","jd_641052cfec02c","whfyyzjs","ye_zhigang","cptiptop","jd_6b1bf6d07ffc6","漠北晨霜","jd_41231dcf5509c","jd_74332d1d62a97","jd_5a62513463c50","18617376375_p","jd_553411e111288","1010961-59479764","jd_746ff1fc52dc9","yxgsir","59265796-847072","152987638-125545","jd_758f5224ee957","风格_舞","jd_5f5c4b5fa7d92","活在记忆中123","老白-B","jd_78a9a7455b0bd","剑舞笑红尘","jd_cbsGelPvzOHZ","jd_658295d82d7fe","yuxiang0826","buu1","jd_SJWSrLeuHIoL","295677090-265550","jd_7ad547237bac4","jd_5cf7aad6248fa","jd_7dd2c3c2aca0e","zkkcool","Yuan20690","6955172750","jd_sVAZpcMfjBCf","jd_7735b26c941ae","jd_4062462eeee55","jd_6f727e5cd0e5f","jd_4288b8c0cd94a","jd_7c92686db6ca8","jd_WfzUcWZJsfJz","18725992192_p","jd_64e37854e713f","playboyvak","hzh2","jd_5f4737a7a6b78","jd_79f72ee059031","69494003-551644","kokosspig","jd_52d2e1afcfd8e","linlin6622","jd_5c89b221b8bce","yp15074223282","jd_5ce55911c7b5a","莫凉浮华","匆匆的过路者","8318476-661809","122294312-396444","13813601711_p","qxhzj","wajames","jd_5f755a2537484","瓶子溪","11800534-358192","十四1113","jd_41687921a5896","MixOrange","qwe424123956","jd_7714cee615371","jd_6c073f8512571","Evine","a981684107","jd_598811fa328a4","jd_67932dce92a3d","jd_4b42520b292aa","18926907171_p","jd_750fd4822f18b","zj2202617","jd_54386fb0fa84a","jd_jkYikRqNQvQt","jd_77cf190fed028","wdTNqBUpAnfNww","希希ing","jd_51530d685f654","jd_7bb2be8dbd65c","寻纶","jd_5624f61c91575","jjchangxiangwu","18989990273_p","jd_44e413aa1a350","jd_mWYhywYlBNGt","1154688571_m","jd_678214ad40850","u_7337f9f4b9ae2","325710413-38090766","jinxiao2010","jd_428d930ca56a5","jd_7277d200aa1ac","jd_6b116f8e2dd43","jd_57650a30ef6eb","5189487878","pflifeshow","jd_720bbd0d3caec","jd_4f08a7e8638bd","18618422220_p","jd_60d497271825b","jd_5457f558bb042","是得其反","157946233-153445","咩料13","519714380-448799","jd_NgNWXMVkJIvk","jd_59acbbc7ca824","夏天的罗曼罗兰","qiandaoniaoren","1319394549-429166","18987201580_p","jd_6c971f75b17a2","jd_4a1baf73e37e6","1255452-23532332","京京之东","17276317-49798788","jd_598acd0f4eb1e","jd_772a1b322ce4f","xiaoyou93","jd_72b940be8c0f4","310709931-743081","tclmym","jd_QEVVkkDTQAlJ","jd_7631b126655b6","jd_59ecffd6b3b82","zufg24","s1719802111150509","jd_49df8780ef7ec","jd_7af5d16befe47","伊昇洛阳","一丨到底","zjm13","jd_68b419741438e","毒藥","16917726-833085","李小圈圈儿","aiqing1350","邂逅康桥","clwyd","quinn777","jd_sxiiBOAhBbvX","95696449-874279","jd_64b634001cbe5","jd_5fafb631c98af","天然10风","jd_kUkPJiqgzWQL","261319993_m","安安Jason","1183047222-157781","1398674-134752","iceshell","jd_739ca793de0ac","fanxin0411","wdNMFNdmIUZWMJt","492607767_m","jd_4449d884571e0","1201438983-369103","18181797763_p","就是那痞子","jd_5fd9a01fd461c","126276367-78754036","何红艳hehongyan","沈阳市gzq","吴豪杰","31525900-263512","77491991-50554085","jd_57905301dffa5","19484230-38382587","jd_4326aa1b7550c","garry-leung","ookamisama","zhanjianq","wojiaowangxiaogun","3425775_m","jd_463395c5244c3","lihao677","18663240833_p","jd_4aeb6e78374fb","Bergwind","jd_6e00e826f939b","jd_6db94355d9c0f","有风吹339","15697746787_p","jd_7d16207404195","jd_4b185c3d62df7","jd_6723ff58bd286","wyhzzqq_m","激情玖玖","月露东方","wdUkGnxktEIlPK","jd_54290b63fb07f","714618221","mwb1992062_m","mk5888","诗诺的小屋","nenana223","tanwm123456","334294291-186627","wy-liziqing","jd_7ec153e32e54c","jd_40c2d97aa11f2","239258308-820921","18670057607_p","lyn053","jd_677b249a3974a","Sun小劈","沫雪浠","826377445_m","jd_42d9ce3001acd","wdbtfWEfBVXBvq","jd_4649e7417dc41","xzc0001","jd_4caf9725d27fa","189546275-921778","jd_45e8fb791d335","jd_7222ca602765a","yeyutingfengyun","jd_787d54754ccf2","kangth","silenceott","jd_7cc10d6eb49dc","半度258","154469502","TYXtyx403","yfli5_10","jd_7e55a8e84233a","wdNpCXMOIswtMRn","tsldh","jd_563019d400a71","jd_6f1f0722f8365","我从传闻听说过","jhzhang_09","134795344-89911673","15923016977_p","jd_6880a5243f04c","18363973309_p","693579911-169711","jd_jtfucaUzAeHf","jd_520e9319751da","80596880","jd_792fab49cd042","LingAlReis","airskotex","1438989-91514255","jiangnian60","jd_43bea928ea235","jd_4695979a5f401","qq121012500","jd_62bb02616a53e","17098906037_p","荷小花","jd_7bf4638fa69e1","jd_6ac020aefcb53","a1243030454","jd_xYXXJHISmkfl","jd_51f13807c196a","jd_43e2767041695","jd_4b6f3216eb02e","connor_zhy","liamxis","jd_4f85f610bc8ab","shangrenxi","jd_69ef0ca053ae8","婷萱","454053205","jd_6737af4a58f15","jd_559744604ffce","greatyunyun9320","se450","在青春中奋斗","喬喬是个维尼控","jd_52f76f01dcd2f","wdFaLKjqpORroq","onepolice","elefly","paradise198905","15435160-669310","cbsky89","davidharry","jd_7f7487326e4ee","jd_758ea9ac26588","wjpvirgo123","jd_4a7729e619d3b","13939639111_p","13510984323_p","jd_4b71341c8ebec","u_60c6d4ac0a547","jd_48a6f6834422e","nastran","15978523575_p","jd_5b5ee167ad15e","moontails83","15899845756_p","jd_44ca1016e0f96","jd_68c7b75ddbb63","18768112617_p","shjohnnyyu","15895616556_p","音乐至死","jd_43ace01d52896","夏革平","190164014-827040","jd_75ebbca8f533e","jd_faRVZpjNXlpT","zhuenhong","814678249_m","jd_484688588e236","气机牵引","jd_76e5cd9416ab9","jd_7a7b2b3be9c29","jd_551d5fd45b8c5","18862601691_p","xl455081367","家伙_chen","jd_54c0a07ea9f92","jd_4bd6b8a3175fd","3336179-64273297","cj960523","dhobi","wdgDJgqoWUYlSr","jd_4088b79f119ab","4049451-28503973","wdNjkEAvXezMYVM","jd_47f8692dc349b","xuhangcboy","宇之君主","338379384-148135","archer721","灬浅笑梨涡丶","你要醒来","13829995559_p","睡睡虫","jd_ZnbkxpqMYfMz","zmz1219","vvti5566","漆黑的约定","jd_43dd8cb3cfff0","jd_422152635349e","shorya","jd_UMuKdVCBUJNc","zfsmzh","jd_68051445fb72a","38945452-997585","sun5025","liketianwa_m","jd_6bbddfacec73c","yunafantasyx","jd_7543c27519ec0","justeven","jd_vgrxCREHXZAf","attack1206_m","mycat0513","jd_65f200e24e81d","jd_44a7830b341e3","jd_56675d7eaf6f7","SinHoYi","jd_4b015a483da5f","wdfxqbtFGuPslp","fdxwb","jd_7c66639b6665d","angelelx","jd_64c4b909c7b5f","jd_439da95527c2b","仰望星空i","Reborn96007","jd_4213224557205","jd_5dc3b00007733","jd_443177c56981a","644496225-142580","wdNrsLDzPWUoIhl","cordimax","187221262-660812","a279345220","jd_491a2ed4c3b12","jd_530d9c46e3fe9","whatisflj","jd_4c10d9cfde03b","jd_62be1458df61a","jd_6b82a02869a07","jd_xlrLEsWvhOsB","erlan0628","jd_7dc0fe631fff7","13981305425_p","jd_51f0d43d78900","2315861-17921873","tianxoo","q911421-911548","jd_61e5fb3855af6","jd_7bf6628495696","2251614-40382459","jd_5b52aa72bedfb","wdNQEviVzLHoiL","Zaxzhen","202986769-305687","jd_5db2383e9912a","a13013061627","jd_51040511e26c5","zxh1293","16682269-752213","总是一片碧绿","jd_71e5a43588e90","jd_5bad8039dff65","vito612","15639059526_p","jd_7929570299947","45897120-96228520","18257398972_p","15652948445_p","wdVuDFvNGaUgFV","sdgun21","jd_YzcfjFWDEzNG","jd_qAvClDcJwKTy","沧海不轮回","jd_644d591749d82","jd_53e5fd6f52940","jd_7e0d0ae9957ad","d864240614","jd_5ed89b7ce9967","白鲨网吧","jd_745760cf13c32","jd_682f1935b0586","小波3210","15211757788_p","jd_486b8d465bdc5","allenqq1209","18679651521_p","273233975","jd_51980f8ea9a1a","jd_5c58258a08a9d","jd_575e215980ca9","huizhuyl","657172997_m","qq6924309","raywithyou1","jd_RVMXldNSQNOP","jd_6691f64f9d2e0","jd_5165afc546f34","zhsn","pgh1984","jd_vEcNvYJWdVaa","865195178_639924244","jd_lhvZaqkjLGfC","自由如风的金牌奥利奥","1009844898","jd_5aaed8c114aa7","yaojiani113","jd_4c86beb711516","zhifeng456","jd_58b6820e30300","jd_60286e93f307b","jd_57b515ffdb510","jd_cEbpyLAiyOwg","lsbchina","beyond抗战十年","jd_662950f7c92fe","请叫我大众男神i","jd_POfESSfcdjdf","hawklee","jd_5663f324ee902","jd_52ef528719aeb","刘林3378","万洪1990","1527481-22088317","sara35424","0595xiaojie","jd_VrAbpeccptzp","jd_441514f6ec548","余晨飞","xx1522029404","jd_6f0eabc66fd25","jd_4fa165b2f7d17","tzqiang820_m","1062912-24882788","jd_4ea78ccdc2dc0","jd_5c04dd7322855","litterjim","meirenjie902","tmwz20","18075061964_p","jd_637d5fbb98422","jd_67ab629be7e61","jd_56786115f6f74","20766711-85882777","jd_wUkcTSUqAhmr","jd_4c6eb75f6f3eb","jd_ogGKCKOOFOns","jd_4e10b9c9b5904","wdoliXXcenHisu","jd_4cf414c90b6d4","jd_4f8c55baf8c19","viv2004","130064561-999004","blue-pride","ly836146989","52599050-24065326","jd_51165d2fb04d9","jd_502a5067ff086","jd_7779bae019e28","143798682-947527","天星右翼","a532624876","jd_WArTJVHWfSrE","hui76706446","jd_6c6e58b939cd5","15555448319_p","jd_69ab145dc7e4c","liaowake","jd_RmVTvMkeKfWf","zhujun1213","tanwg21","xiaomao123b","马小生1","jd_63f7f8213e2bf","1282266786_m","wla_012","jd_sImykvwEVPSS","shenww198018","jd_4e97fe5ca4003","13151002610_p","longleg","jd_77631f361e8d1","柳环芝毛枫澜rcJY","jd_60e6000e14b59","jd_71caf6b3ec4cb","mrright1993","从没爱过这世界","jd_594ad0cf01ed0","jd_4c9c898d3011a","18946259998_p","muqiu6693","19413996-59367741","jd_41c3d07f6c904","jd_6e320c855dcde","jd_520b01507aad5","琳琳8796","闪闪招人爱","jd_5647090a2db26","jd_642ba04431278","kristy00","6662026","jd_OALEHjGdReWx","13630058635_p","18559999915_p","jd_40ae2ee388d37","84259885-479878","126yahoo_m","特雷斯林","jd_657c44752ca26","呵呵2233697","1021974569_m","jd_57dec0fff37c1","jd_66c4d75685c0c","ghkdgns","jinzhuyuan88","jd_65a2ab73d9aa5","dh53128","jd_7f1150d4f0987","dafei_y","邪气有余","cheng.2543_m","yuzhangab","jd_49102ed719739","yptc007","jd_4eb9fd08608f4","xdkkwo","白条51979","jd_6528892483c61","jd_4b6efbdc2fde1","159207267-493625","h00500508","15931990393_p","18668285369_p","jd_7b73b1cd8913d","jd_FlSmtzLArnjN","jd_4ba79f1b3f6ee","逝水无痕5210","jd_4497d33394f55","jd_4e982d8bac60f","jd_taDLolUGRHec","jd_4035e62efad2c","hzn5583","jd_449ea368625b2","tigre1","jd_6791d62a84328","865003591_m","jd_5275787aff1f8","qq6938667","793722362_m","jd_7e92b5f5ead26","13226792609","jd_4c3521980dd91","jd_deGwxRpWehJX","jd_qbCHEHnHWqFL","jd_4b25d04bba9f3","jd_53bc7a14f64d6","jd_4b349b1761a8e","拒绝烤羊排","ziyu123JD","jd_5c16fa30aa688","13259733490_p","ch88885555","jd_60decfa4f1500","goxofy","jd_735dea6726554","qq413714852","13818516956_p","jd_788369680d037","那鸽","wdNNKfLdeCYHkcL","jd_cfNaCjXeLkIw","wdNPxxSYeZhZxcp","jd_468e3ed5a6bb5","zhanghaige0927","jd_5057725c9f913","jd_606a43d37a857","tel1378380","13013314690_p","3260484511","a296081116","jd_6799d77dc69f0","jd_klmYkCbsIszz","kkkis203","jd_5ac18d3b12b9e","jd_666fd71bf0775","creak_yy","jd_526de5623dedc","jd_5c05ebcb69539","jd_izlVApFFVCnG","Magic_Wind","liangxuejingdong","506922247_m","Armingge","6699902a","jd_76051b0a37384","请你们别离我","jd_7d6083e365d22","user_cxi","jd_592e14fd52b8e","fu12530","昕辰","znnet99","jd_7900c96afae2f","jd_78c57e3ad6661","370384850","a1219265712","yousen_lin","jd_PvQWUBhALIqK","302692642_m","zfyfeng","jd_qtZchHmYFTve","virulent13","jd_jeUNSitcsAaD","37242255-478192","jd_7f4594399f6fb","375822054_m","13891966689_p","期待守望","jd_50e35abc4cf46","wdGXacZvfqWEXe","jd_74937b5e24336","jd_7620eede47374","8tender","jd_58d663226a685","84625546-339434","liupangyang520","av963","jd_601d9b094d1ea","kid_xiang","ff0138","snyzf","jd_652c38b0b9637","soonan","jd_52976f6a4c66c","流年vvv","茶米的肉肉","jd_7da9924d92a2c","月光换来悲伤","861078848_m","roomfy","jd_5316c22ddf85f","aiyuer326","xlpeak","melody二友","feydy","jd_78475324f5d55","STONE-YE","jd_6e091eba3272e","jd_79106b4187db4","wdNJSBgkJiZKtqP","13632730648yyxf","jd_580f291549c56","jd_49ce5feb68a68","cwj123098","xinhai901","jd_64abe12e900c1","jd_4cf6b6b791411","jd_56c42a2f51f13","107829941-722354","xuesumin","jd_44fe58de4125d","221702915-827469","touda001","jd_7095659753d49","goukey","半克拉滴钻戒","jd_61dc39a38aa4d","18916999493_p","SATAN-T","wangyajie1963","scorpio216_m","jd_67b0aaccd7e6a","jd_4f38b6a0d818b","jd_65572d1fcdc14","gozhushi_m","jd_5c05b2e6271ef","123183927-550653","hiboniu","q449800-850542","jd_733c16f6f72bb","jd_6ab7bb1c8a902","G3niusJ2c","taizhouren2008","zhouwei229","903346646-368454","jd_74e60dbcae365","陈米佳","lunjiejli","jd_xQBHwbOjBdjl","15923293882_p","jd_492794ea2e599","hyrpg","jd_5e5138fe53cb7","fanshilin1991","jd_420808093be6d","11334431-400737","jd_5c1757c6e4a79","jd_4b416b90346fc","15917867579_p","licht2011","jd_RHglIFwUkAnL","jd_6974fc70b1795","高金乐乐","160413278_m","jd_6e058e00d3653","jd_AmeWYyBBdNeo","jd_75c672c3bbeae","xsn555xsn","jd_5e407c354ae8b","jd_636cba57cc714","jd_6d8d53fed9a7c","皮皮狗-26","jd_7006e31201d06","1800179922_m","xulichen01","jd_67ded5748c3ab","jd_OjxWiVJCCkdR","jd_72cc855cae3d2","jd_60e9fb3130acf","jd_daGwqYyvhnEZ","将领_","libinxwz","jd_57a456c2a8d87","jd_4d9be23908e41","jd_77f184f0cb70d","jd_5e624a60f763e","DaZuoo","jd_4855c1d54ce69","jd_6032c63015e8f","jd_4d910103ba4b2","jd_412cff87108f8","jd_pFfJnPGlnsOR","醒醒该睡了","小mi_ye","jd_4aa1e42820f8b","jd_KayoOciBboky","jd_46d0e1095ab65","jd_MZdyCXSqcsFN","464715979_m","q1271852263","蔡先生black","jd_60c684addca07","jd_4b3e7e0a47a4e","jd_64bbc9e3f01f2","62636-91929068","446451453_m","woshishuih_mmt","jd_76fde94dbbfe9","jd_5a82b7fa72dcc","jd_676fa125d925c","jd_5b193b724cdfa","brad214","1256156-69297975","18697971974_p","244037992_m","waterfish007","supperhxc","jd_mtAXbJBBKbEB","Z15900572570","你猜我是谁582","ecyduo","vicatorry","zglzwqqed","胡子38382","jd_78509c68fc827","xiaozj","1427945-96915431","wdnZSOzTusddTD","伊爱辰","dukduk_m","jd_nLDQyKxfQbMe","jd_48e9543a46cbe","jd_56848d5ef1478","jd_6e85ef0667b3c","jd_7ad1bc310f7da","qingtingv14ai","zzj0311","18273662246_p","白金米老鼠","小肥猪啦","jd_5d83afc4eed2a","jd_6874b27afd1a9","jd_5e54759849a12","jd_5759e05076693","jd_6597cbe6ad067","jd_78de89a69eba2","18375791679_p","jd_531fdd4aa9605","jd_5fdcdcb183d7d","18782045052_p","jd_64f39de38a8a1","13827001500_p","jd_pcWPHQCnBMQE","jd_51a25bdac5aa1","skyking1027","jd_7190722a6ad58","李俊瑶程","jd_755c64405b02f","duandaxei","8704937254","zhu752332924","chensue","jd_621bae6a13328","jd_71872fb19e970","jd_672a693e8aa19","honglee630","jd_5b5088fcc78ef","jd_73521625bcf1c","jxray","jd_68b197b676f3d","jd_619bd224b9a6b","志伟0227","jd_582e3922c1926","jd_69cf86052693f","jd_5fd89f1f8204c","jd_XnUHXGCpfXsi","jd_53fa49f87620d","18652508330_p","15730703300_p","jd_7e1bb738fe141","jd_6db358197e139","jd_tSsuRzRUBLHq","xiaopangniu","wdkMrAJiTcbQPP","terencelc","895021591_m","09niuniuma","jd_4f88012a8127d","q583443939","673918477_m","match629_m","xueyinhan","jd_cgHiXzkDOwKt","yuntian123456","jd_5e6a1765478e9","jd_7dec4cf962865","jd_JBINKiMrfMpl","90088444-400044","hi_bbis","1014376181_m","18813176889_p","jd_7d44fd288c993","jd_58ad3e4ac8fee","syre1027","shifangkangbazi丿","smileleeff_m","jd_757150c394a0b","cpring","jd_4c74b91e645b6","18963469357_p","jd_5da4074634907","bloodgcat","jd_4542072b6fee1","撒旦懓魔鬼","jd_621c2f8b44bfd","jd_7b1a0501908b8","在下-小强","jd_4019a6370ab8b","jd_44907e6db5da3","wdrhMiVmMtAjSW","jd_66f56c4f82a70","jd_49acdb02e8514","jd_78cb214da285b","15555583331_p","jd_51e3613b6ca90","jd_7dd8f63fbf4ac","黄笛LGC","ninja2002","5930793-424953","ivan77","jd_6cae506bfbc7e","jd_7f9a0cd371f08","957170117","jd_hYJsKTWqsynl","jd_5ab71ffff3520","1345973-74560455","jd_6aa1471bcf9e8","wduhTTIZuHOIue","443469545_m","13018403306_p","这把有毒","w2437_m","jd_5d965f345c0ca","jd_7a9182718876b","13624999521","孙喆fiy","grand.tay_m","jd_5aa14a94c4356","jd_LEgSjeKkqEZR","jd_74a87f9bb1f86","oox_x438_m","Maxduke","jimutt","sming1021","gjq2xxt","jd_KDGSVppshJAm","jd_6440760e31e05","jd_5f3f1d8bd85c9","jd_4374bab4a7fcd","jd_7d348b51c1fc6","13486659225_p","jd_410529331cbbd","暖暖雨汐","jd_5cbf1976f2f35","abcllnn","jd_712bd3bfd55d6","永不言弃2217","jd_4bfe6714d14fa","jd_488ddb3c91a61","fannuonuo","x957071670","jd_6ca71f9ef1069","jd_7b3627ad628b2","jd_6db1167f23796","18111245713_p","御天神暝","希希ii","落雪飝飏","cs9420","guojunsong1","jd_71625f9c5c7a0","jd_5b8e716e3a576","jd_5305b4044a022","505481866","奎哥的号","402180640-614339","1250985-89117371","nnn1234244","keneyzhao_m","jd_64367dca458eb","jsntit","jd_7ed6ef33a93bf","ShineXun","jd_7f10736cb2d3a","ljlthree_m","1874801-93084488","jd_BCXgLlmxHdiS","jd_77ea0e331e030","jd_6087ed12b9c0e","jd_41c107e3616ec","5365188-83193887","jd_684d3732a0b6a","jd_70c97e3f53b18","xiao060621","jd_vwmKXrDCBOwK","jd_74c681c26f23b","jd_7f384aadf37ea","jd_7e88de93eba9c","jd_ilQcjusqNNgB","jd_5fe04df5c56df","15390199631_p","jd_7cfc9fe533194","jd_46176564df070","tuzkizoro","jd_6993b816fa7d9","18770074521_p","jd_4a3da8e8c3b7f","287171872-610761","jd_6947ee8d0afbf","jd_TwcdQjSJcltR","JKr_Remember","jd_412f7eb363cd8","jd_70e6e426eee19","15622768102_p","24702929-522916","d48568530-127655","a炽热","司徒韩晶","jd_71ae770e57031","jd_68631623718b1","jd_4753a6bf20080","jd_612831f46b320","jd_6201a07f25ca6","BlueIC","jd_43c1c0f6c48db","247327557-539345","passwall","15988636069_p","懂路的路痴","jd_59a85c5ee65fb","jd_58402b5221754","俗人曹","jd_50a4c04e07be6","jd_AslXbONUZCzk","jd_7298f4902ed41","jd_6d94d9a782f17","xqy2216573638","jd_73f0f153d588c","jd_6011320a7d06a","14746475-373424","酸奶二块五","jd_61e20bdc4090b","jd_590c144a0a387","jd_51257f339097f","8017869-62229551","wdLeuRAzdXFZog","jd_689a27cc1514b","sntoyce","jd_507da77dbbbe1","jd_4e7bfd7ae9c7d","13660052529_p","jd_4bf808054296f","jd_533dfb9c9e8d9","jd_48b36a2f87840","13861622064_p","jd_4fdb499d0e89d","w13146194391","jd_eWOcolDkZdEq","jd_7ab5636ba8e24","jd_624e9fa7e8ed1","jd_52bed7ea4529c","jd_56fb0432b7c85","jd_672a1f8cc430e","Hey张怪怪","jd_kOXlDjFcrsaS","zfb100","jd_ZPDEOYeUqQBg","13632336078","jd_fHryrnvsOudi","jd_7b0e2496efe68","jd_435b9881829b3","qq289570529","lh605546897","jd_7bfdd1eb7b1f5","pandeng2911308","84575819-40958649","jd_588ba691c41c6","jd_6d5b2534581f8","13958985606","jd_49aded988b080","jd_46fb7489e833d","qiyating1123","ruluer","jd_65714820fb497","jd_49e4e965c7db6","bugoa","gg萝卜头","18381669650_p","jd_64cfd25e67c88","15875635324_p","zcty12090715","LIFU8023","wdNnlMzPGJJKgqI","jd_404ff06a14d15","jd_4bda85c918e45","jd_5bfddaf1012e6","tangbolang","67935715-998328","jd_6bfaaf566a0f9","wdzQqDdOxFaLNQ","18621885911_p","jackson_kk","jd_759443190c3ab","xue2ye","亲亲的么么哒","七夜传说88","126084692-326034","18936848-81662393","jd_MlKgObkHGafO","wdwhQapzBAKbto","15258385354_p","zyb7421266","CJDARTNELL","jd_7724cd827def7","dengyulove","jd_66f244830f126","dukelove","liuhong69","jd_KAzXENCJhiqB","jd_5abd929027ee7","893646264_m","jd_557d9f4620c47","xqchen217","jd_7c65dfbd12b4d","ku4izi","jd_4cb567d7010f4","jd_627171efb7c0a","jd_6ceaceec974b7","jd_mOKtcKfOAKpE","jd_JNSoDMcMDpTC","jd_597a3b5d04835","jd_4eb0fa8480dba","820049808_666581569","y771825894","jd_7e653a47f9517","jd_5d7e771724d98","jd_441820f540554","jd_7604fddb24aff","jd_700809a11a000","156026692","15891082591_p","jd_7b366ea8b1f0a","jd_733430d642786","jd_48849471d9f30","jd_438d8d34c9bf9","jd_71768a799f5b1","wdNBGXWLviwLVqY","jd_OAwfCarNwFdX","jd_5342588605bef","422974264_m","rrheaven_rock","eyre炜","jd_6a2f663f30d7c","15602231009_p","jd_5e455c877faf8","jd_62a3c894fa502","jd_66112a6a2b7cb","jd_6bbbcd7f17725","duwei110102","惠州lzy2002lzy","苗利芹","jd_5c3b0e41c5b7c","13887490621_p","庞文梁","jd_lcEkWMJFTeJK","18557701557_p","jd_6f5b49bb757cb","jd_6495bea3da0af","HIFI追求者","wdZBDStGumNmlP","squarer","jd_69644e3f9be0b","jd_5c231005c6cba","13620855619_p","jd_49fc98f151696","jd_4f4774d45550c","默诩凌之","jd_75d8106b76032","tzyandyj","jd_4f61692df6b7d","194676274-251741","xialier","jd_566b6315f1f4c","73136391-992545","jd_44545d3e27d9a","安静的一束光","175553211-366908","mayczy","jd_7efacb2393e42","jd_JaCwUulevagz","DIPIAO","Hiccup90","jd_72eacc7d2a685","980947-35891789","jd_5427f5ef62d67","jd_416a7fe8281f9","zjailzy","baibaikk","jd_EYGAoRDOZmQj","jd_YkKmOqEkAgTs","a153694630","jd_bywwBhKdwEkG","jd_75d933aee860c","dancerking","jd_ofOIlVdKOhJy","198060266-662986","JD643602820","jd_54497ee7afe11","王林锋","rhw2008","15155541404_p","moto328","jd_719b3a4ef97b7","jasunjiao","2099816-74234682","siryle","jd_75068b5600f88","jd_6e950080ab0ad","jd_688bd8695b5d2","516785654-654059","jd_523483b7fc404","wplqy","goghsing","jd_636ea35fd236a","jd_5cfe84e7722aa","jd_6676b47de322b","jd_5ccfb03a4db98","jd_7fbd2e6b3567f","cfyycs","attand","jd_50e9e5f44d80c","123418103-45951209","jd_5cdb19e38e506","hhxs1987","我不是戏里主角","jd_675f6a93cc4e8","wdFFIbVnMcfMMU","jk76cn_m","jd_5e42b1d366cf8","jd_vHfMRgLdtuQy","1584894542-428504","jd_7778cb8fe34a3","jd_4e2dd15c45f05","wdWdUeWzUYMOUv","eulancer","小小胖妮","15617935830_p","912825-90223984","jd_72a20ae5343eb","shine0610","jd_ihSdscTKLCQj","jd_450d272d0a640","jd_6f4cd1ac8d16f","jd_4481f68984466","chaseway","jd_7fea7192d583c","w1763530414","jd_7b7ac04e20b49","jd_5b9a54f4563f4","ljj6160868","xiaoyanli1_mwx","shiheng198978","14789775928_p","75771610_m","jd_jsvKLaPEnpIC","mw418","云永悦","jd_7c1225034882e","jd_43bd938b155f9","wangmi5200","jd_715b857664a9b","18576527172_p","jd_52b281c43b2d0","wangNelson","jd_599f19d6a75e7","jd_7cfaa1ba9a3a0","jd_761a6e749b79e","jd_xTgAOMKpYHKq","jd_4cf14bc183179","15195905036_p","jd_5fcea23dd7681","rayclm8","zhouchenwygame","jd_734379ea66365","15210740264","jd_5782dbe55f283","jd_muutxdMGQiMo","xtuyaya","所有人都过来","jd_76ed1d74d9ac1","jd_4fae64baea6f7","jd_GocplKzKvbCQ","CCH18606270957","jd_51ddffde4e79e","jd_7aadeb4bdc002","jd_7eba33d62c77a","haifeng861130","15167363744_pyf","jd_5757c6b5dfac8","jd_417325156d118","wangx545","jd_6018860d5fbf7","jd_4bf97284cfefb","aa4929101832","dbvw9999","jd_646bc5914fe95","jd_6e939631297b4","jd_402d74df1f549","jd_rHEEcziQgtYy","jd_54e4438fe1f26","keithcat","F_V_Rockie","jjss5202017","baiyun2015","jd_78545cddef2c5","18268206939_p","jd_5f50ee837a9d2","jd_4222ff270b7e5","lovesongxiaohua","jd_SzXFLJcfatZm","恶魔情枫","4890655-79634972","jd_627fe953c3278","jd_42f559e913b13","哦呵呵0903","jd_mLmeihiahCCd","jd_783cef63f7682","小布加","jd_7a51becb26cad","amywang0911","jd_4c1a20fdafc75","jd_7b70793ab18a5","jd_ZYTRjRXPetMi","jd_5f5cf6cb17d6d","jd_46f7d2cd9e0bd","杨宗杰1990","m360110075","fprmyssnl","ryanchan2012","jd_NlWChuIEhXVJ","jay4440","jd_75b251d9402a6","jd_6c78058c57c9b","czxJAVA2009","jd_7a6b431d9fd13","jd_40c40241b8e7f","145876250-693695","atclever","jd_4821b9e802bc9","1224288281_m","snowybest_m","huaxiangzh_mkg","w467945319","jd_778a2e98089d9","ccz_yin_m","jd_6bf7a52f3dd05","jd_58aec93f912ea","jd_42088836bf3f6","13858658233_p","15857181529YU","ll861016_m","wdsyHOpTvZUQNP","jd_65ddd84bef708","jd_528eb0a33bf3f","jd_69b968958ebb6","lbdg_m","jd_76a8d7348952d","jd_45f7f3273dc70","jd_6ee404db8dc0b","18815276480_p","db137","jd_752e1b56bb824","Evine007","18838153482_p","jd_4ef2fc79c7154","1576422066_m","jd_7587637727d9f","will0306","952752-51694655","jd_5862fd8834680","jd_63e5e43c3b39f","kucaoww_m","weiyuran6","jd_53007e9368fb8","wdOMRqHPFYWFch","jd_7477ce5282b6b","莫名0","jd_7631d4ddc20cb","pinkolt","jd_7d566d4a6a445","jd_6c02007f23679","893033881_m","w8888","清君-星源日然","jd_6bc972197a163","orgccav","jd_5e145ccf3e732","jd_700c4210d7db1","60683112-398541","madrocky","2002965929-179447","jd_4078f69a72873","jd_5d145cf29b992","jd_458913a66387c","wdfdKQbDvOAmGP","jd_597ead3669ebe","13729145110_p","神马ALLIS浮云","169900155-36891837","jd_kMJkZENLfdOh","zjhaiyao","jd_5bcae65e97491","986653558","18964841629_p","jd_4a0ce7db33e7c","wdzYutOZYKvbfc","sdbxpjzq","jd_nriDfhUJbIhU","1277657-83182336","Harford","wdFrxwyePSCjHu","jd_69d191267940e","1795281-54156776","jd_4ae862cf22092","1860811757_m","jd_53ccdfba8cf74","wdldYsaREWlGPm","jd_4c13651086b7e","13738103406_p","13620451823_p","没对象省流量i","jd_649b415eb3f4a","jd_EpdGTgXQKBEq","鲁燕峰","危机分16","15035101162_p","jd_427e919ed07d5","jd_6342613e8ffba","137928456-376172","jkhaha18","jd_721cd893be231","jd_7cd83e13713c0","jd_511afd754f2e2","jd_6878fb87d2c64","xiaopanlei","jd_62c40285590a8","chyw1986","耳东亮","jd_KIOnrmpdewfU","jd_63a44e4400301","qiulinyan1973","txt_Ch","5347491-61357630","hongyunfei","jd_LhavANDOhvlI","for_Mr","jd_57794a99939e7","jd_LsgBcDVXoLOk","15652112521_p","jd_ayMHloulheDh","晨枫丶","jd_4b3f02bbed420","jd_7955bc3d1af49","jd_EkRHjdUAMbQT","晟泽","低吟安河桥","286330110-272887","jd_4bac0adbd1f52","在线临风","不给糖就跑","钓猫的小鱼664","2591326-14389978","hua.flower_m","jd_476bee47cb6f0","43738896_m","jd_NTCGSFZfGiqe","jd_QBpYtjanvHYc","XIAOYE997","jd_40eb2c28cae23","aketou","jd_489cfdfe28c8d","jd_617fa756b427c","jd_IhTyLiaftPxF","117328158_m","夜魔侠啦啦啦","a4535473","wdNEQoEmQMqtlrY","pinkings","红叶散落","13069469-22800260","a66xr","jd_58306d692a0cf","jd_455dc96bac8ae","witrolon","kyokori","jd_FHjKAFvYdRen","jd_767d93e91bb07","13911001774_p","wdNxLUPCXLVHPnI","jd_65287fbb937bb","Fate-Avenger","jd_xOhBrBrVdtMv","1734814-12413820","jd_4fffd0b6463e8","jd_7c5f7729e0240","13833391524_p","jd_4e0d529ba3c35","wdGySGhFZrURuz","jd_4d6c5c89a8e5f","dark-rain","jd_DichdpcjMKBF","kiva217","jd_4da58e437b3d9","jd_550eeaef4fdb1","13348822441_p","darling清水","jd_5df2c613641b3","jd_5d41c10e43fbb","jd_54ea73a0113eb","145391572-102667","扯淡199108","jd_4548ad85fb251","jd_76dd4ae369194","jd_51b7cccda274d","435946920-690850","烟雨湖畔jjy","15888374163_p","ajdeng","gsnm","jd_64dc853189da3","67805855-555963","ttyycool","jd_7d6461c88a683","jd_57b51a2927109","jd_7f3dcc7848108","jd_664e7f7485b91","jd_53f7db0de7e69","jd_6ba2d6923fe35","过去别想","jd_54f646fa33e70","jd_6966968647c00","13772136850_p","jd_TzekLakCbqDk","568692092_m","jd_4308a89a39ee1","warsong988","primroses2006","jd_6711f97ee4dfe","jd_68a709f18bcf2","jd_6fae2af082798","jd_7334194f7b208","jd_5bebf5a843063","jd_pRYyFBIKzneo","jd_5a4d5f4fe7d47","1051772261","wdTVtSzuxXBgYO","风之呓语","13826069792","呵呵163","简840956042","amw8810","allin_schroe","jd_HwNPWVhtAdQp","jd_rERqxEdkyZPV","aliwap","jd_4de6ad9735fb8","jd_5ff28c9c72017","jd_68b37c3a98eee","jdmajnin","jd_45951e83f58a8","jd_pFETgNsfdWvD","jd_5cadfc91584db","z8269126z","jd_697972f8645d6","hackxv_m","jd_6c0fbe7f82991","toms12345","chdongsnsn_m","jd_5f22caf692adc","13588108107_p","ksky","jd_784901c8f15d9","yanglan0409","jd_QeGjkEdcwips","jd_7428a45c8bcd5","105987239-792754","jd_FCAZSFyhJHpP","18501637983_p","jd_67215233d6953","jd_5b68e4fe8c0d5","晓冰水","我起的是个好名字","heeroyuy7","逝晓风","seeleangel_m","卫东羽","jd_74a0c3120167f","jolly2015","jd_47acd6453dc5d","jd_4b632808626e5","jd_6828a3b2ee501","liuguilong0831","jd_527aa78c22f58","jd_7679ff9cc6898","jd_5f27362b52860","jd_jQOhgRKFcuHY","jd_799f6e48dfefb","jd_ihfWbMQahBGW","jd_nTJYvuenvlOP","jd_7778cd92f9b89","jd_671ab9fc2dd12","bobogdst","195225238_m","jd_69b34a0bfcf29","jd_rxuGsfdGAuRz","18316693779_p","jd_71cc501293331","wdZuirGekSHKmF","jd_7eeb782011b6c","jd_7ade3d59a402d","jx_wlf","jd_56e6347aad4eb","15960272719_p","jd_77f0376edeb6a","jd_76652310e09dd","jd_53126c13b3a69","jd_5af943dd517ac","jd_6f80f1e8ec8ae","望祭sxm","731940","jd_5097a54d185b6","39441141-62909649","jd_423c4654a6242","iepngs","jd_75b4023529511","wdiJPlzmjnZUMu","天道酬勤78988","wdBTOUerZkFfwZ","jd_fHGDSpqeEfOk","jd_51930d273cbf0","jd_612ba91a8be84","jd_7457562a19e4b","jd_ZHngXEBdnrws","jd_MrepGnGgTRNs","floydxue","jd_6e790dd387376","hf97542","jd_4f8c4f8d478cb","quanjiangbo1020","jd_707964357756a","jd_xQYKTCuJDGiv","jd_66af883732053","jd_5555ad2bbca27","宠爱一生私爱终生1","andyjiao15","32137491-42403785","524042080-134216","wdZSsxWXeaGfUv","jd_47bf16db0a75b","jd_7c3158b886bd0","jd_529a8c5ad1686","x020406","jd_610fc7687f42c","jd_4d36e37861229","47700674-211193","jd_58cc362313c69","jd_OLsCNniRXedN","jd_tGIGndcwzAVL","上自习的猪","dreamaojie5200","wdHeLzwqDxNakL","jd_76cb2ea731b4b","13331391244_p","Lee520593","alex300414","Vurtule","liwe2680","jd_5257aec29cfb0","zhanyueaqj","lizhongbea_m","jd_YBOmxIPqVVbn","jd_sZCwCmoyKIFO","13125034370_p","yangmouren","jd_638b2acec874e","叶子树","jd_yXtkWLlMkmny","yuolr","jd_ClRBuCivksfQ","jd_77c817e1791c0","jd_598943267931a","wdsqEcwhmiEoHv","zhangruiyang","jd_77dddb1c92d73","mrzhu79","8906050896","关府二少爷","qwe12345678497","w253565017","jd_6cbec2f473bfc","jd_kZXVnlFtaIFQ","zooooo58","Qq623612125","jc178414093","上尉先森","nana蒲公英","15002426366_p","陆骐超","jd_618f1a0f07b72","jd_58705b37a65e8","13580351498_p","flh1985","wdnMgtmOSUBMSy","lengyecanxue123","ye4241","13507558350_p","jd_EXPhjwTwPcJX","jd_kLaXDIRXGwRr","吾心安处即长安","jd_70a3eb764f2da","riven952465","wdSGiECJxcHuvC","撒撒","gzwch","y1579738787","shin_dynasty","jd_dlBaVLRZAQGA","lyericwang","zfb129","jd_6a45d60d092f3","377351689-67110230","jd_nRVcWGrReLrd","Death_Link","春艳2234116","arfaWong","燃烧的火焰山","jd_4a41bbdb4bbce","Mr_Lai_who","wdImCjPGCTgDaW","i_look","15915905121_p","jd_WLMmJeSZvSUZ","233311489-664503","jd_6aec9052b6556","jerry5270","popowen405","jd_5cfd38ccf14df","338275705-89064004","wang4977430","jd_KnpWyXUnoVOc","34754896-957086","jd_6732c776aa2fb","jd_ItiqWyCWYThf","jd_50a0f3f0ae58a","jiegto","七月暖茶0815","15902279121_p","lyivincent","jd_73a44c66869c6","jd_sBoupvoKrqLL","jd_6f9bf6c2cda3f","jd_kDMJhDkHrfRP","jd_4aea321836aa7","jd_533a1a3183114","jszhwr","jd_633dae7d3b4a4","jd_EXfWMAKasGws","cherrymars","stdl1690","13572914285_p","15651617930_p","倩宝宝1214","jd_55afdbd5055ba","gamen_wong","jd_58d372bd7697c","jd_540162b3bf90e","hit浙江","jd_TZEgtssyeUSD","jd_EIlerkekmlrO","UAy4b2A68P_m","jd_7f7eabc5caf7d","至尊宝cc","jd_7298dedd35bd1","猪long","jd_6d95c4b7b2136","jd_73f271d2bd5b1","随心一刀","jd_782a72a8e8093","jd_775709725c442","1025145-44213811","静若逸笛","khzhao","love1buy","jd_64f5832f5c339","kkkknrg","jd_DGZihwHttkvu","ch1524","18181508466_p","pctools","jd_7746fe4a07430","dbvw9998","午临萌主","小丶帆","823778923","wangyu69","jd_6abc1d0167724","jd_44e98a6de33fa","jd_797a5375fa19c","wh1990com","jd_784930969ffa7","jd_6a0986e80340c","我是奋斗哥","jd_74c232fa8daab","1159412371-443719","jd_62b55c11cc42a","Hong_sru","toyfun","jd_ZKsextvESMeG","jd_78bd6fe00dc6d","yjshr000","459087383-796934","天64","jd_59dbe5af0244a","jd_758a0fc20f59d","trueblue","pwbty","jd_4369bb01eb8bf","jd_756357b976799","闪闪闪光光","jd_554b6a804a407","15360935498_p","薇薇山岚","zhouzhiheng2013","jd_573edf5395ab8","jd_78da4a4e1280c","jd_73f0fc05596ff","jb脸是sb","jd_USMwCrJXuUPK","50447081-82829243","jd_4be7d81a5bf0f","jd_4152a5204f30b","crycil","97663270_m","00数字方程式","jd_7aa36d95d0f63","YHuangmlz","品枫","13879327137_p","jd_5c88e6160d21f","jd_lpKBsSBAeZBG","guang1355","jd_7db414379d4fe","14724-68303175","jd_70da086825a39","jd_uUbwFzqCvbjH","yuyu2770098","391095279-966180","jd_4d8765d096765","lqb314","jd_567327f2c28c5","rami11","jd_MTmzBLRXKMPS","jd_4e565ee72ad9d","zhouyulinhj1989","jd_VdJREPLPXUbk","305267382","jd_5b925f27c868e","u_5dc4585116637","wdjVxxOZLxUFXV","young_gaogoo","charlesgrc","jd_7f661c08c9a64","jd_cxrhBOVhHvwc","haitang11","jd_7f6dec7c75bbf","jd_60e29c4f4b9d5","jd_JPiIWnqiaYYl","2671450-14303513","jd_56401489654e2","monkeybape","shuang519","jd_hooFzZBiHupr","徐亚利---","13509547164_p","jd_76f6018d12c32","jd_7240d794141f4","jd_4f2ee9ac15bab","jd_70eb506c497c2","zr1853","jd_79a50f85151b8","jd_SCNpAQLcWvFV","LINHUA8856","青年派199","jd_59d34fb049179","小马飞雪","q70700350_m","u_6f2493e70f697","25587520-770325","cukk89","jd_7cc6f586630da","ld_2060","jd_50dcb77fc04cd","1092646193_m","jd_75ec00ed22e2d","2306164-73896148","a895512233","wdstbAZaEIoSja","bytxkl","jd_lxNhFXQcEMim","mhdhwan","jd_57697507359a4","vipcp","18928093671_p","96003532-286712","763阳山县邱成课","jd_nOMKJwpacbvd","刘凤苓","jd_6d524237e5716","ddeeaarr","13633317598_p","wdQvsClNtgwkFi","葛宏观","jd_68b1ca2164d93","Amhan","15861804077_p","jd_568f48ea914ec","jd_emhVkgnjSliN","jd_7b68e71bdf4eb","jd_SmPxpudoGYOb","胡胡在家","13970966431_p","jd_6a55d407d445a","jd_79e02bb71dc61","benbenlast","Frank_Rhea","jd_70dc077f1619f","hero137","jd_VIpfIOBPwEbZ","guanhe258","jd_617d8ff727432","西科大杰","changebigcat","15165525168_p","2174903-33844331","8625285-406718","林夕一指","jd_pLcGoEBLLayd","jd_7989f7a91549b","15601301347_p","jd_4a3ea6f471431","jd_6984f52f13af2","jd_57a47f512c5a0","jd_vSfdAOeDuQEv","我是你耶","jd_618ce82554515","azsx18726","晴空下的紫藤萝2","jd_4e4d0ead0d471","jd_52d62f66f5ddb","jd_74c895a3e2877","帅鸽丶","gengduke","jd_42efa815b34b0","jd_780d910877266","jd_5c35d7fa0731f","jd_52b3ab0c89ae9","jd_msDIujrqFaTp","jd_FItgmumTDKKg","858567654_m","tofey_he","jd_FSHBNAIMiNUP","WANDONG*","66593509-450925","听着音乐说寂寞","jd_48675c1f6d1d3","zxf1977_m","jd_545ceeb28d70b","jd_APkCbnoqdTkI","5141779-21548625","pl72654","jd_IMqtWbubYxpb","1071640-13079633","z13881301067","杨金合","jd_661bdb3887828","罗昂鹏","122005341-594697","jd_7227f921cf775","顾稚loveone","jd_44eda4cc052d7","jd_69c7ddd843224","zhengchao3140","天龙八1部","jd_41bb09dad78a0","jd_EimpkWGXABlM","13544046687_p","jd_750953c3325d1","kyle_zyk","jd_5f1df3a497d1f","wdgNRQUhanXyhz","如若空空","jd_677dca6041f0b","jd_49cbb22b349b4","qxh19980122","jd_5c86c051611d4","jd_75dea5fa8615a","jd_6042d5473b631","15951869662_p","jd_49909a623d34f","jd_65feab46e8592","cnmhtt2","jd_59f86fd51f963","hellodidang","jd_5d5261a91488c","wdgWedVMFwxqtE","跳动De蜗牛","387201554-717076","李佳来了","333685158-47896630","jd_fWznmfmckhND","jd_770a9fde79138","fdayok","热络的玉米","jd_cLyFvbQyMzTP","jd_70d13cf19c11a","jd_5fec09e20731a","绝对有可能","jd_peDpZNutLPmd","jd-2020-2021","jd_7a757e1445927","jd_43d4a234b0866","jd_51a52692f7035","13788844048_p","218994777-89567857","13834407350_p","jd_683ddeff763f6","u_44f788c2972d4","575嵊州市马富强","zhuzibaito_m","wdBiCWmWJpOTum","念经成魔","jd_43243c8ae3d38","15038753782_p","Gy19960727","jd_4bbd30e204675","bantang","jd_75e1da74980ab","jd_567ae5cba29e6","jd_7f6979b0e9476","jd_78ad240bc9e37","jd_PoixLeksZuNz","buy女孩","jd_5be12d66281d6","wdNcHofgceSNwpH","5top","南宫情义","lovetmf0","yesokay","jd_53046e7206786","Believe_LL","191454510_m","jd_57a76dc8acb99","xwuchen","jd_49f056be078c3","jd_77a0ae9553838","jd_5c86aaecb8d79","kzkzkz8418","htphtp002","jd_QIWlwtQMwwyX","108949923-786347","jd_4f323aa960eaa","jd_XbBTzulieAQb","lie_v","jd_5a038942d6aa8","jd_IcslgdriEkQz","564821501_m","wdYvfXZghxAhrF","jd_77585b8838762","wadmire","afboyxiyang","jd_46ce8d0b7e3bf","弃族","jd_7aa7279cffeb9","jd_65b52da10a206","jd_4974ddddd1371","结婚充电gg","18201629565_p","jd_4ea9c773b942b","jd_kKxPDWGpLgkj","147053110-415052","13590649117_p","ucme","love75303","jd_xXXIEpAGmUrT","jd_6ad620f99daaa","jd_734823e289cdb","jd_4356b1d8f77ac","chengxx_1986","jd_bfjZNHYWuUwp","jd_6399befda95d3","jd_421d7b8b280a5","18124100052_p","369236743_m","jd_70e310519d93d","7alva7","jd_454eb9824b7ab","jd_60e68c2fdd39e","13001930827_p","jd_sWAojVsCxQss","jd_FiyYMVzhqcUF","jd_ulfsiuLaHAeS","jd_49d3e7083b479","9235502-779243","48064351-38289875","jd_669033172b74b","妖姬Sora","jd_5d1f72679d41b","军刀龙魂","13718242639_p","jd_5a3d9cc737f52","jd_4f204d3bd3f32","jd_jxBlzMySVupc","jd_747b09621bf28","wdkkgDLoBgXYpI","jd_6d6fa474f9aff","jd_5f61bd8e08958","耳环女人","kill_every","qiguodong6_m","182698583-278708","jd_KXevzcPDLEza","13500753961_p","jd13524845851","天黑了再出来","jd_524e27e06e13a","cy527300280","jd_68b6eff732a17","万方是","1426631029_m","jd_7cc855091b7f9","雪洗铁龙","zhouxuan2651","jd_518466a30e382","jd_7cf157f4e5f01","jd_7446671041529","jd_QOACmtYGizGZ","18657556401_p","jd_7ff05382c8905","xiaogui917_m","jd_5353d1fe7652d","jd_pBtcMODNPoxx","jd_517f4ad30e7f1","jd_4b592851eb136","ltld","jd_48c7d4c129c14","墨忘我zhj","jd_69f100e0862f0","roanpy","jd_4a1feac8d2f7f","274551330","a2538722016","jd_5c069a9644e69","jd_5d9b320a601be","jd_740f5d25d2f98","jd_5d3894af70ee1","jd_63a9c2a6d4e24","54xsz","nasun443881","352834026-406289","u_5b95c49333094","jd_5d62f69b3450c","80536796-61748698","yanyufanying","qq122143012","jd_eaWWeYBDHBgj","jd_6ad1e572eeebb","jd_6c090d3f3167e","yu657902747","jd_4ca076d04eaf2","18857816745_p","红提趣多多","kleven8888","言亥","ansonlinh","jd_61604e74e6f20","mike7870","674574481_m","jd_5f1da6749e54d","wdNiMWjQpAjgymw","378379155","dimplememory","2014ZLD","jd_409d053123d41","jd_523bdb6af0cdb","18268833142_p","pikkapig","旨尖旋律","jd_70687e7b22afd","wangxingguo105","lixiaoyan75","xl228520306","hupo376787","sazn1314","13638602503_p","Zetsubo","挂科廖","jd_6433e41d04f78","jd_5e6281d28a076","thinkCu","tsaizhiyao","renandshen","jd_66836efae991e","jd_6f0fd60b60fd5","15108245100_p","呲呲430","18501516826_p","Grajon","jd_524a2c118c444","jd_4131289c2f61d","jingjuhui321","jd_nhTjQxjIRPfv","xl19880619","痛痛痛","13046272492_p","quyuan1986","jd_62f66bce1225a","bylon18","liutao2002_mff","jd_47fa8c32778fb","xpflying","拉风小乖0027","jd_771a5b95107cb","jd_69f2cd2bd71f7","jd_6c2773cd25b6f","alotyy","Zephon-Z","jd_5a39d7c20ec21","303826783_m","tscwx_m","jd_4da033a596b42","jd_5ff790b9f963f","jd_4b29a6c6a9c84","jd_451f43a1de4ec","13795326285_p","逸凡维尼能","T_uN","wkur","jd_486338fbe4b1c","jd_4cd639f02ed0f","18602314066_p","sagosu","jd_7288d93247dc8","jd_61f098047f9cd","99288865_m","13622055-26668913","wdCItOJiYRrByA","jd_55c9d0c0e76cf","jd_517aa5a2ad808","18865737192_p","18911817021_p","zx920912","nccr55","jd_7c321723e7304","jd_77e8dae66f693","jd_7bb1e80fcf2ad","1823168-773066","jd_7f2334e18fee2","jd_60c5c2c086da9","jd_66e8a05c61c05","wu876310253","jd_VOjowKaNEViq","jd_6ed40d7bb844f","andriy7","jd_lZeAmmvftris","jd_5c8c0617d97e9","jd_62d145f3538b3","刘先森贸易","jd_646f0d914436c","jd_UnkZLUSSShdy","wgd_go","N福尔摩斯","wduizpcptxNXDd","冰凝如泪","jd_664ecc3b78945","547203591","21714687-199162","jd_qcUCqShhihSe","asdf987123","jd_5b368b4f6c43c","jd_52e79f86a0731","potato-zhen","亚坤0622","jd_sZxSbGNXNZDN","jd_NLYrmNqtZbiV","duluvivibear","jd_JRyqHYFEsljX","wenhao12100","wwhhyy1982","jd_5af5c0e332a66","龟灵高","wdGnweAJDUgjOC","吴嘉贤","loverandsky","tianlangxing866","jd_61e2db3f7acec","jd_fjxKBnrGLTNz","xjm许俊梅","supperhjp","jd_56292d6f5bd7a","jd_4e7bc1ee9b138","fxsh252","1028412795_m","等风也在等你丶","jd_5a25d8fec9683","jd_6325323172746","zhujuhua600203","jd_64166962202b7","zdd751758322","jd_777692f63c87f","jd_65db859dc05df","jd_512aa2acccd20","jd_7040839f47ca6","jd_472e82980549e","jd_53184113feae2","jd_4ffb29d26e2cc","jd_fjyiiJnJxZHK","kejour","deshen","jd_56b35d775872f","aijiazi","323247780-945925","jd_5fffe6c36013e","jd_4801d03e37912","jd_71c54bc573385","jd_76dc6936a787d","lxjsilver","32ookva","lachenxoxo","cj_218","jd_636f551e48608","18859268761_p","jd_4528412832d28","jd_667a8ab741f49","jd_497d66fcfcd21","biss923","lqhorochi","71578255-65921591","jd_7584ad43a0e70","请追随我的脚步","carola82","YaCy-","18969434855_p","jd_435563b4af8a1","难解其中味","wangguirong01","jd_4017fefbace57","wdvunKcJQBfDKv","muyi07lu","jd_46ab96303dffe","jd_6f91d6d3240f4","sodafeeling","jd_409e7eb39fb0a","jd_428e44e090c1a","jd_68ff0281b2171","jd_5b7cfc87715eb","jd_6358bee38198f","jd_aoFFhAxkjuFP","jd_4da6192bef198","18605916327_p","jd_vvVyegtqaWnu","jd_7e688ddcc1dd2","jd_626b640206af4","Hybridman","xuqing0119_m","hiflydragon","luying19940829","jd_5f27239a18850","jd_79c1844aa57bc","jd_7abf0221a12d3","wetsky90","williamjs","1823892614_m","zym6662196","冰凌幽静静","超级无敌杨杨","y616700781","myfjdthink","a516585610","justinelxt","jd_73a13ba110828","君胜123","jd_61f6dc5313538","jd_41b1cfded045e","jd_5e19997e47e81","15072152290_p","周铖1208","jd_4840ad083ad6a","jd_6ff1b1f654057","jd_61b4c067b2256","jd_5036c240fd2aa","xiaoweixiyesido","jd_7ea91d6b724ab","悬崖边的华丽跳跃","18215563510_p","jd_6f6ace4af4108","18673116160_p","15213315929_p","jd_6c10923aec829","jd_BamrrEhVDLUr","maybe_mei","jd_778323730859e","396878105-715989","jd_OpWLcmcIcSgn","18601572268_p","jd_wmOlHrrkAHwb","cyqlegend","jd_7a9d98cf5eaed","iamalive2008","jd_730f0ee1b04ff","iceqi521","xhychisongzi","dffdpoem","jd_563cd38c42505","jd_5560e46daa3ec","341060051-819706","jd_qbIppHZLaLYe","jd_6a6f233c46aaf","hhhhjj12345","mrwang1212","jd_582c627115d72","log2cc_m","17411798-474797","jd_693859fa75a90","believeran","jd_iGpbPimXjmqg","jd_76bb6ef12ab11","qingzhihuan","jd_6b888107bf4bf","jd_7ba2e43f722ad","jd_67241911d3259","wojiushi666666","16336293-180091","jd_bqBCjjudOTqZ","aiyuekuang","jd_yZbLxFQkndvQ","luoli0305","jd_fYfweOHEtBLo","mhx_moon","jd_6b8cffb5c0550","zjmask","jd_71f71a8b9df68","3849688-68396429","jd_7d2b71b179c6b","jd_7d3b38c028273","jd_526e3dc09185a","jd_uauhgMOjsDXQ","jd_7fb6e999f0f1a","wdeLYKOhKlKIxD","lipy8209_m","我就lee","yiluozaidongji","jd_613c0e0f80f8a","jd_7d11a851202fe","jd_EIouOkQVzXrT","jd_5a43c7f0b57dd","一浮一木","jd_jFUmYUqOCiTm","643124242_m","jd_eDzaYxAVvsDK","jd_5f698bdb46c88","lyc228","13850296377_p","jd_516bb8e896869","langyiming168","75163883","jd_527c165e14dfa","LGS哈","wdwaXBOFtdDrUa","jd_554bdef665e8b","国峰gf","15626465298_p","jd_ygLgYbciIlKb","小燕业","70700253-509998","katherine1129","Tyrant夜","62160785-578856","mz0827","75692398_m","jd_6cb8e7921a7f3","冰_恋","sason","jd_522b019a47fd1","jd_528baa92d7276","jd_659b672e8493d","313312843-94126542","rul_kf","jd_5d3740a9368e4","baloncool","13633575689_p","jd_AyQnLytUWvZH","13336007518_p","13760378284_p","13798569892_p","chiocs","小王不小","164820813-324745","1287193-88490574","jjlinfeier","anyfc1217","jd_40fa83c8ed0dc","jd_4f34eebc1e29d","jd_5bfaa29dfc162","FALLENangel1228","赵彦博03","jd_NTyOIvlSHKun","jd_5159d0d558627","宝_____","5200496_m","63131814-41555070","jd_7a19ae69d1a17","jd_78394b5ca3f07","jd_5edeac995e335","13642292965_p","jd_420166142197e","jd_4ec1e5d4b1207","jd_563a30036fd4c","sjw3000","rabbity2","15026571334_p","jd_602312fa7b631","jd_64ef9be059a28","1789631-66010804","jd_4cf1918577871","470448723-246096","jd_510fdc3705dd2","jd_406497f2b741b","jd_7701eec8a84d1","joe554187330","15869024677_p","剁手不剁脚","wdhSUQrXRyYIZY","wwowwyu","jd_mbEHIGlNiSuE","jd_77b9769f4f835","byesohu","wddvmzfiDqEnUR","jd_70b9801926929","jd_45d6f2fbedff9","zy422786499","稻草人827","jd_5e595d8e78a8f","jd_5b1d643a36822","jd_7c68c33db0693","jd_61cb77cd78f91","jd_4ad174fdde5e8","huanglibin22","wdiSmSLrDQsZvF","jd_PoKRhjWmEZpI","jd_nlmksmdXNniI","Andy-H","jacksyen","太麻里","考什么都去死","84596207-246781","zerouscn","18735387624_p","秦时明月的白凤殿下说","jd_5107c390f97b1","719345370_m","jd_734d4f2416a2a","jd_649bc3c88f97d","天使夜巡","linlin1564335","jd_4607032f86c57","wdqyKrOErtmGAl","jd_7e979f300440a","jd_58fd9a38f0988","370053965-119466","18128875995_p","jd_565522e358372","此心烟雨何痴狂丶","phnxwang","iodata","fancy_jun27","d046","jd_76034110d4162","73941469-35543597","jd_6c22857209034","jinshuqisih","jd_rSrICkFqBPWr","jd_67cb2613c1363","luobli","wenfunian","jd_4da232549e378","橙先生zx","gosla7777","270752332-313249","13539739863_p","383577235-40497338","u_6ab3a69d381e6","殇月13","yang0718yan","jd_60dfe71cf7d59","jd_660273ca4a570","杨天桃87","jd_67be1d4d7271f","jd_zPVnHmwRJizM","jd_46e771fd2511a","58315571-164138","tom5","15922552069_p","jd_5d6c533bc1700","jiangmentong","liwei830726","wushule2005","terminal067","13962976870","jd_530c16ef89bdc","等等等等321","尔冬jing东","jd_wgmYrlkiWnCt","zhezl","jd_6e0b8150da647","lone1985","maydaysissi","30335729-763446","dhlbl2008","jd_676db96934618","慕容兰薪","jd_6bc27159c1306","jiang169_m","jd_FiwemnZfYRex","jd_7b0c9968a5b78","jd_buKkJrispQYu","1076106015","欧买呀嘎嘎","jd_CyZaWfvssoKY","jd_47e0112b402e3","jd_52fbf35efa5cf","jd_7dbc262833fde","jd_55ff4093eb55f","ljh2233996","荷舞弄清影88","jd_KljBnwNAZGpe","jd_43969b7dc6c54","我chou是lee","qq403419715","4932713-24535180","18631155416_p","myhtwh","177822720-288115","jd_59757b77b25f8","红豆开","jd_rgDRHJdyMIni","jd_6ecdc1a0e08eb","18683375120_p","leohongri","jd_wdHegYlvomwu","xtb168","12157863_m","jd_56572d136f6fb","jd_723f1013040dc","jd_YcxXrwLOYhla","jd_499985ce5e13f","50053848-34966226","我只心切与你","jd_7f1025bfcd09c","谭小澄322","zhaojm6","jd_dShtNeVDUVej","dreamger","五月de恒星","3555355-35779330","33952744-654222","wdCnlDqJbuuUic","jd_76b2791df08ec","g93920079","327337591_m","jd_53298d655879b","jd_6b940595c84cf","1156351-92668370","jd_4a36c6d2dfebd","lai452959229","13253957652_p","jd_6c34acf5a4dc9","张宗明1968","jd_49e22e582914d","CBLXG","wangsuncai","47220153-921162","天天吃棒冰","小米黄黄酱","jd_58a5f5e53dc39","15846009883_p","jd_5ae569f48a5c0","wdSEAzPqxTHhxV","jd_52079e815fd82","优瑞五金","fenggaoyao","jd_usljmpVdWhwe","jd_65ebef217beef","jd_4da54cdf733c8","jd_6eb95525579e3","jd_62a167ab127ea","zp_2012","jd_42c6ba9163db3","jd_6acd3a6cc79cc","7276029-597257","wu_2527","吉祥第四宝","Odorono","枫叶爱66","jd_6550b5407a968","1114366880_m","18695730180_p","dshjkrocxk","lzk661110","21793610-251438","疯狂农场3","祝艺萍","zgl263885058","jd_7ca74ed9224ef","14518664-422293","zy1834","tanyun1118_m","jd_6723c03061cc5","lize0711","z115870","yitaky","sujianfeng1003","jd_7bf26b2e47bb6","快乐在前方","jd_7dea61c016cfa","jd_4251eb0aa88c2","jd_441803c36de12","jd_6b8f629be38bc","15778785321_p","jd_6747f9e64f1cb","jd_708f6b3dd62cd","又来送钱了","dly033716","jd_638a93ad162c9","wdZOblYqltTCsg","jd_56a1a1e6a8217","jd_5219a1570818a","542795529_m","jd_5cf665622c751","jd_kOqlNWzxMLKQ","y2036997","andyjiaonum2","723458699_m","sdushmily_m","jd_4714ff4d00c40","darsingho_m","jd_ttuWqMjtMRJT","jd_7844bccef1993","18758361455_p","jd_64372d2104dc3","jd_6df185422f872","8036800-26383309","jd_642d3d57a9d33","jd_75991ce6ec34f","bimohongyan","jd_EibtwvEavKme","jctianya","jd_7524f5f942b25","15282701848_p","jd_77fb104b618c6","jd_666dd71a6a7d1","jonhy_love","jd_41470b6b1254c","jd_7ae549e9d6092","jd_5556dd033c719","88489948","jd_5cdc5a8701821","wdiicnSbYSHWwE","HWZ4334","jd_6ae870ac2b5ba","jd_73416c5815c64","3220813","jd_496c3dd9e48b5","jd_7de206848579e","xjy4656669_m","jd_6bcb597927ff9","jd_44d8ef3bd7a5c","bluehook","wdnmyYQMBQrssL","hin0010","jd_etsCqLrGhpyp","13189841615_p","桀洛","xoxobb","jd_MYnqCWfkUMiF","huxiaorong360buy","jd_7e4e0dc81582d","jd_47e2161bad048","jd_618d36288e0ed","jd_wBHErUpglACY","18255426564_p","jd_6417e84e350bc","jd_GkFKjHxXjeoD","wuchao5455","jd_5b894126c8f4b","jd_68b2999cb3658","18271540405_p","jd_6d09c9e2c392a","eileen2764","1150786-30726835","jd_4ddf5ba354cc4","jd_5c8a2f57ab02b","729931959_m","黄积威","京T东M","jd_5d0305047baaf","jd_508102e17bd87","jd_HGJHbBwseTIp","jd_61b43fbb4dfbb","Clover_甜","carsondzh","jd_728730229c9fc","jd_777c6c47bd495","longzhinan","jd_4479303008a48","18257861266_p","aklim","心晴412","w13232321958","wh416009398","聊聊折翼蚊子","jd_56ec7a9585941","838521497子","cuiqinghao","jd_408b57d05ce4a","2570071135ma","15161250125_p","skypoemhxz","jd_5f9f17acd20cc","jd_4df1eaa478420","jd_42e234cd6be4f","mflvwzz","zhu95899","woodycloudy","qq59424873","15032685216_p","jd_46d452b8462a0","张梦迪_plus","72414329-905904","lijiajia20_mcb","wdcufdeusqJrIN","wBm1TsDy3p_m","jd_eKGJEtRJqOab","jd_rdLfWnxvHVoS","o00o88","jd_689bb943f9732","jd_687bd59eb0de9","燃香小狼","jd_4151399360546","jd_7f097460b3cd6","linlinZRH","liuwanwindinsummer","wdnukAdJIRjHki","jd_5f0dea9bf1327","笑惺惺","yelang107","jd_65f27e53805c6","jd_7665eaef48661","thits","jd_652e44bc2719b","jd_KlOECiVYEXEi","199780095-288329","jd_48d89b85a2a13","qqwangpangg","17839935786_p","13892022327_p","zhengjuanjuan1988","6073465-45993272","lxl1984610","jd_459ad4dcd7f60","ww8252483","s2024087951955161","ruofei5211","风行月影","jd_6e7bdd7451592","snking685","jd_638d9f046c58e","chaoyue325","7221827-390637","jd_4d1176edee445","jd_5ba5f5ecb19a2","jd_7ac86780e8bf4","wdjBBPjmlWLOfo","jd_6ace1b4d7dd02","380455823_m","jd_6f165be52fabc","jd_djfXDdxsugKx","jd_44b675b876ea4","满天星_75","jd_74d0702853e31","陈辉买东西","4043895-19054350","Tina-xie","jd_77914e3663e44","jd_40baafd0d5548","yinlong1988","18053720969_p","拾亿XI","1401659012-193617","cjl191273520","xinzhuxule","oy790080","18318126220_p","zhouymz","youniss","jd_4d18c7aa9cc2a","14627580-778094","s2174397023596199","13607257388_p","jd_68327614bf867","alvanancy","jd_45a6b5953b15b","情侣装xzx","jd_5a983ba4c008b","jd_udzFfRXASSdK","jd_BpzYOUEuBsRN","mcl_521","13660560714","13858240388_p","jd_7e3690e8498da","jd_7147b5cd7f49d","suxiyu123b","jd_78f65e7044700","13569272475_p","jd_4303510771f96","184843028-150734","jd_71b4ed057656a","yyteiark","16606047-159918","钱陈贤01","vanliam","jd_579b891fbea9b","jd_513fa5ade7324","jd_53fc8342fb560","jd_43df4952fa1ad","jd_PETsufBHEMnj","jd_llyQhFhzzoSX","threebeizhan","jd_5277e28fdbf64","475905401_m","jd_62b1e07c9b7cd","jd_WAdJsEocKiyn","jd_KBFiAQrzWehj","ddyjyj","jd_618da2aea12e9","jd_PKPzVGoesjlk","jd_4713c5b62db5c","jd_7034f4fd371bc","wdNxPdOQEaFnPzx","mohuanqiyuan","jd_6c0734b088c21","jd_471c90c0398ac","jd_459515d8cf1cc","876981203_m","jd_SoRjNkxDpBkO","jd_42e4c13a6aa07","q925890-398929","scllen","15968629361_p","jd_57838e1307e87","jd_ohpmyajJmnHu","jd_lLmJIXLJsczG","果冻宝盒","jd_53505253c15a2","jd_7dc969c281959","jd_4323124275f4f","jd_6e760847368c4","17759413534_p","wlb.tangpi_m","wdYsybgHvDorBp","277548856_m","jd_5afd5c56cff09","梦话拥有","leum_m","allenln","yangkangzt","14542702-703743","jd_5fb36776b34d5","京521小雪","jd_nQMckESxGHso","1429455490-282654","jd_BNDZHmMDGGhu","jd_XcxPnGKVNBiN","旧颜9939","輕若浮雲","jesus730","pmy128128128","jd_62fd1a681bc6f","jd_7fba3c710fc7a","338830-52043081","qs463503059","dianshibali","jd_6f0cface7f26d","星空下的枫陨","icemeltsun","s1661757182327352","jd_YnBiaLGIdqSk","5580227863","xkdzgs","fu125300","9493451-791141","wdsteVKCauKWcY","13430862855_p","jd_51e1f4beec5ad","18257343933_p","jd_6d899bd62d3ea","尹建锋1314","jd_yEfGFukrEuIC","jd_76dc377f6144c","107005678-35833035","jd_692151ffe20dc","16792684-46724620","jd_43aa4e26899d3","jd_4abe1683f58b8","sennasen","lancch","Small_xin520","61039164-647248","2006727","jd_706cb6e7f5bf7","jd_eEUNZHoAwlhr","艳子_lg","jd_76e1b4fbbc258","devillo6ki","jd_4af337531d734","ayfbb","jd_47a1c4ad02103","夏绿色柠檬","302990512-553401","jd_68a27e3df900d","jd_61520e32fc707","jd_5e110a221cbd3","bxf3000","1359933-14738718","13709383596_p","jd_628e00497e8a9","jd_69973ef304606","628142730-681475","13631783849_p","jd_EpqElwFzYcoq","fkw666","1457969-84490152","jd_613f73898fa58","xxx不懂","jin_li001","漫漫星晨6","306094664_m","jd_6ceb9f186dd4a","kdx2003","jd_67cc04b96372a","jd_42f184a0a9abd","jd_LAbQJCqnkHHp","lmpbjs1988","lhl0126","13728439407_p","18241927263_p","shengshchy","jd_77d857e0fcb83","jd_482311eec695d","jd_641a797a91d84","jd_776759c47adfd","jd_412058d2d49ec","jd_HRoBErlucHuj","wjq_xp","523921551","363466798-139617","11520148-28988128","冰伊雪涵","jd_45d5e1f931ee7","18783924008_p","jd_5d926f6861cf8","jd_716a67ba3b910","andy-zl","jd_5936ab6fc578a","jd_412dab36aed75","1093755-56873595","hywang1230","ekeimfps","jd_5a99d3be0e6a1","jd_68130db7b0bdc","jd_45b379ee10847","Victor_999","w596667271","438359292-337686","knickgod_m","jd_gUVcEFthfVMV","moto928","jd_50ac577f57736","jd_694e01519c130","纸灰机爱旅行","jd_5075e4ac6df7f","lordbaby","jd_7b5419a1b74bf","jd_5082e7f1cf006","neofung","jd_6830c1de480ad","jd_48233de4955e8","jd_576c38282d2a7","13650306221_p","elsie110","15105994984_p","jd_51c40ebdaf432","夏雨的爱情","jd_65a6aacffbba3","jd_48fe66496d34a","lei290138645","feijihong","13057539305_p","带充电宝的皮卡丘","gamefunny","jd_6f2818af80d6d","167188487-400975","jd_7299343f4b9b3","jd_4074cf5a19fe0","duanyajuzi","wdEgduIPQhmXyg","cfeibiao","jd_4902fed09e330","jd_653e716825dc7","jd_KlbDMgBZuPvd","1052217096","jd_79ae01c0a6ed0","3978442-24058769","hdb009","jd_4677d6c921946","jd_OAilTivhWsPO","jd_7547cb95bcea6","lcgdl","ch474248257","jd_sJHorQLMEjga","master0528","jd_47705e36c6f6f","jd_74ec9a27371f2","油条上的油","jd_7f2f748e0de02","jd_5b043ae7d5406","吹吹lp","jd_631ddd61b79c3","learzh","小昔_","jd_62eda517ff46c","多彩心情","zhongwangninja","jd_6810d6381ed47","jd_58039dc544b41","lichai521701","光阴滑落","jd_608bc4db33f24","jd_7d7fc41100a91","jd_5ed4662f4046b","jd_4903be6e28dd0","18824713168_p","13774905527_p","gamekid","jd_63fcf47a4b559","jd_59e7e8e5b549b","jd_762ba2e42282f","jd_65d4de8d197dd","220407624-85096917","starxing22","jd_4c2e067cc9368","jd_777d25ed18500","wdqoGuyeksYrpG","jingccj","yswgyjjx","15525807488_p","BitionSong","宅姬彼方","一事无成的毛毛","曼谷的雨季00","夏海东12315","jd_408ec971ab8bf","wbb8250","jd_7b2be94c49460","花轻似梦2014","jd_649889ba93142","40783012-347914","倚兰椒","linanyang01","jd_SlkSAiEpokIA","13236327007_p","吴乐天派","26593176-412498","请叫我大众男神y","65633735-658109","apex10000","jd_7e8445aedebe6","jd_70dc8d606b3ff","jd_628b7786f5f0d","jd_44df563ff19b0","徐_淘淘","kittenmimao","jd_pvGETlfVkqCA","jd_7d3665c601a9e","jd_tTRgrQEMeGqB","jd_7e4dbc3c0dff8","jd_cThrsLhaBAGB","carrgz","dcty","jd_643487782ed2e","零度-兮","Vershera","jd_nCfapMoVsetO","18222927729_p","mumu979","jd_444f5c020f31c","jd_7a76e3b621749","jd_6b57463e94387","jd_4b996f9846f5f","jd_54a51eeeb669a","笑容那么明媚8","jd_qTYxMOCvttGn","jd_lsiZCjEIDyPJ","wdsPDXCHWouSJS","15559005802_p","15961860817_p","jd_51df6b3d8bce6","akinlau","ag5210","350752989-591606","weait","jd_65e0393a5b047","jd_4701cc51f5e5f","jd_5c1ff0aee8e91","jd_5d5bd45954d81","巴布亚企鹅","jd_717abfe921449","coneyloves","jd_MimRKBsvSqBf","15237633705_p","15050657583_p","jd_4469d0210e277","xialiangyi123456","jd_644594fb9293a","191791759-166167","jd_wkUtwnbneJmV","Kuwernv","jd_dJvhuDYqjlvX","xueyin1949","wanquan2004","s1959735547415502","jd_4dc439c1217d5","jd_5fbad029eae47","吴光山","jd_79d94e8d9e497","393450867-670481","G0103326","jd_6e7c296558a63","jy02919061","jd_wlyYQltRFULr","sfntsy","可爱的小虫虫2013148","随便注册0829","jd_5ccc7a2921110","wdJLFAILTQcmtz","jd_581c61bbc4d54","acuipeng","jd_74ad619277c2b","jd_4b8751a5d039d","jd_75ea236d6d981","jd_770436cb74251","陈川0206","joephily","jd_64eb6dd2fd597","jd_4250aa2b4a123","xingmsn1983","jd_62c949b0f8924","lzcpj","dingcheng258","jd_66c927ab78ccd","mryinliang","jd_59018cc307fd5","jd_52f113da13174","广通","chencai231","TJF","jd_6e423634d7338","jd_ygXrKqZjyVnY","linyuhc009","梦回S3","943564197_m","jd_6c3defc365133","jd_6a6c59c7e048b","oicq176","zrh_18505918092","jd_5d9e7e99a2fe3","jd_7d6d48b028c74","ufxy","jd_777cf34534386","jd_7d1d68e833bed","yingzi7373","xray1974","jd_rbAzGRnlLZyY","jd_73adb6388c821","18202741100_p","6370949-32347615","jd_HSGBWKIOkKDA","闭嘴jet","583161614","biyuehua","jd_578070e4fc16e","wdMdxPiGwxVGxY","jd_768fc1a442d54","jd_5b8ad6f9381f7","jd_5af7f58bd49ef","只是小白脸1","逝去的丶時光","jd_6856ed2283ef4","jd_495a5dfcb6b80","jd_698e97bf43d47","henanlibo","jd_44b4c12a07358","41453402-528655","jd_4f80c918cfee4","chkai1981","arronzm_m","kuqflnfx32_m","jd_SRuhxukACdpL","hu81296653","jd_522728c05725a","无人伴我立黄昏","18611933015_p","jd_463ee24e6403b","jd_ZVbzBhthWNcr","jd_49b833dae8c69","355武乡县李嘉诚","18964598829_p","jd_6757d8dc57d07","jd_4e8eaeb9af8fe","jd_5508be093695c","jd_68b2d83eb1966","shelly19850124","jd_44e0617f7516a","花果园回","jd_50f38dbceb73c","jd_7848fd2ed1ca8","wdHpGfXcLWRMcP","jd_5d78d73bd4c08","jd_4832a5721c6a1","谭超燕","hxy0325","zhengshuai860113","QuattroporteGT","gina86","jd_OqhjVFYDEhgc","jd_4ec2d50d58839","15814338680_p","jiahonghaitest","jd_7b02a1cc58aae","jd_60924c9321e3f","VIP_GC","jd_VSpsAxdPLxgG","jd_43d05ac7acc66","jd_uGzohbhFpRuz","wdDdOjnQHIKAEd","jd_gQHUBrUfnjxi","xz_xiaoshan","aeolus7","jd_64d5e046a371c","hansongdage","huntsman_tt","yalaiwm","wolfmo512_m","jd_445826b19b77a","jd_706850a4c198d","铃叉令","jd_70f41dcdc7077","jd_59a9cf9a7c57c","baiweishuiguo","18316696145_p","jd_RIHXgKvBfmVB","dreammis","jd_618c154e52dff","zhangdaleik","jd_73a17472c2791","jd_54644a3e867d7","18122354733_p","jd_5d14c6391f098","尐乄澪","2218011710_m","jd_WwHdwNoqCXJA","jd_6f05ed6800380","jd_kkmQKDuEJBUN","jd_6d0d692520ac3","jd_58cf81ac397d9","jd_79a3ba77e60d6","jd_6942524088bad","tiduswill","xuese3344","sslinqiaoyun","jd_66ca5b10b6f6d","jd_RaSvGqljmjiv","tone1989","luolovehk","jd_6c39a3e12cb18","wyixin","jd_641624256842a","jd_48d7afccbe0f7","jd_51a6032d0117f","jd_4aed2dc56e1c6","gaoyisheng768","jd_5279d593e7803","二二二二栋","jd_791f1b252eb18","jd_BpdBuVkOemis","jd_7418c0f3f1383","波波豆儿","18256023530_p","jd_5a075c268705c","jd_pesRlRlLEsvV","healer陈","inim","jd_74dc04c180825","jd_41fb3fc8d65f2","skpri","jd_5397fd87e2582","jd_6e3e7cf372e9a","jd_51a585b5ddf45","jd_4c723e933209d","wdXmWgGZIWSFUz","68443-48880461","jd_5a2b111eb3992","jd_4aee3ed75480b","jd_7fe9ab0480322","jd_4bfe34f341389","jd_627f52a8a88ba","清秀颜","jdwanggou2012","sylvia6999","jd_44e2bce2e1e22","jd_6a8142c2a418f","2008lee","jd_789582b0d329e","160938860-837375","jd_482565f0c315a","jd_5f7c6ffd70442","dishangdeshu","mjwpig","140868378-39502050","jd_4daf7e5d498f8","lvangtao","jd_6d8fd8754b864","就为了晒晒太阳","jd_7986266a59521","jd_4e9e283a4a99b","jd_nOcfMXjFPHOK","我勒了个去也","jd_62ef3d472cbcc","wu_8003","gddjl","lwl53","jd_GamzDhfOzmzL","jd_7d5a8c1dc40d6","jd_5bcfc6745e6e1","13824685776_p","陆岚","jd_7262939c5ac26","171058875","jd_4fecb0df27ee0","jd_OCgIFNooATdq","w_anghe","jd_62c8c433d7941","1194357007","jd_XAeebPqXlBee","jd_774e66c43d125","ren9821","低低低调","ahengge","jd_44a778fba94c9","jd_43d7d2574bf48","jd_65baabf09e03e","yaclear","62583-28504074","jd_457c3a4273f77","lu425369918","szhking01","jd_548dd2134412b","858338463_m","jd_bROcPdCMqdDf","670261651-357677","jd_6548e7f0b0185","s2178693947924319","538086448-856533","jd_fDjsjFwrDrDQ","jd_YpTcombAkbjN","glory1986","15764953686_p","jd_7c843b0ea2d81","sundanaizhu1989","z411170425","jd_61816ea637229","彭蒋雷","zcc19911123","11078558-167278","1462184672_m","jd_FSZGJtsPISam","jd_448d07b990c2a","jd_bsEnMQGkrpxu","fengjin2888","jd_4f7249159d76e","wdEGNRUtYZfaHs","jd_66223b3430663","jd_5c646db4fafa2","zfhe_08","cen028","jd_584fb4ff90e32","jd_6d7d0996eead7","zglzwwd","13253602592_p","nanxiongman","jd_4395c736e55a8","jd_63bff9c5719e2","jd_7b150b7a95e36","18258885113_p","ruter","jd_49da907286109","雨中守候者","jd_70a693b5c73c0","jd_787e6f946a189","pandasiusiu","彦超100","q137032994","zhang271999104","jd_72ac94c4008a4","jd_7521a48e45b62","jd_5780dbabb1c97","wjz159753","jd_UvwsafdSNSUr","liyong_xiao","22033480-539575","zhaoqian123456520","东奇","jd_5a33c6938816b","jd_500d8163c66a9","jd_597a8e1df6579","jd_TzdTjbZjxZuw","jd_57a379473ab2d","jd_4a255000d9257","jd_rlvXpqaLUSQN","jd_772412ec28086","jd_qRbHzgrOspUk","jd_71436753f7363","jd_xCOEadpEhczY","qq492827494","蓝海精彩生活9999","jd_77fc1ca96e8aa","ozspecman","jian34long_m","jd_JxpnMqozIlwU","moody325","jd_461322e7b24db","princejia","meizhu0426","chcsh230","我爱读书也爱买书","bingbailandi3721","139194526-696033","jd_724ee8446be78","jd_7531cdcba3aeb","jd_6a0f9bcae8605","3112183","jd_49ee3f76f49cc","jd_63034dea28b50","ping7598","444717339_m","jd_4baec7355add8","yinshunhao","937445978_m","jd_6ff9d6987fa2c","liuyi0605","momentQAQ","jd_5b6fdcfe39998","jd_6a262cd18f7ce","jd_6c82c68f50536","x459517090","zefan01","18998539125_p","18365236512_p","jd_WmkIdTBBQGyE","黯妍兰飞","jd_lShzSBPDBTQc","rocdk890","snopo","默默送葬者","浅色调世界","jd_FXdRCvYyqIit","jd_6c207aafee355","jd_7b26f7b1ec0f5","wdmEvJuHPRWGPS","jd_4c1614516d30b","心中有片海my","1388753-578408","jd_72a6928b7b513","goodcorn","jd_XwAyJFybauNH","jd_PudnqRFmgLJK","jd_KKSQreGHhdPP","jd_4e3542cadef94","jd_78e149b08762c","jd_68d9b0f6518ca","jd_4ff28a817e398","15610617377_p","12204475-57287502","jd_642e418fa208c","Elva3l","jd_5f5b30f51ec9b","jd_502e948544954","jd_7b9bf2006b960","jd_70a1d847e1bc4","iwater2011","s1885255135905326","记不住2052","pvpuu","jd_6a6b2ebaa7214","CurryDu","jd_43da5bbd0414f","故人归1001","jd_6402be7087989","aqrhvi","jd_lYJYTBYQDdzV","jd_41826a36c2628","jd_5170108ec561a","jd_52da313105790","jd_69f8aa63933d1","jd_59d8a8c6475e7","jd_CdbbOdYXVYQl","jd_eLIlOlPTAIlz","netcookies","layer","jd_6114aad31445f","jd_OTyVvqcddjcS","jd_45cfd5e73cf2b","21999698-141593","jd_6edb806d21875","jd_KBllrEpEpDwO","jd_4d558fd241048","jd_7e17463a8137f","崔冬冬Cc","wdhcNaBLBpeKhz","jd_71dcc9a855300","wdNUsHmoVbbzrwt","15733152520_p","liping13793","jd_5171691d334a0","jd_beRECTiqnizL","493154497-327363","jd_5138477f1edcc","美丽心情0326","jd_eydRWSZtsFZS","2850591-84345024","1222770-46748145","jd_60f4df52025d9","14585895-87698938","bogu8433","jd_4d88101cedce7","jd_5640c2052a125","heyoulun","jd_6b62e46456d93","念青","zhangjingjing0088","jd_4901be4615714","jd_7d943695e34e6","jd_58a3f8f851d48","janexu22199","jd_yUyEsVyGpWTT","小小粒18","wslqun","jd_CPsJwsPCUKvk","jd_5d2f44bdbe454","jd_PKdhDbHQuDLC","734322819_314972491","jswjia_m","jd_qsjRqMAsIhhH","阿弥陀佛齐","canisaylove","bingchow","15580004767_p","201106568-630769","jd_6e49890ac3e64","wdUXaykqeOxeRE","jd_6cd840167d306","73284140-56008663","茜茜理理","jd_50c508ef8aa37","jd_6442b20aa82a7","chenxun208","jd_5e35ac7863990","jd_GkznokGBIFza","jd_7a6e410568f1e","liucejd","binperson","影若眉","jd_50e11173e1d2b","tianxianggezhu","jd_58e0c688fbafc","jd_60276b26a800b","15968541991_p","snzh2013","jd_530c66a830b58","zwf15209349349","46017965-678109","djlx455","jd_4fc17748bf2d8","jd_cgbUGZMAUFaA","jd_7597a45031f19","jd_777180f8287fd","zhangatle","jd_522a70959aeda","jd_EoCwtNUqyrJX","16603661-688901","驰行天下","jd_6b7f28035548b","jd_5de555233db53","jd_67f1cc3e76c49","jd_6746f6b603e83","jd_62ff77b7a43ab","15700086148_p","13047913575_p","18565789532_p","jd_5ab3ee9965f34","861674947_331862783","jd_527e875ba6fc0","jd_6cb140f1f3cdc","jd_MxKFFYBVhEHb","jd_79c28e16e8dfb","coderchoy","magicwby","jd_OewVLFdAqAAy","18675009391_p","jd_4bdd8f2706493","nxd158903258","jd_60d1ee82fb145","jd_735806bb06bf4","jd_7f8acc8ca8586","zhengshuai1986","jd_42ccef40d4693","sunzehu","247466310","jd_48dbe30614232","jd_72d445778ba47","jd_5bef9da2e585f","litianshun","jd_4eeab6b5db55d","jd_541881e175115","jd_4d56f97ad863e","lxl0206","jd_6a4ff60d89c92","jd_78abd3c70956c","jd_XlunaPHVSySY","15962952550_p","kuerck","qcsky","rtzz200","comqs","jd_4283bb3150f4a","15089577639_p","wdCrvncBgPgKxj","jay029","jd_6728270b3475e","jd_5dc92d100f9e5","365662907-760283","jd_56d907874f99f","wdShdjebusWgix","jd_6ebcf080c37d7","tongzhangsyq","bluesunner","right_zh","mazi20081990","jd_7c90ebd0b6d2a","t303291556","15900920356_p","jd_53cf8097e2e41","jd_743c90631cc15","15918489423_p","1645719-39366472","yc1010716","s2129834090368560","jd_5daba7d11c405","751曲江区周欣","xushixin0212","jd_43e49c9e08c0b","jd_7d3b94b3dafd2","213511400-73149402","zpc19940228","15073910918_p","ming121038673","26492858-103393","jd_45f8ff338b16e","jd_4e78f72d80779","759441404_m","18607173740_p","bunnyrain","Q15150133483","wangyneu","aisonzk","jd_igFXvUztwcfE","superstern","jd_499870e80c950","ysc914","onlybeloved3","jowi111","wang950206","jd_5ab8ee8b964f5","305813854","jd_OKAsueXPOEEP","kevin7188","mingsijie","jd_7ed0a2a0274bd","jd_537c9bad200d1","365612","jd_4c7658a53b41b","zsshouse","jd_4ec5c9279a83b","jd_OrNNOSEePkqF","jd_462bf2f6950e0","771466767_m","潇湘梦樵","汪兴升","jd_hVRgsXhCeSYk","jd_4c1fabf0d542e","SD卡无效","jd_zMlRZlBAfMXJ","jd_45c36666045e0","wzmlove1121","jd_7635f3010042e","神秘小强","jd_MsRJCWtRStWP","jd_77a82b603c6c3","MM-915","jd_4d0cab2cbceb8","xinningnin_m","jd_47bbbb833e401","jd_415adf99f3034","jd_AMJpPTdezNfE","jd_5426611166f1d","yingdaww","jd_hMyEZXmItTXi","amwamw968","13452285365_p","jd_NiqcJIbznFlm","jd_6fe08008c8a34","jd_5ad816891da09","13559486402_p","jd_ZszKkLWmApBG","jd_4f07334ec0e99","jd_5d593faad4849","234724331-144870","jd_7c24f58f9d0f4","jd_NuUfYxjXhYSw","jd_wkshTiabyaeP","蜡笔丶小鑫","jd_5125cd35cd9f3","jd_nJdcFLyELtPI","jd_7248fd5697410","trj673417221","jd_61b8e52cc2646","bonghyesun","jd_7f05dda40f352","jd_409b35a92a568","susilijun","jd_51f0f410413af","lswmouse","jd_785351e45f6c1","BetterHanGood","xiaoyingziyahaha","我叫肖大爷","epsonhotline66","jd_656d5cf1105e8","jd_wJWfqPZOeAbL","jd_68b0f91d5a7ec","jd_5af1f33a4ab6e","西凉夜醉","jd_7e1e687727c8b","jd_zYkIYdrJBfAX","hk87925","webb.ring._m","jd_40e00fcfd2d75","wdjlMmocyfdvEL","jd_XZGYxZNlpelX","chaosboku","黑木耳_love","2213684726-168762","209337623-639182","jd_WzhesXkjPXFT","jd_WINzDmuPgqvg","tangke612","839156745","jd_LOEWgvNwQIWD","jd_69fba16ab062a","jd_7272852c40f0b","jd_416d388afa13d","jd_5e936a6564191","jd_jJyBYxblIqNN","jd_4d13bf3f6e300","幸福怕孤单0315","jd_MRYKjPnHAtQa","jd_4c0654682e322","daviddqy","jd_6726defefe982","jd_4c42ceeb10808","jd_716791db089e3","jd_6edd814334b1f","jd_7f70e037c3e05","jd_55885bbfa377b","jd_MeShvJTVAdGw","jd_7f7892e87f9e3","jd_6bad990a6d697","名字不好听就别取太长","jd_5e7a2d5b1dd7c","jd_KLmVSLZSwctq","yjjuneyjj","jd_4c3a96cd3208a","jd_46b9980467e70","作为一个兽兽丶","993406467_m","jd_47a6229c5d630","perofuniqsl","桑美","xinran_0724","jd_7ffa874afa335","sandy0304","guoyizhang","jd_4ea213b703a12","jd_7c957ca4eb404","jd_odBDZEBoRbhi","jd_7f9ee21b08246","backy2012","jd_61a77522c5022","xiajin0728","aw0120","ice1992118","809am","jd_6c3d10a11f6be","jd_7e2492f63da5d","jd_IOyyRQJuEGFJ","jd_446629536423d","weiq88357815","jd_5aa4df77dfe93","jd_5cf9e325268c3","ipooosky365","jd_40f932ecaa409","l1898168","lky12224","小女人装可爱520","ws阿巧","86147086-380180","kickass","liqz215637873","刘维志","u_5db286ade3b02","jd_78a5854d47731","sunyong0814","jd_4da84abe571f3","jd_6c902ea491a25","dzma","jd_490d7f4d4f8fd","10519227-78118927","jd_7ef3a99038c61","o0beaby","wdFgvsTpZNvSsz","jd_7c871a8bb3383","x1064571013","jd_572d4e3a2e88b","singyue","zhpjy_m","jd_489cf2920ddb4","LDJH_M910","jd_4f92e371d21c1","heixuejun","huanggeke","jd_5312bb6e09885","13688887588_p","leoiy007","ming7879","jd_495221552c5a1","hncdcsm1","jd_7591f05730ea7","李鸿仁","jd_77abad0db14b0","jd_75e891f48e031","jd_hSpsFlmWujFx","I-vampires","jd_596756163a643","cs3447047","20157501-369199","jd_75eeba75f70f3","洋洋38065","jd_56434d1948cf5","supersyr","pjdong","jd_49ce56eac3abc","YinSlu","shunia","张琴1969","292378352_m","bill_max","jd_708397866d7f8","774173067_m","wdUgUZIUOWWvRP","jspvsjsj","jd_6877ea3e2dc0a","4437968-538619","jd_tHIUmLltVxqi","perofuni","jd_68a1e19ed513d","会飞的羊8283","cyy_1020","271777471-959218","yurimoe","luoye19920116","jd_521d4814ae48e","jd_55887935c301c","jd_LiaskXxHLjHW","logaday","7624446-285014","jd_4bea72ba422f4","peng167","黑屁尔多","jd_49a122582e98e","jd_4bf57e1bbfb42","落筱哚","jd_5684bc2e3bc8d","happysoul","mahe199311_m","名字长好中奖","jd_iFSdFPaBXiIL","jd_4619b77362d26","pcpa6111","yanghuiying3205","jd_5b38516423e1b","北极熊abc","jd_577a70d1a8728","花开田野","18336919631_p","huaipingyun","jd_IChxZkofxSTX","hbzgwx","icase","jd_buXsPHwzVfmz","jd_7467fb0242b9d","jd_74cb2827bd2ae","108795322-978513","jd_7c090c290d14d","jd_aZPGllLDqMpr","405839568-69065254","jd_72ef42bbf4959","18251920232_p","抢购专用账号","jeran","萌妹妹爱","小新没有挖掘机","jd_42dd0366d7b2d","jd_45018194bf787","1341642992A","jd_52205cf5f1a33","searvoer","hulushangxian","jd_46dbf0b910baf","jd_5d7a39f8c268f","jd_53808850f8f03","hellowjjb","DayDreamery","silbermond","shinzi","赵灿张恒","Cygwwx","15861821618_p","jd_5c5d9ee3a34ed","jd_QEWyEqzSTQZL","joya422","jd_797b60c8c0037","jd_dlIyWJhDbEke","blackjin89","jd_5d107d9d1f119","zzhx2998","jd_615e33dbb39e2","jd_592b010015c63","wdNlImPqKDKQBc","zihuang2004","jd_63e7f2ab6d48d","netget","jd_dzPPMkxVhgmA","wdTSaQiNFGBAHY","mao_mao_13","jd_7181ae746b6de","jd_EwttTZkEbVQe","马佳荣24","367917103-468530","jd_4aeedc3dab6d3","gjlvlp","jd_53299775f6627","18601582771_p","jd_7db7f4d4a5809","15627721087_p","ncxfkrpo","jd_55db5d43f8b35","jd_679fb26ffefab","1158373285-329434","15386495522_p","jd_74796cd589911","ywj6125351","jd_72119f8c185d6","jd_47aa4bc6389d1","jd_4d86010fb6b87","77513557-508719","jd_unmjUtpmdDka","鹏翔山岚","jd_67f936f535cc4","18770022622_p","jd_66ccec766777b","xjx19971013","sn9935","jd_7109f5f7cd20f","龙琚","13361982635_p","wgq1990242","yftu","jd_532022bec0494","xzlzxc","jd_629ef70c9719d","jd_IkyIycHWDfVT","jd_4ba027ae22f3d","220524162-174703","jd_756cae63b7395","杨耿明1","lingyle","lejitao","lilinth","lxq2007163","tjbyws","守1空城","jd_60dc496dc2349","6025jie","wcf406","jd_649424543fd0e","wszyd16888","虚像2095","jd_ayNmhLBhwfSH","wdsGiOFUCEvHhS","jd_56e5acaea9f40","363104776-710081","jd_7a03764a08a78","jd_ZlJMuhVLPhGw","7天涯海角","jd_72c46fb4000c4","夜幕下的君王","jd_7b7384ec988b4","jd_6801b76e5f1a4","jd_rJzaJtwAAvcn","jd_6c084d33684be","jd_5619dd74c5825","jd_450ed21f8fafe","jd_505cb8b3bd844","fanxueyong123456","jd_UTJauahMvePq","lqclight","BG5HNZ","liaobaizhi2010","xie0027","wdxpMAhvTwvxjD","wdQLgTMepJpFDP","jd_4f3ec736cfb96","willste","双跳舞的鱼","jd_58fe4336e5d3d","jd_5824571207494","jd_65263f047351d","jd_5ae1faa9497d3","jd_6310b150a5ccf","jd_4508c0d0dd808","梦轩小恬","jd_46d004b22e156","jd_4e5ca779423aa","jd_586bff3cd82db","linsheng1994","止水轻扬","jd_EwqeYNoskoSB","jd_5c49b4ccdaec9","no1xium","jd_58b706d652f09","15233585626_p","s2142275845133635","15155706693","142455899-102182","125419258-535710","zxxz2002","avivi810","mithrandir18","guyuesuzho_m","fengfeier6","jd_527f2324eb8e4","871818323_m","35532635-674938","jd_4676cbad8f9fa","-向奎","247994270-61207176","wdNDrTmuSbYssjh","68sgf4as","wdCrfYedJrpKWO","jd_645b8ee8da8db","jd_667303f27d1f3","jd_5f8ac533a4486","jd_71cede11832fd","u_5ed3c9faa81e5","jd_567a24545068d","jd_5ca316fd5ced2","jd_4a07b8504b717","jd_6e083d0fb6d6d","jd_73262d6edfd15","jd_46c9d6dbc626d","jd_TMwdhZjWcjdr","jd_PqNKFBIorSzh","aini10000na","swou","jd_64d1f698ded97","jd_529ac4d3a1992","jd_72616e3a03649","jd_6c3d4081162cf","jd_4f9198ecb1be3","15157726224_p","jd_71d7711ecf443","jd_724ae433a1155","fk_beyond","LemonCC1018","ainannan1106","jd_55ad0f15ec81c","jd_cKYrrsJPTXJD","jd_715aa5341f976","jd_69ae6990e6f0d","jd_77a3030816848","luruoxun","longzhuai417","84864986-57465163","jd_46c834d4febb0","Lhardware","18628333953_p","jd_493918e314b50","jd_607197db3f6fc","ENTOTO怀楠","193926961-276262","jd_sIhNpDXJehOr","jd_5159f4a5f74ce","415568280","jd_525ff46517996","性感的毛毛虫1995","wdKZlEMGroYUXj","sillycai","jd_5d801017092e7","jd_VSOVBlHDgeVC","maple91","jd_7f25c85b4b1e7","jd_560c6f30e6951","jd_41e9a9c841015","jackyter9235","jd_4efe4fbaaa6d4","yfijwan431","jd_WPpzhusjOnqA","yy35823758","259053802-527745","jd_slsmgigZmbFI","寒墨訫","jd_641d0471b9ae6","jd_4201e66228df6","georgewugd","18783138535_p","jd_430d267b81018","jd_428605d7335c8","jeff1945","l4365129","jd_6c348990a83e8","奔波520","s1405643354241607","jd_ydZfbloWrgjc","jd_442fb09f0d3d6","jd_uHufWVblclHb","wwy92311","jd_4dbd8985737f6","1161727652_m","4324271610","jd_6c23c8894ae48","平静的时光","jd_dMUjJbNLGPvR","jd_6146653c388b7","409675694_m","zh870115xhl","ElvisyCheung","jd_xpRxTgPQxNeU","807110922_m","bigtaurus","jd_451be0b8e350a","jd_QhZjdJFhZFsJ","jd_6b850e134911f","jd_653694d3ca042","digitalocean","w275757202","le2yun","shimenshan","jd_zlmZNztykhHU","亲爱的老no","shishansha_mhk","hjyalzx","jd_61c5b97445bec","s1784500463145607","lefthand2006","yadiman","10439940-203917","jd_486117a27d1a6","jd_EGCrrHXxKIOb","zersoon","13737873948_p","jd_7e4f3cd04d3b8","wdmBdTfhJATxEQ","jd_558afe4996544","huichen0000","swliur_m","好好说再见8","nl1202","599邵武市李钦山","李双好13590096920","jd_4e11a038699a2","jd_5a17c90da1918","jd_7750efe50b306","jd_6887ba938ff26","wdAVmRmqYmhnJk","jd_5d0236eda376d","390823571-784974","jd_5d7d449b262e9","jd_muKVUUgjIHsQ","15845007858_p","jd_738ce56281d5f","jd_6ee2f86c79797","jd_64f4c2c918b90","jd_705286674b655","jd_7b983e5a2b395","vqiang5","jd_419c36674602f","jd_qlVtcaBznMpU","52081663-431486","Tuzi_1234","jd_4e7318df4d783","jd_7141603535d08","jd_5b2881519f2d0","jd_43f945c6fa7e9","jd_52226451f875b","1690281150_m","jd_59bc24343c346","李纪红","jd_6a086360b9d8f","jd_ockdYdEODBXC","jd_SLUbvKeRTSIj","jd_huDOAsAjXZGl","15024973920_p","凌乱_年华","jd_5dccbea05bf9f","jd_5754073b722cc","jd_63336c811c185","151057041-307413","jd_oZvgBdzKTteK","jd_6419defba733a","jd_7999f3a9a7b3a","呆子沈","jd_60614235ddfef","jd_61b1d2d901399","13094899543_p","jd_rerTRFhRMmPv","jd_6eb33c0e43e35","sola237","jd_7fefd6d39a52c","nihaowoddd","skygjb","step4","wdllHwlOJxenQC","627187341_m","15890124107yu","comeinkang","zhengyouwen520","Yozanarina","zhangyuelec","小白白白白白白18","jd_592353371289f","jd_5f46d4513beea","jd_4955508192306","19715101-10833301","jd_sDtnONLeHwfG","jd_687b446f0c6af","huanf001","jd_66f6df184717a","lm91128","jd_4618a382c43ac","常夏838","loginnt","jd_vCYIIeqyeoEP","wdDRBRmsVOkZyf","jd_7ff90eee39799","jd_6485ab2e2582b","jd_EkVuVQzkCllK","jd_76fc043e1e69c","Jerryzhao119","MiSs丿Blue丶Sky","许晓婉","jd_5ef7f9038534e","jd_59e1d71acad28","jd_4dd00b860eceb","157861473-887582","jd_5ad264ed38461","chenmingsy","Ericmetoo","宋小芸","jd_50ee49a40daf6","jd_67a2341426e45","jd_4d6d01a00b690","jd_4d3de7fc13e60","jd_4f6f2531d4be7","ppamoy","jd_6f8c7686e19f3","jd_64db178eb52c9","jd_7affe2d2083ee","jd_4fad31b599efe","766473193_m","wdXhActoczrZKx","k414100956","jd_6e40315599462","jd_455d8b32cfe5f","361868-20056647","jd_474636aa91ee4","jd_7b6b26014d164","jd_553ea3a6ef2f4","jd_630b2e3cab0c4","jd_4f658519dd869","肌肉小清新","jd_4d60ae876a444","zaq123_321","jd_43b0392550c81","jd_51f2719c8361f","siyu99","kofgoodzb01","jd_5836d7261d050","nvitel","jd_5f8f25ee09c67","a465585532","jd_LmdtbrnfayfW","jd_47a1a537916f3","jd_4ad8d76809b9e","yww128686","jd_7388d64144302","jd_OdwIFleoFkXO","我想唱歌给你听0718","138469309-43796184","jd_7f1f42590afd1","15821098636_p","jd_48f11daea79c9","va236","38403-84169368","jd_75cd0c55218f4","74836527-103300","jd_4ae8ec651cd16","jd_41ccafa9f1ede","明明如月321","jd_6294a90a10048","jd_5ab8c08e9b087","jd_4c1c369b7ab08","dreamdc77","w13733835287","zhangxingxie","jd_GQfXNvXLPRXx","jd_7fa77a9bbbb71","jd_AJMKTcjRmWmE","jd_4b96e9fb17045","jd_JecxnBDAuzPX","15914721195_p","jd_435b6508b2c9b","jd_6b90bd279a6a5","u_6559df36ecaa3","67948122-489758","jd_7de22f23da8a4","15980873733_p","18014246678_p","jd_cpbarqBdarHt","jd_rGisHkwelrdt","雷疯错","mch200438","75470198-904866","cuihaijun6_m","小兔乖乖守门员","wzcnykw","jd_434288672ec9b","jd_4b544fb7a2b03","jd_56ef44b21be9c","jd_YNyyyPctzbvV","jd_58e41fb05b61b","jd_768a8fe756595","jd_56cdbacb76b8b","lin360860870","jd_qzVyRALynVAn","jd_50c2901bc2309","sj15770753839","jd_540953c88b64c","13636027329_p","50132","jd_4b722fe76abab","174353078-498519","yuly瑜","jd_4aa93d028f4c1","jd15779102529","jd_71e1a7b59b100","演戏悲伤","烟呛男友","夜里睡觉的猫","450533090_m","jd_4d3c403d55a81","lxy网购天下","jd_ZOMasfPDGdnv","jd_691d36c0aef5b","gin20051","jd_wCvjbPMmGroq","401093859-500761","jd_65a63f71f727f","jd_46a558572d2fb","Air光光","240189434_m","jd_51c3d4b83c405","wdmvTJcDQJLRFY","yaj6835669","jd_5dabddce689ac","animeotaku","jd_47265627f09db","jd_53421d4b4655d","qingcaolin","jd_dIjvosvjJMKU","2557216606_m","花红易衰813","kfgmv","jd_55d79f71a4131","冰冷的期待","ryuubin","jd_7188656792201","kkfuzi","jd_5f3a751aa422d","jd_42cf4d3257cb3","13826816934_p","jd_61e7fa20c0f3c","jd_7d8b16f52a927","jd_WMjnotMhMuDz","jd_lLOfIUwZJyqn","jd_45cf4258ec7ad","jd_76086145a19a8","jd_7f39c5c119e1b","jd_501a067b79a9d","jd_SgCozrjfQUDl","367662542-519462","jd_725a996573e8b","jd_782cfc501f6ed","cdrink","19640628-848804","wagon3w","L_JJF","最小麦","zhang421113666","l842891024","zhilicao","hyqzj2000","mkc1085","土不弓单","17332187-74093989","东玨雪枫","jd_fwSLIJVQAxFF","cookiekong","幽灵拨号者","tao18655651213","哒哒jw","jd_6a4cfba66fff9","jd_SgaEVztDamIx","shaobo8013_m","s2030918497697882","jd_UDIrPtTEGRVZ","jd_7734446fdf7eb","jd_76dd6bb2eceab","jd_77cfe44a9b741","jd_vUQfMhJHNVMD","梁上进老婆","jd_55655481994ef","18355142518_p","19699979-455097","jd_5a3a2ab3d0cb6","343001938_m","jd_651834f94ac97","wull2000","4156791168","jd_454861d1ddce3","15212792291_p","xuelangjian18","lsbst","440031154_259667829","jd_743029adc0c06","凌逸轩c","15154712391_p","jd_408ff4d122cf3","婷婷玉立789","jd_46f31eec3cfc6","jd_60a182f5b9e97","jd_ZUdgCpbpzdnW","525672658_m","jd_5d40ea52c0867","longzhinan1","9sheng","1300359811_m","15127292237_p","asv761","jd_58616614ea4df","15135032504_p","xiayu6186","jd_IBNlFSGFPLhP","sn1511","jd_7dc668a2358ff","jd_5783349a4050b","jd_454da80111b00","jd_nqnRxUdMhqAn","1138966-63923617","jd_zZGAWLXSOdRW","AboutCXJ","jd_71264d50f8b7b","魏少鹏哥哥","jd_64e225ae3be81","箫然物外","zack007","whx00wd","jd_40cb8a8737d86","jd_446c157b3ebee","jd_4e7624f81d4f7","jd_4def4470b2d8e","jd_7e40af59bb58b","jd_5ebda9fd8a012","jd_5bcb0afff9638","hema3210","jd_72a6ce5e322c1","jd_WcsdJRsfXlhx","jd_48a35a77ad4de","2190626969_m","173160752-579744","jd_5aa30bc0d0f1f","scottuk","652037216_m","高中同学小张","Pamela_eva","jd_kdowyscdVJVu","l476140781","jd_48375e8219ccc","jd_NfsUegFmLsVO","125817644_m","jd_5e7493323a70c","jd_68f60aead340a","15953293777_p","jd_6968a279741c3","jd_61b47f7e28b98","jd_7d7dad0fdbbc4","104985449-737752","jd_58b05631efd47","failee55","jd_kQdCaHCIIwJF","wjhuangbo","笑嘻嘻的蚊子","jd_6ed78fdb15c63","jd_7c12ac726bcb7","jd_59578bf445809","jd_7149ecb77f105","jd_54b15ff1bb6fa","jd_581f7da6ed723","jd_4cdfabd498d3d","jd_mNrGFRRzhrct","cbislovely","frank818","谢仲斌","jd_652356b2455bd","17205513-73875330","520pan1990","wdgsvPCWIXwKtF","jd_46b1c0efa5177","jd_44ed737886472","jd_6176b3032ddad","jd_65102275be0d4","熘蒗菡","1816247472-169442","humaokun","jd_471fcb3a04e4d","ngrow","jd_voIiItBDsaHJ","蘑菇点点liyunfang","jd_5e43290731d07","jd_57c93a163dfe2","jd_AmdkHSUiXnOv","jd_51e58abde6216","jd_dDQVkveulJLc","jd_44270b25e4adb","jd_62552ebba99e6","敖敖90","jiny0512","14391802-61604907","jd_wWyLAavIQWuX","54943780-270999","qq1095168524","jd_72a557f4a2ba8","wdYfOlmQNBIzxo","jd_7d73c10bfe8d3","jd_566efb9d03cbb","jeantoe","jd_nkpuBPHhoHgy","jd_5a1ad24364647","菲梦飞舞","q893755744","jphtmt","jd_wwpEITlUZuXb","jd_4187a2b60c619","jd_7e8708b8e2254","wdNIcoICSdwNBOu","炒今恭离养","jhiy62794","jd_7a9d86f765fc0","fanchcho","55199026_m","jd_4497216860217","raycham","jd_71a291a64fa05","jd_44efaabbe200e","jd_5385b6d625668","jd_uDdFXbrvxOEp","jd_foMjWQZxjRPE","100389388-158431","jd_kfiPexGAidWd","jd_4d6f26894e37c","老翻译","tianxiang5686","jd_7252248c431c9","kylinpoet","jd_ZvetDfsPeiWt","jd_kzCkCRXiAPDc","5642879611","jd_48e0f2979fb85","jd_5d66ec17bd767","jd_6fb5fa60bfe99","jd_5fbe52e7a2133","jd_RnWxsEFQHxXY","576363504_m","海绵欧巴","杯具咔","jd_FfAnqFVEoBul","astrumg","zry19980321","jd_5dd59dd2ef3db","jd_YkPsviRkazPc","illwill","jd_qHMRalrZCeps","litengaijingdong","zcyan22","20032812-709805","jd_4bb6a666fe8d9","inim001","jd_67c949810c592","mswort","蒙牛真果粒_liang","emp丨饽饽丶小沫","邓永洪","jd_636c94873c19f","jd_5b5c46a9adae9","jd_76d7750c5c919","atmiqny","maxiaobo_mem","jd_cFTLdFigJJON","jd_49dae17515a3a","jd_63916f963222f","element1975","jd_74ccba50ff121","jd_73c959d6e0759","jd_BUtsEAassLdt","jd_AETJFyaeyuES","hcyleon","jd_61dd3a95a5c45","jd_584ae6ed091ee","jd_4533596e52e3b","wu_5347","jd_4238fef90b7bf","1910957526_m","jd_62744abe5450a","jd_MXqHXqSqFGsM","jd_5b5a7f9f7cd04","15018702207_p","jd_4198eb1ff0899","killeryo15","魏小二dm","80751103-955885","jd_784c23f0510f4","jd_VecqFKEfaKwq","jd_58da2d59617a5","blacktitty","jd_7a7b606cf1980","18650469017_p","archonlight","vv0101357","jd_BGJYEcWANXds","jd_7e73cc7af3cb3","l107868382","15117001375_phs","GuangweiUP","jd_bPCoJCMzHILL","opnver","huphup","jd_56150b0cf1dee","外国人44","四处游荡的风xx","jd_uPyPMQYezFrE","jd_5c03d919358dc","78962713-108050","jd_7a3994a251f73","jd_NQpRibSVVfhA","litao623114","彩蝶1","onlyove","jd_56ddc9a0f7f66","jd_7f1aa662c7026","jd_79b72aef70f0d","开心快乐幸福健康","sunyj","jd_41fe1e83d9dc8","杨帆206","欧度图","mybeky","jd_6e51bc47a7533","轩辕凌烟","jd_5b74a7ab0e8c4","jd_4ccbdc8a40c3b","jesusloveme0087","jd_587bc8ea482a1","jd_4a0a42283463e","cheer95","gary388jingdong","jd_7cd365c530718","wuxuanxi","百岗幽魂","jd_6fe9f2e9596e6","diamondking1","jd_53a435646f468","15358136036_p","13167164665_p","hs20073","15136169631_p","banditlives","莫志勇888","venetwork","sd4553955","丶988","jd_ykCVVpJClXQA","椰子简单","咸鱼丶973","jd_740fdaa49e052","jd_4a6b00e857746","jd_YIMntwNHYcFj","jd_66cea2b2be982","jd_5183546edf9fc","u_4b940e9f6f429","w67687644","jd_6e97c5ad60456","jd_6e8723d7ee9c2","黄婉铃","秦桃子","jd_709e9b3c77e4e","hcs0210","jd_51a64a9da6b94","VSincere","lovely_sea","jd_70a88b4f3a549","俞钦洋0504","jd_731703e46e025","wdjVvzIsDzRDWW","jd_405399ee0b1a1","jd_54aa1b5ca75de","cokefloat","jd_6588e9a50d23e","妖媚公主","jd_50dfafafc59b4","饮殇飞","1338785-37943209","jd_429a945db1d0f","jd_6b3f50377d769","caixingxia","1193592-42577510","18534169614_p","13981372001_p","晓风残月0908","jd_EDFpNqabRsvt","13927539606_p","jd_QDKnjcpRFbKy","beutifulforlove","bladewalker","light406","blueman24","jd_6a7cd6e6432e2","hbykdx2012","8601886-63458120","jd_71708d00518cd","jd_7905c6eda6697","ryh2001","这个名字好","jd_4f19fcf75aeed","820661916_754083065","341409346-151368","jd_CFNsftHNepWB","jd_69150196e0684","有人说这样那样","wang2011","jd_4c3c17b593e9d","428211715-849284","jd_CpDsFvbeSxEG","jd_GspzcICzdshK","jd_574de40428d15","jd_6c114890bda03","manual染指","jd_7b260b6c4af39","johnny115","jd_FGvlrQEQNotp","jd_4238eb72571c1","dzma1","爱为你","jd_67524b35a00fd","chensj12","jd_ZPtkgxEUuoWy","jd_gXgxeZHqoSgP","粗壮的手指","12888914-45913978","jd_5e71fdd9f7fb2","jd_401194f940846","jd_nNMioPgQzaeB","lemon天","安庆国","imchenjianyi","jd_6706db8e49ea4","2406082-44670223","jd_7e3b28a27ce8d","jd_RgKCoTtwcSTz","fred翼","zhangbaobe","wisehoupl","jd_5a26e44c4a722","jd_5b1173afdc01e","jd_58cc29523f6d1","jd_499fc7068458e","陈小柘","jd_4ae8b7d13f8e6","jd_52749e94cb404","jd_GylSgiqmCNbP","jd_7b05a77bfa030","jd_6324c8aff4112","jd_6d0fe6d3f6122","jd_42a09ece6af64","jd_5e1adbb0f9911","jd_76ad129222b6f","jd_DUtPtiiDamDr","jd_aoeInqZkKPfE","15101147567","jd_778c007d906dd","jd_40f7c35422448","jd_6c05e4c45f73d","wdLKNnzDkjJlla","jd_6ac2adc9a7832","jd_53edbb9dd6c7e","zsr20100318","jd_6569688f3a0e5","magiex","15150689678_p","yejunyan7","xiaoguyo","吴真1990","pintty0126","p86391753","taoyong1205","hope89757","jd_6007169b03ed7","jd_7e1ae5b428a14","13488121824_p","15285320473","ls585","jd_JsjqwnZGacyu","jd_4f05c33a647e7","757499699_myn","Songlyu","53615640-50068037","jd_53a5fe3feaf2f","wdNdUkjQMQsKtob","cunru06","jd_7dd220477c5d5","jd_5f8967aa24d71","fbfb10","jd_5543b9c8dfae4","jd_5215cd23ac7e8","sunbin7288","jd_7cbc61f1d054a","39903227-864954","jurbdtc","ombre2008411","jd_6929f471bc6ac","jd_632a19ccadc49","jd_PUogAvHowisX","jzchenbo","jd_7e6bd2fd59f66","jd_49d92c6989ef7","zongbcd","jd_6f866c05693ac","jd_76d79a20013ba","唯爱杜康","xljl169","jd_5a3a8cec6502a","jd_KGlexNohEvhE","jd_606ab2464d4f2","ok0722","jd_52ca6ebede2d9","jd_5f2d917819461","hero_yin","15177313669_p","jd_78cc06880027d","jd_6a96ddaaeb10c","airdge","jd_KqfUyuGrCpAW","dc0926","2523236677_m","jd_589497d3f7928","jd_472034414727e","jd_jHVuXYpDoebL","wszjw16888","jd_eScTMMDvNXZG","wjl020207","amanda_lcy","jd_53e4e40ddfa9a","jd_ynxjAskMKjzL","jd_412e828d941b8","sheng_2004","jd_50c66a18ee8e4","jd_6099459945fe1","jd_77de829ab9907","jd_6e657ac830464","jd_eakaoIdWMprr","wdfQrbIvNQwUWg","jd_4b61156c02106","70719609-342523","jd_472b409e24302","chenweike520","mysteriozj_m","jd_5616541aa9f63","游侠1312","ljk4160","jadeyang","pjw0063","wuruipeng_7","jd_69f127f020f25","15162127191_p","jd_70839c00b57f8","546220777","18905753094_p","jd_60967793a6a3d","jd_7d948f7320006","jd_5adbaf71ef333","wgl122","646931439@qq.com","stcoss","jd_ExnBMnVLNSTL","162106483-745239","zhw511006_m","klhzdx","jd_5450b2644fb39","109109523-101577","ginber","01210113x31","jd_5f3992621c6a2","405377949","jd_62d8b13184498","jd_485c757b79422","512820175-665191","jd_exfLtusZsAJp","21248500-15083952","孤心1987","jd_5eec0bffa6d7e","lly6655","jd_582e8e959b618","小巨人giant","han_diannao_mi","jd_5cfd308557854","jd_60ac913a24e33","jd_wdFSnhGoYgDu","jd_aOhFqwScJcbn","jd_5b5edfcab1dc4","jd_mOqZsiLcusVT","wdxkHqvGlOTjYL","yzx7230","jd_7e39efd13b0e0","jd_45ce674356780","jd_4264031f07fa6","Yuki大魔王啊","mifa159","jd_74b09c838b755","甜在心84","jd_4c2942d50be07","jd_cXFeKKaDZgRs","1391897708_m","benz819","wangge143","sqxiaoduo","13544532001_p","jd_61addc8054869","jd_42e120c380349","jd_4708752fd859e","binggz_m","jd_618e390d8e99a","YUAN52965","southcn","jd_HlcFXnXqUdBt","18356262250_p","isimply","20133752-99300374","jd_7e494cba6225a","jd_MODizyUKysAW","49771294-892144","jd_5961262a89c0b","jd_liXeiQhWVEdq","jd_GFZHCroodDhJ","刘云来","wawajingcha7","jd_5781a08d876a1","jd_47301e97e3081","jd_48f7d4d5f3cfe","jd_757e31cc830bf","wufan66666","13588445761_p","jd_4dc266b57c0ad","jd_7ebdf23cac6af","jd_7fa14f8082c3b","与记忆和解_空白式","jd_762ba90e8d300","jd_HWZvTWcCRVBB","多蓝七","124139746","jd_4e9f6b802d6c0","wdnugZzvyEWefF","7429005-42246543","Hello张华桢","sup3rsky","鬼鬼鬼鬼nb","jd_40ce0c8e80412","jd_6a425193572dd","sc小东","824395286-629087","jd_7d0fe8f4da069","jd_VrXYjEuJDtMr","15111006414_p","starific","jd_4041ec25dbdd9","18435169096_p","jd_seemEllJDPOw","jd_60c03d5747b10","jd_76b3cf8aa017c","jd_42b0f9e5b7431","jd_dpnRqTxhubeI","jd_4bc2ca3bd71a9","jd_6e20ce5ad15cc","jd_6e6a9cac025dc","jd_7726990f743c8","13211495978_p","lcsao","jd_dupHXFELfGvz","jd_77eb7589d8317","大鹏鹏123","wdXPFXOCTDpofK","jd_6f939a069be03","陈鹏c","jd_6c5963465cf6e","shuishivipmvp","jd_7016ab5ac0d2f","jd_6133b7f9893e1","yuyi_linlin","jd_cCTUTdkfsEFG","wdlIkywUckHPBQ","393380142-456368","47661510-664344","jd_749718ced816d","巫师一族","44269030-112876","shift_zl","libin501501","jd_qItzaxenTQKh","myvmiao","wanglaihuai","bjb0125","15888900571_p","jd_CTKilJWiCNqm","jd_516cb986abc97","jd_6deb28cd385f4","jd_5a1ed95fb16c6","jd_6d78f00f307c7","fjx820732859","jd_qjyCKpYDrOuo","涛声依旧15168","钐钐钐钐","jd_5657235cc6495","jd_62d915df928fb","jd_7999dd2f22510","wuhaxue","smzcs","jd_76a4812dca745","jd_5c354ac4cf8ab","jd_49c212606bc23","林清001","jd_77c87fb140f5a","dxm2008","小朋929","596龙文区郑瑞川","Aexus","jd_513f929e3fb5f","jd_515b5b3c39d1b","jd_kSCHtqOaAJGu","15225653384","timmylu","313066164","jd_lxNwyZMFgpXO","jd_4fd87cddff775","yydylmh","jd_404a09d7b0adf","jd_7971497c5775f","jd_bupffdRjHqvT","jd_6ff11fed051d2","橙_男","jd_6143d59a9944c","jd_499c7c3f75823","jd_75e43a53791a6","shockwave","18168818-92389492","jd_7ab840a129b8b","jd_4c0616599af41","wkvision1","jd_58183435ab559","shiromaple","379052052-136968","abmsky","jd_69383673e3d45","wdWjqZzAfYrJma","jd_5bb04f8b695b6","jd_72fc0d300c472","jd_57367227f9d11","jd_4328d6dd1d384","sydaint","jd_423c1eef6909a","15377932905_p","风静夜未央","13732180461_p","18521355807_p","jd_567c9e608379b","jd_51acfd490ede8","jd_4f392019b0539","wdfmjJaWlvfclw","李兆清","jd_45bde548607ee","jd_748b8a8db8419","li5672970","jd_4bf004ae728dc","jd_412758cfea563","张先生o0","jd_4cad478e19c07","弥撒萝卜","jd_5e2fe0bcc77e7","Admin_x","jd_5d5de10d28789","jd_CxoSFlDteEFv","减字丶木兰花","jd_764f3fa934749","synu2008","jd_BlfsJFiFwMxA","jd_5bf29dffa62ea","936249-88874327","吴泽熙","jd_dyLvTkenuFZr","jd_jdDdTejFSCQv","jd_44061ab066801","jd_7d8bca4fe0e1d","jd_XglMPOnDmGBl","jd_71eac3c1ebfaa","jd_4f998f6b90946","zhaojunlucky","jd_6f91806344daa","jd_63c7a96d12f9a","jd_43d5680fd7047","sichenlin","u_78c942d29155f","jd_562138528cfc1","yangmin300","yeyj","wdVWDGlSBJLRbg","kulong1983","jinzhao_zhang","jd_7c8eca371d8b7","jd_749ce42d5eb23","wpzgm","jd_4aa6ca691ab2a","conanca","yaoyao71232","82606435-299850","208332482-829664","jd_6a654f96d00cd","44848180-105580","18281037713_p","jd_5922cc4575b57","jd_6704f20512d79","1991664517_m","wdnFzCLnXzrUtb","jd_5172c2f2c5c18","409954025-575404","5159796-47642000","jd_76d5cce558e21","aenstan","jd_7e7e762f3f01d","jd_7e733ef6d6603","jd_615fe88d961fb","130328559-98161371","junlintianxiagod","jd_6dee76950378f","jd_4477a1a9bfae3","jxhyc23","jd_66c099c0f3edf","王稚瑞","jd_6c03412651470","jd_76b9f88b48ed0","莫尼卡lee21","jd_7d2ed1d88570c","jd_MQpoBkylxADL","jd_6e06e9847efac","jd_55466b4a069c2","jd_707a12333f97c","simon_李","jd_68d4c02c1ca94","hanhao88le","jd_6dd1fec4307b4","jd_7a5d5b7665609","jd_467060fceb174","薯片是片","jd_73a8d8a92e40e","99697016-897067","nancyher22","jd_6731fa484bc09","jd_AoyJrTxJasCR","adamwin2010","jd_4dde655438b86","1陈JY1","jd_nLwflcSSBJIc","钥匙珺","jd_4769905b93676","jd_ybSIxsEfaUWQ","lucifer_wv","欧阳苏州","jd_7e2e445c33460","ace107","654294343","jd_JNNbCRhCCOGt","1490356432","l1026352869","jd_5be3756d68aca","13959894966_p","firstcmm","jd_ZgMDnbzwSaqL","youxi7818","panshengjie","s1837286777837365","jd_74d1b00658634","Song930319","gualy187","jd_57eb0acd5313f","jd_MfvhxTPzbGjq","jd_550541cf00cce","jd_75e3c323fde70","落日余晕","pingshu008","jd_769145084def0","jd_hqrzZNuLXzft","jd_IPjKaxoMdGqA","寻荣问月荣","爱吃大白兔","phatpooh","jd_74ea36e8ca8f7","543592823-648833","xuyinjin","18732099292_p","yhui205","cloud_kim","jd_565051618d214","jd_5736d84c28cba","jd_616b35e91804c","jd_673ddb4e8cbd3","68139773-588171","jd_42d86d6ea05b4","Autumnseason","jd_5741ecbf6cc31","jd_5a608af6c2067","620310074_191079243","jd_5f84d32fe39cd","jd_LCSCSjbSmIIM","jd_tsEuXbwJNYXB","wenflight","4737555858","jd_631dde363950d","jd_6108d516a1a71","jd_622e1b1250c5d","kanzhongqin","jd_5f5a3f36108d8","jd_584091117ffdd","847723087-544681","15767979661_p","jd_711ba36581eb2","厨师","salsa2010","jd_5cbb0f1d46a5a","jd_ThqaLBGlCGZn","jd_74ad2229e55de","jd_4ab7d862ba8ff","jd_OrqpxqRWWqFn","13507172304","jd_51887ce1b5c7a","聚美优品账号","wdYBsXeQbEdzRw","jd_595090a587bb8","lushibin","jd_65c1bb0b4be41","8297741323","jd_6bcb33e3db693","jd_75975145c3634","13604853222_p","ricky252202","jd_4449633d68b2c","vanwhebin","曹志勇dd","随心_而语","suanfish","lxd913124644","发发呆的羊","jd_vkAisGDDceLd","jd_506fb3ae14c84","jd_7053f42da0826","jd_fucAbZTWlAqI","jd_7ea339e3ea534","jd_QOqFkiRUeQdN","jd_46f0cc8ed082f","annycaifx","hojiei","llllttttffff","jd_70305a80f98d4","twh0923_m","535240406","ljc丶12138","jd_katpvPIKFdbl","jd_56ccca105ce0c","TommyChong88","evian8888","黄先生8551","枫天吟","鲨鱼吃猫鱼","jd_QVJqsMlRirFR","jd_40a2d9485cbdb","jd_414ec9be1d17c","jd_51a2c812cebd7","jd_LFsfHtFKVqyg","河本鬼茂","jd_5bba8f284c297","jaysherlock","15050131239_p","jd_73c8bf1951281","1411682-306488","wdoxOPZBdhjxka","jd_62a9c28465442","jd_5be621e2e3b86","xiejun7999","jd_5154b98c94c82","jd_41714161f11a6","yoka518","jd_7282ffe9eaf75","horaynia","linxw120823","jd_59751037cc5fa","jd_798a2046f2b92","derek7788","135423780-552795","aabingo","jd_64d9e6a8c9918","4441979-744391","考拉的绣花鞋","jd_4fc53be00153b","jd_6b4d0744f14db","jd_BzChYMnESSTH","jd_jmzxeKivXaIb","jd_OEBOXAlGdzoA","jjss520201811","jd_51d6e2f353b5d","jd_767d6dbe60d69","jd_495a1c097affc","s1567015585875694","jd_nXNDsUlUrXvi","jd_7be2458ecb92c","jd_6ddff6076de49","jd_731b7d7a0fc0e","皇家修补匠","jd_7ede632974a5d","jd_476145edf8630","jd_750499306cd1a","jd_xWjdEerMPZYV","jd_622a0664aa769","jd_AEteeseGUjea","jd_5b3caaf3341fe","memo1413","jd_5720a8ed8cfbd","jd_SMikoHivBRBE","syl1722","不穿燕尾服的企鹅","wdNHiLaiiutqgrb","jd_64e5a3887aaea","jd_56ac8fd5be63d","seed5256","yad7109","jd_yUEhVCMLECLI","jd_VJbROrwjetoX","poosui","jd_EYsUlUXCYjHI","jd_6d41471cdf48a","jd_799fee30b0bcf","jd_7a1f86b655e6f","jd_5f4b6a98ee7c1","jd_7c0700172a06c","小灵儿阳","jd_4977c840706e1","jd_77414cf08aa73","jd_6af266b180e48","w363045389","jd_429ca6406c072","linluoliu","jd_5006b569fe822","xiangqiang0928","jd_grgugLHCZlDO","hbqjlzh","hellcell","jd_600648b35b17b","dongdonglingling","jd_6e756591900e1","jd_FlVLZdKlnGdZ","41635934-468016","jd_4127d5d664a1c","jd_nsZDyynWrhFd","13385282933_p","adwktt","skystream","jd_oxmOeodUvWIP","jd_MxwTbylgHBiF","wdYAtUPumPvCdy","u_47e44ca484676","jd_7bf48127b36ab","28960362-60289209","jd_6310a3ee095b4","harumigrator","jd_TvXOWVjdaHUg","ether22","jd_419037d3fde2c","jd_52cde227a67f8","18028577626_pvu","19903826-232293","zq1121734772","chaizi83","jd_xhDoFugimfHE","happyazhe","buyidao","wdrBvLCtCzAndH","GTmax","jd_562ed1db0aa3a","13729018528_p","小n言","jd_6100e16a722a5","有牵无挂","jd_47004143bd61d","jd_EgdJygcqZMPN","jd_50264b4357974","陌路7039","itXiaoFeng001","13246850599_p","jd_aXuQgNEmbDge","jd_612f6c623aa6f","jd_4a66fa9c2e95d","jd_6127dbf3213c4","jd_4da8f3c41f5b0","jd_6e533759ed650","jd_53705ce1ab3ae","1414019780_m","13239004876_p","向日葵知道","李维320","jd_AEyqvimYUwyb","jd_74ea8e41200bf","leton8888","popofts123","布头丁子","davydc","18719870718_p","cnlizq","minluke","ghjmax","jd_76e751e70e645","胡雪飞21","yzfdy","Jun辉520","倾城一句","jd_4cb1953938d47","jd_658351e5d0d70","jd_75a2dd2d5fb93","47351970-138908","lc41771771","jd_49b674279df8a","Q461208596","jd_469b181148ed8","dgkunqi","13819719194_p","jd_jXMaJOcyHjWR","jd_nkOopFDmlNkZ","363946097_m","吻小鱼那天","jd_CGsFnJfwLQCL","嘉嘉vian","jd_65ca5f2d7b63d","jd_7404c3cb922bc","luffy579","jd_47856a39a68ae","8569068-90497343","jd_6f812974efaa1","jd_5e912acaa4c08","jd_64dcc9b6b622f","jd_5d7242ad41180","jesn89","一季梧桐604","jd_79c0f0e59c6e8","jd_6577b1b397350","zhangyurabex","jd_46e40b799bab9","jd_4b287984ca77f","18039862515_p","jd_4564b9b588170","jd_659d77cc6d1f3","bleachcool","god851227","jd_6e8b99d99f873","kffnqtd","jd_5d1b2197a7e16","908270156-708197","jd_mvWGBivQeowr","75674339-11261297","jd_QyAHvcoJdeWV","jd_4a4932b8806a0","lxf001002","从不购物者","狐尾百合007","jd_710a15581f2cb","343558225-964688","jd_5d61e5afdfc73","两粒沙Liao","-o-o-o-o-","迷途的小书彤","郭展光","jd_5cfc99b6a4577","yue7141","怨言无用0616","jd_7481971238854","jd_gQhkYvoKDcCl","8uan5bht9512","chenpx126","jd_4cfdd3880324e","jd_5cbbed6840c62","jd_55c7e48b4e383","tangwj","whany98","3446674-563525","jd_jvfSmtyyGirW","jd_4f8742592ebee","18605542013_p","jd_5248d35b2a141","qiminghu","jd_5f6e724287bd0","jd_QnYijlBkZOqi","jd_sVGoHQNSNmGJ","北极的冬","jd_5125dd028471b","wdHlLyiDITARuq","jd_5ebdf71094547","jd_FObOAZDUokhY","jd_6740f389e51ef","wdqJwIISvAMLsX","elvaan","jd_6bf2aed82d3cc","黑色飞刀","jd_obfbrUuxtiEx","jd_szgJTxkhfJuw","cdg_jl","jd_6039668cda74a","qt778354711","jd_65ab02a8ce114","jd_ZeopHBLeeqdM","sanshengshileon","zhanhongxing1985","jd_7885888d8d522","ss_dongwei_m","jd_UAItkhyZheoM","30973-74038938","没有谁最好","jd_zjQyMqNvPhQW","jd_47805b4c25ae1","羽落卿颜","jd_6360b58fc3a44","cuties20","LJX19871128","jd_40ae9c37af45b","jd_48180e3ce0366","jd_43ca4b6456ae4","jd_nzHFdufzUBpZ","jd_55d42468d68f1","cysycyh001","jd_fwxEanByVNUP","13525957037_p","陈邵君","jd_673708e35e1d1","jd_OylKouzkwTCS","lian0703","jd_4ca24b53e5040","jd_52fa3a4a489ce","wdESMHAtiabUxL","李竞莹","jd_4e94b322774e0","zhangxy885_m","gt21500","jd_6a8f1ac1150d8","zxy20014","民太难","jd_4c410d2708ccc","snhey_m","renlet","绝版聊神","jd_6c988f9eb703b","maiany","打完Boss好睡觉629","zouhuixinxin","jd_62007f1e4df2f","jd_HiTKFqCNNmry","1176270195_m","jd_79b7c48ffa1d2","phoenix2199","jd_591c2d8cbf026","jd_uYhJSIntSJRF","160269752-509377","jd_7b38a39d5418f","fengwang1520","jd_7f198d454ca24","jd_6393073c2b450","catbbc","jd_523b06c562a6d","jd_ZFzfQamcTLLo","jd_6a8506cc371a1","leonidong","茕琼881231","13181859180_p","huang68360122","Sky_Rabbit","jd_7070524e94026","liuzhi417","jd_76e7face4bf88","jd_6be810ef3f7d5","jd_rKwccyrghnjF","jd_6d106651f7c16","15016952000","cx0824","jd_4f245282cc0b9","jd_6a3ee8397c935","89clark","881942-15169716","jd_DsoAtsybvywK","jd_6a0caf6472a6c","jd_4bca2a849cab6","zj59163040","guofeng6268","jd_5e773ec7ddfbd","jd_76e7e7ebfa298","mhqqq666","200319828-224782","jd_rTBCSdwtrKVf","macos229","jd_63ff458272e28","jd_HrGfWXewOFCV","jd_6ee1e50c7b3d3","jd_5964d3e42a06d","jd_wiusEovmCJCP","wanglaowu9_m","jd_581b9e18b1f4a","jd_47eaaa5c3448b","jd_605bb13eca244","jd_47400d510a737","15591393802_p","_刹那烟火","jd_YGyZfBNKbxna","jd_584d50377d5c8","jd_691a169c38890","846015234_m","达达ILOVEYOU","jd_69c9f2a581404","yinglanyun","jd_rHoyhgqtCOoB","jd_UdZZgRunSkrK","jd_znBXRtZTePpW","13477540505_p","wdNNeOFVSeHGfRE","jd_42bd8c18fab33","jd_601925f6a9207","fanruitian","18724338454_pqd","jd_6abf0672def4e","15382315581_p","smp_05","jd_7367267431992","ulysessweb","jd_4d124e5c40d06","jd_7963c017d47b3","jd_BnyDcDEwhhYM","jd_7d8bf124934a0","jd_4750d66cf5acf","jd_78e0539f2efce","jd_gcFdjoxKwiHi","Euniceface","apollopro","jd_VzKsYMvcIvjh","15632128629_p","13307335086_p","15240393098_p","jd_6f2e61de4c4aa","192952482-404388","jd_7a5dba14599cb","jd_5a94198572224","13820422414_p","jd_7efc28645428b","jd_KBaFwcNltAsk","jd_7400d2f4663fd","13654075776_p","meilunmihuan","18754818207_p","jd_63d8b60af5f09","jd_7db1f980702f1","congcong炒葱葱","jd_7a1917e174240","jd_5bc176b7aaec3","rothchild_mle","wen122056","jd_51f5da00da9e1","jd_79d59f7557b4d","18328598836_p","jd_yXzjAtAqVhko","katina3028","18018032716_p","jd_6cc93b2561b0e","jd_58d850d205f79","jd_NXNrOUbGJzwC","chsylb","jd_530b0f5b84d09","jd_7449e0efe8d7d","skdream","jd_779043ea4b5b2","jd_5e104f915d3f0","jd_55884f2b63b42","jd_7ad140ebcb879","jd_rONXYovyzbhS","梦想成真721217","77645754-850566","jd_6d8f645b72eff","18848980360_p","suziteng","446737295_m","jd_QzHoAMauIUWG","jd_68f971d2c3a95","musk875","jd_7b78cbc81066b","jd_5e38ca7efbc2e","wdoowlFwJBFsxA","jd_799618c9e47e0","jd_60893b4c09809","jd_kDTAkztsldXL","矿泉水dtxy","edcbadc","jd_54e6bef240290","jd_5eea58355e463","jd_48eb210471728","jd_72b14cc78e524","jd_51f4ea0ea5f24","jd_79b2cbd42d1a2","jd_55371a814f65f","jd_69e6df8452920","jd_5a6807174fce0","wdOiVANjJzysih","21845911-63995371","jd_66c76e3242f75","jd_643739c26d3f1","wongzunsun","jd_iPqOLAHJeXdd","jd_5dbef6149dc4e","jd_LVTTKwGEzFCJ","jd_4326dd2ba0d58","hlcx86021","19760-72533747","二三事2345","13871269717_p","jd_GhkfEIZPVHBF","jd_5f57de5bcf234","jd_fMxMoMYFrlDV","jd_UXTEgCxnrTfj","jd_7c1d1c1d754bf","jd_5ac25e7c8fb6f","15555895602_p","jd_6c13ce0ba1db4","奀尕","无方向的风儿","jd_ZurAWkkTtsbP","jd_557b1b4fa741f","zhuyunli","jd_47a838552475a","jd_58eedde8ba0d8","jd_vpbtuUnXQvtM","1221992-91591351","15958738347_p","jd_4163e28fd2f26","jd_zupeDkMeRCbQ","18350491038_p","jd_7f49e616de35f","381296355-23763537","jd_637a4b1274435","jd_42e6644a4b7f4","56678756-402685","jd_42fac69da8819","zobinqy","18857380175_p","568187856","jd_6d3cbb8b0751a","jd_434804856b8a5","jd_595d4569609eb","jd_6d777a5c9a58e","1042944296_m","vonxingc","159318674-306843","rension","1366677902_m","冬菇兽吖","jd_WbAvseftbpsU","387800490-795064","18076596720_p","jd_6b36102d2957f","jd_625c0045c9431","jd_7c52aee1ab442","jd_5fa88e3c03aea","wdwQcCpdyLwgAe","jd_bsYhnKQMdhHJ","ximoyue","jd_7ef1fbf47681c","jd_baTBbUzHOPJn","35299763-88504630","jd_445846b9d0fdd","jd_64a0c6c5ee96d","jd_5d9e7e82876ef","njkqjjf","fengshuhong329","wdNexxTjPrkujcw","jd_72dccce0df8dc","jd_7bf528ea38b27","jd_50f0b37a249ed","62707427-49145947","jd_53b7a7a1521f2","jd_CTIpOTKmjvbd","jd_68c1a175f08c2","269848232_m","jd_58dddc18590bd","kianyeah","elite_yi","jd_4b578820cb82b","Rebecca19890712","18538710146_p","jd_434359e94d9a4","jd_52b0ff52154e6","jd_MqfNfKmjEZei","南海愚民","jd_FDgFwMRNjLsC","gbw1437","MisterGlasses","jd_XPVPpSdjrxAC","烟花丶稍纵即逝","arika-xsf","jd_6202efa21761e","jd_PcNmFfXprrxC","zbw59033602","xiaojingang_0","wushaomeng_m","mrwuyeah","wymam","银海敏","jd_eYiSvpiQxtlN","771456556_m","小0晓琳","laoguilin","378350675-321285","jd_4847949f25a1b","darkblue2018","jd_729ebef7a75dd","jd_5720f03398bcb","jd_64ab1a4f5ee21","刘恋_猫","jd_578fadf63986a","jd_62ee52ce13b47","jd_52b8729027cde","周无黎","jd_4963a09d1917a","tzjz_8","jd_lpJEDMqkLEvF","jd_JsMOGnzpJDPw","frankwu555","ft2121059","强大大网络","况天月","hanfei8130","jd_70c623436f4ce","wangkezun","hwal2010","wdhwKcXeMFwOch","chenlulumatous","jd_uWEBlswHEGGs","lijuanjuan_0506","疯狂买001","历史深处的凄凉","jd_5e59abe168bef","jd_HGDCDOiTLOcF","jd_4df4df35f1d36","15927169409_p","冉冉020277","wdkjsAvPYJzDWG","yimomomomo","13209558123_p","甜甜心依","jd_7ba03246b96b9","1946709553_m","jd_5f943f7788c6b","jd_60d72209cadf6","jd_7e44d82753862","jd_4a5041e30600c","imfuego","jd_413d83e728df6","xs76711","1084724943_m","jd_YuKJaliQESnN","jd_bYIVlCDRsuBy","8792065-74196082","夜凉惊被薄","42702543-919689","azhe","jd_7f2f29c90045a","jd_dGmxeBBEQzyk","jd_4b8f7d4b69280","jd_jMcGNbgnJamY","43293664-973926","jd_7f1ada974d34e","jd_5a691dddbbf00","jd_7c35e5beae26f","jd_7139fa60efead","jd_59cc8f9ce40bd","mingchenzs","jd_5de6e089d7d6a","jd_5aa49e46db43e","13220339980_p","会走位的小螃蟹","jd_5024f5272a92b","jd_62138db6b86c6","jd_EDGiARrGvBmQ","jd_49554209db49d","306037463-587933","jd_519d097d8b267","19925433-55171885","jd_5e0fc2f6cec20","jd_773ebd9a14034","jd_SJyEAhTCTWTn","rwqiang","jd_78762b81680f2","jd_XAvmkwSOsLGY","jd_64021db2554b3","jd_6c6bd5ecdb5e9","jd_AJRkyEjQgzjR","5288988-70191078","jd_4a1092eba5cfc","fei88888","990672457_m","让我倾听","jd_67d3c221cccf4","西子无言","jd_jApQyTzTGrOe","363837245-284781","jd_5a638cef6ca51","995492-72639703","69944024-624994","jd_4f57a5b4f1c5d","jd_4bcfe23ae4b88","jd_589d181d48818","vonxingb","jd_51a926a369b57","jd_4c4a8520bc148","jd_7172ddb1239bc","gnod512","lydialeung","443715210_m","jd_chwAfKrIXfzJ","jd_PLYhkiMGXQns","jd_4a37c58eb4540","jd_617b4c7f054c4","umbral","15895407915_p","jd_72b9c6f5d62e7","3880739-815064","jd_7bf8b448ed770","71713017-163401","jd_753f689a9f6f0","jd_5e9c5db898ebb","jd_70229d54c5863","jd_64c19c5e40c8d","jd_459a4f135e1e8","dofeel_cn","jdlfy2017","jd_6afe7735aad02","jd_5211e226942d8","jd_74021665e5467","18641106863_p","jd_416b736db0687","jd_5f1ceb036ca09","LYQXH2020","jd_KkxoHjbQYfmY","jd_6265d74f1337b","jd_QbKFesrCcBOn","1963805-471641","jd_67146e48e90c0","wdZLaDkSzdsGxM","jd_4c9ce57476a7c","451135499-408962","jd_699df6749b2cf","169050896-595757","phosic","jd_LGxpcHiGEBPZ","yfblog","jd_51a6676842def","9840144","wang63189753","q5522331","15052478836_p","99132740-398648","建明6966","jd_5772b4b620d28","she南宫若云","jd_5c17202671787","15975229552_p","llzeroo","OneMagic","cexe","jd_7a890dc4ac55a","jd_79f8923971b0e","jd_435323b5d604c","jd_44542c291c7f9","jd_68e18306bd854","purplegem","jd_ZWXtYrokSzmS","15226032087_p","iCe10o","jd_7c46d64745cea","jd_535e9a2202b92","jd_zfEdnylFIAZx","jd07asd","jd_54a4260ca986c","jd_6f3595e36e702","77144989-151364","fujx901119","jd_chYlVcjidlpG","wsky","lukea","728181192_m","jd_742899ea43e6d","jd_53443d0bfa957","jd_631a82722a536","jd_6a7e52a2cc0c5","angelfish110","jd_5528570409b1f","jd_60a05d32c47de","jd_4dfabdaef3c9d","jd_453a27c8f574b","jd_488c95983ed2d","gmacs","jd_DDZHkhxHGOol","jd_6de25b1cd84b3","237541448-53315873","我数123了哦","jd_gwKWfagUaGVk","jd_6fc373e61d1fc","jd_7640e7597a545","rosenhu","jd_RgxgkRLNcfqM","有个爹","fan1084986143","leeehi","wdEPmDJxyVlmFl","jd_IxzrutdvSTYT","NickyKwan","jd_566135f1c2542","jd_RGsRPQdVldrO","jd_443ce1d095380","jd_7ae528a2f0e77","jasonlev","jd_gpxDGWFfIUEX","rongyu1314","颖之爱人","jd_yslFraWUeqFx","jd_49c09357fce62","cwj615","jd_NFwMjJvzmnYW","263805664-671678","jd_49ae63652d371","jhonlive","Mr_zhaohy","wduRziGPmyYUtA","wdNtwDMBzZZfMOk","jd_6ea25527ee761","jd_5d580d0b52320","jd_45e8bb68dfa42","jd_51795b4a5c823","北风717","jd_48b86a41920b1","eastwin","jd_7bc7fdc0eac52","jd_76f78a054c3c4","jd_47a07c9b3e298","jd_71458ae7166b1","jd_594ead6d92b84","13964063229_p","范范范范兒","jd_66a479c62e439","jd_7d2e3c12147b7","jd_6ae4528d15417","xu3804897","jd_PCxjIrVTcnBQ","jd_wqhANchZlWYL","148924077-158340","jd_6c1c9c0008c87","jd_RYwJToQlOZGS","jd_7963e1f4a900c","张文城522","jd_5449975f902d9","jd_EddzTDhjKqJI","jd_XBQEHlzvVzKA","jd_7c36b51cc5540","jd_46a587b474b8a","22739730-296399","jd_7941f984df2cb","llsbljl","1073613363_m","jd_7c60aa8483158","jd_629afd9bcc019","秦雨天君","jd_5a422eb6c4e31","jd_58c078fc9f89e","jd_70af88a457f49","jd_51bfe0dbd92ab","617677984_371718559","blacknesseye","jd_76d39b47e0d12","jd_cvEmqiKrCFHy","jd_4812a81f25002","13333310405_p","wdfemKOcPsUjVf","jd_482c305d7df80","jd_639284c7e24f4","jd_4dd85e378e3cf","jd_674e8c19660fc","jd_hNUkYeDQBtlx","jd_5bbc62d6d18a6","jd_6c14b2d589a45","34263940-19900457","jd_6e7ff249f3d85","gd0909","jd_5aa7dedadcfa1","yxh780318","黑咖啡-t","静静的湖人24","kylehe1312","rosellhljx","WgMzkVw1","72601694-908870","jd_62d956f606288","jd_7e29539a0ac37","jd_4c14e51b4ce14","apple8546","jd_60cc92fe97951","jd_63ddf1355e064","gxl36359","linkman1976","jd_410324549c10a","15757110934_p","石头很石更","wdNHOpJRolZUtJP","铭文orz","jd_79efb63dd232f","jd_gweIihdzweCL","jd_6bd06f4c2d420","jd_5f06079b2f585","高傲的孤单嫣然","z13275179398","JRSD_LmOOH1402","jd_6503a2e8d430c","jd_7a45623ca100f","ghwagh","jd_55f6519494eb7","jjss520","gdw1986","314893426_m","13964972213_p","jd_71ce6c22735a5","13777533321_p","jd_792710ca5785d","jd_450c7bf0470ea","15626109019_p","jd_69e30127504ac","gun4u","jd_7271377963ccf","jd_4e4da618dd462","tong199078","jd_4465a77ce74fa","jd_mZXHBOGGUZxH","jd_ZsfHGCiRiVCD","xuanku611","wallacesteven","jd_4b5bd7b2e8617","jd_497bc1fc7b8da","jd_611833e083887","497379688-126219","jd_72333625caa33","june6nan","jd_XrFmNAiiTYkU","mdwsky","jd_4cb9acb839406","jklujklu","310213645-68301428","jd_708a460d62c23","jd_579ed3b712275","会飞的糯米饭","kek3","jd_6cd1ee8a34f44","jd_SEyBvDbQInwH","jd_5c62469010a07","dannyboy_cooler","jd_HpNQtmKmYLmi","jd_dvuoNTkZHxzC","jd_4dd9a80272aa0","jd_60c6313ebc34a","jd_HJsqHppCgLwV","593869262波","jd_4ecd84f847997","jd_4673658df847b","wu1984xxx","75516360-169504","那时相望","jd_aJkTowaTFvma","王老虎抢亲","会移动的饭团","caz0820","jd_57f0c304e1e9b","tiramisu喵喵","jd_5122c632d8d91","jd_508bcd9867d91","1639873634_m","72117-90251726","jd_WEYMpWrxHKuj","天啦撸wuwuwu","jd_685d03460446c","jd_7f3995efc0c66","jd_62fcaa652e239","有闻必录","87953483-693143","jd_76182435a180c","out小雨点","jd_5b14759884583","jd_4691ad39e8615","BARGAIN81192","jd_6b78dc54091aa","jd_ZshwNwOtMSnU","mass_zwh","jd_758c4732b20a2","jd_lWfzEzaDUuBs","llych","jd_49769225b01ed","jd_7f7158bd2fd35","Eser-6216","yanc_ccc","jd_nGDOFTnhjElF","chrdw862","jd_57fc552117830","jd_ljpQCYfKucwU","jd_42813b9522f55","大老彭","jd_6f1279a41c835","824575210_m","82558163-358544","泛遥","jd_6e291b044ca5a","jd_60adb158a446f","jd_404281a8a0873","mztvip","jd_77fdfe7381914","jd_4076bf89d4cad","15828140954","jd_5c090e1ae8c09","335135547-981503","jd_423f424c8d44d","jd_6b0bb40a9e5ef","jd_440679210e3fe","lidengjies_m","chowbing","libo4978987","jd_421b2ec444090","1906992949_m","wdNLVtXlUfXgMYq","jd_7bb7fb8ba2004","jd_51a0936870bc4","zuohanzhou","13937413793_p","444430314-185763","jd_4018b5727644b","jd_WNIpjVOffqkY","xinyunya","mayjunewy","wdtPXqGxsOtlEG","shenqi123","chauvetli","jd_407ed91f7333c","jd_7db0f5ec06598","jd_5e6cc6e16ccde","13850826700_p","kevin8027","wang_cheng_wlx","jd_7061c3c679684","jd_679760528538a","qq845559271","jd_552b3edeefaf4","wujwkkk","574236672_m","jd_5b072de2d3474","jd_clpbJPHOAwlm","lanyaqiong_m","jd_6c8cebac22ab3","13908368827_p","jd_5ec4656a5f9d5","1353841-82433169","15524480-322992","晴空万里war","ysqycy","nuoyaneasy","xxhy1990","梦回九龙","jd_54058b722a7b8","myx4759","jd_zaBojEySiXTZ","xuzuniqn","jd_4239f23f17c51","jd_5604f00d7e897","维C-","zengshouru","jd_743caa74ea099","jd_74c7f00b8cf2a","1016896-57022454","jd_790b63f172ef2","jd_7c8b6725bfd0e","banchi01","jd_WobOfduiCPmF","jd_5c0576448e167","jd_6bef9b488aaa9","jd_69e69f2caf5da","hs20073mun","jd_71c64e3c47c68","jd_mHADrLpnNByE","d0ndelion","jd_70b27b1d6c7f0","jd_YkTLWhQwmMJr","damoo","jd_65869019537a6","lanhao3790","jd_75a2d9f38cabc","南宁威宁建投","生活网爱生活","jd_5e01d195f109c","jd_537ea38300ba9","五雷焚神","liujinxiang0923","75935065-733100","jd_yhZnuqNslAAi","11832616-47018013","jd_gYwFbUkQLCys","refuse_heaven","子涵0721","aaa13148403","18682264907_p","jd_7e48a4e1daf56","117044681-131241","fpan","94964999-43002856","艾乐来了","jd_5ce08b71b65af","ni7ht","fxwj23","jd_6aa18d874d1c3","jd_7b2370c1b8972","13456196659_p","可爱宝宝1125","jd_4075cee24ac44","17604309622_p","jd_6ad7c5b2f6973","9949535_m","jd_7e8ff976c2bb0","jd_4c534dc5043ba","wdOMJFJKwSZRIr","jd_58e64dfefc74b","gaolj_0817","jd_7daf5f2b1fd56","梦海琦灵","jd_7c5d294c90220","ppangle","jd_56abc386209b2","jd_63636213a23bb","summax","jd_53c4fe17f123e","jd_5a9030b196b88","jd_7ebb41ed0d763","jd_66f8da687c584","jd_6561f394cd25e","张小燕燕子","jd_5f10d27cc1716","pstoptop","jd_UXZhKSmTZRuH","jd_771e16ff2f739","1440787-82652957","13160640158_p","guguang9","蓝色雨83107","jd_7d9ee3b403958","蜗牛慢递","jd_61db2f7bf1369","jd_53a44cbaff479","wdNiXQemmyJzbLn","jd_633be99951a8a","jd_494c5c7d354e5","fss463320790","zhangman1_2","u_433fbd49808fa","jd_FEpvyehuFRdG","langwenda","jd_7db07264c0a04","8653008-99236723","jd_6ee5cd3430de1","wzkyk445566","jd_6e130b45cfadd","jd_4918b4c31a817","jd_72c5c08fb56e2","局外懂谁","jd_7c2fc186fb01d","wpeng121","jd_fxbRTeykvgvk","yinyanfeng2007","jd_57ec3b52e65d4","jd_5eff553a5bcd0","jd_CacSyUqYeBFu","penggang555208","jd_7a9ec61363540","jackycjq","邢文婷888","yeyjyixun","wzwcfei","wdSmhYPpdtwPTK","jd_ngoCatKrTmte","wdkujCciPUBCNQ","jd_oLjygfAoonEc","wzy19900101","5706365","911alex","BARGAIN138","59770607-412539","jd_4b311144953aa","jd_7b21fc1d4ffa9","jd_463cb46cb1efb","jingcbjet","jd_65ef297b5da12","jd_nVCInjZVoNDp","wph931687246","15915817078_p","天舞紫嫣","admin132","wfb835","wdnyBUregQTreL","jd_64e6532749fab","282472133","蠢蛋呀","jd_CcKatgOGAvbD","jd_WBQYzBSlCKfJ","jd_6f9b9a6769afb","qianqian2020","wdNxxHGSpIXbWVC","805126232_m","jd_sYhgdxOcWFXh","召飞燕","zhou576368327","jd_5974ebd36cc78","15882388521_p","jd_4ddf6eb975c21","10643896-301323","jd_69a0fad58f539","shx857159145","jd_633122b1d4c91","chenyuhui621","centry","菲常爱你0825","jd_47f797fc6ec35","18246096090_p","l1292778464","jd_667ccf8a0e0c1","jd_512f4c078219c","jd_580551832b4bf","wdxACSlynryZep","jd_5c9fa3f8eef44","jd_rZkxGZpgVueT","liyamei2009","jd_534948d8c4d66","jd_48fa3b56278e3","18871310032_p","jd_pkCOVAWfFNsj","jd_5401ad768b9e8","醉醉儿","595503999","xydche","leirensheng","victoryLrs","leeeboo","jd_UmHDufuOzfng","你好少年159357","jd_4b84bf2dc1f7d","jd_SxFkrjRofQUy","jd_42f408acaba4e","974678134_m","x71420820","奥莉娜娜","YXF880","naiqioww","ljhcn","jd_JbnsnsozCYzW","jd_5e021bec1ad24","jd_sUkfBQxbCpyc","wdBVnYxxpchIvN","15365154279jy","lzl20110","jd_427a456635060","jd_7006fe6f14e88","kongweilongkwl","未完待续zwm","753兴宁市陈映青","lhc880830","jd_5454f37937a45","418998354_m","jd_720aa25074dbc","jd_77571d52191db","13883749159_p","jd_6dea0e0d6d70d","云蕙芳蕙炎","jd_510a15c771a6d","whc7608","jd_79af2bc7a56a3","jd_5b5b6f8ac3aad","jd_cdSpvcRdeTUL","2281868002xueli","jd_507b86fc533d3","hfqywd","393222200","这小子贼酷","7279901-397108","1174586290_m","115236918_m","collylove","jd_7c885fd4a4176","jd_WuOfeVbtVrjZ","jd_493674b25c38b","jd_73ea410f588dd","jd_5821002515137","to_zjun","jindonghzh","jd_40609ae6e15f1","wsx_vivian_m","1475162600_m","jd_79ed5bf2a61db","jd_uTPScIOeTQmP","775065783_m","jd_5e6fff359472f","jd_6ea7daa621a22","联合柠檬","VIP杜建新","jd_7ebc926fb9b5a","151799216-737438","jd_5a44a89940d4f","jd_nwLhLYQxpPlf","jd_6c11873f0a7c2","jd_7400e7ebe241b","jd_sJUKiEVRBsDq","love汽泡","jd_50a2159e232f7","jd_615fd1f2933eb","15736232177_p","jd_ELhGlePvTlsX","jd_YWtlQJtnyzHV","m1ntzoro","heroin1014","flyspace16","jd_77ac8e10f9377","zy19870827","jd_WPJeRvsJoUlr","u_4bfa88bd2242b","jd_7fdbdf96f0646","4166454-27251362","13768116747_p","jd_zhZqYEmZcLHb","xulihua0903","jd_7213eef625964","jd_pmzDRpqfihmc","jd_5cfb1cebcbad5","jd_6ef19c59c9b8c","花木妖娆","沐烟峡","yunsheng09_m","jd_7f7b65f1c32a7","jd_6156f1c8a3307","热水袋477294","18951752-516124","jd_6ed7a0c25a8ce","jd_6c8e202190c2a","hanxin1212","jd_59c390eb218f1","jd_loLGjtxKyAYD","332929498-722244","jd_5acf2bcf8177e","jd_4200b358dc6da","jd_pMCWonAQZrIC","jd_6cdbbf9c0994a","jd_5bcdae5f2934d","jd_7c3588ac1a93a","jd_71a0390c037bd","wdbegWkZxdYGwt","xiong61520","a18581205349","a864869420","jd_7d656d315e1a8","15811076475_p","13606975868_p","jd_612b78acc40fc","jd_523b2b9bddde4","小小日不落","jd_54c728fd1db45","ye_cao","jd_6e68d45ea006c","jd_5f01c573e609d","839041665_695969112","jd_BzkEULnlDkxV","jd_615187be7d45b","jd_7cd4892db050b","jd_4508ebc1e8fba","5169766","宋纸鸢","jd_53476e0bd812d","jd_4f6c1489d4f57","jd_5c42106aec7c5","sumchak","猴子屁眼小","jd18892514","jd_AHLAKpHUNqWH","jd_48c1e421c5aae","jd_7aec3adbabe6b","mtCeci","88370711-49835113","请不要这样啊","65697917-531477","jd_5d6fc547d4972","liudeyang","jd_6c6c15c490289","jd_7edcdd16d15d5","emptytian","jd_60630fe975f8f","jd_412a2270898a3","jd_7332c1658ae78","jd_7a25b16d6f681","shengmean","xuyouxian19700428","jd_67bca4cc59709","jd_40b1509596a40","jd_4963b36d709d8","jd_5199fe263f361","jd_6a02f0ace8878","jd_4fbcd31c4cdd7","jd_74d26e927ce70","jd_4755247934ce0","jd_404af35ddb4bd","肖清雨","sczan1101","云端之巅上","jd_77a9b9912cd67","wagmin929","jd_57b6891aa8fa5","jd_58b7611458be2","jd_6e8b4bf7fd73b","jd_5323265048316","13977288086_p","18673845545_p","jd_4f0d331457d6c","hgl8998677","wdDCiRRUZkrIym","jd_75736df51bfa7","jd_734cf8f7882dd","jd_66b33259e2edf","zshgsf","筱筱哝哝","jd_6800e945e4284","scx007","Jackey13580","13023998595_p","Hdragon741","jd_5661d7eab92d9","jd_62ce2385bb364","Donoop","jd_7a52a2538360e","8792474-85281982","jd_AdmWZIAOJVJC","jd_4a5605eb62e2a","jd_76ce0861116c0","壮壮和羽羽","jd_4e69fa3b61b8a","wkune","jd_nrrzcRmIJsob","jd_4f0983e84c428","jd_jQMntrVNAyzp","jd_5c50a89af5164","itXiaoFeng002","jd_66ed11f62a369","jd_cXlflkCGteKI","nefermao","jd_7bd4110aa0242","jd_664ab36fc56e7","wdVoIpzKuoDamo","HERO199310","jd_61d3ec12549f9","jd_463e8c9a0e71e","13705047038_p","爱生活ai灰色","jd_52ffb48cf06bf","jd_5eed3262e7819","1408504-62889624","jd_7ca7e42eb36cc","13232178287_p","15905667369_p","jd_5d2d8031d62b6","junjun1986","zczwjh","wdPzpiGKTHgFaL","jd_5fbda9be54d5b","jd_7e954b2e3719b","vision_00","jd_7efccbcddb4ed","bevanye","jd_4092faed94946","jd_MgKlUqwhUMYs","jd_50f877c60e839","wdFbiMRWSmPAVF","lin121380724","jd_5799c8c2cbe2f","jd_51e5ac3c5724d","jd_5edaa170d7d26","xx1234685","jd_5ee4c430c6eb0","jd_4b6a1ef9e1e32","jd_679b2a826b26c","u_76f5238dc47d5","北巷思烟雨","hongfa8032721","jd_dvqyGRTkhmpH","jd_71d9cd12f9131","13788838805_p","810475509_m","wjswnj","18681102173_p","jd_67b75a7271a4e","jd_5517bdabf1329","淡蓝lian","jd_79ca314ab319d","冰春嘉士伯","高031102302","jd_4ba5bd8674b6b","jd_6df5aa18cd829","陳威廉-V","trobf","hfharry","晨光暮语","jd_6b8858c9d610d","jd_57b995299b562","18810636-49775300","18239629652_p","wtbooo","jd_EDNaHEKyXolq","jd_KSPtVitzxfhq","jd_4133eaa6dfcb9","wujok","jd_40bb029fa0f9c","jd_733db2f820f3b","ferian","邓园媛1989","jd_fiykLlVYOXQh","jd_sHOMNuNvADAF","温暖的小小雨","33757692-851223","flishqq","ddsbn","z774650037","jd_laArOIZQEAIg","zqofjd","jd_65defb5554e81","jd_6e5636fc3b1e7","jd_SqYqASGBFoqM","jd_492868e31c550","johnnydawn983","wdFqFDvRGugvQS","jd_5b8776e1f6a3c","jd_79220309de141","nimalaoob","Jielinyue2014","jd_414f908574ce2","vinsta","jd_6f91cbf5f0da3","21506173-817681","jd_fCeLyzSnFVUQ","jd_64956339cdf82","jd_LDpIhdrjTGRn","jd_7fbf64a5b78d8","jd_4a49fc3eb7c81","jd_641f8a05aa415","jd_MSVdZDtbvzXh","jd_70dfa72ef859c","jd_naKUyJwFVHbt","jd_5cc18bcfe699a","jd_45fe49bb8770b","jd_5663af6b6eeaa","jd_61a434b998540","jd_6d762d73932b9","jd_4e170a394cc68","jd_6964941aac607","jd_63f8b6064f4f8","何以笙箫默欢","jd_xRcenDooCEop","jd_6cbe1400aa56d","yyf051","jd_4196fba093285","377镇平县王硕","salty__","jd_74b60fb1e136f","15580180284_p","美丽梦园","jd_XwteTYTEWCAe","yghgohome","jd_bgDUXRXdYfVO","mrxie901021","flaming","jd_5e6ad2e13395e","jd_UBQgkGldzGcU","jd_aKVNToixlcnI","jd_4aa0f1626c2f9","danxiaoxin_m","jd_75e491fc0b75f","jd_izAwtMfYbuby","jd_53dc36a666439","jd_CzdAZJkQmamP","奔放的青春V","jd_6ca31670c8c2e","dafeishipangzi","jd_OvKjUJIqJUho","jd_78135a7124738","18620120811_p","slippersheep","Lost_Painting","duyaxing","jd_79760c413302e","jd_7f9609eca5a11","573228043_m","55075839-886679","why624940523","189615447-316597","jd_568d17e5e819f","jd_4627c73719795","fsfs5555","jd_5b50bbc4f9551","天棠之吻","jd_alCwVQCPmtbJ","jd_79679605b6b13","hf86","18208350783_p","jd_59a6a25c9b09c","jd_609f1c92d6c30","jd_57558053fbdb6","13871766779_p","913771869_234148847","jd_534a0ce4340cf","jd_BWbUqZIehiMr","Echo陈芸","notshare","jd_AOhLSBLdSnux","jd_eUBXheIaNYkC","jd_481c39f30229d","jd_75b13b69ac30a","wdNCCFZdnmKIOyi","yhhe_zhr","jd_7f246aa04e00d","18903586052_p","18010808670_p","jianghu.fi_m","tommy_he1","等四溢","jd_6e4b3fb654e92","jd_YNbCFYhVPyVy","yi红胡萝卜","jd_espeyTQrcitw","优加100","jd_bLCeKkJyfDTL","jd_6aadba2be5444","220927044-118089","jd_589abc6f4cb08","jd_648d098cc9fba","tzw8896","u_565f257031a4d","jd_40623ccdc8e0d","扣子ISSS","jd_5e878be73c9b1","gdouxym_m","徐其阳","jd_6463ce19688fb","Lefi","jd_7ef8a2ddbd41c","jd_4ed22682945f4","18708229559_p","jd_4544b7e617525","jd_cCkXLMoWcpBU","jd_61d9b929b831b","jd_504a41668961c","jd_6a61a645a1206","无敌的凯","jd_74ed620111d74","jd_567cd25919973","jd_42e72a4a4801d","jd_49fa572d404bf","jd_79f863c97a78a","13049586540_p","18093360-23281401","jd_7829168d83935","jd_61f1269fd3236","jd_qNMvplYEygwq","jd_5f3b587bc90fd","jd_41df41d54720f","jd_vlIVNAHcXfAt","xplzv_m","jd_50c4bc4879c6c","jd_61dc9167c03be","jd_YiTpfvVvJXhG","jd_opWuTcqnGAvv","jd_6824299354acb","61396842-85559285","我不叫ms","出关","mclulei","jd_491c732f44fe4","怪蜀黍卖火柴","jd_66496460e9735","nishuichangyou","15337200802_p","jd_465624676fe61","jd_5a2f5cc73a123","jd_7a0980e3b54f1","jd_FvjUlfCbtsWd","jd_6b8eebfa6160a","saortou","jd_VLeQaLJfvNlG","jd_61ae1e45a4fe7","jd_4e5a7ca9b4f23","jd_tYTKjMXxzyFy","因为未知","w28071","jd_4ccd6cc3c373b","jd_4c647180fa9ef","jd_72b55d0a202ec","amrjlg","jd_7d2881f603513","jd_5f94da0265e0d","jd_50c98759f29f3","富梅楚露秋强","惠志炀材玉松","jd_uSiZCyWQZJvq","satgdkb","jd_GgPRHEfNuFPC","悠悠过客0304","竞娜aa","吴慧love","jd_5cb6c6b598b88","wdNLwAoUNqUVWdn","jd_liTTWCoTAtkb","126955498-679357","jd_538c1fd46a0f5","TheOct","lairongtong","jd_LDJDyADgMZbN","jd_7e13d3ad725a1","jd_696ef0acad784","jd_AvuDGcPgHfGl","jd_4eaf8ef1a5e06","jd_5f45fcbe0752b","OHyeeeaaah","15254122265_p","kinddinosaur1","Giovin","jd_711c582209e9e","danceabc123","767363657_m","寂寞的清烟","朴正泰i","jd_4fdb92bf7ea6e","TwoSim","jd_5bb5553e84111","wdcDlRaGIRYQjb","jd_6d617d60ca9f5","84990406-716005","jd_FkbOmTVcIfwc","jd_6d7dda3a340d2","karkaw","yerui1984","jd_4791ef03e39f2","jd_6e5f624e2c957","jd_4ee476dc97172","jd_682306a265eda","jd_543c06d6e7139","jd_71fb63bf77e69","jd_7792b040fe156","jd_7582e93776728","我是wyh","百事可乐1907","481994323-756037","15918596350a","591马尾区江婷","zwandlp","jd_ykFobJquMNue","jd_5337c334f1042","jd_6103368488723","pantian何","_时_间","jd_47e33f94e1865","jd_6c8a266801ed0","yangb00","ohbey","3ku007","jd_xLTiHDBxOBBS","13369067655_p","jd_52f6f8013337b","583459786_m","13520648881_p","jd_48ed07cf6cf82","tingpj","jd_717e36c64370c","huangyanwei6567","ppkangoo","xhy1640","18638090310_p","王昊336699","jd_598fe8dc4ddbb","jd_66a2044903a99","jd_76bce47b850e1","何龙萍","jd_425689d1ad525","jd_4bbead8ffd06c","tomwoo1125","tomiyan","jd_6cb04330d31e5","jd_46c371ade2842","sypopo","13052539907_p","jd_umzXhsHwabWY","墨明棋妙陈","zhaosen2580","jd_627d449488968","sclspc","wdztpfoBoOuqUk","火鬼空","jd_560f8aac74c5c","jd_4a83d061e547c","jd_zYpMNFZtawrC","ghmy123","u_54d72e33140b1","18955248115_p","hbzmt","huqibob","songqang","13661891297_p","jd_voAKFJCtRYKl","739906589-116864","jd_YiNElisBkQdp","jd_758355915d872","504921633","相信5_2012","jd_4dc56b2eacccf","我不是邱晨","jd_718ded1b21ccf","jd_QMGUEJocqhvN","jd_XMKMHMYXwGJy","jd_63cad1e0625c9","jd_7c4d4c2402348","jd_6c5e39478ec3b","13434002877_p","jd_436de5a09763a","18501501480_p","panxiangyu_mrg","jd_4c78bbeb7dc32","jd_fgnOOOJKvLll","jd_472179d65224c","jd_vhmNGEMUCdLv","wo8023111","Charles__Chen","glnw","julinson","jd_4c3df1d9c17f7","jd_aFvPEenMOgMo","qj5657","gxbdbhd","13288326198_p","jd_5607902de7b42","zhuqun520","wdbMxvpdTvSPSa","jd_425d14b9999ad","jakeslee","jd_50f24247cb7a4","jd_7b79683d370ac","xl17665100565","jd_594c1d63af60e","无语的人7980","jd_59f6f71c7a6a2","913890969_m","jd_5d402594f5813","78153834-562335","jd_62a91536013eb","jd_5dae7bb5d0acb","jd_487e2b142c2f1","18516101144_p","jd_6ec12589a4308","wushna163_m","jd_72f7c8449cb16","jd_7429cd998c1ad","时光丶晋","jd_465e9d8d9696c","jd_4b9b025f91d23","abccxy","wenggoo","xtynije_m","jd_ujGJIWqfijeN","140160654-46757959","jd_4b3f67cce0d00","yaqicheng","jd_4750fd46bc518","jd_63a9e75bde03f","jd_797610ebe600a","bigdeer","13027169389_p","肖大仲","jd_56a5cef48c201","qq331412056","wangjiefei_m","17040287-80334788","jd_518325bb46368","jd_myhUcYJtZozw","janson155","fasmot","jd_44a8327184d51","jd_4b2f7f40acbfb","慢热姑娘","jd_deKbCXpirgro","jd_5c5700cfdd4cd","奋斗小二郎","jd_50b636e24c348","jd_PXJOHYdaPIxr","jd_7abf6f8ec584e","jd_6746ba6cdde04","leon_xuliang","jd_62c4b1629e62d","jd_4c8a2630bb206","jd_kZxrIMYfICnJ","jd_7908dab781721","jd_51567caa492e7","jd_4f8694c013f23","jerryk","xue574378795","弑神X","jd_5cee02a97eb64","t悠哉游哉t","jd_46a296db777e3","u_68da29f9496c7","jd_61f52f7ac4906","jd_4e1fe6e6a110e","jd_47688209a6226","jd_4a7f2707dd393","逃亡的天使鱼9239","wzw828","smartnikocj","wanzcong","jd_4bcc3209030db","美意识过剩","113750894-404100","jiabaocan","532681307_m","jd_470372fa5ad3c","15627523545_p","jd_58122891a39a7","jd_kcDoLVFDYLcr","15848854318_p","Mo崽","jd_XpqYGYGmriee","jd_RBLueHsrlyZn","bolide0523","jd_548d40ffbf5be","XY8888168","9590108-33592677","jd_7c8de9d64c9b4","jd_5786606e41aea","cnmhtt3","jd_dlusVXvVGvBQ","jd_4c175f0425028","bbqtting","q756084-982845","benchu1219","jd_4f9565a359329","浩哥072","evewin2010","wdNGfLQwaRfSOUR","13914395753_p","米酥鼠项","jd_47b80ee0a28cb","jd_4af3ceb8daf31","jd_4d4373c2ef002","dyingsu","77195145_m","18651210134_p","321672752-916985","jd_5110eb3b9826a","HHYUI444","jd_HNcBDmoworaW","jd_5f31aa30df635","jd_77d73ee8a0fc3","jd_51b7f64efad4b","jd_461380f33b3f2","13799362455_p","jd_yJFixqBBIjLi","星宇410789126","jd_NzliBgRGYpAx","jd_5851bcf2b9038","guanchen420","jd_5558941bea414","jd_430027a98f04c","hapighm","jd_4ad381c729b95","jd_5274bbd614e11","jd_66d70e4743bc7","jd_6e06a3eb2f6c9","13859072942_p","mnas123op","59064483-155782","jd_zJnkJIXQovLJ","jd_RQMNoEhoXVLx","jd_62dab42e2898f","jd_60b04fd8367df","hj25133778","lsbst19862","jd_494606eace27a","黄天乐htl","jd_4bc2d9f56d173","sheep2007","13429077028_p","jd_7441887729930","jd_annnQRqkrksb","18689210535_p","jd_759107c713cec","jd_bJIoZdmjPrYa","jd_5eb8502198ed0","杨联698","scavin","jd_776bbd255a0e1","jd_tppNWbkcaFPK","jd_500c775f5ab33","jd_5b4afeaefde64","18428329454_p","银贝尔","15059286090_p","jd_497b6d790cdcd","jd_5b56a5e20d5e5","minwan520","104298726-18554710","jd_7cd01cb0759c4","jexxagn","slothmicky","jd_7911816bdd02c","李成成7777","wdNJnmisWqwYAWf","15032471357_p","jd_47bde172adb8c","jd_ppycfAaOGRST","jd_6979f1961cb7b","jd_4fafe6c7d430f","jd_599a3c6df6a7d","13810704238_p","jd_qvknxoiNpwCH","jd_573ec24bd9a98","13877072617_p","jd_7326979303925","xtatdkjso","wdmleZHZXDkpjX","lxllovingyou","meatwm","jd_4e0d70e778b3b","jd_72f509931b31e","wdNxVSAoFeqjHJo","jd_780e35387adab","shenzt1968","libra0009","jd_TFuhfZZFoGhi","jd_BTvpHWxBmayA","cskkb","jd_71f6de57079d1","jd_tFGVpaDREmDR","jd_634d17064b3ec","jd_HIvCNINqELiq","足球达人","jd_412744943e134","jd_6801072d34119","jd_vVhhkdUpTkJQ","依楼听月","cat3888","jd_5c3976d9b5e56","jd_42b4b133ea26b","13079263145_p","jd_48378d027f46d","paoshu","沈沈神啊","jd_553ee56aa19e2","沫倾城","jd_51f0a1801ae2c","jd_64b33e43bf0a9","q2294883as","deqla_m","penv13","汤永根","赵伟永","jd_693d8e45eb329","jd_55740ae94a90a","jd_45a0a479e1e1d","shcd2004","wdbWRnnENgJlfO","jd_5a0069dd0533e","11535384_m","jd_7565c540045b7","ryosaebat","jd_qtxHJxUmkZRu","jd_62314b79dd4d5","jd_760ba5d4c1426","w519416359","jd_6e01edff6d454","jd_472e321eb969d","jd_4045086aca8d1","jd_5d7e03fa7ce05","xxh316","铅笔小斗笔","14066590-445615","jd_nPlcODPOErUY","jd_66da84568fc6f","1516531897_m","wdFWAYfLJfUUCQ","swordkj","宅treasure","ypwpwgz","jd_680cbd0202ed9","jd_678131349ccc2","jd_ZbeJiFrRaQse","jd_53889b5ac60ef","jd_paycLveQCSih","jd_60e52f54fca70","jd_6a8118a918455","jd_5990d6d55b6c1","Hakunamatata_ly","zcpangzi","丶佐木","ngenyu","jd_7b7af73ad14d1","jd_4379fe15458e0","jd_666c016796c9d","jd_7f489c8366375","slooty","拿走的云","jd_6226c48bf3c82","五月天沉默","wdYHfBobzcVdGy","onwingslnz","241182800-122274","jd_7b24e56f53825","jd_DMJqeqNgSanb","jd_474c4b8d21111","jd_SDWdhwtzxOcX","jd_722d4fa3eccf7","jd_5351b9b219260","xiwu222","wmb1005","jd_6df5a75c5bd53","jd_5c0fe1a8b0b95","jd_66f12844f1e25","strike0079","240802-91109647","jd_WtKFbzMUyStS","wdEokQEzyFUlkh","jd_CWRsXZsUcWeo","threetwothree","jd_6755bd131186a","dancewhale","QT丶小天","青涩的山楂","jd_7477ab11e05d5","jd_43bd38f5f8fdd","ymx潇洒走一回","jd_7f60486e9cb6e","饿出八块腹肌","wdNBAcYZABrtUAo","jd_401f38c044148","小小小京东","1058784115_m","811467705_399472998","annieshopping","jd_5e858430e556d","jd_5584112db37c4","jd_KNBuisrDNrkm","wdnCiNGBxlvoEN","zw13352421234","wdBagRBKfHWeek","1061975863_m","美得冒泡泡哦也","jd_NEXeHfvZGStt","jd_GpRXfyLkDbGV","jd_535ed027bdb37","jd_6da5eff6c90d2","jd_546514510b84c","gtr969394","jd_72103487c8079","shawen.200_m","gdmac","jd_58c890db9b911","cao376602665","jd_ZoKhGsiVmSQB","jd_6893d4ca7cb48","jd_471751c9d3121","q323759-651507","supermiaoran","jd_73c361c46fb19","jd_pFPNiWpJLALM","紫墨668","jd_51fadca089459","191112437-204916","vizjamxogf3117","jd_575b86d92a76c","jd_QMoFbGakoYTL","Jarot","doctorjs","jd_43fdc047739c2","jd_ggJTIkkgoMtF","jd_5a661a106b79d","jd_60a82bb7801ac","ilovice","jd_4e21fe1529037","pos_chen","jd_7e7e6c594ded5","jd_64203972477fb","LvMQi","闪电侠丶丶丶","vanzel","jd_51756c423c3d7","jd_67b6c296dc436","jd_6cc4a9bffddc2","jd_5b3ff06424a6e","阿凡提477294","jd_5f633196d062e","670243460_m","jd_7acf72dc20b01","jd_7cc18a4fc1e82","jd_702137a2d104b","jd_MThrTAhneJIs","jd_6ac0924b2e1e6","jd_608648adf2297","19302022","jd_yzQdUmdIDLZW","jd_4d854c9e621c9","jd_6b8d461061ef8","jd_52946b52e818f","zongcz_007","jd_6fd9ea402f7ce","jd_VQHKQxwqgrkR","jd_ogrIMtqMYWqb","654890367_m","qq7712376","jd_4f7c7aa0785b9","jd_tMuHiOTkxxXT","张纹墒","jd_79f360ef515c0","wdQZNreGWUmILK","jd_48f7155724f7f","jd_5c0fd39641674","jd_6c4ad638716fe","340405491-691586","jd_478d0a134f1b1","jd_QVgPmNCthMhQ","jd_FvGEGAOuAcRS","TaAction","jd_4c7bac4dfafb2","jd_nsiKwZaTCres","林瑞添","ybb584154504","66766467-620215","jd_623ff0e896459","wdYXbAbKmHifYJ","jd_69fae1d878380","daisy灵0716","jd_63eeeda1089ac","jd_kwZcxXzDmwXD","jd_7ff652a318331","jd_tpPTTqbnCVBS","392600862-203857","yaku365_m","你曾给过我翅膀","jd_KtcXueWEZSZS","guweilin84","jd_4a4560c6540f8","jd_697d6f32ee0b3","jd_6b3744415afa7","25040338-361149","15662178035","jzhongshuai","boy-rock","echo501105","lautokwah8_m","jd_7f51997e6cc39","jd_45443ea6caf57","jd_5adf751fc14f3","211890875-20174125","jd_48404fb4aa04f","jd_56c97fbcc6463","jd_kWiWcNKNOPnW","kgdpyeifk","快乐小风","jd_647379b3d641a","健15577855593","jd_69c0b21de4d3e","13628639817_p","13670188908_p","15106086451_p","jd_5957f47ef927b","bin844850974","jd_558979abdcdb9","jd_58f9df68b735d","ty3230","jd_4075b57c4d97b","长安野逛","飞翔猪","jd_46e8cfa8a6c10","jd_747fd7b476beb","jd_BzISyZmFjSuC","q465271765","jd_TyejTzuyQbmG","jieyong199_mqk","jd_6b49800d584d4","kalagxw123","jd_FwAiafmomyDn","jd_5658645cbcb2f","jd_682b719b5dd8e","weidongyulq","mjw6652","xzykira","jd_7c364b29d7797","jd_6239267e11977","wuliaodongfeng","love风儿飞","zp0637","jd_DkrKCbMzWDvY","jd_XlbzqIrkiDYX","jd_50c0c578247f0","hero360306","18696699784_p","jd_54b85f1d76ab6","jd_KalWVLTUqZfw","9238197-98860000","冥族_乱舞狂刀","jd_oqEiTvLlVmzl","jd_6c2cef6c663c0","jd_5fc64edff0272","jd_60ea51e33ba8e","jd_720bb4e562a0a","jd_502c5b4ce4c90","ljhnchina","379906163_m","15623092609_p","jd_7230aa6ab46bc","15929563829_p","zgr19670521","liangjj1024","zxp19901129","jd_4891bcbf2ba60","tjustephen","c112613265","jd_5af3d82eadb6c","温瑞峰","jd_exXZtTLSkqpT","jd_7393552cf8331","ihgoo2008","jd_6f577617cd2c2","jd_797cf7c26f2e7","998k998","jd_6214b340c0db4","dadan极光","洛未叶","wdjDlDOSotDycA","jd_mYfppimwaMqB","长城威视科技有限公司","心飞扬174","chenjiaxu55599","18761427725_p","翊心翊意凯","jd_69f4c48202461","jd_427042ec0d734","yolovinci","toloverupro","vicky_wong86","我有故事而你有酒么","jd_45800d25c5e82","13041953919_p","msaf","jd_6b1bf2e6f8521","z1078354986","jd_63226e36fb34b","qzj6737781_m","丢刀","jd_6aa25decec320","jd_660c2198b7cbc","zhoufan00258","ledudu","jd_5ed41da0e9b31","jd_DwzlNSqaXpkB","张娇羞","goujiaodahan","jd_6c0f4a7b18b49","jd_znEDIoNpGTcc","jd_pOcXKbYPyzBP","jd_VuynilyGSEmp","jd_4f356cbc94104","jd_4b6d08b24768d","jd_40120b3e4ee1f","飞鸟晴空7","jd_PDDlHaLxnysU","213573591-320221","liwei19920307","宿敌红颜1","470466978-640716","iovejieba_m","911ann","jd_7e4ab64dc3c37","antacookies","jd_7e42f6e33711f","15101995219_p","jd_625d97113441c","jd_7164b8b87bcf7","jd_7aa1101977350","jd_73d6f164f2fb5","jd_7f518d57e4a02","jd_7b4aead35bcf8","That丶Summer","jd_4cf82669ede86","jd_68b2085126b68","jd_5db1064e0ddf3","zhuding123","jd_66c4d417f1621","jd_ZvnRVNhbfFpq","浅唱緈褔","jd_4d92511144066","tmj1976","jdschml","琪乐无穷72366","lyrlyr520","jd_5cef3a3f564ee","jd_tTCBLLwQuuvW","jd_65dc06d16f908","jd_703207efedf50","dong3614","jd_5decfb2754154","jd_45dfbaa9abc78","xiaozhu82001","jd_437ce251aa787","13415703375_p","jd_7960bf9daaf05","jd_7e04cb44fcaaa","jd_6443bd5e0bf71","rogerujn","qhqcz","zmxzmz","18258378102_p","jd_4b0352accee45","jd_5d5a7d2391464","linda_lilin","jd_5de567acd7771","jd_7bb68f2309deb","love丶大白","jd_5e9b208c5f935","13613712776_p","JRSD_QvNIy1345","梦幻后花园","我爱小妍宝贝","jd_7057d3f838cb7","jd_4e44a51a675f5","jd_40a49a79238ab","jd_CmqXOFleRyHq","jd_7d72ac7b7eaab","maggiehover","馅饼儿565","注册等人","luyiwind","jd_FJCgJcmLdMcD","jd_BtQrSpjBejbK","jd_496e64acd7f49","tgly20100718","jd_ZxQTEFsCetNE","jd_61eae33f6b68a","lskyke8877","15816002011_p","jd_6684ab90080dd","黄金曳","jd_7ea325b757518","wdwMZEFzemWENa","jim012","风雅颂199010","jd_oASGxelzjBAs","jd_633051c169daf","15357999057_p","jd_59252083509bb","911anson","jd_63a5d8ee8b9b1","jd_uHvRLbCBUdJu","jd_798515ab70f8a","cnmhtt","jd_xDdtESWWlWOq","jd_7d879c9841961","jd_RYYEIDYtoDlk","jd_mLvKvuaHOucv","xpyzr520","jd_6c58c120209c2","jd_69e85b59745b6","soposolo","jd_OXhYuokoSmIm","congcong0806","所里司杆","jd_7f3aa53cd3abb","31924283-180355","ll732690335","nogami","jd_cKNKBMnyrPfx","jd_6392d0a52373c","jd_5ff05228d4104","jd_JmGCpqgpCtqG","jd_6913d7aaffa3c","73600033-52432224","jd_6baee850e4635","qqmishi","jd_427d354f2e541","jd_4975ec7ed3482","18682008732_p","jd_693dfa405add0","kyohua631","天中的雪","jd_6b18822a2ada1","zdj8341","pkpkgtr1","zhenglibin505","jd_5ce03beadb73b","马腾跃","9206321-748591","1419417-20425137","ycfnzz110","jd_6aae3c4291660","jd_52942be4ea12b","jd_5885887a68ac8","jd_7b5708497521e","我就是LREEE","玩的好","jd_70955d335e390","jd_64f95537f2f92","jd_70dbd95977ad8","jd_wZYxFgsSuSwE","jd_7960e0d1e99d6","jd_EfwqoNgPsfkp","ben1226","shining7508","384311129","jd_62e07e216dd22","jd_7c434e67ab5e3","maotu","fxq645571713","jd_782813540183f","jd_rbUZGYhYjSWX","18335187671_p","jd_UzCXouzzzzrL","13798727126_p","jd_UwueCSDVxjsC","巨无霸鸡肉卷","jd_6b11502aaa4d2","jd_6dc229795c0a2","米大眼老鼠","jd_56da58f82a6d0","如意意cry","a595081986_m","jd_5381d9f1a0c15","jd_rCCkOpKwOlal","18655552339_p","花堕","jd_5856711f06b0e","姣壑筠芷","jd_51148b78309ee","15578784520_p","jd_6f84814033f4a","jd_4faac6553a6f2","jd_7117967aba1e3","jd_690a87c671f1a","217408357-49301153","lyuewei","jd_5d822d49c0d3a","jd_483803351ad1c","jd_4df5d99f9734d","zhaozhun","1qybird2","jd_uwzUbyxegSeg","jd_6bea9926a0a5b","xvping15","liutao568","彭小贱11","wdzYoBfzYWVgzO","zgc0101_m","jd_7b9a8b83d8fad","jd_6fabb1dd4523e","qiaxin","overdose210","13025567602_p","A青蛙哥哥A","剁手不知多少次","EmoAsh","jd_6cef1dfc08558","13560279915_p","jd_7987a8feb4b9a","clamly","蚊子2000","rczlzhx","jd_472ac2d9d0def","jd_78ea2e0320028","jd_5ade705ace182","qiuyubin","jd_4493bbe4a2a3c","jd_YmToRpSlHUDc","jd_48f7c9399759c","jd_6dc4f1ed66423","hewitt29","hanfuxing","jd_5f0ae206f970d","15200098298_p","jd_4bd0cf11b5138","jd_5f6ef22f9fe93","jd_572bdf907c55b","sigualws1","jd_42fe9e634e4cf","jd_wOoCyVtkBVuN","jd_6fd306e1c0afa","jd_klbDkufFnaxE","刘涛0206","jd_417cfdfd9d368","啊一小出7","13816573450_p","jd_6c61a79c1e45e","q754879133","jd_5b7fc70fef8e9","jd_ziQdiwWSgbbO","xiaobo_3469","jd_45feb3d7d7d6e","jd_5bd36d01d2b40","jd_wNNPtStaTdWX","jd_wXvHMcxXusVf","jd_6db0050f3fda7","jd_58def57c09266","xiexirru","jd_66e5824c7d749","13346826749_p","jd_fNJZhtpUJQUJ","jd_75e3a07ed4317","jd_514c71cb7231e","jd_nKYGNpuAKzyO","jd_6abcf175c931b","只会划水和摸鱼","jd_vqWdhlZjjcTq","jd_49152af88533d","jd_621bff44ab7b9","jd_7dbe40d4ff5f3","sdeven","jd_6b71b8ce38f1b","jd_5d90759149460","sandyshengming","hedycompact","wdhUorPBBOVxFU","WL王者","wdNUeOmoCHwIWkr","jd_5481789ccedb7","sigualws2","jd_62911a70b89ff","jd_72da239a7a06c","125276447-448744","jd_eDGCVgzIsQrg","jd_4b553a9a7ddf2","jd_fvcRaUFcdhJK","jd_5051f2bb1c70c","jd_6143c08b912de","wdNQjFOMLVitshS","f00l","jd_53b0d86ff0a2a","269522993-887743","jd_7d444f8805d3a","pillo698","jd_5c5e07dcf0c74","jd_649d91fa2cbbb","jd_45589c854bf8e","jd_bcnAnrEjPHEd","yzk992524","绝洛","jd_4d6b8aa88bb40","koftan","windysky7788","jd_LKUtrCMQNrAu","raburesu2000","jd_6391e7cf8c0df","jd_btebZMVfaWSO","jd_499cdb756f9a5","jun6682413ling","jd_5a9451df173fe","jd_4aaddc22e1aba","哈哈哈171","122389363_m","手中沙缘","jd_63910a56e5b4c","jd_7fefedd0e2603","jd_54faf32960227","jd_eIdHdDJWUOWW","jd_45f4668b9731e","jd_GXJJunCypXyB","jd_55bbed8b89912","xinhai235","wenting834","我的京东昵称","jd_7dca958f20988","jd_5608aca3c4d83","13666767711_p","wdqQjYjFTPEhkw","sj0212","jd_63088f4d39791","13025799260_p","ye517752116","jd_GiqJTRfEGGnC","wdfkVvEwcRUBTI","limingcisco","jxf269","wdNvXcQWecwIoGE","54568753-485834","wdNNXBdgcgiOmho","JRSD_PWGRl0002","15139632412_p","369513935-961903","18463965583_p","jd_5f98c32689b63","jd_QiyemQrhUyHc","jd_42b940237565b","jd_602ed660f16de","jd_balorxnnTNpY","zlking02","l625166686","后来呢丶V","jd_73dffd0b104bf","wdTlbjxgEEqjXD","14360169-15535036","32961640-903066","xuyijia369","laozhang670613","DMpling","jd_CaltBavhqoqw","jd_7b4996ad9df4c","jd_5409c2a412412","jd_XdNlJUkmtLAt","yc952","wdNAsaRdpaXidx","xev68r815op","jd_UKbdYaezNyXp","jd_796632956f01a","jd_7f7723e89cbab","wdpvvxloxLaLxz","808367863-974157","jd_538f7bccf2d14","14367493-11037844","jd_4beb9b274a87c","7676158385","jd_6434bc32c0399","jd_61f3fed0777fe","wdGbjjCazavPmS","问水东流","jd_5aa1ba1053bb3","jd_7d28287d9ad53","jd_nGfPWgCwlXiN","jd_6e2e7e1f13cf1","jd_65680e8389305","jd_46894b8b9949d","arcane_mana","jd_iKoSCzTZLbdQ","jd_448bddc3cb0a7","13147216380_p","oreolee","jd_422f33a9135a5","pjbjls","jd_73dce11dac29e","wsyqing","jd_NOJBPSjKOZAh","liweiwei1116","jd_460cd31a662e8","jd_74ac4cec80f57","wzfzd","jd_70d0118032b6f","huaye307","jd_6108ed63fed87","jd_SQnlaIoEoRJd","15970697889_p","linwen738","jd_XGRCibWPFWLe","jd_652e4e15b1f64","jd_6002932553622","868722-26876837","prompty_m","delury","jd_AiuQlsUjfOwo","jd_61e926378fb8f","jd_423712568b156","jd_PyqGPctoqvzO","郭邵love","jd_6431eccdec0bf","yufang陈","jd_51a3a53918bbd","zhaoqingbo","15816170703_p","jd_7afee13a3ed31","jd_FeqZPVaMbaGR","wdGDirguEWeIfP","jd_mgxSWTeEKOzg","458058960_m","jd_74ce64dbf2e02","114991631-923070","jd_753eb80788ccd","jd_512c4709f457a","jd_KddfqvxCeQla","eghawk","jd_482bce84fc089","jd_5a3db63a87212","antsman","jd_4fc71d39120ca","wzw099","GUI13507015212","jd_BwyNPhQaNjpo","jd_42b5262044cad","jd_67684086c2123","jd_oQPDPNclgTLB","无廖","2820134-26353854","flymatter","丑丑淑女","ls1996","jd_WxReCqVvLbdC","jd_tfaDQSpniuTB","jd_6008e70556473","jd_5fdf24fc6687d","jd_653fb48f75a6c","愤怒的烤地瓜","jd_ysgNXNIwgmbS","liwuzhao97","jd_70851665bf686","jd_7b86bf07aa054","jd_SqdZZmHIozqK","jd_75c5a450df9ec","来生大大","SNGR","dw524424070","jd_66cb5d7c3b0b7","房客vvv","a33356mm","jd_KWhQIuTtixQJ","jd_5ec8c3c7931f5","jiaxixixixi","jd_qofrQDFhGdLE","jd_619f829f9e5fe","jin582279","jd_4f7756e960f7f","jd_496273463462b","jd_4b3ac94baf02c","墨香潋滟227","wiezhen13504931200","jd_578842d2105f2","jd_6798c207061d9","wdhxZuEvXhhvCf","jd_6f220a433262d","myabto","jd_4245251882fcf","wdPWkMYDxTkRsy","jd_49e501c3e2ce3","jd_bnVlBcIzAbHP","waikin07","吴小红97","jd_CsKXdhZYqVmr","lijunlin1989","zhigaows","jd_5dd713d958938","jd_7979fe13d794c","jd_493ee741b0a0e","wangpingdajie","wdFAuKPmYSEaxV","jd_4fccd93ba1497","andytom99","lzdong1987","亮亮068","ajian1976","jd_748e740be9862","jd_689e504053da3","jd_42c65c132194b","jd_742d7d9e77ac4","wen55333","茶语子","w21976169","tercdyu_cn@yahoo.com","jd_425bd8009a9de","jd_5b1f2aceda7f4","jd_72196b8363a6b","VIP吴子飞","jd_4a39212d4ce02","sinommw","jd_45c90451c69db","jd_UjJbVILqadGV","lmyce","jd_64a4b21d754af","jd_55d6515c1699f","fxnsky","jd_5947869c31cad","wdisWdxVKCLKEM","cobraya","huigedageda","jd_LnVkaqkOyMHt","jd_668d38bd21605","shenhui0929","adon_m","tianthj11","ZGH4004","jd_625c648f0ec72","alexmao78","15877597771_p","chijphone","jd_7456e50172acd","guhaifeng18","jd_704a2e5e28a66","葛聪澜","18605100345_p","jd_4e06f0cde65db","吴yufang","jd_48e55f027b6b3","o2cpwang319","东东love宝宝214","jd_53f21c0b7d5a4","jd_7079713d93744","18219505438_p","jd_AkzpKrhoCGBw","jd_MstHbZCXJuLm","jd_drvxvgcucCeH","jd_446ca9c6db55c","jd_744f5856f8895","jd_46559aa39eb66","jd_4203211695a3e","fzj865503912","jd_62f2869e77e9a","jd_eakWncNMmTou","喵小伦伦伦","icegao13","wdDNGhMhnJGeJO","jd_4c6d8f73408d1","jd_YAGyqsxvFmyk","jd_4f3d7dacf7826","jd_cLczTAjfLddJ","rjx-","张语伦","jd_7f034fb08322d","jd_47276fa769d52","jd_5cb6eb9540e21","jd_761d9b3109234","jd_56e8c9b200fa9","狼嚎嚎520","jd_58849040f3ddf","zyr0414","装纯丶莪不会","jd_51f922270bd95","jd_7a5f30429a3cb","jd_6da39e353d14f","jd_mfCggwRywTkC","wangx6","jd_448b0c4918e92","wdNzKphbMoKTplM","15905303986_p","jd_60b5f802c3e66","jd_59b3c3be3745c","18115355777_p","lhwxp","rfunicom","jd_58c5b7553553a","jd_50b27ce89058f","孙洋199102","jd_65f4a30c010cc","辰微微","jd_4527f2dbc6615","lx9469_m","13735364480_p","jd_4f9d3215f87b6","5554053-85178403","jd_47d5d03db63d3","vestesoo","lisa7983_m","jd_5b01eead3ab11","jd_7aa8f47c5e7e2","jd_5434295624505","zhijiezhx_m","jd_7dc37ad8d82f1","jd_qsUdPEbraARC","愛琹","jd_6c2474a7c43e8","jd_69170cd023e21","jd_66c9ac0a518aa","户红涛","wdLkOjYnTsCCjf","jd_NWhsrEfGvTzv","13231883337_p","jd_63ba0c6ba8456","jd_hhheCOGLwyRa","yu1013019077","597998372_m","jd_7af5d95bc4d7b","悠嘻丸子","jd_4f9d0223cc7b6","jd_nJSKGIAUPwov","18059331922_p","thl16888","cql663539","15921024325_p","yayaloo","ozwq","jd_589ca10e29f9a","wdNYVjrXWUJPqrA","jd_4d60d19ea0499","jd_5a52781878923","keleilei","jd_5f5f91756e05b","jd_69dd1f7fe48c8","yellow11223","yangruth","13569427882_p","yxs93","2697250-975165","jd_NwjVpNyBXUYK","20346010-85376272","妈妈的baby","jd_LEQxnkUEQAkv","feijiacheng0725","jd_spPWylmsxobn","jd_72a285f5b71af","pittban","香水百合姐姐","千羽千鹤","jd_DrwJvIqpgRyO","7323501430","jd_726db0d09ab5d","500627588-636501","jd_6a69abd305773","wdbdZoZYHWYToS","avalonfh","史高杰","jd_pIjsyaYGbaJu","小D兵","zhenchenggu","qiao19991112","谭叶赵咏育Ny1832","13645839249_p","cnmhtt1","DZL_ZH","雪慧","jd_5a77cde9673a2","gg11223344gg","jd_7e35323b2ee60","411752404","1146751-82488420","jd_771b985d9585a","yucat1224","WQvQW","jd_4fa2626fd102c","zbj_sx","jd_5afcf877aa993","jd_447477926c6ff","jd_6a8dccdc56f79","jd_yZmFVoOfgSsv","xyp1228","zqbemail","jd_AHxZyAuDRHNg","jd_EVwhtDXgPjOt","jd_543a487b48ed9","heziniao","jd_472681b63ab88","song2603","524892625_m","jd_oGdFUBzBLBiD","fhxu","jd_40b5e0c3feb41","jd_6d812b26a6abc","jd_428728d0a9a78","jd_7051216880ead","jd_7f65904cef70c","jd_tlrJgReLaFGi","jd_680a61e386c28","jd_7f8ddb7637ab4","小浩哥66","13228197598_p","jd_6ad1c716ac279","jd_477fb010eac8f","jd_59d962a076126","sky586hf","JD_8330","hjj0529","jd_644e2a1bf21f9","jd_526ca5d6e0e3d","jd_7ffdeba6b645a","543邹平县刘志","jd_623a2efb7b4f9","雪-吟","jd_48a868048d840","jd_kdasugaimPQo","jd_ObHjbnRenQhF","zhlnhappy","jd_71899e6f338c8","anmonkey","wduFZiYidXMIFI","jd_487a049c00f10","SP317702881","jd_6cba4deb75c4b","460521982-122496","jd_FWtEqmfmxufv","jd_598bd7548a016","13247788461_p","jd_7739ab7499f77","15320185798_p","kn731","jd_6b5cdd8014f8f","18018526001_p","wdJCUrbbzzthLY","jd_5293eea73b6ca","jd_ssCZEkBJuDnz","jd_5fc923945a1ad","四夕草禾","jd_5e5a9fe4d359b","jd_73234842f4dc8","王者买东西","jd_YaLpBqoGCnsQ","jd_6b8cec0f51824","2573243-95975306","1226883054-876368","jd_JVsHtYjETTbZ","jd_5f77cbc30d45a","jd_68df5f3776c2e","jd_5450d4f030c73","jd_41345a6f96aa5","jd_589d778468167","jd_5eda43ae74079","jd_DSvXvHLOPTVr","chen_ie","spwpeneng","jd_621b7158dea1f","memphis147","15395320582_p","54502362-57219718","cable77","jd_6f234d2da34ab","yxk325","wu434594598","jd_5e3db16f4de3d","jd_64222d10f4632","jd_jmqXAnjZbOQA","long_c","lenh0o","jd_7227db042e06b","jd_5b943d0d1947f","298343778-792476","15819171181_p","鸦karis","jd_4344d8aff15ca","bzl0711","jd_7c26d6d2c2362","A745940548","jd_bILJltRvpUUM","jd_78d9751e17491","li_yucai","jd_49ca6b3348078","65968648-675650","911ET","hopol","jd_4c4786c1ac81b","jd_6668012be399b","jd_snDVHmmAzWcG","暖色旋音","xxyy瑜","17826893401_p","iwuzehu","jd_707f0bf04e388","jd_OMrkgDLEpKot","jd_louMoNrBAFNb","jd_5da9c737f969b","a840049624","jd_517ec0797d0f9","459264479-307459","飛起的羽毛","小吃猫鱼","sufan1314","jd_5e667a133c609","jd_uKwYcPiuSXTS","KOUBA1990","jd_6ef848067e09d","jing_419248456","jd_683471028e14c","s1850347985488432","jd_aCqiYtxxiCwM","Mr江飞","snboyliu","jd_5a4cc178937d4","jd_762afe5da2056","susanna飘幻","周和俊","wangjilongwo","hadeslin","大凹凸_tz","myselftulip163","4073127362","xwmvzhl","jd_huKRXGRxuvXA","jd_ffvzUOLtlZQX","jd_636c9a37b53cf","小小半夏","xuelian213","jd_583af058e720d","zhuzhihao198599","782686855_m","coolzxb","jd_639d337961484","18018982871_p","wuk325","zu25bf6e_m","jd_46d866887fc41","dean.chen8_m","sigualws3","15139451886_p","qqhcspp","jd_6f2995a5ddb57","991990023","taotao1004350949","jd_405e5fda08e24","jd_moISudCqRqJS","jd_51fb3bcc80649","jd_5d9aa9f65503d","jd_673f851c9edff","ro001cn","PowerQin","15225453110_p","jd_65cd09956c9b9","13323656691_p","jd_494b97f789bdb","141goodboy","goldfeel","jd_7b0adb65b222c","15850680007_p","残雪秋影","aotian16","zodiac_blind","jd_56eccfaf7cfc4","jd_xEVuwGVqGdtq","137946283_m","jd_43bc8efc96eda","273529124-691471","jd_55643bef61a79","jd_5a1cc193dc423","jd_7e696bbcdef68","四眼蓝光","wdsIuCoYkDVGRy","脑袋总进水","xiaobin6763","391513996_m","wdHEkHKiqguFtQ","15359330591_p","18623801119_p","mrspark1005","tangtcx","sysnxw","t_t88888","閒雲XY","iMatch324","jd_71e5228a7957e","yevon0","dsdsds308","jd_61222c10d2a19","GIS091_6-414","jd_KITfHedsoTkd","jd_676c25c8dbc3f","jd_630f361d841a6","15595853868_p","jd_AEBSPQHgpeys","jd_532b591584e73","jd_WNohtcnpGxkH","vitos","要的就是速度666","jd_4ddec7c1e1c22","jd_6a02e0e4a515e","linxiangyu407","jd_40a85c8ca0a1a","jd_5f9aa25ad5560","13353088079_p","jd_WtyXuqtwABVP","seven133","wdrcrHcYZOaVak","时光之年","lh947276716","wszl008","jd_4a217a8a74c54","wdNTvDPBFWaivjU","jd_4a0f7fc4c4f30","18258863691_p","jd_78feedef84f81","jd_bsAUZBnhxHnV","jd_50834a4b3ca36","jd_52c442492a818","jahzeds","79564509-603314","特特翅膀","huang101yo_m","jd_4052fba33f638","龙虎门中人","jd_xPpmiNNZHXiW","aston.he_m","jd_5bd3fc86c4e7f","jd_63bec284be9df","wjk0809","jd_eEtbvcVxryTO","jd_5ef6fdb85846e","xz13590319103","jd_OZizElMnZJog","jd_obvMtyLeIjan","jd_7555cc7fa417c","啊啊阿布","jd_7dd8d9e5eaff4","jd_lurTRSWBqvGJ","jd_RiyDunKliYlN","jd_544c8774ea74d","160483628-640047","jd_445ad83ff7114","jd_50717a99ace51","jd_6dce98c07a644","13132345908_p","ganlu510","updu","jd_41cafab4be294","jd_796d8e0972891","jd_5769fb1d4402c","周广惠","aine438","jd_738dae147cbc1","jd_48bc88ffbc6ea","231511635_m","jd_68195d90c9e04","jd_5056c1e6a21e4","blacknesswing","jd_79a7af403a6c0","jd_443ed839cdd61","jd_5127c2bf78411","jd_42759408db98f","jd_6a15234a8face","曾小毓","jd_59c0fbcb8f82b","wdjRqZicQtRLKR","zr1071278257","zanji1999","zhuangalan","992428904-377700","jd_584bbb72ec382","jd_48583bbb41f97","jd_4b0760b2cd8e2","fortunate_88","zy18328049991","jd_720bff5fd4189","jd_HLDgPdEGTVEA","jhs19891113","a1347531648","也许明天我会在","jd_7c9b1834fe23e","jd_7737ff4b74d23","jd_7a38d9b94760c","jd_aFSJcAymrqBe","jd_BLXbXsSyyJcH","268730227-153407","jd_75ea6be79d3d0","lj840928","wdGZCPEXwFXQpy","jd_63acd2e9f965f","92086421-117280","jd_4f6bf332e9a22","Ryanjiena","wdPEdRiJbnOLgs","dupidog","jd_7ac5c7450808b","jd_7272ff370dc16","jd_4e373c5c3327d","jd_kheYVkExIOjU","jd_UhTfhJGESpkW","jd_75812290fd906","jd_46a03cc6dd5fc","jd_7e574b4298918","whlwen_m","71778195-46190379","jd_VZEsfVqpfefj","228427996_m","s1683164891643064","jd_60e7d0af09745","131592849-253728","z2691523","zsw1987","herolee","jd_57f0ae6fafc76","jd_6a3f5e54d300d","jd_lKPAObnhjUrz","jd_nsqzOmKolKMA","砍树dj","孟小仙mx","jacky9235","jd_629db56588b17","jd_57a806c3edf39","jd_51976d2e3609d","先生Hsu","zing518_m","jd_tJvmNQrYKINx","jd_64b12bfe47a78","jd_4525ca27c3f8a","jamesfengcao","jd_OeTNobRVGiNZ","jd_718fc659a9077","jd_68bb4bbb3e021","枫飘人间","dongpcheng","4004238-58067208","jd_798cd049ff248","jd_eRvkbLzuJXZi","25826858-25004114","jd_6d5b4be15824b","jd_bAtvuBVbDCEn","三分熱度","徐克跑","jd_7b3bab5db575e","jd_4c10d23b4aed0","jd_710642a7cbaff","jd_769b31f4c89a4","jd_756ce7c9313f0","jd_VedzlDBFRFhS","jd_763f932291fca","jd_48004c20e7306","liu_chunge","hyl296029138","jd_6e1f163e7c1ea","jd_7ed8483beb36c","jd_482b4c18a5f49","jd_dvFJjLAiKGfR","河源萍萍","jd_fvHfUzFlkTeQ","jd_6c409faaf2e8a","jxmyh99","是我啊没错","jd_73cbb46541b81","m18701597675","jd_5dc92108592d0","yongw520","147840361_m","Meyury","jd_7f345d3055a21","weiliang2333","jd_7a0930f0033b7","znz传奇","1361295-86406654","yehoujin","13809836636_p","jd_4e67dd543c342","77632572-32380154","jd_shzrAUITfTKu","jd_47b9d45ad58e0","诸葛亮的很","jd_64050de1c7dfa","40229142-692898","xuhuiyu365","jd_hamaqixztxDc","13827285323_p","jd_NwKGarSDFsqm","jd_48404239faac6","jd_dkkhbconnFWc","jd_75ce4b3b1f63f","jd_453a618958a32","胡敏华lanse","15519112793_p","jd_6ced56937fc63","jd_7320dd1b3a083","jd_52b04bf202fa9","lauryn_zheng","bluesleoz","15815805716_p","jd_4240d55cb8b28","onlylara","jd_64119caac8048","tianq5","jd_78c6153ae3edf","jd_5d26496e6d020","jd_59358271a06e1","jd_739cc3a6488d9","蓝竹-刘志","jd_767c8af860a0c","90405921-43956094","72402996-314021","dyshmily0811","jd_CkUlrvRYDRNF","15255553298_p","yieldmoon","inteai","sj874606236","jd_7096ee6250859","liaoshibei_m","一声是你","yk4399","jd_7ddc57c167256","wcm1987","18225606162_p","jd_59e458777fb74","jd_TWjIYAzaNMDD","zdc1461781355","jd_7272bd0fca450","201744041-964867","243400623_m","jd_41fdd2efa8db6","wl280242551","jd_4a9173229e6b1","jd_QwrCgUGhaSwr","jd_75fcd9bff9649","xiefengwow_m","jd_6379d9bd01f50","jd_ZUhPjgVtIlQN","jsyzdej","蜜蜜斟","jd_UwfvFNHXLeHS","jd_5dc780064935a","jd_7b8a65f95de38","jd_6628b9f52c732","jd_NrVdjUTOelAu","wdNBuVCxxPdXMPx","18894000675_p","jd_50b0f00852950","gsg159","www.cjf042_m","jd_7b1f12dcf2373","jd_6d6177794d5fb","jd_41688dde4f530","jd_XUKEQdndhfmm","redbean红豆","jd_51e77d0ebf0d6","dangergarcon","jd_7ca98da9ce8b1","queenho","jd_7fc1e0fb0afd0","1159527-40656392","jd_7fec13007a763","btguys","zj88851","jd_4ed7bfce66d78","yusnw","victorzhao1984","stonieabc","jd_659fe1587a3e5","jd_59ffef68b2e3b","随风0100","jd_44413d6eacc68","wdqUikRiBUNMxw","jd_4cc14a46cbbd0","jd_513603d8a271e","21985033-52861266","jd_rNoNZIouwxgw","jd_7a66252a780a7","tsg022022","jd_64b511c07bab4","jd_7c5361ff0dce9","dx7k7","15072178572_p","18684754525_p","z547473239","天空下的星","jd_59fe243b842a7","点点羊肉串","jd_bJQoveeHMySw","jd_5b5a1218751b5","Jacob031486","jogn61","jd_6a39eb6ed6b9f","wdWwmWqlAkAWuf","jd_tlIKQikOjsNk","jd_RWJNYWiXfVNs","jd_750832a1398b6","jd_468bfe223576f","13248430927_p","jd_725e17effb6a9","tenthmoon_m","jd_441af60aa609d","jd_766b8e106b41b","jd_4ddbe9b9b62fa","1432830442-858727","nerowei","gujihunyuzhe","13100909011_p","ymh1147","yornf","jd_6ad91add6b9bd","xxccaakk","jd_428854b2d0631","jd_UfFTtEtqlWZB","jd_DyjCJYRpCpFu","jd_5147517f526ca","jd_46fe950a53790","wdvbcTzpygyrzZ","jd_fllHndawmSiJ","jd_74ce5477eef34","jd_CHtKlqwzYHUR","moneyfly520","jd_7cbd1d969aaab","jd_79e083270f0bf","jd_ksmvnjZgaQSP","jd_4c0461302d68b","jd_61d3d122c98ed","1069205-91963760","jd_536bc8d3b4180","jd_574891d198227","18364789513_p","jd_4c600e612d223","jd_rHRSApWSGNZM","1438479-87111395","jd_xuygqnzZtNwj","jd_69808663d761d","飞吧奶奶","klyson","jd_48b4ec1498913","mumianzi","jd_LbvtWIsvoIIL","youzher","yxabc","茉莉与柠檬","jd_YpnmRMmpXieS","ssssuuuu","18757368051_p","appkey","junj2121","jd_600972d3a3222","jd_6682569f743fc","jd_62516fd2ef879","jd_648ad29700ae7","jd_arPSbuoVNCza","jd_LXnFHXoJwXkW","忏悔无罪","fuweiqian21","jd_768bda175d69f","爱美滴孩纸","jd_549559aa383dc","hank_wh","jd_412fae06258b5","jd_6b7747e194ff6","jd_472b762cb1d1b","jd_6afbfb9c2466c","jd_5b3386f115020","jd_75d27389caa81","lpx918","jd_6ff7e637d9995","18600044305_p","jd_5addb50151524","akaala","apple_yBGxdqp","caichengji1","tonyooxx","yuditt","jd_4306045075171","695272173_mdz","jd_OEoeHzsCpXdt","koysuke","jd_7a030ecda5085","225506151-630426","DreamToTrue","jd_5bb16d6462414","wddQcNIhTIOMpy","9271837-543144","ghh850627","jd_70a5ca211621a","wangkuiwell","xtlyk1990","jd_4db277489a913","jd_727393ba42080","jd_52ec7a43ce63a","jd_6660b9f974b02","jd_amGIYInvknFc","jd_nbBqvjhJwWoq","jd_VucjqZzhpBsI","jd_5870be5e730a1","jd_62be5db9580d1","jd_6ee6015814489","jd_GJZTWUsdFSKr","jd_56b7606747a10","jd_5b54a8d20c8ba","jd_ihddHwfgIcHk","shandedd","jd_4640a8cc47aaf","zhf211646","jd_hpgqKerJwbir","jd_40d15f4c57f82","jd_6165d2f3047db","jd_GCBVTsOZAZAA","jd_76883b6de2b18","jd_689017a837033","s1452341482942913","jd_653245c9e466b","208570117-740771","jd_607f7e0c632e1","jd_7c5ae78f0cd33","jd_736d15564ff77","jd_4ba77f7919845","jd_59b36565a1fce","jd_7acfca7a4bef3","grey27","jd_rDtePancWpDh","寒冰炫","bkyehgy","978756098-585159","jd_553aa5979261f","18924563439_p","jd_568b9448d66fb","zhulinfeng_mgo","1017222-62373754","jd_677c2de257396","jd_7c1f5540bfa80","jd_lGUQdzrjxIJV","jd_697c2e4d9d28a","markoyang2004","小邱邱邱晨","jd_7be6dcdece022","jd_6344c523604d5","jingqiao218","jd_jfOUlKjVCPtj","jd_5ba7cb8f797ba","jd_42c7c1033c184","jd_DuwwlyspGDOz","紫气青霞","1429483659_m","jd_4971149eaf9d2","jd_6f2bdf6bd42ee","jd_61faceaac4c8b","AChanson","jd_6410fb38a7a25","柠乐va","weikenwu","日光浴中的蚂蚁","wdsDyExNVENCFl","zhanghongj","jd_6761c6c609489","jd_7ce4e5226d54c","阿尔卑斯大晕兔","jd_ObJLeysEpNkG","大头同学","zhcnus","lovelonger","oyanli","jd_428938859d164","dongdongqiao","yylei","jd_6e8066dfaed0d","jd_5ea88a5ea6dac","jd_78a28ae065b17","jd_5b3219ed3644f","565816146_m","jd_72db916e27ea8","13764803079_p","yuduo1995624","13955992118_p","王磊_wl","jd_5bf74e83cd683","rageln","wddqCnYrkbOkoS","jd_745e645938b09","jd_675a9a04735d7","jd_710cac9a55ad6","jd_4be4ea35542be","jd_5cd597c576ba6","jd_6d88b6f45f56a","jd_412c32a093d9f","jd_5d176a3d000f1","jd_4dcb599b0c6bc","jd_57841d5536e6f","jd_5bc5cb3c50f49","jd_7aa1b19a69972","jd_782d745015830","zxmlysxl","jd_5d9969a762917","jd_556cf94c78070","jd_670968f18958a","jd_XcSCPXDlmrYz","jd_6f7226b073407","jd_555445ce0a9a7","jd_7583e6aacd91d","jd_JCVmIqVcBMHx","花开花落616","jd_5e530d31ba423","jd_4ad628112f94b","jd_618b28632ac2d","zflf9","citizenfour","jd_787c5fdf3311e","jd_rbeINGYEdWce","rollbox","23953-34671330","jd_OvuzBkttWxoB","jd_7d4f7ed540681","jd_62f51e7da9dd9","jd_42b91a450f2bf","jd_nGWXibCLyhsf","jd_ioOhvpXamrcZ","jd_629e85fb5fdd8","wr","jd_58f175230e89f","jd_41f7e8b724529","ztfgmx","jd_6b69b9ae2dcfb","jocwm","TtDooooo____","火星小仙","jd_72754d5747c5d","jd_7be6ec81e7471","yulekaishi","7529343-58417459","JD88016223","jd_766708ef739c5","NeoTseng","jd_59fcd65322580","jd_640cf41dd2e5f","kinddinosaur","Justin0705","格格驾到x","wdNHfPMkfQkSNzp","jd_72cabdd6e9600","jd_vEsntNtZWzqs","shopship","skyxu_2012","杨晓帅1325","jd_PhjXRQOvqKQY","jd_4931335287845","jd_671b558a1c8a9","jd_661e7d6de81da","jd_55748247f24b9","18757584820_p","jd_hKhGOVDmjiHO","wdZNialiUVJfqC","hyxdz","Ericds0305","bacon1001","jd_6fe504e3141a0","jd_74c28e084a50d","jd_465c759828a0e","欧凡600","小戴认输","jd_6f6a6428a4c6a","wujbclzw","jd_59212a11ffc72","sun_yong_gang","飘逸的风hswj0904","15606921229_p","wdISAqWMnWqyZR","jd_594475ed3f703","274482137","jd_780ac31fe307e","jd_6abfb8ee53062","okck","atopsecret","weyes","jd_494871120dbf6","zfz1mail","jd_690b4af589d6e","jd_5ee73aca75b4d","豆子112666","jd_7d219162f3089","jd_IZLyPGeUsagJ","lvyuaikafei","jd_RffkfOZlQEAv","jd_68178923866c3","luzai","jd_MkEypyasOHFb","jd_7bb7e6bd9e46b","jd_7ab1ef565ef0b","jd_6ec5c880416d6","luffy718","dd102","825577109_m","jd_ILmKtemCIphG","jd_7eae26012f8c2","xjcdb9988","jd_41ed2645cb159","suicky","jd_4967a5e2235c0","379377531_291446474","wind428","jd_55c0fab5e31dd","sl苹果","jd_2d9130f3278f6","jd_70fa25ce2f9e8","jd_4e2f6393eab55","jd_494638ab8c20e","jd_7644df7ea1ffd","jd_44e7a2560a88a","jd_524761e021e8a","jd_rXmvicygLUhq","jd_HtomKRSEQBPR","南门口广场","jd_546b0bf98ea3c","wdqTubhkXEQkmk","sonicem","都市闭门行者","harryclc","jd_yvngJvzSUgIk","jd_662b72e82610e","13850639188_p","x1aohu","mbdr2132","mmvc175","ozcvta","jd_603b5b9fef52e","jd_7a6c60e930f19","yuhuajian1","sunny7127","endlessbest","jd_7522fb147a1ac","137373149-804456","alanonline","jd_DYdYEplwfAUR","jd_67cf520fbbb54","jd_6bc23a251d28f","jd_40d1489007c4c","sltalex","a啊啊啊啊啊啊啊啊","jd_7d0e60d69f5fe","jd_7655e8545c3c1","jd_wqzGtYtKvWFp","tonyan1124","sunxiaozhu","qianglele","jd_owhUydUrrKNw","jd_tOyoafoBwvrj","jd_674aa53b530ae","206575385-70284031","jd_553e3623b8ab0","jd_FTfHkBJnplnc","牧渔山河","jd_655a44d04d1f2","jd_6b92d00dbaee6","jd_64430791656da","jd_4dc0117a11214","jd_7ae7317be5e7f","jd_6b54d59d207a7","wdvhfuYLKpgKGZ","dqzwh","zjein","jd_5991ee71ccced","72446275-880101","jd_VICaBNzWaBNy","jd_67e022c81207f","jd_625744868e1b9","ericedwars","jd_653a57fa30536","xzsz_ikivy","jd_69d920b0bff34","hslzyd","xuerake","jd_41ecdeeca9aee","jd_7cc0694ef5e1e","changzh1055","13546920074_p","anddykang","longlllcl","jd_7be3aae3106a9","jd_aUoFadWqzUes","jwlpeng","li63919757","jd_49eb366235270","jd_772cbc122f76e","jd_781f5851e036a","jd_772e6a23f2f30","jd_4af7e61091dd8","jd_DuFKkJHRhzFv","jd_5827e75f3709c","jd_qskPpDDTHTNv","jd_5299cd05fc765","zhangtao_1992","jd_5a7bdf9ae34eb","Fracted","jd_542535cf2c885","ym211314520","jd_50702d616de2d","jd_POkeEfXmEwsN","jd_5e9b9ca16ef1e","wangqing6717","hfxiaozi","timchou1982","jd_7305c2f646041","jd_5158086c4e00a","jd_77f1f59e7547c","jd_4ebcd55c9ae33","jd_4c36a6863ca9e","Karisx","ITxiaoyong","jd_5f63284617d0a","lghshop","jd_7e000f20d8137","jd_5b9dc8da448dc","h13664360143","fishgz","jd_5a5d19f9de997","jd_56a936c16b23f","wdoJPCrkwRRTHH","jd_mwPVIQCHmGLt","强哥1988","123871510-177689","344341321-873646","jd_68cf92261400a","wdGYZpVSgJbHbU","jd_7fca99a093e9e","jd_4a6a98ae96013","jd_yqAMVKyjATtM","jd_789c6c9f33fca","wdNwWoeXLGcMyim","1432819293-536492","jd_73651e4e8efd9","jd_5cf5edbcc9449","jd_ZcXMrKyhJGis","wmsat2000_m","空灵幻世","ntDance","jd_41d13a64d2827","jd_61c4b8004d7e7","bobo0805","jd_blJkZQNgULFw","jd_WxPmrqQboehD","471212765_m","jd_5afaf8e6bc6e9","yufangdd","kjr1132017978","jd_TNtJzostkeML","jd_446df0de30f8d","s1862825007470330","jd_pTxwrltlZFOH","中国移动官网","wdkplHVQlgowTW","jd_7ae1624b59798","jd_48d60eae2208d","jd_xwQsHIkcpGzs","jd_5e2eaff501c30","jd_518b6be5b864f","jd_4adc3a620d1c9","jd_DnLKkcDERkFc","jd_7fdb5324444a4","jd_7ac66189faf1a","18767122471_p","1301970384-292385","jd_GBMNrhsMNNOb","jd_iMrkWDZstQZa","jd_51f8ec4809c0f","lingwei7","jd_5accdd0b4fccc","jd_55d8ed5446085","hongwang0000","ljhshing","83418535-121752","jd_5c67d6de8b60c","jd_75078dba69301","michael380110365","jd_692baf30d8940","大斌啊","jd_723d22f66a647","jd_zaCvCGrhpooG","1195244268","jd_75e16ab48e6ac","jd_fuyedCREAkbL","jd_483faaf55ec81","jd_476d4a4c84d13","rongde6688","15113364599_p","louise0923","jd_YIVGPywNoUMG","jd_fcZzcCImMMSf","潘伟地","yjy920","jd_4bd19e61f38f4","18296120936_p","wdmKUjNRvwYqDW","jd_70be01736862a","jd_4bfd2327ef31f","jd_6b3dc5c354da0","jd_4201fe5caec92","17764582212_p","jd_5bccce8da57de","jd_67b6d687f44ca","huiyi0521","jd_773654d3f5051","wstarlike","jd_664412dfa04c9","jd_uUtMTzLerLAS","jd_77a3bac4f0e44","jd_69bff1359f6c4","jd_dfxOfXfFlWsv","jd_6322003170f76","jd_57bfff7cb41a4","jd_489698e457773","17092691293_p","jd_46d959ad6679b","大风车V8","yangnd89","jd_68040f4c235c9","jd_45bc5b599d146","jd_52067e78dcdee","jd_68ffd0420cb8b","jd_IiSFjhqDnQYj","lsj585","jd_krBbffqiLtVr","jd_767991b0d0e73","lswitch","lj1258948971","伽蓝空坊","jd_537f27ea483a2","jd_4b5c3450d2c6e","喵星人大王","wdLFFfvtRbsrMM","jd_7f79c0f2eefb5","816492386-330733","jd_6729659c0271f","jd_52674a738af49","gullsky","gx01234","realqiqishop","jd_guUfMqrTbiDt","jd_50b6e4ae8ff5b","jd_715a53dc16871","taokevip","lyy1234l","327872592-435642","jd_455ff6be6e763","18813054617_p","200313508-660750","472585086-432836","李芸芸芸","要命的蝎子","gatsby2015","zc15520826730","ppzhen77","18970253891_p","771385980_m","zjzhchen","lisa_lqy1024","jinlong8181","jd_507f1af641bba","hilowei","炎天使at","dyingsuli_m","jxzlq1","jd_ppLMdxwwVCvI","jd_6c582221dbbbe","jd_40a2e28857389","jd_6dfa3207f031d","89033807-112315","15222332630_p","jd_7ca49ea782977","fawde8432","jd_7e6755ac4f9f9","jd_VwrPaToIoxYi","jd_484831b48c6ab","jd_500fd060060da","jd_jZItahgoJUbx","暖时光355","0range_K","poorenly","fuhui120","jd_5b20e24ae93c5","gooseknight","老王我靠靠","jd_68e06f69ee3e4","jd_4a9327e58b967","jd_6ba27caf0348a","jd_QGwrJnACXSCY","jd_4b73c9443004b","18407542655_p","xiaorenwuf5","jd_79694548b4dc6","lian8453","jd_71fb2b9cd5a2d","iBigBee","kyo66","莫然丶随心","sham3","夕梨乖乖","BYSZY20912","213596597-274556","jd_68b316c70452b","jd_478d5426a394a","wdNGXEcubRwCBA","jd_klDnNnqYkWOC","jd_PmTAvTLgGOFf","jd_74359c2c1aa69","jd_5a6d58d1b5016","q576309558","hl0306","jd_UGpaPSttBUOK","jd_597ed90054279","jd_5e545d791a292","951232161_m","15052761828_p","jd_MgDONmYpkZsx","jd_5898d279fa1e5","guoziyi162","jd_5b384eb8219e3","jd_47f7c03c191fd","suxsu","lwsjp886","icbccfp","wdeeStWompvnpn","jd_690b4c7e1f5de","jd_5c9dde8bb8544","a3z2008","jd_KTyJmlYQGUyM","13546494964","丁郁非","15011465286","堕落的小二","zhonghui06_m","jd_76b155b41c760","jd_6bfc4ff53ece1","jd_53c6a078fee20","国山","jd_73ba3f4a9e630","云南正欧科技有限公司","jd_76a8a40894cd5","jd_4880568dee7c3","jd_50135431e642b","jd_wKlWRHeJGBkS","jd_vohcfqwJAkMQ","junjun19900525","jd_7534bb9f5ff54","wdzUyOzChWOnMv","jd_65f41b259f797","jd_IottbtoaWkSE","jd_4c20c6840c54e","jd_538996770e0c5","jd_65e781c2d0b09","jd_7eeeb8ad6b4dd","泡沫金磊","jd_7ad0cdd6ee767","TKHS","duiyu123","q343416","wdTELPBmEGtOmF","jd_550be1dcf222d","jd_537df8f2e2305","jd_502209e077400","24442421-79813787","91114852-395105","wiwxl","jd_5f871bc900cd6","Rabb1tNYL","74548958-253275","jd_5ee5e9a06bc3e","jd_7d4811c1f4337","broots","xiazhang7","mito0214","jd_hstngDabYluv","jd_6d1c72acf4595","jd_423377a76a97b","22228169-113627","jd_pfDsHskYuQHW","许汉森","jd_5adbc1287398d","jd_7496cdbbd5f83","jd_TtlbGxfgKglU","flyvicky","jd_7cd06ba1b0cda","jd_mVuvAsqlQgpv","etzzycn314309","fanhualei","13841205231_p","jd_4aee4afd2ab83","jd_54427fd046f76","jd_7915065328918","jd_418ee6dc2aad3","jd_448cb9d80504f","张翔西","etzzy","jd_6a97495d112a1","strawberry姜","922496-74476285","jd_ZVrgIXhNZBjW","jd_4f264490f34da","jd_48d91997fdd8b","jd_661d9c48ea17b","akk6670","hdbjlizhe","jd_404141fd75cfd","jd_4158769cac40a","u_72ccdd32f2e44","jd_73d131636a946","hz_chen","211819460-64814326","jd_6f0d7478ef45c","skying12","jd_4caa02c862473","jd_44b80eca7c640","jd_5c9cdd6a70ce1","524662631_m","jd_54359549561d7","jd_72df9534bf690","jd_6fb4bd1c89a6a","jd_69f8358fb3a92","炽凉","jd_4ef68bb31dcc2","jd_sXBVAxDmdDBL","jd_76afd844fdfa3","jd_454c7d3381f5d","wdOpnlOAVojLuA","surisolo","72696189-261228","102928209-767994","jd_60a83fea04791","starskyer_m","jd_615b09d3a34e3","jd_5d2371c4062bf","awaixp","jd_413612f233aee","ssssweyy_m","jd_7b8b7312e9664","jd_KejxVcElVvLW","不写报告的技师体验师","jd_5b4d863fce448","jd_6dce5cf2ff5ff","jd_sasxykzMpdBR","cj6669","504656980_m","jd_YFzyJaLqVgev","hpdl380","jd_6f9c18d29af08","jd_7d6396b145e0d","jd_7b6a902ade64e","jd_5432be98d9607","猫卡AK","mantis123dan","jd_6b48d395dc5be","jd_584b08a8c4d18","tianyuansh","jd_4d17c2fb59861","babylonlove","萌之蚩蚩515","jd_58595891aa9cb","jd_482d62d79c277","快乐也悲伤","jd_5e91ba9a9d044","jd_783841c2e8771","jd_445d40f23e5de","273225555-494300","haiyemao","jd_4d933dab323b7","jd_593e9951eaae2","jd_7673cacd55b82","jd_4feaaece05d59","wdWQwPlqVzkHcw","jd_7449a7d0349d7","拈花V笑","jd_59ea19e138302","Lvou520829","jd_LYZOScUhrmsE","wdmyJaoNHigjJP","jd_6de6f355c6332","jd_4a09b8bf2a297","jd_7dcfdc56abc0b","jd_4ab0d7d90dd21","jd_6da9bf80f967d","13570546057_p","jd_486d752925e12","jd_74b6cfb0e4b69","jd_4fcf8e997fe24","wutaolin1314","泉州恒发装饰","jd_4e219bd31b9ec","15658163683_p","kurara0726","jd_6e5ddde753765","jd_494a1e7b9382d","yqtc93","jd_7adddf606fa17","hjysc","jd_WZXIiyIdcqKB","jd_7ba5ebf0be126","戚小帆","fanziwei_147","118242298-430858","jd_76c05f669b790","jd_66ddf88eee4b9","wgedu","Yang1154418252","jd_6d059d4bfe86b","q352015-788797","jd_65c6a790f173e","13078270216_p","小生so无礼","jd_pubtGCFfOkNJ","lianxue99","mf820825","jd_591b04225ede4","jd_rxdPsTTcDgFV","myshops","liuz9988","jd_UHvGISjkkuia","xtaqopg77","15642075701_p","ELAXIAEMASE","yejingyang520","miss_005","18853009878_p","13397105933_p","506933438_m","jd_4d71efa1e1a56","jd_IblOnzfQSpQf","13176189753_p","你是最好的自己sun","jd_BIDIrXSKfZmf","lockinasang","jd_DfpphNfifHkQ","jd_501eebf131ba7","15882438706_p","jd_7735c7cfcf036","jdzhangsm","丨点灬点","MAJMAJ","lecher110","卡卡迪138","jd_6d4c8d5f8e1cd","jd_RvJfvenPzrdn","jd_47a9e24c9f488","shuyuhua316","jd_6d12d0f010ef5","731醴陵市刘丽君","yumi_sayuri","jd_cxaGVhEfskoL","jd_7a817d2175c42","jd_dDgBLvzqmlFT","chenxy520","jd_6a563e6b18881","jd_5fba6f72e90c8","cbclee","jd_4b17c783a6846","jd_552b424a10891","zrzst","Rainjiang8182","jd_566c5fd0ae26d","啊咧一根胡萝卜","jd_4b444e1e5393b","jd_56c2c08a67968","hongyunfeng69428","4490487-52034820","pjm86958275","jd_67c9b869cd5a9","jd_406dcdec5d004","jd_4e57c17249bb2","jd_5a50f7a5bcc6b","jd_IumckYovunid","jd_43086173d4030","呵呵先","jd_762a710c9ee9f","jd_55a01c0d13182","jd_7bfbd6b491c1a","wszjh","jd_56b04b485daca","zjnbxx","wky0729@163.com","jd_629c91d300cb0","jd_58df97f32d6d1","jd_CeuYDaEPGqxi","15230630374_p","jd_bvbadcnnGlxM","jd_6f7459100bb2e","jd_7f7dc0840c9e9","kaka434","shiyuezhiq_m","jd_4b881604863b6","忘记时光记住爱","13328864972_p","13543490165_p","jd_4c05ff959d12c","khao","anyulong","jd_625b75d0c623b","jd_5c2b8580536f6","jd_63f9c0e92e187","Dabao_snow","jd_AyHBhlmiZJuv","jd_7afcc19f9e7e0","huaduxu","深情的眼光","jd_gONJjWbkXGZE","guochangjian123","18860362792_p","may.zhou_m","bragonball45","tangaijun1973","Kevin丿颂爱","lqlq006_m","acerigsherry","辰萱0927","arischow","jd_744dfe070fc88","jd_52b4f3f544764","128495827-518490","jd_5471d4743597d","萌中带点霸气","jd_51c12c8c2250c","jd_5a413385c4eaa","jinyuan_ha_m","jd_6db098631a83a","yanjing2407","jd_eiVANILEWBYv","jd_4f2a8a79ddcec","13021954645_p","习心寒","gueben","jd_bWaGoKrWmhiX","dujinmei3319","jd_7fec763ef483a","jd_79af80283e3bb","cccxxx90","Lwing-s","Vinson_Chiu","yijinglee","jd_4cc01ad784b58","jd_7380041f95f68","jd_KNZJAxXhPSpA","love7322552","jd_pUOotppxHEZf","jd_UKqfBdwvfeTR","有缘之人","jd_64396fdf953cb","jd_42e6fc7a693ca","jd_lChjTheRFGjR","jd_6715b34e1e1ce","jd_52bdb6fdfd527","xiaobu_01","小猴子乖乖1986","polluxboy","jd_64f1182b051d3","wdfCOxjbWDuJwK","WilliamDingTHU","jd_6a56bc5aaac4b","jd_rHrCWNUIBufH","13907622114_p","jd_qWTLJmRahkzO","jd_6f2c300990b28","jd_47d18f5fb416c","wdJWDScRnQePOI","YAOGUOHUI510642","jd_75f7088f19625","15937492626_p","jd_72beaa4534450","wdnhyIvBelJevo","jd_52d13954c6b70","godspeedyan1","jd_68729832fb032","jd_54f71f53f6106","jd_770cfc8764f0c","nokey19","15807187512_p","星星越海洋","jd_4d0458ed69dbe","jd_6a793bd50c853","scarlett25","ctj536","勋勋小迷妹","jd_7f099a8f9a8ab","jd_7777b53fdc5db","jd_rerwMobOQJnr","18297615792_p","神崎H亚里亚","jd_fzDFxtwdyRIe","jd_6922a28d23cf9","jd_5d4df911f990f","jd_45acff9c65eab","zxw965228112","jd_4b6020bb59d11","18876848533_prj","2916735712","lowerwind","jd_4574a89d63252","wojiaolinmu008","lianglou20_m","心一缩","周建英270","桑夏君","jd_63dffbcd5a3b9","175041372_m","jd_7a2f84f7d648e","小三德魅丽","jd_765e2477ca989","ps028031734","jd_DLzHiIWqzYnA","jd_KqCROruUqllD","jd_69f96b61578b0","jd_5bdb921273622","mnsnff","jd_657353b3f1885","jd_780bf52c92b39","jd_645db5dca81d7","jd_711e1034443e2","15256576232_p","jd_uYeraJCRBZYY","1575673889_m","jd_6cd1d5d9ad8bf","jd_47d3f09623cc1","jd_dSBnyGfETUtR","wdNiKQvhsQPOTdl","jd_4faa79754e618","jd_79d5ad701b082","sunshinefang88","jd_BuIZVosAOBTM","20156401-71030168","jd_475584668152e","jd_kHAwRzGJYQtu","jd_IOaOVzfXwJTX","9529860-30482238","jd_79d21fbcd4e2f","jd_4851858c80ce7","xlsdg","jd_56da0d6a4fa24","330158909_m","tinayuhourushi","zxyvsstyc","jd_veYFXZgSpCnC","ywgf88","jd_76c1fddab0e93","jd_RWhETmrjAZfN","jd_5d30ece780b53","huangnianhua2016","pingshu001","jd_46bc6443950ed","jd_4011d00470818","Baby-V","jd_7f21450873b24","谜团696","jd_448ae13a48e5c","jd_640a510335232","1137203680_m","stczg","jd_780a87a90b865","jd_603a2ec780aa7","michaellihuang","jd_avISbngLLumA","jd_fHTnvjVIUZqE","64434486_m","jd_482fa460776f5","sevensun0225","dong653601060","2370973-26495387","jd_672d37f08d8cc","jd_57dfb3a6eade3","jd_50b66564eaeb9","风神555666","jd_OzsbhGhxcKtq","jd_61d5ffc77afbc","jd_58c4cae7d044e","jd_HgRgnFCIUKmE","廉永康123456","jd_eFxDXIVMrSdk","jd_5c78f4a78f8ca","ccckp","ydy525","zl18850350806","jd_7e210869b9f78","575093904_m","jd_00a72e7a8cd8e","759554109_m","78486015-461948","我不用登录","zxcc110","jd_4a66e0497aa40","任笑","46969858-913525","Veroner","钮美艳001","390360650-994219","许灿桂","15555577616_p","jd_729743cb7898d","小熊猫_KIS","jd_zAQmpPtCFAKp","jd_482585c1def53","我到外地去砍你","forgetqueque","wangyi7774","jd_71310a8de4f7d","384340650-358407","jd_4359f1a0d8a60","jd_6fb9683e2d36d","zzl1799648110","9436398508","qslime","小杰杰0208","925070030_m","jd_nGCyJmocljWd","jd_416320a139c90","nana763","jd_BJMPQNgQLPPG","qq727870130","jd_7597f24e73597","cyl7356254","janice9090","jd_7f2fcc6aea484","chendaihang","jd_403caab29ba83","shixin1993714","wdkcnVxjAtFPjR","godstar123","jd_hmIkmqGzSjxZ","hc151106","1163803-50400890","jd_416133acc2eef","guizulaoying","56696731-772817","jd_74602d45bd809","Map0998","jd_QicNTxYAUZhT","jd_65f4536940b95","youyaofeng","cukovy_m","jd_5589f06bb5301","a294751267","jd_znHczPAabOAM","Happy-jing520","ershaX1999","jd_poESAagdnzVl","jd_dyaiblyNBQjN","jd_CNZrrdNWgXoD","jd_6dd1ddc0b437d","15858592580_p","jd_78910ba56807d","13121225565_p","jd_504bf0bc1c886","zhouhangxx","zfzfzfzfzf1993","cuitzeno","652404465_m","y1991x0303","xsjlzw","jd_63aa9bcf28e3b","jd_5b475d93b45a5","jd_72c4e6a062131","756619","vanlvy","18028801818_p","jd_6f3905b972a27","jd_phoNUkuzefBC","jd_78971090a34ea","jd_502f4288473ba","jd_40af5ee9b2ff6","木子lee643","jd_7167ff3b55fb7","jd_7185a30919f54","何喜---","18080581314_p","京懂1","jd_58a0fc0c8e2e4","jd_58a48d9144b0a","4101852-469698","jd_734c0b3b102f1","西瓜桃子子","zhuanxianc","jd_439dbbc1c1aee","ivery3","ganyunyan","jd_axPLzWnpwPOX","jd_58a05ac591297","MarsJJ800","jd_oaNlSvFFeFzZ","jd_486a08f377fbe","a5625667","hackmeng","598501802_m","jd_7365f5b942ee9","u_7a5230ba535df","15266171066_p","hishowtime_m","jd_712532d1d64c7","chenjiangchen","kissyouhunter","jd_6fb8028ea0e2e","jd_tlsBuARsSUzh","jd_HYtFwCMFymNp","jd_75d3855866087","jd_TUNvgsRMrnCD","JRSD_IUkZt0663","jd_7d6f8d68ded2e","1307976-34738981","jd_TbbfglEVeKsZ","468611503-386891","a001823","jd_49f2240648ab0","jd_71176dc6fa77e","jd_7b30b02447495","jd_6def35e0e56ef","jd_uJUbMgqksqrs","飞天雾","娜些年","jd_dEHhjWErOHvV","jd_sJPGnxxVaDAL","banbanbu","lg900923","jd_mMsAZQrwPWnX","jd_5ec698ffff3e5","jd_6a1b202e0c7a1","jd_60664e92856ce","止步sh","jd_6da7dc0933477","13622778340_p","15610403775_p","jd_5b477df0557fa","yukmingyu","jd_67b4548a16f15","jd_6f79095dedeae","jd_67e0066ed05ce","guhong1725","jd_AgYzygsFvCdq","小旻仔","soonmy98","jd_4138f634ebc5f","jd_toyZdkiwxdda","jd_xDUHWWNApkNn","301567704-414767","21839185-232086","jd_57c7bf74e0d09","jd_79b2091017f00","zhangmin1101","jd_72a2daea52a67","jd_cVvwjFEvVkZD","Frank陆建","jd_6eeafdb938ce7","jd_4cc0aa1a39e87","maogeryan","jd_659dabdd623cd","jd_IEtrnveIzffa","jd_GknoZTJyCjBa","liujin19931001","greenora","huaxi88888","jd_7cdb18dc37892","jd_700e7f9ce8e4e","299778235-716154","jd_5521c159143f4","jd_65fad927fcae5","jd_QttlHZZEjMtS","jd_5692777ff432a","hjw3.9_m","jd_5102c078ee991","1315230446-107837","1504766129-122587","QQ爱360","XXX-xia","啥也不啥肖大仙儿","430224869-23470793","jd_DfeLlGsywVdi","13758288111_p","长城二号","285754577-895345","loong19880522","2101227-87151128","JD729003380","jd_6e2e829270da5","jd_6e0a2fb0da60c","取什么名字不知道","jd_6e8acd2a62b6a","yangjunping00","jd_6ad50e4543a2a","15230573701_p","lizhen2104","jd_747b7c9451f96","jd_4e63cf7251a4b","我愿随风放逐","xxzdk","jd_53d2e8f286142","85169851-975868","jd_6adacee01526b","z1325230400","jd_7c24ac681ab60","xxtt1013","jd_70191d2deb1c2","jd_786b0e2bf6e37","jd_RXDmgQTzccBO","jd_69866dc733f1f","jd_7eb2e97403e89","18832792525_p","jd_68345a863df57","jd_4b55fa3902b13","216209099-737771","jd_pimUqacSXLbw","ecstasyk","jd_57660b73f8783","189873209-311327","jd_ilpjHcQzJNTW","15806330163_p","jd_mIgPRLlkvIYA","jmulc11","jd_DnUzujaMQOFo","jd_5d0600f7a5392","水晶情玻璃心","jd_7db9024bd4612","jd_zqtdEtpSlSoH","jd_PNlgcWsCVDUZ","门里添心","jd_42dd76968a47a","yoyo940429","13608034291_p","jd_58c22c5d9b443","jd_FPgBDWcuJviM","jd_5bee3e2b8fec5","jd_66945f9f6acdf","jd_7d185c182c479","5544554-31724445","zxct0419chur","jd_644ea6dcb96f7","zhaoqingyang1992","苏绾缡大人","jd_7a16cc15cc8ae","jd_5046b3c657808","小华干嘛呢","hongyu_buy","jd_4fb4c5ed53c83","15997175666_p","jd_786aa4e3afdc9","jd_5273c42bba08c","jd_58d242b8977e2","jd_569d2aa6f1cbe","chaclus","jd_EHXYSphEOKMf","康师傅ace","wdYCvpraxQEiqY","jd_5437ba0a109b2","jd_6566c91643cc0","jin1912","说谎不说谎","笑看成长0101","jd_438a9129c5253","jd_7d22878925ee3","jd_4d02df6b09223","jd_6d4048834f1bb","jianfqw","lohzyoh","xushufang1955","jd_51c5d21912950","jd_646b3e4d7c33e","jd_58ca9f88787b3","zhu376086907","jd_452adeafbe7a8","jd_516c1adece7c8","jd_47c0f7b240000","smarsh110","1184774-50702229","lidicn","jd_74acc062fe111","whiteever","18268944224_p","jd_5b0afef7b13a9","jd_622c37529a7c6","srhssg","宝宝宝宝宝-贝","jd_4a2510781084c","jd_69d1ba94e6203","jd_40e80f17d2bb0","jd_7a73309b018f6","jd_5608d1e0c96ef","3810421117","chenweirose","h116996","8731971-36870176","325442-38031410","jd_5c8b24584d095","wdbCqNRlLgyxZD","yzchenmin_m","jd_51b8d0b85df66","jd_7a19121b673b0","jd_7fea62b8b3afd","hydegu","fhw373021370","jd_49050cd6a0b53","jd_51432354cdc52","xiaojinzi_78","jd_6dac99232b99a","jd_482b3fe115fad","wdohzAWkkamrWB","战神宇帝","wdpyEoKtDtccKV","wszxj","成都男装","jd_558ed75f52d39","jd_6def606f4acd9","jd_5fb602672372b","15538198811_p","xiaomusen12","jd_45c3959ef51a9","jd_4ef2515000c9d","jd_7fabc1ac9664d","krdnhsl0z0","15913375100_p","gerald1236","jd_glRcOCBYCoEL","jd_rAncUVCcPQmq","jd_70a2b34f3fde2","jonneydong","jd_53e9eebe5239f","Donna111","jd_bZEoeycXEtus","jd_50757d9368b95","huangbinbin19871015","钟晓歌","jd_6596981b78035","jd_JIEZUMmNqmym","liuchenwgei","jd_7f337f7ae06d3","jd_LgmcVBxLVutn","jd_63bc9eba7f7f1","jd_rUQRSCRsOlKq","jd_5319df4f7e468","jd_553517820d957","jd_504ee07e25fcf","DGRHT323","jd_70305b919195a","jiadeyue","jd_cseEvxqXVQog","jd_4209082db66b1","jd_5f83d3ea32104","15751866563_p","Esc白兰地","jd_59bd41c63a2d0","jd_qAPbUFcoNmWn","jd_506ba3c4cefb7","jd_6deb50a169529","jd_7296a9ea9fca8","取名难呀","15751869786_p","jd_6bc97ce7fa263","jd_7e457764c1227","s43381385523831","jd_yoLbCPKJJRok","jd_43aed93b66382","沉沦你的温柔m","jd_56634c5271b7e","jd_687a7ef8f856d","jd_51bce359e3935","jjjxm","jd_46cc9728506a9","jd_4ec05f7a5f8d5","jd_76f826636bfe4","jd_6d9c949cbebd0","jd_61222983682bb","jd_578392c4db045","jd_6181e8e5c2fd6","jd_74e77ebe21443","llikweb","hu18024369668","jd_5325441c7f867","jd_7f87f7161dbc7","jd_afIfAHwhNsrh","jd_7beda182b8334","jd_77734778ecdd5","jd_406ea45d5c149","Avous有你","topsean","360650429_m","jd_6601a34980bd1","jd_52075142043b2","jd_ToPNeAWagTrG","jd_6f8e28e1baae2","jd_65d1975978d94","MissMissLL","jd_5e6587e3c2894","jd_ESFgYELRIxPu","jd_5051f44a7e021","spicylin","jd_4372ab96406fb","jd_7e18f30e404d5","kevin_mails","jd_58e586a23dc44","昵称为","lannily","dove阿狸喵","jd_47807426029d1","jd_4020c6ffa8304","shijiewszq","jd_46bbd7b961896","jd_44a9b0fae19ad","caolqdbiaozima","jd_hHGRCbIgEBAJ","jd_4eb42c72508a3","jd_62219b6f3a599","jd_67735d41dc7e5","jd_7e19b3311658a","jd_42c628b83512a","jd_58b995577fd39","jd_57ae81425d62d","cyli1983","liurong613922","witty_huang","jd_42b593b147033","jd_53aaed35fba54","1078619136","jd_wEpVqnjLrqlO","sylvia19910614","15182769034_p","mrjus","jd_77869aaa47cbb","18316554149_p","jd_NoYaAFJQyELH","jd_5259068c7293b","jd_6d7265ec5b54a","jd_64d41882692ca","13456871071_p","170497154-805298","nogamit","remon602","cnkiller","w15398707863","125067951-184073","jd_4a88797084ab7","jd_54bad519f5207","jd_514c177b4bb03","2016DANDAN","jd_71cf9345601b0","tantion111","jd_6c8f5f28648ce","953612885","古老的辰光09","zhaopan881208","jd_4f950a77e37b6","jd_zlubTQjgFEdC","waikou22","wdnRnQuzVDDMve","skandy","litis","jd_WgUELaQumukT","jd_51e1008596137","a6541537","jd_59591e6196cc1","jd_ebYdcDHKRolr","jd_dZfhsACsNTNl","15516261635_p","jd_673877a226b2f","jd_7e655d8c80567","静听一雨","Angela79","千千小魔王","涛拐的大哥是小弟","jd_550e9b42e3497","brian00007","jd_6712a10720935","kyohua","jd_ekpwvPmEmSlW","lhy740","jd_xGwYvvhNFPhX","jd_502e7b733aa32","jd_5dd01752c65a7","18202539215_p","jd_oiJyLMAAuuXR","ardan","15889853241_p","jd_40b77af53dd75","羞涩的小星星2","b506129197","jd_43c274ddf6e80","jd_vLbZxUqSjQbu","49314678-223182","jd_5713cab147d1c","壹仟99","13127922312_p","jd_4f5f5683aabb2","jd_5ed33c6454c29","jd_5dd5acbab6128","jd_738a5cc46e13d","不妮儿","jd_IheapviReZDj","jd_68161b2a9c1b8","jd_45444e7febfab","jd_51a1f20a1f8b5","潇at6959","jd_muAxzPIUZDWR","newtab989","e123nrt","jd_61aba17d07a98","jd_636d87d3b43ff","jd_TFyplefuKcsn","abc15007","jd_74f9933c878f5","jd_XRxGFEykHUcA","ss836580793","jd_LldBcOappqSk","wdXgoFpnhPGJvj","15950078269_p","398131800_m","jd_KITfHedsoTke","jd_4705f207cad87","58211551-69764891","mrmx","朋克张","jd_4114360803f86","jd_6734d3ad3fb7e","jd_48d9bb09a814f","ygf0606","jd_KTKbrTgOgQqQ","jd_lADrgryhBOhA","jd_vhnvpoHUBmCn","jd_DTlfgmaViMoS","jd_61622c2d18a31","jd_5ca10591a76fe","wdCHrQXHjUZbRQ","wdOOHkVsjkulis","jd_540438f7338a5","jd_cQlTTFHOVSul","jd_4485084bb2bf3","孔兆光","jd_7bed9daa5acb9","八卦百怪","你還怕大雨嗎","18672794090_p","jd_43f5183c26e89","15992668698_p","jd_NlahtucOjrDZ","66036013-930172","jd_7d699cac6add2","jd_51457d0467361","highwayzhao","jd_7b4ee222c24b6","18750917339_p","jd_773a45c21a004","jd_6504e84526dfc","飞翔南007","jd_554a5a920ad20","wdSzZMmjqngmKa","jd_76526846dc608","jd_494a1cc386e94","jd_578b1f3c2d3d9","冰的原点与啊D","jd_4ad847181dbaa","omahum7","scoryi","夜襲寡婦村","jd_5a2392ce5e0ab","amymyg_m","赵子程27","noah_zhu","无量那由他劫","18191005883_p","jd_5f74b9d2c5226","jd_nvfDncVQdGBP","darling5460","jd_64e963e7266c4","qw8x573f7","jd_48680f023a56d","jd_603e00ea85cb6","jd_67ca968eecac8","jd_718e5708f9749","狂欢快购","zhgt_1983","humanmanhmm","jd_4290b578e8bd1","jd_ZAbJRSlVBRsd","jd_5ee36b3e11a11","jd_4387b7df55015","2098484_m","jd_59934024a5607","jd_69a768ebe019a","pl711","jd_75b8d794327dd","gas123521","jd_DGiwlsJkcrPU","jd_wLrZgiSSPWUR","jd_gJFWKlAZFZvM","gygycat","jd_64bdc2c8ff6d9","wxl0520","iblxjin01","jd_62e335d785872","jd_7479eb1db1fb4","jd_647b9e27199f5","firecutey","14927540-33121626","许跃忠","jd_43b53b358b8a1","13438477248_p","37172722-961459","Eamonym","wjyking1993","jd_42c84482be86f","comedian555","sdd3366","jd_kStSrOLWBLfl","jd_fPhpTKxJTHfJ","jd_7005bf4297626","jd_CSMEOaODjZBQ","jd_785566aab9661","lv23ck_m","arthasqk1","jd_72e8a707dab5b","46013-12261057","llqbll","jd_5270dc46552e1","jd_7e009e65c0d62","jd_7d05627b9a4c5","acgpiano","jd_5652b1661f751","祝成1991","jd_TrdeqXzniZJu","低价内购","jd_7fafbc8453fd8","13167900559_p","jd_65d66b0f8dfe9","jd_7d14b8a42f416","jd_tPtuBnSFeJmZ","jd_gYZJWQtiKEIM","jd_VhMpxcFoyDiH","nixok_m","xue0515512","jd_ZFgHdhHzjKAB","jd_vqTPvtgeWVot","jd_DlrPVqdCBbUI","jd_45af96e69596c","jd_5dd7f8881a236","jd_6bb22b97952dc","jd_649f3bc142b6d","740322241_m","jd_7ae2c2691cdfe","olivefan2900","jd_607f31db6e537","LIN4102","wyy20160822","jd_64cebc6347d93","msylbor","jd_69f32f78f59c7","jd_grYKuVRGppuT","jd_4e7a531f8c712","jd_RcPzDtWEwQPr","jd_6878939f92dfb","jd_kPyPdNudtZYT","lqrqw13","Rico_RQD","568716799_m","jd_4e7aec37dad27","jd_6e52965623100","372471974_m","jd_7dc03bbff9e44","jd_5a140fcd46fb0","jd_KMseoKvXPawE","18662585060_p","jd_lmyGloxBTNBY","绯雨之魂","lushuyang","jd_414fd76e1df55","xuyihan5150","jd_594d1eeabafdc","13437114018_p","jd_48a2d33e34ab1","jd_505a51f7d5d5f","jd_pSQoptfRoWcs","jd_kaOMiAvcusKH","jd_QYFurnKfCtSO","jd_pioGamHyKJDE","13323818713_p","jd_oTxVbAWXuFuR","jd_ItcKOTaBfQVV","李子英","dengdongmm","jd_6af5bd5086f68","lxyc0319","jd_QBjJWbLztmBc","CrazyPandar","jd_vYpugUnYkMld","jd_QCmYkIfblCdm","jd_4b51ff2bb143e","XXXiAA","455853695_m","jd_SAZAzNRjBOdp","jd_6f782dff0efbd","jd_5cf927176727d","jd_461e02ed5a766","hzwxxg","jd_6bcfce0c9e1c8","chenzhiyun2002","jd_4085e6d765c8d","jd_51fbaa1c06aad","jd_7dcaca7cfcf7d","xhuohai","杭州爱购电子商务","mzzdjd","马化腾是条狗","woshicl","cuihao777","lgz-0_m","周游1998","jd_42cd87cff03c5","jd_5bc112ccd2997","算什么男人999","jd_dbwvvtqZzeWa","Aquarius戴戴","h821463015","dishangdeshu2","jd_645fe67f1d841","jd_7343ea3a74213","jd_4cfe8f2dcefbf","微笑追忆","苏彦斌1123","rella_z","jd_KFftRLZEbRZm","washmi","vanishs","朵朵蒲苇","673551359q","dxcqw","hzj9088","lulu19930116","18566208711_p","jd_558bf81a6dc2e","104720238-540078","真伪","努力吧皮君","eddiezhong","jd_6e73ff4033057","15207629282_p","jd_6f34dbaa5410f","jd_BWcOWdQZjNbF","jd_4aa0d35f01728","8690913059","jd_635fdd219f7ae","wdXtLogWBMZpQl","Wolverine","jd_56d171be38563","jd_wiwfKlESxiRJ","applegod","jd_6cd172d1dc72c","jd_xUgBnOPdGlNr","alexninthsky","jd_5d2938ecd0abf","jd_cvjcXhsjvlyE","jd_5cd95a6669868","jd_536a3e8f8c7c7","13827260865_p","jd_60bc807eab629","15188848287_p","JD_16308330","tb197728_88","jd_kRZecAweOxXA","majcmajc","我是一毛钱","1592896056_m","weishanglei","jd_59c6e5390170d","jd_5501dff0826fe","43197738-156512","jd_5c19045e0f469","wdoEsAZrNvADWC","jd_7afce746ee999","34221292-412810","delnedved","jd_4360c35dc07f0","jd_qXfKwvQrAgsG","jd_47ad45c5094da","15530278688_p","jd_7a56858ab729c","jd_68b09d1ee1857","jd_554d396638767","jd_758e413f6c061","jd_dpjREgDPDUCm","yusy仪","anou06","200302732-735144","Gail-萱子","ept_5a5358ada3a99","jd_413f967f3c261","Chasen_Wall","wangxiaodan0214","寂寞无言","黄贵阳945","29229000-50679179","jd_aWORvnPMcBlM","60038754-618451","shanke0207","209808149-876521","jd_6003245369c07","jd_66e3be8d977db","jd_66b4149057d3d","ordinary82","jd_HpNYDAbVzIoz","jd_6273e721338eb","olderhera","jd_5fec9abd209f2","jameshefan_m","fallamong","jd_5b7d383afd026","jd_5b9c4abb68a67","jd_6018c8765c24a","18101897638_p","jd_71537cdda3444","709649375czg","jd_6284b95b692cb","LOVE小然","18612982084_p","墨衣亦香","89602627_m","wdHaNMEgSxFVMa","jd_71290639f09db","jd_CwIaiphtptRS","W_aling","jd_HipAgClMiamJ","jd_JOflAjUAFoRj","jd_6731c0aef2eac","jd_ADclXLytmaSt","514279080_m","jd_jjszZJAGkwwO","jd_7fbb56a65b75f","jd_52f7e8f28c1e1","jd_7d3581978c69f","jd_5af9565438279","wdMHEBmFJIpMfF","逆风天羽","qiyesc","jd_5543aed166fb0","chenchurun","jd_5984665327845","jd_44fda8d4f5bd5","月色暮光","jd_707f2860ccbab","jd_638fada6e5fc6","itxubfmh","jd_HKJmSKxKBfJh","jd_FKSaJrAQIMvr","jd_KYvAepGLwrna","hongchunzhisu","jd_5e3b5c3394d5f","152941650-72762258","小新没蜡笔520","jd_4f45b3446df9a","jd_6cd93e613b0e5","jd_6a63278040249","970965267_m","jd_51354f7356f23","jd_4d55b65052cb8","uszxw","Simon770520","jd_XQtqiWxUlkUE","raulredondo","wwwchenxcom","jd_IQHzscQNJjgJ","xiaopeng12342","jd_RnHSmkiHOarh","jd_616a7d466822d","deadsheep","kingjia360","jd_493623d280e56","jd_597510992972c","jd_40264a611e4e6","symon_zhang","jd_6fadcaad41b1d","jd_76ef1c850e4ea","jd_668e0cd20ddbe","1074300144_m","jd_6d25054baff81","zhengfi","葛鹏然","garyyu1985","18218260415_p","jd_63ffa36a38fb9","jd_665a3a01e1d0e","jd_6b265a0ebd7eb","叶子弟","jd_786b62d215dfa","vucuxuucu","马翠太红","jd_6d7c90bb65131","jd_78b0968efbaf3","jd_58f55dad5d5b3","jd_TeCeaKPxZRCu","13776471208_p","MoShengRen320","jd_63aa051ce54cc","wdiETYDwXNHOXl","jd_6a449cccf30b6","189393960-237124","jd_59b2bc27ff41c","jd_5313216631e4b","numeric","jd_43aef86abdf3d","jd_405fa9e7d15a4","jd_6536bf27680fa","93404493-47449165","18504245591_p","baiwtd","jd_fkwxsONDgxgG","jd_qWjQzScVVKbS","wdNdZvERNcNWGjR","jd_4a016e8c7c5ff","whde1314","lingdianyueding","shirleylili03","13645602894_p","153919351_m","jd_51c99eb72ae06","jd_46c72ce77a8e8","安心sa","hasbony","jd_52b340cad03a1","13006139461_p","kwl3018","zyh94946","VIVIANLYU","jd_75ff9698a8f61","jd_73b729b91539b","jd_WszfXWATHfMO","小灰灰5781","jd_zFxxakeVpDOi","jd_4abac797cddfd","jd_7f0e7eb799173","闫哈哈","wdgtLxEIojdcYP","jd_6290b2a915094","jd_7351407409d92","jd_55100f92fb3db","jd_5ee02ccadaf5b","jd_noSlDQMWTGAg","心动频率","jd_70979029b0cc1","528418915-571036","wujialei199122","125093781-820045","jd_531c6914c3418","jd_70387b2e94e07","李润胜19840404","15868451108_p","wofyeshang","hhx917","jd_6a01c6ea3ffd2","jd_7e4a818be025d","jd_7c09025d2169f","jd_XAyNyKIQrqtt","zdvk123","jd_LLwswwfjoncx","gxt789","jd_608d5d0098b88","jd_6e1ca97c6bf43","jd_7041fa474c0b0","13667148774_p","jd_558194a0e24aa","jd_59490e085bfdd","wdUqLujSGisael","wdNxAWBrIIVBJAV","moonbox2013","jd_JraeUpQvlrFN","396393847_m","wdqseDhnlLAHdt","昵称脑残粉","jd_71e54dca8c4f2","jd_5f22d4b12ff46","jd_64fa1bcd6b583","jd_7f77227dc0474","swr1208","jd_7140ca406e2d5","811674860","jd_47cef7ce87d85","jd_nHwNYsFMHlye","jd_gCcHpMbTafKf","jd_4c45fa3597530","renq08","99480329-15783632","jd_xOUjzgdohpUR","jd_5514d3e64441b","jd_eQmFoShGrBuM","jd_fAUZwDJUuOoW","elsa3333333333337777","51512439-793989","jd_49cf050c8cece","cqxiong315","jd_483eed7052d1d","jd_517f6a2270c46","jd_AjtGNgvVesTx","jd_BfkqoEjHIHLk","s594320454","16966875-54264347","jd_5f1631c9f1ea0","jd_RRkWAxaRXnhe","jd_408860d4ace7e","晓爱大爱","15895417928_p","jd_739c22d37117a","400089924-68474791","朱奕帆","娟juanlovemi米","jd_47b25c888febc","u_515ea7ed73075","18096457227_p","jd_iJlakTehQuBK","橘子小姐43","jd_7616aaf47adbe","jd_65ee6ca1ae2f3","jd_570df851af2dd","jd_707c3eca96215","13232657235_p","fjlm01","jd_5ed7e5af67499","18915945454_p","ldm720329221","jd_73646b053177a","jd_5dcafbcdeae92","13548227427_p","jd_4d58e6e8f3507","jd_76a9e5444e4c4","jd_6463e58add46d","jd_5f9dabb758d2b","13814889607","shmily5meng","jd_kCqzvdNdzDMR","兔子不开心","jd_5c9857d271249","jd_502bc605bf130","jd_ByfCZxdKWrfU","jd_780e1fe0c95fd","jd_DfiqKIflQfgq","丿丶安雅痴","liuyixin19_m","2577895035-802079","kitty174221","小莫0521","thomaszhon_m","jd_50373bb65b266","zhangenlei","med2012","liuchao_me2008","jd_7ab4c657bcc31","jd_PiGyAMYLCyjx","jd_5c7dad6aa38b2","u_49874b8870472","jd_PWJQPlIUAXCE","jd_5d41a48d4637e","814093043_m","jd_79e81f7bf90b5","jd_OuirWJhUPvBV","15018392557_p","wdAOEhmyxLlsJq","jd_75c735e8bce2e","jd_kxbWpfTjGRrK","wdzUmRKFdUeprn","jd_6741575c535f4","jd_4e3c61a9e09b8","549631678_m","jd_MqOPNBEgwlCX","jd_62aa02729dec8","jd_6e53d2c815dae","jd_jkaMczTVjAQg","jd_67cdc05604f0a","大眼帮主","elsa880409","jd_79527c06107ea","jd_YPkcspZvUDdQ","yvesyc","gdy010406","jd_aqzAUqeKttiT","230378157-887079","jd_clfkaJlhrFkW","58629721-986769","jd_56ee2f412275d","jd_74ba437c20382","gdtslyh","jd_arKgiQfIMCHO","jd_ZHsleqCWZUvS","lyh723501","814134-99118288","s1913412942447829","jd_59e30701eb0b2","jd_4bb38632958bc","納籣","卢海鸣0626","jd_5500dc3c8eebb","jd_pIeXyAaUegnL","帅鸡汁","ljr_hz","Ginua","jd_7dc8ae533458c","jd_7d5fc5f9ee57a","jd_46afe8291863b","6519498330","18683376280_p","bobzlf","jd_5e94b17c562ef","jd_48c516b8ad698","zrpod","419228403_m","536479576-493284","zjcxmmail","jd_592778f4c2835","851428876_m","jd_763fc7a0e1c9c","jd_EhAfPsDGaOhn","jd_UFfUGCaEKPIq","jd_62258d019cc4b","baal24","jd_61954ab34f50d","jd_6d825fe6cb581","jd_4076e54a08e02","jd_62299dc9a6e72","387202068-860105","jd_yYMZGYXkfSOV","走过路过的客","lxq1980126","jd_658170a75c42f","jd_7b49d1f4f6ab6","爱在战火蔓延线","jd_4a109b75d1f37","from1989zh","italyc","78399446-109916","徐逸7886856","f17895916578","jd_573c51ced2830","jd_54e6a8b9c6f80","jd_6121851c0dfe2","fobin","18810669351_p","1802978150_m","真的是ri了狗了","meiam_m","zxwtmac","jd_4785aeeddde21","jd_56912ff87a3ef","跨屏浏览666","糖果里的果糖","wdzCRqFlehDdxY","18976390040_p","jd_ykSrNPpXDrPo","jd_4323482e95be4","jd_72533bcf00527","炅炯炯炅","jd_tfEjPUAaXsNp","djd0351864793","248358330-645106","18829716018_p","981423","liuyisi1","jd_7eb0de64eb25a","1125090444_m","jd_70915ce928133","jd_gHaaNzkPDUEX","jd_4ab867edfe5a9","18666081810_p","惜格720","tianyong7201","huangshu003009","jd_4f33d049b0c4d","jd_644e3d0752950","h742419098","13128044-270649","jd_7fdcd72af3669","194850858-327639","jd_539e77814d0cb","jd_4f69afdb8d88e","jd_48a292e27f91d","jd_vhCLzjPNpWDM","追问3740","n1330243","yygyyg888","jd_744e53981c914","xbluelight","mztk888","jd_586008629b388","jd_SbUZAmZSpTXO","jd_4f6664f2a7bdd","jd_GzwninwBRdVN","jd_478d44cffdef6","jd_OnaEPrmnYvLD","jd_5b0b6ae284425","wyd025598","jd_HoDjHoIFKfjK","llllg324","jd_68eb3c31c4223","15988820461_p","jd_jbiBcflVMAUu","林水净","hotechong","15073128228_p","jd_LQpXFJZujrmj","jd_41ea587e6055e","jd_oWibXuqTjPQt","jd_pBYcMIZyEVUx","jd_50fcce8aca6be","wight3","jd_510b024703ba7","dsmmmmsd","zhangdics","2534873813-245178","jd_4ddb1a4bfdad6","jd_5e72a50391b47","绝对三哥","jd_6b0287ff04eb8","naigu","玢烨","jd_7535c80722fdb","jd_5deea1af65c9a","jd_422bceb149ff3","LINHUA1856","jd_kegplytXHYbU","ycstars","felixtao","jd_43a821a624571","冠唏","jd_6b0945a180138","jd_5236e81eeb4ef","bluesnowvictor","jd_68370fc6f71ad","jd_5fc1a0c61ad23","jd_63fb7be1f6c3d","jd_6f6b6620b6df5","18855911516_p","hnsenwell","jd_FOtJKRCuumUL","jd_580a270f06099","jd_ItrQJomRFWcN","jd_444da7b6754f8","jd_GcqDtkvlwCSB","jd_4ca803f88e3ef","bb7711","jd_KVFKBSePGaHP","tofanyj_m","jd_rIApqMfJebYp","jd_5a8868c3a525b","jd_74cbe490b01a7","644393232_m","jd_5eb1a6614328b","jd_rVHxSvWaXOpm","某个80后","yz_zhangbiao","wangkun0915","jd_63a56f2edcab3","jd_5a79b121ca278","jd_6f0588007a576","黛色93","jd_5f8768c5cc49d","sugegudu","jd_4f0ecb635de62","jd_qAxklexpwuch","jd_ySTVfNCRKIYD","jd_710bcbba18fc4","jd_60017300bcc75","pguo0403","jd_5840fdc0069ad","shaou1011","cgy7986","64568873-73221227","13517408-84718902","jd_646a33519f4bb","jd_44ed99616b9f2","jd_6cf4f03e6f52b","3026969-36468296","15395265598_p","凯凯123123654","jd_PXrtoGbilvml","科密办公专营店","jd_YiBDfDwBijIY","100841283-48007621","jd_HjaAGZlxyXTU","jd_5f25309c82df8","jd_592c3c4dea16b","cenzendong","jd_ncVxhOjWbQuy","15250157325_p","jd_AtMuAFKYnjep","jd_czFYvTWoLkdI","jd_45a1f92bf6dfb","jd_4adbbcc044610","mhlmhj","jd_6f94963f3b4cb","jd_42ba8e4746a5e","jd_4064327ba720b","13610068682_p","jd_vuZsHogTySvU","jd_4dba3298f87d8","jd_AWMqPnRvSjyc","jd_wcGrXgdMtSVz","charleszzk","jd_4aee5c761e4a8","jd_tsLqxVASjEqr","jd_77b08670ab4b2","jd_6cd0b54924d93","wdPgLDplbXbxsD","18810782431_p","jd_4a6c459a176e6","jd_4864ab9ee6c24","时尚001","15058610696_p","jd_5d62466a38e23","jd_784ecde4b31a4","jd_YrTRuiEibBRB","jd_52f5a82896010","_ys小爽","聪哥000","jd_6cd5367906d9e","13405315999_p","jd_7d8cbb19f239f","jd_4487318189fc6","jd_68b20c92df1bc","jd_75aa1225ae722","jd_78693f6e48d9e","蔡露丝97602","zqbemail10","jd_5a4cc5ba30ede","chuxiaolong","jd_7763c8c6cb4c1","jd_69c5daf517183","jd_4e0843d87079a","jd_6bacf3a1d7f9e","jd_65a34d3d64b3f","231585353-40799365","jd_CgcXETDyPGnw","chc360","jd_4de23ed9471ec","jd_7d25ecdaa50e5","jd_770468dd45179","jd_6915e0c12b773","18678610371_p","jd_5db34ed7561c3","lqh807","jd_xsEOypCCRvSo","jd_HKHkkGOKAjvM","蓝精灵52199","jd_yQWFRNinlHsx","冰冰冰哥","2151","jd_578134e7cb098","jd_6de5dcd549921","jd_562cb16d298bc","jd_OGgErnddcUwE","gsf310","love-5200","jd_53a334e053b78","jd_AOgciXzpDIZv","wentijianihao","jd_mEiOsiaIaoJM","jd_59175f77b44d9","jd_40985e493ec9b","okhamburger321","lzpczpkl","chenil","jd_45fdf62a770b0","jd_RElwEyeXNQvI","jd_VBFRmwxltfWp","jd_YZYwHTggqRWy","jd_78bd5089bf782","461842153-76522383","jd_6b27f152f9a87","jd_WZoOdopniiTI","波波特","jd_JmggrxKklztY","jd_AsXeKwGZDTTJ","jd_5595020fe56a8","jd_63f4f38d8a39a","迷失的遗落","13702281711_p","jd_74adb5130e848","kasuyar","1715000","wangshuande","jd_78d76ea1f25dc","jd_7547baef33a21","falian","jd_7604c556f4cf8","jd_ipJtCjgeUIII","jd_69f7f8932032c","jd_gSGQKVxdHEXE","李树莓派","sc9883","jd_6b684e6b9703f","jd_5f0b9e9df5be9","jd_53877a8bc7e04","ailous","13093739035_p","jd_uiNBrfDTVlSo","15942270151ju","china13","jd_JQyqdgVKYeJC","jd_7426f44bb7d5f","jd_7897c9daf5771","jd_472fbf2b3df42","a365936112","jd_DkJwLfDfTnKA","jd_718c70e634b63","jd_4ff8b64b74065","jd_48c9a0af957d6","q369838","W79654816","jd_kJNCjlUkdjyZ","70991276-53492669","jd_6c2a20ba3bf19","jd_4bfed3a8ebcfe","jmt1847592017","jd_yHWBJCdxeAPl","chenqiuxia_mwo","fangdong316","jd_567a2845b57a3","jd_5afb862a40b12","jd_75fcdbd88bec8","jd_728e140a46289","jd_481acaafd93e4","jd_sRCFygOmDOrt","jd_7c097e0b32cff","u_75b77dca27d38","wang92332","jd_56b8e4b5351eb","jf-chase","jd_mTuKzonIMFMR","jd_662c51b51eb62","lrswcq","jd_6ba33a5ae1aef","arborealknights","jd_jPGeAqoXdGBa","jd_7ddd5a2f73005","jd_49795050ef09b","jd_7609150418b32","wangyuzhou573","jd_6647adff66b2e","浩哥购物01","ldy8103","jd_76affa59d2d2e","jd_481b21535d0fc","jd_499a13b1987d8","cathy_loo","jd_4ea953cbe7d37","jd_739d1bf3bc47a","jd_513cb40b57726","jd_529a614ab1230","house_shirley","jd_4fc6de38ad118","jd_457437416b0ad","jd8289199119","joy6996","376916463","lshlyn724","jd_474e96b3661ee","15680953553_p","jd_5fc9dfdcd73cf","jd_416b268caf31a","jd_wutVACFOXrwL","jd_5ce52a43462fb","jd_drZDCtLotuOP","wdsMfjSkpTsspc","18971279916_p","13916199617_p","jd_dKNeKpXZueVr","wdJtPSjsHdGDaq","wdiCjnPfprnqPL","jd_6c44d19c6b7d4","18320696500_p","jd_4db95353bfa19","jd_6d5972c0339d4","jd_4f7db1d420122","jd_48b201f78872c","jd_itYWPVlAtGlX","jd_760248d08af66","zsh小怪兽","jd_407efd8138ab7","jd_66ad07262e069","jd_FbNrdZfXUtlL","jd_cMZzoXPtVbtZ","jd_40ac4f0259a74","cj8023kkllk","jd_7ff324a0c5636","20415442-995876","jd_58335feb20bcb","klhh369","jd_793652d774879","k851026","jd_SbMVzgYADlvj","jd_58b39a29cf7d5","Four-years","jd_54f6ad4bfa0a5","醉夜江湖","jd_520b9e2b193fd","jd_nRcCCKqWNeWh","小张仔221","jd_66958b4e38ed1","jd_64a01770d5dea","ycj1379","13675035165sxy","numgao","chaox0329","274004892","jd_70498ac130cbb","陈泽鹏4959","jd_630344a996fa8","jd_7210f9e8b60e9","jd_6465b8e9d58de","13675861423_p","羊与老鼠593","jd_425166d54d5e3","appwgh","小林子_0926","jd_gthsFMlzZqkX","墨尔本1111","jd_576242645acad","jd_647b91bb06941","jd_608455e77b0b6","jd_426c379b88de2","jd_55c3c7b4407c7","15152212270_p","jd_650d6e6b9f107","jd_6efa4fa938431","jd_ZAOGplOVeHfL","jd_6400a3ac24cef","jd_7c6de695ec440","xiapingg","jd_MEFgyIZyNrAW","jd_7f318f4146f22","haitao0826","a8728811","wdooaDpCYNacKV","a785879952","devilai","a1213655570","原味-zy","13677227487_p","jd_GBArNnqDQdpf","jd_4332e3379495d","jd_61e9785e58111","jd_4ecb72da0df53","jd_62066e26e8750","maggieqqf","呼啦啦啦呼fang","jd_45ea6ba5da448","jd_4fc17e485bdb1","jd_69d601945a706","冰心果冻","是木子yo","jd_629be1097a847","jd_72b474ad17aba","cigwudong","jd_UZZPflquEgAA","jd_78e83223fa879","renyou550","nn1358","jd_41f15516789dc","jd_66e4662c5cfd0","fishring","15989702665_p","5345568016","jd_4848b07a75945","15653325177_p","秋阳1860","jd_jktgzrfFhmJS","jd_cblZXzeOEqLm","18255062685lz","jd_5022173dad26b","jd_652e64315c8ed","jd_4827cd195539a","jd_qhEviYREpnSW","jd_75cd8ca153f89","passwordming","samlining","jd_NyZnIWwZNBsL","jd_45baae846b9e0","喝茶ing","jd_HjolSRqzglSE","jd_42a384870f931","jd_75a672b49528d","林昭明","jd_4f60204904559","jd_57bef79b474d2","jd_4a6fe92701355","18318084575_p","jd_4fcc0bd8e8cbd","13410541795_p","jd_68c0548ae317a","jd_ZJkHnFTYnWmo","mydondon","依海泛舟","wanglei007o","wdVZNsurUZlbId","jd_5213a769c1bbc","1093825464_m","borpubi","jd_61a29c6202083","jd_53834c97edda9","176726-43505997","bb4623_m","jd_6873e8b3ce93a","fatehou","jd_6adb92da3d3ea","jd_5bb7ab8248063","jd_OrYPHmWQopji","jd_490c450543c7b","jd_IUeNGrJDITWl","岩无辙","109437079-887315","jd_76af2144daed6","jd_47dd5bcd8c5c9","jd_axnjBgyPXPqv","jd_6f1d5ae92a642","jd_4b5b9b415157a","jd_546e84fd3e0ca","jdlaser_x","jd_jnUGinetsnSr","jd_584683dc78776","jd_CRjYTZTIxSAA","jd_57d2408e38ab5","jd_50d328595b9cb","jd_76edb09b46564","jd_624f595a51b3b","hannius_lei","1870855781_m","jd_mgKVCAkZJyUP","wqidhfjf","落雁之秋515","jd_KQgzgHPzGmDD","jd_6ca3d78b41a30","jd_7556f0ad8489b","238132169-789262","cyjtalent","o879607","jd_518a7c2211e1b","jd_DtcgOZIskXLd","jd_fQprSJdkBnxZ","1343417688_m","kathy3977","jd_InhPmYAYPnrX","18982110924_p","烬燃","jd_7893bb98f4b17","jd_7c566018b076a","jd_7b487fd3353a2","jd_5c6eb1b874951","andynumb1","jd_431e1420ad2b6","Lemon鱼even","jd_4c5a611120998","jd_401db55e8f3e7","jd_457021986dc0d","fengqingwl","jd_PzAbKJMeZkTb","517857323-239488","嗷嗷郁闷","jd_448659bd37950","xingxingwhr","jd_4d4e7c86ff257","jd_6c0c2d94e6d76","jd_5a7828fefce3f","mickey.20_m","yonggandexin10","jd_NeZwnDgEEYkL","jd_xuvkJhRaXbRx","x1177","q475952074","jd_48cc90e18b62d","jd_4a46e0af18096","jd_7bce58e21a380","1020301997","jd_7b29004852c25","jd_79867fa899db6","ml0719787","jd_545f9de857ffd","gxhljq","jd_7902b3676c74b","jd_5f83ad3844e54","jd_cNlfvksbwsDq","陈佳顺159","jd_71156cd165068","莲蓉包687","jd_6eeade97fec02","18521096414_p","jd_49cdf2ebe6a67","无道刹那","SlimJun","yuanlin786_m","15083573-52261834","85015273-324555","jd_515dd67898ada","caryyudi","13857309315_p","jd_523cd1184148e","网络坑比","JDgg547900","jd_fKTMVcdSMKBk","jd_uwYKISfdiION","jd_dxvMEUGpSnDq","guotimerain","神的灰姑娘","liu8050","jd_4b78c7e1f3c37","jd_5134684b1dd8c","jd_7a4fda88b4e88","jd_537dfce4d05b2","jd_MAJaenecGcQi","jd_44e3b72ada6e8","losingrose","jd_6a07eedcffe6a","lzf822756","1358842988_m","jd_64820901fc82e","jd_67d4711be498b","忄蓝","ljyzl_tb","jd_47ca592467b4a","pakiii","174759443-865760","jd_4f00e3e1716df","jd_dounBdVdUUTC","jd_4047748b614cc","jd_URrqtXjErEVF","肥鱼黄","18607371611_p","jd_CDXihehOLhJm","jd_GkfNEWTxiCfK","jd_ETWjuHUwyrXH","jd_412e8a19c83ed","jd_bVasaGtmWokB","唯爱己","jd_4b6b2bb0c9ba8","jd_sjvwLoVRiyCD","webzerg","wdSKbZzDKqWDqV","wdoFhgNNEoysbZ","jd_nUjzWANoYJhT","jd_75a9bec620597","jd_uvHfIGEmMbzj","66778848-621922","zlm_020315","jd_VGUHNxOMpzga","18262643055尹","jd_7dfea81868444","wdDyjdzEJlblqE","jd_6f71e74cb0bee","q479187-291043","jd_70641a85ebb9b","jd_ycJjqFDJaqdf","jd_4a0a776b841d1","沈鑫的个人账户","jd_4e7872c0b238d","不会开花的石头123","jd_QfvaeLKlYify","jd_72e5de96d6a29","jd_smHTHHKjiKxe","kalagxw2020","雪曼123","xijie1989225","jd_HqsytugjCgTI","jd_fJYpgfliMInG","简简24","jd_4b9871680a3fd","jd_424df05933134","jd_SywMRnlqHurv","jd_jtxdQibfYhAN","jd_788da2e598f89","jd_746ca3839cb99","jd_UDcxDFHxlXGw","jd_72332835a1c7c","15267751030_p","webcsy_m","jd_66b413dcb3a41","u_7d792f83e42d5","machsun_shs","oda85607","yourik123","jd_REHiwUyruvNd","jd_KohzEfIDRCem","jd_749a7a5c433c0","我是爸爸3736","jd_6f7664c8f8922","颜昔","jd_73c5692f61f4e","jd_738725337d3c8","vip张钦渭","jd_HIcZNYBEVHcm","jd_nlGJfCMVydhw","jd_66081e3a5ada1","jd_6664d18c8a597","250740275-150641","jd_43164fe8fd1f9","jd_6358793cac739","jd_kFNTBdYFMEfD","5764792879","jd_jGhVeJcPNXmA","jd_71464ebafc660","king1938_2008","235352871-372845","jd_7362946a67a96","jd_vvrHFUuoDZBP","jd_rkiwIDKdSgdw","jd_PKhEFJLXosqP","kingson_cow","pt小彬","joansunflower","jd_60585ac0cefd4","jd_5b6e7f7443492","jd_49aa6667d2725","jd_70a5b738ac3d7","jd_6db4ff94b3963","kvxk__120","啦啦啦123321","jd_53320dbf7b5fa","wdxSseqiuhjEVT","kevin145745","anne_shell","jd_5e3600c92c5d8","jd_55ba465de88f9","jd_4a0328e6a5954","97740198-810676","jd_7b1d9c1d4fce4","jd_72f5b98e2b4ad","mali267","ckdream","jd_49d9ef78c132f","koz2000xp","jd_WhAeGQRCedLX","yzy19970502","湮灭来世","jd_70c3b73987478","wdSFoypZcobDkz","jd_6ee5c718c365f","yyl55699","suizhoulimin","jd_uXfcqOJJAfsN","13680727423_p","jd_xGxsrDfOyJwf","jd_cEGAmcASNQlH","guoli.123z_m","jd_4175640dc8de5","小熊钻石","茶韵生活2","jd_64905fefe536a","jd_7240b723cddbd","jd_5d2c97d9f13aa","13632527215","jd_BLHaoGnmSdjq","jd_rzBEAyyAnAGz","jd_EyVyXXTjoyop","zhuzhan_wh","q304105407","zzhome007","jd_5671695213d20","guojianxia350","jd_dvEAdrGYzyMt","jd_XSXZNuPgvZzh","jd_JwaPfwPsUALt","jd_dJnqGWOMALQF","人头热污染","jd_6d189913a81b2","jd_KlKOeIHwTaAl","jd_4d9a51685deab","jd_ywiTjHNJTDyv","jd_fdPFZCuUcEfk","jd_6e8ec0c654fb0","窝窝0763","鸷邈2010","jd_4ae3a6cef5e27","jd_672895e838ca0","u_666c09e9311e3","hansj1984","jd_56a5030b4a741","wdICWSAVpsSKxa","jd_7b697dbe1c1f4","jd_6c538e7156bca","被自己帅醒丶","jd_7a5fae0901752","2405211-41141401","jd_luBEncJWEiih","jd_608781f6dd6bb","jd_51aadedaf6fcc","老母猪蹄花","sunwx2017","jd_hltvZfzLgEOV","aaa379978","wdIXJpJWyuEiUM","jd_54da9c19a0afb","jd_wZXQpzPFiKLW","jd_70b8224f6b7cf","jd_BEhUYKckFVKz","a136080204","jszjmwjd","nimeng1105","jd_AnTMotdFGZKv","jd_4f0213824a2e8","jd_5a18ed7f42025","微笑是晴天8","18233955297_p","106442009-662606","yz3x","lizhe99999","酷小宁","xupeiyu1991","jd_XWAkgcRdPOrJ","jd_5c58561d58a49","jd_wwZHCqDUFrEi","rastyucxz","jd_4fd2a285e52eb","jd_JDEMhrVgEROA","jd_66a28d979539b","我家不卖酸菜","jd_5ee71a1db5caf","c15292221909","jd_4b045d636fe8d","树枝上低鸣的乌鸦","jd_YEjeNZslISDU","jd_ONYvUZooIyOU","jd_pMjlYACdQGHY","royluoyi","jd_78f252d56869e","suizhen","累jue不爱","1907714123_m","jd_pfEmRWVSdWgk","jd_LuiggSIxHsok","jd_4a6359da03a05","jd_79d6e338131a4","yundai1","lxwac_m","434804009-880581","deanchen922","jd_CnVVGuuRhDsx","wenda2008._m","战争践踏艹泥马","lindehong2_m","jd_lCunofIqagbe","xiaozl_Q","jd小甜","GRANDIA1981","anan_anan","jd_49620e6795e9b","jd_700255c3c97c3","jd_693a13a272c29","MirrorJJJ","jd_4788c4ffcdbab","1224552-196015","jd_DMIaDNEtWZYO","myvmiao_m","15584661988_p","jd_6ba448b011896","bbqian","jd_57a47c41cfaf2","18867717032_p","jd_407ff944f1749","jd_49964719c26b6","jd_6a369d4f152b2","jd_6f65beafff0ba","elcarim_efil","jd_CUlnNgtZzzUH","jd_AJXffwwUnEoV","luheng2700_m","jd_41aefbb704718","jd_46854417ad018","hnkdzy","jiwei94","jd_6737fd1993680","jd_4d49a33eaba2b","jd_4066b3a4101f1","jd_7564029dcc9c9","jd_55d227bdce11a","jd_4873ec6785e9e","jd_UvbocJApCIFL","滔丨滔","jd_dsBmNBsHqpvk","cynizy","u_6f623c7eed85a","karat24","yisheng66888","jd_4155d0e9b4a91","is_mingzi","zdpypzhq","jd_QMoKgkKNkLWp","czhyjz","jd_552941b9ecf65","hrtdg","jd_7711f2b081523","jd_4119ff1d7f647","jd_41f1eafbe3007","jd_xkiSYrsnFtNZ","15162642417_p","jd_757fc721ae14e","365043987-172546","哥哥有奶糖","1000fang","lxzsunv2","jd_676a47644acce","jd_573a2cc7dab35","tommy33","jd_OUMGVuwaHyBX","jd_7f6b556deeb4b","jd_qaXsSVQOnfuf","qianzhaoh","jd_63885ef657dba","jd_4d76a8cb2042c","223077939-13575854","tshl123","jd_504ca4fad18da","xlmyselve","jd_70eee8e83e756","jdpublic","heshengd","若生活只是狂欢","邓荣斐","624027756","z648380168","我是littlegirl","13168545852_p","黄某某73","kingjia1989","06bee","andyhuai","13922979435_p","jk751821690","jd_QOFqrNdXTIur","lengyanchuixue","jd_VqDKnqGarhJM","braveheart1226","liuyyang2010","18673456005_p","jd_46ff353ba4817","a18672171201","2971670-279247","jd_4b38b99feb02b","jd_sLjsBFCbyYCS","Diligence2391","jd_SVMYXHlbyPkQ","jd_6cacacd2eeb56","jd_45b3e75f99dcf","jd_69d15b8641ef1","jd_48fb00871e594","jd_LqnlaQNisqmY","jd_75164bd0e18c1","Monkeyster","18682254866_p","binthree","jd_NnqyyqPtwSjw","jd_UdeCFuFjIEUH","jd_6449d108e24c3","asdfsi","jd_605ba63a6d172","wdNXGkNIrSyBypb","jd_718533fc00a26","jd_469e45d7fd638","jd_53c1e8e1f3514","jd_4290168df3d17","haotianjun","xqiao777","jd_7b22e83c30e8d","jd_67a342f7dca0e","18779026788_p","hxmxyd","jd_VAJsQkpCXHQo","qiaoyun680","jd_49503e322af9b","旭旭0123328","zjm3938","jd_64860c8291d9a","jd_4ac186fa8a7ac","xb6323269","jxmlingyun","天使的宠儿L","Martin391","jd_qCodTUFJSRJt","jd_61fe9ada854bd","czfd","jd_69387b1fde486","jd_5e4c604550671","jd_56d06d058430a","jd_70581905f87b7","kugedigi","dikesk","373566515_m","daidongshun123","jd_5e80c641db306","13308038487_p","jd_cOIwPJwdYkLF","武汉运通益宝","jd_vQoCXblvOkFX","jd_77b50319e5ba7","墨月Moyun","jd_GvZCxcjEezZO","u_4bf904bb0cfa1","jd_7ca3c4e05c8ce","jd_69780cece508d","jd_5cfa7700ef655","夏侯浩源","jd_7f4a817058c26","jd_HEfseVXZnxja","zyangyang2000","jd_75b6924b0fb43","jd_486d3615388f4","18683691173_p","星羿丶","jd_vtJRjifZJbtD","jd_6f44ff43d961d","wdnEUtwXmVEgId","2409882-69348438","608448103-563462","u_7939d7fdba91e","youngzorlin","momo_mengqin","jd_4d539ef5bfcde","jd_59c8d2433083c","不想上线","jd_55218deb229dd","jd_5d078829ad1aa","jd_6bdde27483e80","jd_7af4371e74040","jd_54215d3dfb39a","jd_417c9c5bace48","jd_51d5f53612dbd","jd_7235507579e80","小姐请放水","jd_4659432955216","jingdong_chinese","jd_45827dae279f0","mengniu8001","214079359-325418","jd_441c90a99b87d","jd_6c8ef1164bcb7","jd_7ec614a7ffe19","龙影-随风","jd_59762bc8dc676","whoislxy_","-思绪走了光","yejinfei2005","jd_7c26d650897d4","18550108784_p","usherkobe","gdy010405","23444151-728476","217618156-356926","jd_6a2f8d84ea70d","jd_68a6e40ac2132","jd_PSmNfVWpXGZY","jd_6e2a6b53df8a5","vinke15","jd_62a1a95972eaf","jiaangshan23","15033285855_p","jd_6e8e465e3f203","jd_xTVGIiHMfPrI","jd_DAhLXXzWmMTT","jd_6f060f8101767","jd_ReNbpHIAkmiS","jd_63ab7a2619dd2","wdplkrAoPHaKvI","jd_6cb175efc054b","2371509-984159","2577503_mau","jd_598d97ee755fe","firedirx","apple_wbeMEyD","jd_44bb0bcd1152b","如果只是如果43","jd_GlmWlhldTWKK","安然funy","feiyun002","jd_635782f8c9ecc","jd_41d9fe5ce4d12","糖醋里脊","18678829886_p","jd_4ece257fc9dca","jd_DdTidgtIMWvJ","jd_6d9cec28cee6f","chensong1234567","jd_66004c10726e7","娟儿来了","jd_58a0c0c31c43f","wdNsGEdISfwkqKQ","jd_4ca58cac6c79c","jd_4d2d680774e59","田东鲁","acer0467","jd_7ec3c0448b6ff","watertao5152","735821687_m","jd_EXTFPXgmTVQB","jd_742d37d68619b","jd_681aa97877323","totoom","jd_6c1db4cc6d46d","jd_55b84b9e272dd","408541551_m","405968530-129741","jd_583b2b6f9e7da","jd_4915949b7bfa1","jd_5a5516ffdb73e","jd_4b650c2eb7099","深邃幻想","jd_767fe92b04066","jd_uMMlQdZTNiny","cqzyy0006_cn","zhanguohui123","jd_5b567ed92c290","jd_56050a35c17f1","18604323638_p","wyhfunk","jd_5d4910b60dd65","jd_oWfocjdiwCdx","gandam19","jd_754d5d2b5a26b","wuxy02","13717063696_p","418314704_m","jd_IEdORITBYJAW","jd_42004502fd13e","jd_71b056429ecdf","18113000635_p","wdMWwxDUPMiPIU","jd_68050a6918e8a","蓝绫423","pengjiadzi","yyyjyyym","18280270139_p","jd_5123070ef17df","jd_WyVaMvKTSsGj","zhugui00","fish_steak_jd","chrome2014","jd_jgdgvIywpwYk","kak06","18239235793_p","柠檬做柠檬水","jd_4ca66a9e51f69","jd_rThoUanszXEJ","jd_45cd7115170ce","19547122-80321674","jd_62d21c05b21c4","jd_4e40b9585ce21","zhlear","jd_6382181f95f7a","jd_692c45d240aaa","jd_gTHmwxOzicKA","jd_4a3d0489cf49c","jd_GFFGlHKVrONJ","jd_sQyVPSpnZpCo","jd_756fddc402d8b","jd_52d5c7f0ec938","jzchenqi","zfenghhh","jd_4df1bc712417e","蓝色幽灵_牛","jd_qikGXoyaQOHf","jd_686c7c77817b8","15093778-45885468","熏光","jd_69575bb59859f","digitalife","jd_4bb3d1895c518","lisa123080","spzlq安静","晗-1998","Caughtnain","1396100030","jd1603618567","66303102-144789","shihuans_mtb","jd_6780a9e29bc87","jd_vqyeduJcdZZo","dragonxpl","jd_WAdOdVGDtkDk","jd_DtKIecMgiJWK","jd_4a5eb78e0b2da","763246630_m","jd_6d9e0dfb64ee5","jd_sEBDsUzEGWkW","15527771336_p","宋伟86","kevinliu80","15809290902_p","anyafen1992","humor2008","bhkkvip","mssgjy","jd_559d9fa50bb2d","jd_63aa2f819b29b","jd_AhMnpiZzYVHe","jd_4b5f82603b22f","jd_68052ea17a15b","jd_4509a050d60dc","15001275986","jd_PDUcHTMrLejs","jd_54a41e4dc386c","Molver","220534398-60538278","jd_44ea39cc6f048","鲜衣怒马少年","403421915-614910","jd_nqZEWISVkiRA","jd_4172658e2814b","skyo1120","73438_m","jd_4ee786ea1319d","jd_alePlIEXeWhK","jd_59ade86b3901a","钟文博2000","jd_7e9a2075957ed","-予希-","congtoukaisi","jd_7d21d3ac3546c","jd_XCiFcmpXGvnc","jd_QEkEeuiqKfdA","jd_576d9d650ee97","jd_70cad662a8ef3","jd_sUWvaxFicUFi","bingfour","jd_541e4b7faa546","DGriEmQc0H_m","jd_JxQvCBmTWcYg","jd_QePjRrkaYTTd","jd_6a3ef4dab4b6d","15629067656_p","jd_eNmbsjFeLozw","jd_7491a1c9246f8","yutiandeyueshuang","jd_75bd55573b4a6","gamemirror","Lpcheng9","wdZzHtqPYhvFGc","jd_47f79a0b22f8d","A阿豪1226","jd_54ee1dab13b45","jd_612f926d29868","jd_4ead79ad931cf","wesdom","秦皇岛老鱼","18674010684_p","jd_6511ea5245057","jd_4c92e88568a7b","jd_cyZnrgkxVGYK","jd_565768b5b3c0d","jd_JogXECbUflqs","jd_77286e21ab1dc","758广宁县欧宗全","jd_4dd20bd0577e6","jd_4ddefad4f7d3a","jd_lZkbXhQvfgAJ","lzcf_xiao","249429415-531115","jd_49d87a5b085cf","jd_559a995a1293b","qbugaosuni","jd_5376e6f093617","jd_MTaspEsEdHQT","jd_7dcfa911081f9","人才小六","pigvip","jd_6d091f50fbb8e","jd_NDdCSUjOVGyI","jd_676d267702442","diamondt5353","jd_556af6993db5a","2709653-18756206","jd_UgTOfLIZawww","ggffzz","wdTrtCBViIBSKe","熊孩纸的冬","274828313","疯狂之血","332996934-422303","20707019-632312","huangshuteng","jd_cpWOCfIbQshY","jd_583ac2dd4b269","1052132735_m","19044018-25345262","jd_UuQZTzgyNpoW","jd_583e84a3b15e5","jd_6389594d0f3dc","ircdesign","jd_79fbcf43241f9","1007365384_m","lk920625","258341092-919993","jd_50a7e27f821fa","喜欢对着你傻笑","5864376-738361","cgxchina66","jd_XgpOqQNHMRFM","jd_675c72b545696","wzqzero4444","jd_53011b6e65fb2","竹风tg","jd_476bc68d77eff","lxn881209","瘦麻雀","jd_784d557289454","jd_fOVQmogCvwuP","jd_cFTdeNpbxgAs","124437557_m","phoobb","songzhy","windmassen_m","jd_57858a4bdcc28","646029138_m","jd_4286da2f9996f","jd_401990793b3be","clanv00","66116597-496897","jd_6d8d28eb4c0fd","359007027_m","景刚月富","jd_CKYzTiDijnkY","wanglingsh_m","于泽军购物","18119621198_p","18661091042_p","jd_65dbe097d333f","jd_GxmZdqHeEgmf","liujingyu806639066","jd_699fcec5a5b2f","wdZZCNHpHKdHJP","jd_4f0dd0df369e6","jd_4c08e5d9a2792","jd_784ecb9ab84ef","Guogh_jd","jd_72d17c63da3b7","小隐677","夏雪0403","jd_7ae27e55b5baa","jd_72635f4573a5a","jd_53565e9832178","wdjNqPfXjuTpik","17040246-52058452","niba0311","yuqizhen1","jd_526c55274f8c4","jd_586c6b143342d","半藏-","jd_vgdFEztJacla","249261550","jd_636971825816f","jd_6d9ade117f0ff","jd_5f0b661b6a23e","jinyit_22","jd_777b62d25e157","wdADaZDeJAGVNo","重庆双子星科技","jd_IDEMOHjmnBFD","jd_5c918ad705829","jd_6b566073606f2","jd_4e7f1942e58b5","z574438205","jd_77bcb00d4ffcc","1522097334-237792","jd_4c2f825280c5c","fffaaa0608","jd_5d1c705058786","mch200439","jd_661e1e41e09af","jd_725bd2cdb5848","zhang66612","18626389520_p","大大空白的","gprg","淘淘乐居士520","jd_729c2959bfaca","jd_7814350d63880","jd_5fbd52012d035","jd_4c0a7b20deed6","wuqunjian","jd_KffkrKEpZXBq","jd_VcSwZMmglTGg","jd_hDGhTCaUafUQ","18857985169_p","晋宁鹏杨","沉醉424","jd_4192b626cde3a","大宝21887","wdnILIXHZRdhcj","土匪1号","jd_449468203531b","jd_6c824722fd690","jd_5dd58255f4ef7","jd_DJidkENQckbc","898928088_m","jd_43d134ffce0d4","jd_6c1f51ec51966","jd_dKUKdtbSCUlE","jd_40b5a5a0b05cc","210688961-44587257","jd_7eb6b69db1e6a","jdhkerpi","56332073-718872","jd_JcywFSRFGPPH","wdNpRwPXFNIijXy","dragon261","jd_70ad8fcc8cbfd","jd_6ac3ed70af5cc","jd_7b8d14325afae","jd_ROuDOWVfkOxk","jd_7da07797c4784","13523898098_p","jd_5652143d55385","88085439-671137","Lam-","jd_7acd06f0538bb","jd_7882b1137114b","jd_4c6ac15ca9480","jd_ZnCApTqzJVbf","jd_bneRBrMDPjOt","meipeng88656","jd_7f1cbf6a13a6d","8727194-330648","A_kongbai","ch0618","金蝉脱壳1314","jd_uASZoDqeCSOK","jd_CGkXMErmGtut","orion_594","69861604-114229","LZR555","地狱无敌铁骑","jd_437de97472b99","jd_72e1beb4999e2","jd_7e82b3c011f52","lyitachi_m","jd_54952a30c3c80","xwy870411","jd_563420372981e","jd_aboTqOwTFHWn","jd_4e2612a396c8c","jasonLiuy","only521yao","FGFGFGFG3010","哈德森981","jd_JHeWHsDImhrC","jd_62a846bb1377d","wduEgIIFLrPdks","jd_632522099c20d","194577754-317810","jd_547ea95bb0f0f","jd_4079c6a997712","jd_6b069f90dd9d6","Kevin_abc","1395413795-819639","胖子_青蛙","4109197-84325571","Garbie","jd_7a4705c58d30b","15859099769_p","panshan70","jd_7ccaf47e64257","jd_kRSUZwLcPltm","jd_7b0c850bd3958","jd_517aad4146cde","8361863-58092103","jd_72f11d81b8954","13169403417_p","jd_NAJCZsFxuaQF","豆豉味老干妈丶","hejie429","jd_YFalHktFhFLS","lirong2001_m","jd_4398f914f460a","jd_TspRNukYRuAs","akinlau00","18625996722_p","jd_547ef9890c045","jd_QkMhkeFouZOb","柚子茶田","abc114488","zj0001a","207772775-41101786","jd_FjxNoguoGnfr","jd_5933cbbe13238","jd_uISNqIpaJSRU","jd_63101fe765aef","zhrlghl","jd_68bf78b4fbfed","wzylz88","jd_51a930cc7a2c8","微笑天使飞燕","carol811","木易某某","jd_6a4238774ef75","jd_67be2da419792","jd_7fed559971fc4","jd_OtQOzHWjYsac","jd_4046f5416bf24","jd_ASQPGXfBzicY","jd_477dd6f5667fb","jd_44b66bcebd3aa","jd_7ba163f0febf6","18318097344_p","jd_7a99edd392b1a","jd_6f76d9ce1f8ac","jd_7888a3f98515f","jd_78a275e0988c0","jd_553748bda9a2f","jd_4635db0838aaf","jd_778c2a04d1910","1745672-37984500","小东go","jd_68d1810fb15f0","jd_667191813b2f8","jd_776d39f896b35","基友","jd_yLdOLJobbuwx","jd_40fa0bb0c818d","jd_xuDRSYVfYfeg","jd_72a488ecabea6","jd_731bfabeaa1f4","13855575556_p","jd_jUxGbghmCrug","jd_7cf2d6f79a5d4","wangqiong5_m","aileen890303","une-lamoe","pizza-bread","jd_63e1fee327097","jd_7bbf4756b379e","jd_xHceUhMPxJaT","18840284018_p","wdNulWcDPVOpbem","AQR136","jd_4473d22be1f21","神奇_好男人","lijie070608","wangqiong654321","18079526-181554","jd_ZxUwATyRTaLC","wdGpLxZfPcHtsF","刘鑫153","jd_6cf5e9cf16608","jeygege","jd_6791e5ddb5cbb","xiahaishen","jd_7829c4cc2aec4","jd_pSTkrBSGjSRa","jd_55f8344fda2d9","jd_7cdbd00c28729","jd_56b43ce95c0a6","69830853-419586","安如少年丶初如梦","hushunxu_m","15119201113_p","jd_7a63a7bcdb59d","jd_6b6aeb5c9e353","jd_56547ecfacf57","jd_53d533f1d8e9c","jd_NjgkdQCKioHz","jd_776e28963f1a1","jd_566350e9b01dc","jd_vaEmkfRiXSQE","07110304","94817873-208383","451320649_m","jd_64f738e0563f8","iorilee","jd_687e95936fab8","943241156_m","jd_55d71a1ca0c27","jd_5ae4ad2c269a9","jd_72e5d1f18bc82","773656713_m","jd_608a3c0ca6dd8","125687798-743439","18909136663","jd_7a9d58fbf77c5","nstop_m","12104053-75378496","jd_60a0690b8741e","jd_5f8ca23e50e59","ystar08","aiq930625","jd_IDrfzBCGbCZI","jd_5ef6c322fa5ad","wdUeieYTtMhyxl","Vinze24","jd_4fa0d0d97ea0e","jd_5368630ab395f","jd_7686357e9c45d","jd_40453a719fbf0","jd_67a332321137a","jd_62b87055d1587","Jernin","q1735790460","jd_542b21ec63b2f","等待源分","mythu","jd_5c33c50795107","345808666","z87505908","w9036","s1222673811981996","jd_591a2689752c3","13824886151_p","小橡2277","jd_5bf7c5b846301","jd_4afbac00f4d48","jd_750b85f12129e","jd_64d8e3792e962","jd_50146d6a6728e","jd_51fdf52f03d24","jd_prnHBNrrUdyD","ai_tg","jd_mcSMQWyFtNFS","jd_6c20a47f42eb1","铷小混","l-yanyan-7","王希知","jd_kopRlvYrwpeq","jd_UYwLCqKSVWKb","jd_FQrpzXzQvsik","1109303-64321455","winxp198901","wukui9654","jd_66b961c809e9d","jd_DCPVTpmpppGw","jd_644226e1c420b","jd_44279084599c6","15566520872_p","jd_5a411607de46e","jd_4b64c34c307a7","luodingzi_m","千门公子","jd_7f39650c518b5","wdNwrNHFbXVokC","jd_6a65dc1c6bc0e","497690451","jd_5f3dfb16cf167","jd_6b60a61904905","jd_5ec02d58df38c","snakemany","jd_6f7b9330d896c","jd_64e2b747e0b30","jd_UDvfFzHQoRKg","jd_6b1388b6b79d8","dicksonchen85","jd_748bfd130a70d","jd_4232c95a13bba","jd_oPioBsTahPmY","55620234-703297","qijiwi999999","jd_6c5473edb180a","jd_HuLNhGGsFmHt","jd_42b331a73a3bb","jd_70b453766ddb5","梁劲义","jd_7d62f858f655a","jd_4031bf342b58c","jd_60fd6d111d89f","jd_66fb8fdb66d2c","赖大大大怪","18174003305_p","jd_50bf80e592ea5","18409206722_p","18610261177_p","61235351-77393574","粥宝宝123","jd_6cdb9ca67b7cd","salmonskin","jd_552551e075f29","jd_4fec16ed085f5","75868414-474691","wdBDdIyGRvNRoD","jd_hIwgkzRcjgFc","jd_6cde2eab9c51c","jd_QhrKunFcQBfQ","jd_6bd0886d945a9","kingsoncheng","wdZtmbEjtJOeWf","JRSD_lkuRX8757","jd_799030f6fe76b","jd_xoftFhixSBtj","jd_hwOjdUOftyoF","jd_7ef6e880184a4","372506521-605452","jd_6c45ca48f1f35","jd_4c5e3811be246","jd_45277a923f693","jd_4ca374f53c235","jd_74a139b6aecd0","282343-61769200","冰泉思恒","jd_6be6d287d297f","cowcowh","jd_6592c15945c9b","zlfonline","1050210835_m","甲鱼不是鱼","18168023090_p","美丽的纳木错","花姑子在哪里","jd_71727ab2f2901","jd_49f071e3acede","18778991051","laoyeng","15997330502_p","1045884017-799294","jd_70c3b160cdbb4","YRB8956","a447500102","jd_bfHYEgTERECS","w15840132141","20385441-51957867","vamosla","jd_7abd89ad729da","jd_7c38c5239d2a3","eireco","2020998959_m","jd_4d66aeb35d317","wdtjtoXavylqlB","春秋1358","jd_511e303aa27a8","jd_63f98b3e946db","jd_ChkUqysAcIQJ","夏漠苍瞳","XIAO3931362","jd_NejAjRShsolP","jd_66c85a8232d76","阿DZRZhao","jd_7af378392501e","weimingqing","jd_671e8b4a2c1a6","jd_46118d996e689","1102966886-156596","jd_79354e29399e6","jd_qwKeaSMViwSH","jd_7c3599f2db305","jd是13","jd_6b2de84bfbea7","jd_7b22bbfe1e7e5","jd_MSJGSruTaarl","jd_711c0caf2e981","栋栋账号002","___莫丶天","jd_58683f0d93e6f","thatqhu","bamboo111","jd_4cfdaeb5b3e16","jd_5321fc7b86d55","15954806663_p","jd_63c773aabf877","cheng_998","anluoxi","2863918-79090414","zsgcgrs004","jd_61bc73602bcb7","jd_57a67ee4d50f1","jd_iWJaqYzOucNU","jd_647b94207bdb9","jd_544df47f66c7a","jd_7cfdc272f2d2c","jd_slYsmkMQeVnx","jd_78ab2afc63071","湛蓝天空908","jd_648edfe55279c","wdOXZJtKJlCwlQ","Chipun-Leung","火星小弟","jd_43e04f2ed83c9","358732808_m","jd_561878897b12a","jd_585fe2947cfff","yhxiaoheixia","jjmmc565","jd_7f855a323f665","13971781266明","jd_48b2e09b0a1fa","5336372401","s5019059","jd_CADADsWsARVg","jd_EFVjOAQmzdle","阴霾小女孩","jd_EofoEaRWirtl","jd_fGgHrbdwWBnO","jd_naBWXwVafiew","jd_53f98a39f03da","1034232443_m","jd_728d92ebf5655","keaidejia5","wdXoIaVubHDQiP","shi_shi3818","jd_6e428c52d3865","jd_5098211923d65","jd_4fbf5efc4ffe2","jd_oFUGeFPIDarn","jd_4b0ee3ae034f8","jd_79cc527316342","q521317-307440","jd_UlWIEoVGQCRh","jd_hivROIyBdebA","jd_41d7a09585fa9","rebeccachn","逆轮cys","715565267_m","jd_483f91de1a198","a3z006_m","jd_6e1aea1d284bb","jd_6224c8cf8d726","18973149766_p","jd_60ca7e91949b9","77465438-159703","jd_JZhLJEfQVpym","史上先僧","jd_bGQbLaFgQWwI","jd_7a6618cdae6f8","97461261-921511","luoyouzi1203","13371761532_p","duanhan422","jd_46b2655277ef7","jd_634e5e7843a08","jd_6cf108ff71cd8","jd_43d00ac814967","jd_cecDHydSOxif","SIGSEGV","jd_uJjHPDRRaRFG","jd_RVUxdondLyBx","yimuxuewen","jd_7c473d99a4d6f","jd_tRpkLeNlRkdk","13480038881_p","jd_64f4eca7950c2","wdmOPiBRIYPfXF","jd_74866a7820b74","309757822","zhch89","jd_681b10780877d","jd_63879f49e61a5","365176573_m","1729859-51593757","sunhao8484","wister576","jd_43f87f190b7ac","gpssong","jd_6ed5d0b38681d","15657572153_p","jd_5da00f21d1b40","jd_oTDMgBnzgmsF","15983060793_p","zyf1976zxs2000","jd_61e173c644fad","jd_42279ca61c14f","fatefree","15060315641_p","jd_60c85f6bbf499","PojoAnLin","jd_fINOTeWpUHOI","jd_osaBgCjIbcVY","15814023335_p","treenewbee005","wuheyimu","jd_62bbef28b5f53","jd_JItkfbLszOho","jd_zEbmtqMGSWUj","jd_572856283f9a7","jd_51b01bfec14a5","jd_6a5508d70aafa","jd_41313aba8f84f","13862663031_p","jd_58966c7842c9f","jd_450097ed7ea2f","jd_4e08a1371dec4","s2886807513480600","ablejing","jd_6767b8770275b","jd_7f200ac9ce655","c1165156682","jd_7a34e4a8b9945","jd_5b0da11480ec5","jd_6454067eaa0ea","jd_6a23d77971bc1","jd_5508dafe81786","wdFreoVPZDEhYa","luo13203951831","张登所123","jd_481bdca8990ee","jd_625b2c98b8028","976624297-562002","jd_RGoSRUPPYumR","18910262733_p","jd_56de349c4fe3e","cnmghi","jd_IGoAdBymdpzD","jd_44ff25152e951","jd_dcBXtemDfUFL","jd_4de59422de8dd","jd_6730665ffe262","jd_PrnrdDJXNaOv","jd_77fc3d532ac64","jd_4f788dcb0e8c2","vinvent","jd_604f500f7fb75","xuhongmagi_m","15686085939_p","jd_700ddc14c6177","kenter1989","13016446866_p","15623709941_p","jd_KTJObCneyRMD","rabbit3046","liushu106","jd_6b07b1dde1208","yohi","勇敢的奔跑者","jd_4d86e7e16d7cf","linchenbang","jd_yMzPKMbLpRAH","wdtxBEfyyIKaDQ","jd_oemXUqdshpnh","yjzsg","jd_5201a987629c8","jd_mohAmiLbgaKN","18680080188_p","li8541479","jd_zyjitcibqWeT","jd_pnaxycNCwMpv","jd_478d426ba895c","jd_dOoDNkMztfQS","1109618187-180111","jd_571be192b5298","4698100-88585788","jd_4e1e8eca216da","68510893-924563","wangkepermit","jd_4c9b0d246e5ab","尼古丁麻醉","chenye0125","jd_ObzZzaCZhzHf","jd_42b48ff341657","541521874_m","jd_4a37c9306afbe","xuyangjun","jd_DbNNOOLwjuFZ","jd_7f11fa6ab8f75","jd_6a74eac7c8585","饭团好香","jd_5230862f9ea0e","暴走小姐nik","lemon32","jd_574a3237bf772","ntfs64","y.s.z25292_m","jd_79af19fbedb42","jd_557c0efbeb65e","jd_53c44246052b6","jd_69c58ca238a57","jd_65f6d0d3c838e","jd_4a6b3586a4bc0","824457770_900871891","jd_645298139230c","pieceking","jd_kxeJMamfyqeE","conanwu","15990126028_p","jd_66d459e817571","wdFBhsoqEEjrJp","yiyaowa","wdkyXzShPBhLmd","芊芊770","gaohuabiao","jd_76c1d798b4dd4","jd_ykLeVZtDgzRF","GJAltmam","清风拂莲7","jd_573d5b66debb3","v0x0v","lvhuining2012","418110565_m","13347995550_p","jd_4820d4a65d984","education-buy","jd_VAVUNTYSjivb","jd_4c118842a9b1a","jd_5e890d2651e84","jd_69d8abf4beb9b","jd_6fa63e17b3650","jd_oTNglUWSAdJB","18868699029_p","jd_44118a8745d73","122781724_m","jd_bJfsHcliprst","tonylaputa","jd_ICYRAobVfiJs","jd_6e4ad589878f2","jd_otrmBmilOHXj","jd_ipkNIpRmxATK","jd_58042986c1eb0","pinkybabyla","jd_710d8f62dd3b5","chenduozhu","jd_JcOdblyhWOIT","小城市1026","226187616-519005","炫紫风暴","13330709825_p","jd_5fd3aa4b9182e","vicpany","jd_7251ce37ae5a6","冰冰小生","jd_7bc64c6f9f6a0","13798502215_p","caimengdi1115","jd_htGqxfKLSmoh","jd_6c75580e06ec8","jd_FFVNtnPmtWQq","jd_739939725e5b9","jd_67c26d0b14221","15161610937_p","tg1326915992","高大帅气的辉哥","18513626730_p","jd_62a531f50fbba","jd_5f65903214c36","534372945_m","jd_EcsxnCRqEVUV","zzzzzhu1988","maxiaoshui587","jiandandeg_m","945646937_m","anguish","星空辉","jd_71859baa90e4e","zaj6773","jd_515c0dbe2fe19","jd_53b1207464a1b","jd_nDNAWCCwiBjg","baboon1008","18620074-579557","120330272-107323","jd_6739da820dcc7","jd_787198bb6741c","jd_4c15a8e777880","jd_SPLsLlvcoriH","wdyXMfaqxAZaes","jd_73f7e960be763","jd_71a250073ce04","jd_dTEStVJfkZDk","小菜菜2520","jd_56b47cc5339f0","18677302637","jd_NRFUyqwqirEG","wangboxz","wing0525_m","hyh_xt","jd_6abb51801cc0b","jd_6278b2a47e00d","jd_6eb2cef100712","sun13951631340","jd_6085fac0407da","8799078-948481","jd_47179da909d54","linux-code","fxl224","jd_70d300a775c24","jd_737e696f4df51","hs20073dad","82179202-72696627","里村红叶","jd_7e44e6d7816b4","jd_5ccdcdb4030ed","吴佳中","jd_zQjjNyfdRZpD","jd_ESUwtYHDjGKx","jd_73ce5e17792f7","jd_5d771b33c15cf","jd_631a1934173a4","wlskk","浪迹天涯路","jd_506d85f7cfa29","ponesme","jd_4c32efbda1689","jd_71958acd8aed1","jd_5a25f276d885a","jd_58332a8c6508b","jd_7c41c153c259d","姗姗来迟668","jd_6d2f39bed69cf","54626134-843997","jd_7ec457d71b615","jd_675141dcd90d0","jd_798e86bf11cb9","tf1934","jd_48035ce904d9c","临城夜雨","海岸之舟","jd_5856aaa70d583","18677629256_p","jd_5f1863681cda6","jd_5bef75b5c65f7","jd_53c9f6d8a1ae2","jd_BsgYEMRRfhRj","jd_ZbGhsyjCXqJs","jd_579f6a7cfcd55","sxauwkj","jd_UjdeiDilqPvK","jd_50c5d71a0eff1","jd_EirlgUHAdXdf","jd_5c35f4b297c45","MyJingdong_Buy","抛物线","jd_iizMCgsEnRaL","asdf131996_m","莫兰珍","AILIYA114","jd_796d927b6c474","jd_723ba9e488909","A股走势","jd_7f6d93a0c6bce","jd_45e4c12a5ad5d","jd_4e7d02875d3eb","jd_kSKsWmuHIfBQ","宝珠林","jd_4e216044daedc","13773117478_p","s1929869674416978","jd_zzPKGaRwPNHM","13870095266_p","好大一场雨19222","jd_77a3fbc4fdfd5","jd_4c8064f076aed","jd_59d7ec28ba228","168876810-159969","xlxlwan","jd_fYzBZsWVQjbO","13656692651_phz","平安果166","jd_6467d3568a287","lucas19420610","15102121624_p","jd_6bb2e16cbdc83","yzkaiyi","jd_5fa4357759160","jd_4948e5ad90cf3","jd_4f4bd178b2b92","jd_6d89a4ac62cb2","jd_4815bd6377008","dqf4450","jievsxian","jd_7ec04ade21b55","jd_6485c8132467c","jd_714a84aff429e","jd_QNxlVOGTbCzL","12290769-12739576","jwl19690905","jd_6b908a9275326","何常润","7468206-26135117","jd_4bff442e42656","jd_uIarlrhuADvv","jd_45d7b9d671c4f","蔡默默","jd_yxXsBfLHLWYJ","jd_7402883b3cab2","jd_47c99bb51be21","jd_CQbOwLKTwfmD","jd_79aaaac73a054","jd_6314a339d5a3d","jd_hwgrytubmlbP","jd_72c39401efd20","analeigh_hui","forllu","sarama78","绝对宠爱88","小桃子和花花","jd_NTIcWPCUokyI","jd_zrQOJnxoPKRA","jd_509a012439022","jd_67a71d7f418e4","jd_5237fcd15fcb7","jd_41f6a7a4f47c5","jd_65d60f3b495a0","828705267_747320715","2173792216-856387","乔柯66","jd_pFxmYpNrqRMd","乌鲁木齐用户","jd_5efe968e1e837","jd_DqljtXUFBsHF","8435030-931742","jd_7a6bad4ad2c34","jd_blFyQqpSdlDG","jd_5461210d25c32","lee07haluka","jd_72c16697345d5","jd_580b72f6ea601","jd_4a7bed04c0ab6","14191396_m","15002729693_p","jd_dCVpoamXQUoB","jd_4de4821118591","Lee_J1anHua","jd_4ca0be1c64275","jd_lVowvdBcmzXE","jd_BbJKukaOhPHd","15116601102_p","jd_7c29ddf124346","jd_65131b60aa2bc","jd_551ba5b931f24","67346298-386761","jd_7f46aa27ac91a","溪语hh","15673417808_p","jd_7ba7a568e2291","jingjingshangx","jd_5ab26cb7f9eb8","jd_45a3d6c434845","刘振l","jd_4a4c05e1e2b34","jd_AIRKZuAsuDTe","lijiajiahaoma","JRSD_qjaXZ7060","2562721912-495776","15882689764_p","13726263446_p","jd_60ceeab7ff39b","it6888","rugexue_m","ivyswen","jd_LdAGBAZrCrbc","823997320_m","hss196","汪明明27","九月的小羽","jd_64b95935c7426","jd_46e4cdbece13c","jd_6fd1134381604","jd_72c777ea3553f","jd_58f57769f500f","jd_524f86a9c0c6a","5毫纸雪条","jd_rJQhWICkJefz","jd_EthEIaYkgpuP","jd_6d70d190b504f","jd_458e90f37cab8","jd_428be9bf6fc2b","jd_7c311810a71c3","jd_77da9765f7cf1","wdKFQdgKNHsthT","chentanwan3","jd_AeutXOJslMVb","jd_65f86c65c95b3","13556637373_p","jd_4a97c81bde831","jd_tgecvFWlcwGq","z1130252994","waynetsu","jd_572d507ce47a9","jd_7e4117c0374ea","jd_598f674abec12","greatsteven","Chenchunan265","jd_EURYPCKMeOTg","jd_40cbcd401e55b","jd_FawygawswhZB","OneMix","jd_5e72e449c78c3","dogfall_cn","13006735367_p","jd_xWMqCgRHHLjo","jd_5d7e05f459df5","jd_SHxCPcOZnDNI","capridan","jd_5bce06b2dc06d","jd_5f9df766d0c4a","jd_OCooEdZgmVYb","jd_bzPOnvLNEheX","jd_563614075f53c","a9494","i_vivi_m","jd_63dd081e45b75","xingna0832","jd_46508330716ed","23956-32422145","jd_7e02d83ed2950","wei250266326","jd_phgEpoHnQdTE","jd_WXnBkskUdCQo","netdondon","jd_4ac8b393e78c8","jd_50bd4e927fc87","jd_GLQTsIRenZKe","jd_4289cd10e2903","jd_77759f44b970d","jd_6f31c6f9c9089","scofire","jd_7084c7ca534fb","jd_50bd1e86ba919","寂寞当习惯","jd_eVIqBMbDiXCv","18602105303_p","jd_733d70fdf75e5","陈虞夏焱","jd_67a9d1566b680","jd_6db199b9c4cdb","zll871838190","diaoshuailong","jd_631d9c505bd66","jd_5293e2927a7ba","jd_63770471d88cc","jd_4beb1161c6bd5","jd_649ec7af1a5ec","jd_imzWFwiFGHVJ","jd_642dae3c5ae0e","jd_mwTBzdNavIKS","15625882456_p","ruanjiadeng","jd_66301ddfdadb1","13160918326_p","jd_5e94c1f12eaf3","fuckqq","jd_5a3c613191f50","jd_770bef9448d6a","1620430391_m","jd_5502499f94cc7","半个蛋壳","jd_79dae81b801f4","chenhy72","223754830-718280","236245-89059027","qq867790040","39562519-445278","wdNwFnIBbUaWrNH","new_阿飞","13160854433_p","jd_7b7657712391b","yirixin","jd_708ec2e6a5c1d","jd_762e401209ba2","jd_670433d9ebbc3","安业喜","jd_4aa34844d612b","Janet95828","chuanjun78","jd_780c3e729d0b9","15505211953_p","yupingnice","jd_633c6e601ece1","jd_4b907172be8fa","q291932576","jd_73de02e8d4848","shxiaobei","jd_7be13d2808b48","jd_738a775371e27","fujianping442","海掏","264387826-138307","jd_67040f3823c71","偶尔倔强","cjjie","jd_63c9486d18ab2","jd_5a2c69b441c02","jd_THsyQwcDCNVP","zxjyp2010","beyerfan_m","jd_5f0a2eddc123f","jd_PLnYpqICfBin","jd_5cdc6f2ee7684","q0000x","jd_aCbRjgfEDBVK","jd_julBEausqrhE","jd_657139f0d5a44","jd_60e5f78167385","jd_690e67c1e1d0c","jd_75c63c80c45dd","13715389727_p","jd_6b8df0e64a5b9","chunlei0304","shine437","lyhayk","jd_cFTGKfvlAhOq","jd_EyJyaOruMAzY","cfc1235","jd_72821c34c3664","jd_49bc6aa9676c6","jd_6998101a01330","mwloveqq","55864973-14927134","faifailoulou","jd_6975a09d520b7","985484475_m","jd_48e96be43077f","jd_67da6eb3855f0","a5180288","jd_5404fd59c45e8","jd_4a10e31dce601","jd_4a762a1434364","jd_69b2bcaebc5da","Sensuzu","jd_cVUKwYXtUEcZ","sihiw1998","yu15348355","290577900-778944","wdSFmfxURmqyYP","jd_sTmYDhROfDhf","dabaotiantianjian","jd_7746dc96f9f72","jd_4165eb5eacc1a","13708010204_p","jd_5fd3763499794","jd_lsGUktECPPDo","jd_415fa9db695b0","jd_6f7626dbc0286","15274001239_p","jd_608b63f52f4bf","_buybuybuy","13585067815_p","helio3k","jd_4d8ae1d8f4f07","jd_5c38f1d6f53ea","jd_4e58b5f7244e2","jd_YYshuEXFDxAL","jd_7145eaf7ec7de","30695866-541814","jd_uYDtVTuJtlRu","jd_71cc60ebc9198","jd_43169cb4bbe82","jd_5e1f9c43740f8","18368737647_p","jd_vfWyQymHSmNA","jd_VwkKQtgodSKf","jd_43e2a9bf9c128","1217475775_m","jian555gg","jd_50e62878f287e","18871773051_p","死鬼水庫","jd_7777a3060a0c1","jd_4fa5d0566e730","jd_KgCYyXPVbxIW","jd_7a3bfbdd1a0f4","jd_61a08b83ac7b0","wdsZixmribFWIY","jd_729cf06e313c6","wandennis","w273658243","18340906462_p","jd_703940b27ddf7","172544551_m","149521920","ch331917692","jd_xCdvRnqCIclu","jd_7c820198680b7","sunsteel","229529749-667178","13143399963","jd_5f7479dc450c9","jd_eutSxedeOgix","情话落俗","jd_oBxnieqYiZbt","jd_783bf5128ba68","13435971379_p","jd_nrrIkrfAJuRs","jd_61c9038931214","jd_bsfZMQtjcPAS","jd_57d63a540ac96","烈虎lsp","jd_7c69c412d3d80","jd_72d471f82a6f9","jd_618d9d0aec83d","x1022221","262437390-806669","jd_66cf7a3272f8a","jd_641ff64e6e79c","jd_oopWSuTOHKQY","jd_46a3cd4aa5ed4","jd_5d085928426ab","jd_EzAkNPkACaUM","jd_70f7f86cfe572","15930254938_p","jd_nAHDqLjThfAv","synoman","jd_41a2cced12f04","starrdl","jd_TVntvBDwFxVO","goov0001","JiaJia_604","13922094926_p","JRSD_TPxPM8289","jd_7ea3fa8c52d01","jd_PKZypfyaPYzZ","jd_483dcd760afa4","jd_62455eae3598e","jd_695b1178dfe93","jd_6f3b39feb4b45","jd_66a6b8ee2ca9c","jd_fzUMPvfLymlI","jd_LHrHcbsUVTZN","jd_4282e17aeabe7","jd_77118b40ba59a","527719815_m","18101699616_p","jd_4048e40868352","13648225688_p","jd_784393651a742","lyotsu","听煞星","53348570-394796","硝酸奶","4287699-46749000","jd_64382306640fb","26827223","jd_6778c5e0ea6aa","281407327-725550","22057607-38342519","jd_wGPXlHyoNAIK","jd_44eb0788f3af2","jd_HGdddHcSqgGV","jd_5226c94410eb1","qzlm004","LGBLLKJHGFDSA1","jd_vJSlKfRklepq","renkui008","OlderZeus","xuewuxuefe_m","jd_773b43cb9ca95","liu841008","jd_dWptHFspELSR","18680338827_p","jd_54492277dc8ca","涩小兵","spoony1994","jd_653ca8977ba9c","13795473751_p","jd_6a93f19ebf84a","jd_7a1a001a78f22","ikun622","jd_UkpKEhDdODRH","jd_66ca4f48c7b88","mutong168_m","jd_68a860118a01d","jd_5f87b89ab2e45","127893911-738429","8542449-13284008","cyan_绿","jd_FuNjhjrHvvcw","youbiandechibang","jd_qZlfhArCUQSJ","whitegxh","jd_413c8fb46cdd9","jiajie697601","jd_5300669d8053a","jd_wPcJDZeiQcAi","jd_5ec3291f739cf","Tds_dy","jd_5fbc199ce3114","wdVvXODnZiJCkn","梨shir","sh杜钦","jd_59f2a064fdc7a","我的坐骑叫小白","jd_VxPBJHekRoMg","jd_4cc1d3f014d67","jd_7b6bb290274b7","jd_5a35b1c6a8e79","huazi--2012","jd_6f2c0c1177f31","Azurai","jd_5ddea21c4afd7","瑾此而旖","67254325-76689934","jd_7e828ef7c42d2","wizards1985","jd_XrssQHLXlwGV","活力兜","jd_547f261183688","jd_7ddce11f1be18","zxyzxka","jd_66613dcba934b","jd_raeTkQYslpLY","jd_cwoFEYLGTDKz","jd_69e6a48350f82","jd_55b2900ded85f","jd_5c0b352068bcc","喜欢你喜欢我的感觉","wdIBLHZGCIWjZn","jd_5d9dbefa8afb8","ckldy","jd_57a64bcaf7df2","jd_6e707e6cdef98","jd_4946da6047511","jd_45095a4acea7e","jd_4207b33ab843d","jd_amtSLxOQdyYn","183315066_m","兜久久","jd_59d7146cbe853","Talohans","你的眼神太犀利","16295894-47171140","yiersan一二三说说","z笑对人生","陈杨2809273229","jd_5a0e8dc0d5940","jd_664a9d2e340a7","jd_7e9e733958331","jd_FRIDKgITHgTj","wdclktQNbUDVCl","18037372388_p","jd_PPAEmnCaWHhN","jd_5de60c01d3534","jd_712dbffa92bad","史帝","lubinghuax_m","jd_7ca1615e444fc","jd_79bff0e969d6f","jd_5f544023186ec","1ternal","jd_zMDzeAymvwyU","chailymen","鸣人君1","18928436108_p","贩卖善良SHJ","1509312165-833869","jd_51036001a1124","jd_793dd2b1de66f","jd_40a50ede05dce","jd_587889c850325","jd_MWoPNrwLwjuy","13618244143","QI七七七","jd_pnpAGagzxJmQ","painter1989","jd_7a0fee356e47c","jd_68e4ebf60cc33","jd_49d1f45e48470","jd_57d2b743a1e91","jd_6955864ec6a3b","jd_DDtuXQqWAaft","jd_507a19117de28","jd_4116dca7f2c52","leisanduo","fushia","1653830978","shaoyubaba","jd_48e2eaa096a6e","wangxufire","jd_ZeOkalhsVIhu","丨飞的更高丨","Draxy","jd_710442305ff17","LOVE_LIXIAO","jd_77b78d1f8b2c5","arhong117","jd_555149726639e","jd_613d1561d7e7c","jd_DUyjGeGEevly","JMISNAL","Cy丶小黄毛","jd_54cfa17ff0c78","18947-15555482","jd_50dfde27508a7","ntqnj_m","q772131492","13307725500_p","李19860217","13758067512_p","13761796230_p","jd_47ee22449e303","taomiantm","jd_561eac242c93c","58216865-13870354","70998117-106308","jd_50dcb4f793860","jd_68e82c0a44730","15623789737_p","10164274-518025","jd_4b0b5ed88a811","jd_quhyLqJQGYRM","jd_73b9e3d8ed7e5","jd_60c9139b17fc7","jd_75adbc6b377bf","jd_738a3a28f20ca","jd_67f80c18bdb99","jd_768e330fda4e1","joyfanmin","a1021302","jd_7e1cae266d531","jd_427b47c9d2680","jd_xyeBNiYXEQvV","wdbUbiiXFBEenX","137751358-455767","jd_436d92fc8aa47","jd_64a886f16b2c3","jd_4c34aeda1223f","冰番茄","jd_462cfe174c840","breezelol","haodondon","jd_65489847e3ad9","anning1234_m","z618916","jd_48452dec98082","jd_7bdaf3b97ca08","228048397_m","jd_5cc2787e6bf2f","jd_4b29595bd4948","jd_FARYetfRFEYJ","jd_FcFCPBnCBLTs","wdIxveBNyJrIgf","jd_72f023f83693f","2269034131-511862","jd_7c3346cae612a","你的靓仔杰","jd_mNJkIsWQDaTE","jd_60e2a3eb3a87e","xiaolu9601","jd_4c4d03eaf4864","jd_hFOfcupbQwHI","18838856198_p","jd_5216bb8c75015","jd_568a89723c592","jd_7b9c2ce5ae8b3","jd_68e53d77fcae2","278062180-260970","jd_4ef78182cca06","jd_6fbace4a7fdf9","18642257875_p","jd_5334d63e8654f","jd_65593aed579c5","lemon254458926","18297619192_p","breaks119","jd_73b5c9859b4c5","jd_7546de4eb9327","jd_ZOjYIPNyrqTD","yanjiegou_m","jd_RllREhjVsvhu","jd_aSamjkifvSsr","jd_FwBFJsTimoXJ","窗落敬亭云","manman2999","zbb555","jd_59e039e471964","jd_hwPBTHLinIHQ","wdBrsTfaplbCWZ","常航信","ASDF6454","jd_4e4860f6a6fb7","jd_OJIIKtBKTPET","jd_NMHgCMqMPiJU","yiyunfeime_m","jd_6b98ac54bb8b6","253670493-192887","jd_YBNNpvHVzEIN","wdNAjicSrxnMrUk","jd_5211730973259","caifeng1003","18826251695_p","jd_qSDYpxGzLHYu","张利深","欣鑫哥","jd_6cd98541ba144","2497473001_m","jd_57fd81f24ca68","wdOShbHDybqxkp","yanhongxi2","kristyYun","jd_blaAmdesYhiY","jd_4b033e6e0b571","苒淼苒淼","jd_490eb36b47b9c","wdnzzXEXSFchgD","jd_68ede6fea690b","jd_5d03c387661da","18122144118_p","wdvhnlkfzUoYao","xsjlyh","小机智1205","jd_61d1786529a31","jd_vEbxtcHrYstL","jd_6272230dcf993","jd_CHtIdbOAeTay","107526-76058987","jd_bgbOPhesxPJp","xiao19920728","夏日1倾情","jd_5dfb4b129826e","jd_dWeQbsWelvqw","genko","35862274-564314","lrw11688","jd_mUJHdycoYuDJ","jd_7e8d388daac88","jd_RUzmLiMeNtib","jd_46351fad62ff1","wdmrMZRFkdzLFQ","邓邓邓小邓邓","13076152619_psn","qqq050301","jd_669fc286a324c","jd_621710a5c19ba","jd_ySljdkxlRjQO","jd_68c4b29e6725c","jd_7dc493f5e0fa3","jd_74c42c3da40e7","jd_467818227899f","陈诗慧吖","hawk5310","hcct314","jd_53bfc605f10bb","weiangle","jd_73acdc6da1449","jd_4ce9656e04a0e","jd_XUSjmDVnPJfP","jd_6ed4ee6d65e9e","saber.rl32_m","jd_643de5619fdee","jd_77adf94e2263c","mfsh401","jd_517f9fd0ef750","shenglihappy","jd_4b118e3c55f1b","罪之审判","liuzxdp","13098195695_p","jd_6f07676ee717c","jd_45829266eb66c","jd_FxlhANbdXbRR","jd_aYegaIVkaGHK","jd_4d185a096231a","xiaoxudegege","jd_70e6ff8cb9a4a","jd_DcRmHmMgIMwz","asahakanaridayo","wxh5","jd_RfXWjLlmwbFY","jd_7bf8f41c524ae","Wngxian0205","ykzwc","jd_7a8e827112bb8","yeblue","jd_oNUYozsqhJSy","jd_75a3635c251c8","郑文萍1103","1354830-96791360","13510228232_p","18655592225_p","113195695","jd_41842179e9ebc","jd_6928218b295ed","jd_tDzopkCndGGq","89661036-14021490","mawsmaf","shuang3322","jd_4e1bf44215e98","一诺清风","jd_4a1cf5f0398f7","109125727-334470","jd_pPNbIlADjPdD","jd_751ee0e78c738","jd_4c2e11941ade8","jd_ezwhzACJlFxs","jd_7cbccb4a0143a","222639138-72924403","wdrDRJTdZScxjq","jd_4f52883af914f","jd_5dd9243d6c187","jd_6cb6f8cf84107","jd_aOSDCApFgcGH","jd_GIvHRWjKtBEZ","jd_7613df013dd44","jd_703985f0a9e48","18297967116_p","Mickey_chen0212","追梦-2011soso","ling898203905","jd_414b12c2de966","jd_7df902055b427","jd_6b1cd8d0a0da9","jd_NAcyTHaxdnEI","lige1151","jd_5831cfd91d430","jd_573b29370a0a0","jd_71c646003d593","18930344476_p","jd_5cfa9b9f55410","nicelxm","jd_5823f90521ca9","a82@163.com","jd_566dbb83fc891","jd_7e93085ab19f3","jd_VjwyTJxsnPlF","jd_5e6a96f2f055e","jd_5c17c95afd97d","55511621-740008","wdLWMmzpFUcQYw","dj13996373191","jd_7cd24f058fd29","jd_kGEMGlugmwHj","239109769-173974","jd_720527d456f50","wdBVMeywUTawFr","jd_quOcxMfvOdhD","jd_7312be5f45ed5","jd_oRbkObMZrdky","一路格桑love","jd_zpTFTzbYyAzB","jd_ERWyabuwwvfp","amsa44","534320930-46996422","jd_41b6fa2423e48","2538981-573542","jd_7a1feb8dabeb1","地狱之雪","chinazp1","anuchung","sdqx12","jd_781ea11c9f9ab","jd_59d7efebb0782","haozhongxu","2891124802","jd_OxUhosivUquC","fallenpu","jd_7ee301955e0d9","jd_wjTimkDhxgnZ","161131708-944097","jd_50fbf9ea0f7ca","jd_6a813cc47dfe7","jd_PgmxiTPqcqkf","jd_5d34ed28d1531","jd_YGpjgPbyJDyK","jd_GwHqgDNhlAan","jd_5b30bcc52e29f","jd_649782b6af2ca","gwl410716154","Juselva","jd_vGftUcrFnINu","那不勒斯公路","fly0520","jd_45bd9eddab609","jd_6801853b271f5","71271948-199520","jd_56ac2cb03889d","74875977-146613","jd_4414b2ab3c26e","jd_xWBCFBpNKXGz","jd_PHEVlwNyNNRs","334575549-340158","jd_76969d89af269","jd_75a7baa2a0c21","-雨柠-","imaxEcho","jd_51745b343a32e","jd_7bd6045293476","andywang123s","s2026844991470520","0411zz","xffd68","兰丫窝","q450878-912928","jy02231251","xuan_7520_m","dlytwx","jd_6fcfb7044255e","jd_57d3f9fbb609f","王晓何","jd_492de9988570a","chenfuxu92_m","13129781166_p","88121068-89676728","wdegWpqNbWoqKo","motk0214","ilydubin","i_xw","jd_7aef665cb16c6","jd_53e275663c143","jd_698726259c9d7","jd_473f89e02c853","泡妞不如泡面8","wuzehao16","jd_7a11730f4123f","我心依然4152","jd_5eabe6ab21f0e","jd_5fa9b91bd52c2","yl18853169031","jd_4d90ed43d5b92","jd_hbrsfLYEoZXC","jd_6271162e36cf6","jd_66f5cecc1efcd","jd_5c14e594c2b36","long51516","jd_4ca0a94358c15","黄逗逗i","钱晓琪","jd_4de522039d683","jd_6057c8f73fbf3","jd_64cb841c70a6a","284490438-670119","wywsjd-jd","jd_61e7e15f8d506","jd_YvniMqGiLbmH","jd_BpxUaKCznXaf","jd_63d9c8ff6e391","jd_hsmqxnIKFcuP","jd_4b92957cfa8b2","408441787-760217","jd_40f5cb66b2585","jd_689bc30c86b83","jd_oIVrZQVDoWwM","jd_mXVBKoOfLUBC","天亮说晚安1207","passiontimes","jd_63c81414de6f9","jd_7326fc162e781","liangran_ran","597474384","jd_62c6f8d19f554","hp967","jd_7bc63034f7079","jd_718c6ea8b40b7","jd_NoXrWGEybTNo","jd_GClJFjScyaHt","jd_78ef8b3bb52fe","恒河一星","jd_7f4c31570551e","jd_7f9ea8a656cd5","kkudou","wduLePZeBlPolW","所经处风月无边","420835561-118954","jd_VcjYqFzkyIkZ","16289027-396864","jd_6b944e6f9793d","jd_jSZNjJpysYqk","jd_6747d531e3263","jd_769b26c862ba5","iorilee177","40824170-449471","158557365-506205","18658116205_p","jd_62de92f59b4ac","226636147-556484","枫叶零渡","242418-37976438","等一生中","jd_5251c3dab8e51","jd_40a2a5dabdb25","18013630610_p","Wow452130","jd_6bc6b8073d01e","jd_69ddae6664a83","帅锅一枚","jd_4675c1c3519ab","jd_ltivMcEaXQGK","jd_4d831a9e02e0c","花开花落062","jd_4b10f62acd8b2","山东润滑油","jd_iUQiSOOkqaWS","jd_7a71a9dc31080","jd_sNJWXBMmunqx","此男子有毒","crazychilde","jd_4bc466da4c62a","jd_43e8ba7d1689d","shtery","jd_PisUGnbWuPMU","sue_18","lxy358774352","viclee2012","jd_593fae550255e","steptochange","jd_vpCfzAFbuHYS","飘之鸿","17383-47337998","thw178293212","334902572-900445","jd_olMIljDisKTb","jd_75ac0e7d09a2f","jd_aiUsGsQVfyos","jd_toIQvFJKHjyz","jd_72154fe34ad0e","jd_BgHkrSdSvpaQ","jd_49ad6dacf1b02","158980-41720348","jd_7360fa3c1479e","18603543312_p","jd_74a8165ad6e3d","jd_pZJGOyVylKVh","jd_4f057fc297604","jd_7da84375dcb12","jd_6672bd0f95d2b","飞哥干死鑫爷","hcgaobo","15800552045_p","jd_7fa24bbd8bfc9","jd_71c7a77e8e5af","1259970710_m","37627213-871600","denzhengwei","jd_588f1340c0210","jd_59309f560f791","jd_ejKEURkmVYsu","170418678-931087","L1518235423","jd_NeByddrJZtNW","jd_7e717c140f88e","15651786993_p","QiuJunYi","741872480_m","jd_4179b37e0fd5b","jd_mFHOHBEIQfdr","后天一刻","jd_6034d337d317e","jd_5d042eb5f8ce3","jd_4b9262da9ea3f","jd_67695c8e84307","临水遥望","xuyi5970","jd_52edcdbb07043","kydsetter","jd_xESuRaQskHYr","wdtSLBmkWGEzVa","jd_68081cd85fbaa","jd_47310f2ced778","jd_764685e648f7d","laoxinHXX","王晓红152","jd_7cbdbb6d379c8","hgjk56842","jd_5b1b0580fe8a6","zzhhou11","jd_631a576f1bd43","jd_40b68b29bb997","jd_517b14f297773","jd_73d1274343ad8","olivia-miao","ZORO1s","jd_FArLpJmssWor","jd_7bc4ccb89ea8f","wdIdDrlKOhRhVR","xmnzkx","唐朝绛紫","jd_5e6a12ab968f0","jd_7c69054772247","童宝贝乐园","jd_qnrSFbuofcMA","a598628002","15130929894_p","jd_58e2d173cc11a","jd_4c8f01151e0ac","140442278-38551308","38220484-884760","jd_WoEdTGaEgaFt","jd_62bb4c8265b42","ericadaduren","jd_71a548a712f24","jd_507f90f956a55","jerry74tw","kevin8080","jd_7fd2ae621f2b8","coolloves","弋阳小贩","33067420-25312490","jd_EtnrQWqVGNNN","jd_7b8b6ce2dffc4","jd_52f11c3d09261","forever_hayond","jd_501cb88a42cda","jd_7da1ddfbdb761","15190938735_p","jd_vTXoMpQlRKeh","jd_76c542a4b2316","544768794_m","jd_lgPtzqUeqwpZ","jd_6241645d6d989","whxcjyrc","jd_7b245e54f8da8","jd_715f638ee4272","jd_4d9c5530f3b7e","dhbowen","jd_676b86e19077c","jd_6632785e3eee8","jd_4a14a4ef40363","jd_71d2055fab6b7","jd_7af2962a6b30d","902134498_297956639","jd_4ccbdd9746718","15886054983_p","256807053-218412","jd_7cc80f42112c0","harrison_guo_chn","这不是你的锅","jd_777d73cba0db1","Fifi123321","jd_54c254c29c89f","jd_5f26b31fb89ac","jd_LOvzqIZQbtYG","2388209-38229496","小武舞","jd_67e5a122c4a2c","weixiao800","jd_6490f8d93247b","jd_69b64c27e99e4","jd_43160a2ba49da","jd_OGLpfkdnPFLp","121882897-962972","mantozou","羿苏","15088723052_p","zyb689","jd_zrNRyKhRIKMr","jd_mJchLQaufWPf","kpjm_m","jd_4e4c5eaeaaf64","liuwen0828","yanhuiui","18351925260_p","shichuan957","jd_JFMuSIjfzcpC","1422885-55902162","201215822-41428578","jd_5cd1c4e168ac8","jd_788d4e5abe1d5","40636078-89290923","jd_4865f3a8ae4c3","13656755210_p","aaahui2008_m","joyfancool","jd_4e36ba9979095","jd_OLYoRpotEGAs","jd_64051332c507b","jd_TaBolEnIUlBJ","jd_479d342876043","明天慧更好636","jd_41a7b0756967a","jd_58639f3293377","孤桐","jd_7cc43272829df","jd_6b331a27e8b2c","jd_7a225f0115eac","jakclynn","bo14787889141","jd_72f00480e1745","q520280704","jd_7ec1c9e3cb9ef","panyoufei","jd_5d93a35cf8ec0","jd_6f514aab5c735","jd_502ecf9ee1c3f","jd_44e817b53f608","世道变坏","dingchao3245","silver_age","jd_6500ff9b65b71","carolinesong569","13232738735_p","songfan1123","72581212-656559","13674959077_p","这个叼","jd_7b941db6f967e","jd_7894a16e3e5f4","jd_5b64fdf0526ee","calledu","wdLDcVlxRgGuTA","jd_46a4acf6f4f6c","jd_7d70ba160efde","Nickey_Mo","jdzhutie","jd_CLPSsPxjGtMY","jd_549bd618a1e1e","jd_4a695d2bb3d94","wfengorg","jd_DNVycvRDxOiM","丁月红2009","2302685sjl","lianyinyue_m","jd_4a4cf9447d4af","jd_60d1a24a6d54b","jd_6f4d0f0f3e2c7","jd_73eff4081c28e","jd_5027db2e8d3d6","wdXhNbvEYQLTur","weijunlang","long91312","jd_4a20fe0d73373","上海爱乐乐团","jd_6f3f4124c57f4","jd_74d45e6e73be5","118215327-958573","jd_57f5375ac84b7","jd_4e4b4ef8283e2","jd_5d6e906c47b12","dashingzhuang","jd_4dd6145a0e93b","jd_6bf7fa317a7bd","jd_4c7f8f71ff840","jd_VbFOzMrMotEM","wdEOgjQNHJLISn","jd_tLBcLxhsYMNF","jd_4df3677b6a19b","jd_798f1a46f1b81","jd_62cf8a435506b","jd_53c8aab6da027","jd_4b135c27bbd17","jd_7b96cb9ada553","jd_CxwRSsfmJshI","小尘埃1991","jd_5b62e6bdbf997","jd_62ea3d24d2860","jd_444bf824e7a4d","dajialalala","jd_6ffe76b448c42","jd_605178a8f633e","tang261889909","钱蛋儿","jd_6200901b25906","2257660-84517938","jd_akYbyiXqrIDC","cunguozhang","jd_6d251bad22a56","wdxBaOfuHZyiyY","jd_55effb32cff3a","jd_RQcWeqFIrHEx","jd_6f9967df4770a","jd_42374a46a2c70","jd_6104c63497d50","15380336726_p","jd_4b059f69f782c","jd_6b39bc28311ac","bie852","jd_FtntgOILaNxm","jd_55d4901952bb8","204724442-934860","zshwq5","jd_AsytHXtoGPXl","jd_XjDsMChaJYgD","stef20","55773368-672844","wf219","jd_5c701c6ebb12a","九月的花火","18627077855_p","jd_44af4c0144cf9","wdZIkhQOArpoOc","jd_4a85891a76404","jd_61cfcde027fd7","ldliang0315","jd_6b59cd189031d","wdDoStMQdQaOyX","jd_5fe1d294bf74d","shandyleo","辞书xy","jd_bYdlcQvNcWOu","jd_6b9a6ea3f3243","jd_65963a226053b","18021378108_p","hbxiao135","542574418-865124","18107153590_p","jd_4b2a951cce315","jd_69c2e42cc52f6","qq695761504","164632239-719056","linuxdemon","jd_6f6a4ae2615a9","jd_AuBnJXaXOiUg","木卫柒","jd_6529de122fa58","qq787573777","Q1883156","jd_781a5aeaf8c04","yly19870123","jd_dpeYeuDNPFsV","jd_7994c4ffe0385","jd_6d5f67e3346fd","jd_7fc6d8b8b0d8c","liuyunm2","jd_6682d5cc7450e","1712045-17448193","jd_714edf1b00b3a","jd_ssptKMfHLouV","fanyjj","jd_69e5f847b50c7","jd_7900395aeccf7","jd_sVCZesMOgQVI","1061393107","jd_5a28613023fba","jd_5c3a5122c5c4d","yj天冷了","xiaoy765","jd_5bb54c3ca2369","jd_660482d5c4cec","erihemun","jd_539cf6249b7ae","jd_iCIChYqJGnOX","54803024-559512","jd_75ce29626418e","245539903_m","eos1d","jd_42003c59c2ebb","wdnZGBYgLHKbJF","破碎消逝的影子","胡磊284","jd_4bb2540bd69b6","jd_7dc58152a0cf2","jd_461483172e47d","753兴宁市伍幸波","jd_cRGPQcOBavjZ","jd_61e1d609b880c","qinli198_m","天扇子","jd_63ff0b5ab71dc","jd_61bf5912e253a","jd_51ff6c2cda1ef","jd_4daa663299838","jd_4035f5a852110","q454216935","jd_WLmIOHEFsWqJ","jd_6f6f41768f438","jd_hkZcnOBThaHF","13547972590_p","红豆3719","jd_575d798f9ae62","哒哒哒1212","212530499-186285","jd_755d5e83027da","jd_73514d549ee4d","jd_CFLStIZiuyrv","jd_EEOqPkOAiXuf","jd_629ab4bbe8373","273592480_m","jd_4962d220f34de","jd_69448ddd129f7","jd_45ecb39e7a67e","jd_KMEjkTVSsPUV","ws2809128","jd_6952995fed67d","62148662-493718","17855832969_p","ivyke98","jd_458b66f430836","jd_620b506d07889","45度小忧郁","jd_YmixdPiLsqfj","jd_58b3d5df94a20","805453308_m","jd_klESpnXsMnWJ","凌乱163","zsking8","jd_47346a157869c","jd_5ce9a78592805","18937861036_p","jd_iYCPTolSlfgp","jd_7f1e30bcc135b","luhgx","jd_48ddb51e6053a","s1403441663284818","jd_5994d238fadcf","zhuzengkai000","jd_5054fa4b638f3","jd_69ae8dca03fbd","jd_408e472116715","jd_573b1936da1bb","jd_76329537a0366","汤如娟520","jd_66229bf775d24","jd_gWlggJCjWiAZ","jd_7f636197b531a","213554107-833813","lovejohncn","jd_xWNXlGadpjln","wdmNnCFCbIUArM","jd_phFOzQGVqkQT","龚伦鹏","会飞的卡其鱼","jd_fGPotBkCYmGc","jjll290_m","jd_5ccc4c9e35d27","jd_sHQKwTSwPNGp","cc447980909","jd_5879fc4c32d85","jd_54e87a87f642f","jd_qZwgmYXKDYoX","jd_58a8c019cedf2","湛蓝星空ing","sunpengby","jd_5df3b27de687b","dingying258","jd_6b8ae9034e085","小小运动汇","jd_MZdfRAJYbYtV","dong3365362","jd_77788e17a9359","jd_66943950f473d","jd_413bd08718189","dajiang2010","jd_YMeckMZZSBrg","huidiw","jd_69aeb8d60a47e","jd_4c1e740264fc0","jd_669c03fc48def","jd_60757ad135fa8","jd_7bdbe5e283eb5","jd_OZTkjreZtwQD","jd_535d33b5a6f88","kangkang_cxy","underlaw","淡蓝色de梦","jd_71a220104187a","jd_6cc62423f3973","jiezhen2014","jd_670616c450250","jd_5f961f8fbab5e","jd_500b3e1ff7b7c","zealotpz_m","l627502086","teddyxiong53","jd_472f9b1b7c553","jd_UXjXqwkKuXem","jd_GssGUDgPCEMq","jd_ueTzuaCFOZNq","jd_7662d685b0494","angellayan","esac","jd_vHwOUdxkHBpz","jd_4321f815df146","jd_54d7326901b94","15267210382","jd_JQfkNSAZlqjl","102712388-593235","yg_光仔","jd_7347f0545c1c4","13816211999_p","jd_TMouvpcYbyJC","baibatu","jd_CXcySQmuUpSQ","jd_577e3edac9021","jd_OajTXsApWHcz","jd_5fe93cc2ffc33","jd_7ea3cc593bb75","jiefoxi_m","coolczb","vivianmengzi","jd_nlOlvwbPFDUG","jdmlzby","zgnmxz","jd_418e664703ee8","Fawkes0571","jd_616eac5baa63d","68660861-231458","猪彬444","jd_upJDGlPSnCvu","jd_40cf665999fbc","jd_4441a97c1eec2","twjacy3","jd_nIyNSOTBIlBf","黎曼曼","13670618012_p","jd_4e00cdb394ac0","jd_781a3adf460ad","jd_4bcfec14c22a4","hujie4859199","sevenlxn","laozhang1234563668","jd_76247ca82f3c0","15850335164_p","jd_62bb5b4c83cdf","jd_7cdb97a435beb","18502740775_p","jd_499fd9f7d42eb","MapleSora","jd_OAMATfeLDYFP","jd_SgstJmgqNidr","jd_71858eae211ea","jd_63e2789e1a133","voodoogoohoo","wdNnqxSItQnbZwq","最冷一天123","jd_7837b7ccb2207","18784727178_p","jd_740bd90b20224","jd_5af604103aa77","jd_7ad3f86c325c5","lben163_m","f2shui_m","jd_766fdfbe86551","masiqi","jd_6117d92d9cff2","18939291026_p","409305666_m","salltree","KingEast","18668077478_p","jd_4e00f46a3296a","haoge24","jd_5b26d492c1f2e","jd_4513fadce6638","jd_7b2926d74afaf","jd_77b0db7290b81","jd_57b8bde2a7c87","jd_595b4a8f4c18f","jd_48718a6af0b85","sunny84213","jd_63d2758a293d0","jd_53b80408846cc","jd_5dfa84800ad9d","jd_4fc609b1bb3c7","jd_70be4ebdbd8f8","thyyx1027","outdoors","jd_7382322755e86","jd_491f7b2d1dc1f","tangzuzh999","me_mnc","jd_6da135fd58c67","jd_7af20e3d2c005","x13696943032","明月如风","jd_kHeuqEBsUYKR","jd_4b745f84d2c1b","jd_uMXWDUitERNi","xblue185","xuhaifeng94511","Mirror199","jd_6eaea2b8f21eb","jd_4fcf38c98e699","neverls412","jeanse168","jd_HbxXGndWbWnp","a1619560588","dailin9876","gracechen1_mvk","jd_61cd38ef4b858","jd_7f7e6bee24c0f","jd_69687ad742fab","jd_560dbd4aab797","枯翼","jd_66a4c62cc1527","jd_5aac4a7995ccc","jd_aRsWOdKBmwPJ","jd_44cb9d7462c70","tangjiji001","xjzhangxmas","Fangyizhi","zzww180","tjxuemo","熊发凤凰","jd_67a448bc9361d","jd_4bd236489fbe7","jd_6af84fe45abbd","13332940815_p","jd_6b1c30274a2f1","jd_57473cd9d0106","jd_aDWpUOoQazch","495968529","jd_ZyTYcedxfjYS","jd_4f370bc47bdf8","jd_OYOVIfHovjkc","jd_46c1efef6629b","15238089260_p","310当头","jd_4804153bfce58","jd_611f6001e8e55","Mickir","jd_4e6d4c2e48f5c","chiyanqian","断桥残梦i","jd_638ad071aa3f5","jd_4e197896b987b","jd_5280e5a6ae082","13973115495_p","jd_7d380346ae8aa","aalibao","jd_SRnGUDhFnKri","jd_xAVXDMbjOgMJ","jd_vENavasjozPf","jd_7410ad2958fec","寻宝的尾狐","jd_741ae1a2cb5f3","jd_71e274b030c7e","jd_74a4da84cc369","13385621207_p","jd_638201670448e","jd_yDJoYADsUWgK","23796828-55980991","jd_43a1b1a175114","栗子67854","华薇儿","jd_50fba2605d817","LBRNT","jd_59abaee062bff","呵呵哒-开心就好","hyelwang","jd_AyKSpGdaytWg","jd_qIVHedEenuex","xuan786","jd_63a8058d65e35","18628322880_p","wdmuNnsLQYZXxu","jd_631acff7133bf","jd_xxCIgIcmfPWh","lida_123","爬小满","wzl98","wdNkedEvZTEStQW","jd_553f3cec68bc8","17096626-313738","jd_4bf6b16998f81","wdNXbqdhfhzdgat","windfantasy6","jasminelily8312","jd_HGvofgsoHgvm","mimuqi","jd_KEpcoNqkfPGj","xtlyk","wj36149_m","jd_562234f07ca9a","jd_5c81115903f96","wengang88","jd_RToMsXSotSJd","895908009_m","cw4375_m","jd_4285704be265b","Mrzhou96","haotianseo","8u4mxe3x","laicl2","jd_4fb401112b14c","听你的志在必得","jd_537f085934261","丶沦陷丶","jd_aAsNcuVlBIee","wl925662188","jd_YdZbaQxwqisE","wdVHoaDLMgDndY","jd_4e967af53be0f","jd_509068b825a48","qq9817","jd_534821591eeae","jd_4927d3773c394","jd_6c9e4b18f0963","jd_7f01ab426aabc","jd_LRiEStVwLSer","jd_LuNlmOGWaQLd","jd_4380ff0a7da55","jd_4554f8b509152","shmilcr","jd_kqXUIZIlEufz","197859802-570076","jd_7aa247bb8d162","jd_70ec313a140e5","jd_608f3f21298c8","wdBcOhXHDQBpzW","半简苏黎世","angelsky11","colloq166","xuanwumen88","225117592-738017","皆方由衣","jd_IgAeNjZPItrg","jd_43faac6fb407d","18664866010_p","jd_UPdPDzMpRxwn","jd_5189ef9ebe0e3","jd_7f0dcbfd37db8","330099441-25470745","jd_63f4e9bc74c67","jd_gLBEYIANQWIz","jd_aDCvnumzjLTa","jd_7f00a2a75475b","seary79","jd_73d9a39646d43","some1985","wyfhyl","zjs8551","jd_zcPMFceSmbcg","jd_kahWEqXFcLZt","jd_53622247ce356","jd_5125ae13c614f","jd_uelzAakTLVyq","4030598-94304076","jd_rNFPKfzpaAMR","bettytuya","jd_60dc140a5e778","jd_7fd2389715335","jd_70303680ebe39","jd_5078119d37268","jd_7ca0f49c19a99","273091825asd","xqxia1989","caoliming800122","jd_fmfIPmlpwoIK","jd_oKwBxArbetku","jd_7cfb9b5b589be","54888614-100489","waindren","131028386-546225","rdrool","lingcenriluo","13676799823_p","jd_6d901147dbaba","jd_hIWyPIzoQWZW","jd_59a1252cf2dc3","jd_7119def1291de","ChenYeah0803","jd_xINAOHOxkYgq","huangjingcpt","fanliang718","carlsea","jd_7baeb4b139f0c","jd_7dcc932db056d","jd_6d928a2e87264","jd_cEGhNYeoSkQy","jd_5a7dd7cde68ce","jd_MMhYzXbEjSwn","jd_41a99abaeba44","jd_739438915fef2","jd_661d70965a229","Saigetsux","Bear-Grylls-Nb1","jd_71a2e89148d5c","yu920520","satan1989","jiangjialin0108","jd_572e8022dfdf4","jd_48046f95a9bcc","jd_6817a8551ca71","jd_6ff22abe3d189","jd_5456685ffca40","jd_KtozbCYFNYlr","jd_7984a98d59153","leexiuge","jd_MjYCNwyYZxrC","luolitao","jd_UxGnupJQorjO","jd_FnYaGciRqiIH","snowdangerous","凉mint","jd_520704a3f7443","jd_PCrvnowiwCSW","leovoice1","jd_47269ca94e311","qinzi129912","jd_4d23717bddd12","jd_7e11f629ceb59","jd_49e586be1e1c4","jd_7a0e0faaf6121","jd_bMecwpbKMQeO","tudouba","jd_4bc10cdd689b4","jd_5bfc70fd7c815","13110883218_p","jd_4db95357183cf","jd_YtFtVKqMGBHd","cyc6125","jd_5a0e621a9977c","福冰","cstar007","holyean","jd_4baf78c3b6ced","明明很好啊","jd_45ad279a2d9e4","jd_66baa3e8225f7","lida2437761","jd_47b311b01187a","jd_cANfLkuwPwYt","jd_4ea5eddcdb5d4","jd_4a05c2be435b6","jd_zCqCnjaHDVVj","jd_XgBpuOtiIKNP","jd_KvOKSghlfHqI","jd_4dcde5e23a021","钟钟慧玲","xieyi_001","西木町","jd_qlvVtvHztmFm","jd_uevBzhfPecGb","51611134-825321","jd_62ccf491db117","jd_7e3f53f3ebefa","jd_4fcdf5607d954","简简单单5203","15622702931_p","yjg861076069","zhangyu19890526","cynicses","jd_4b0995afbacf9","城投1","jd_iRrsZEyVFgUE","jd_MjdCsEUnKHrZ","jd_hrXttlTVoqTw","jd_6cb4b3bf218b5","jd_6f5cc897c10b8","jd_eyxkJjtsxOyP","jd_6eb72a535206e","wdbKqVJhAyGlDD","jd_770121e52aa0d","一缕焱火","凌空欣","jd_6f69222564594","jd_6678646f029b7","jd_6f5c3f9ee8033","jd_ZrIUUpVrwwnU","jd_TufdrKjzQSLE","黄春山286","雨下天明","jd_6755b0b88a215","jd_5d23993ca9f19","jd_HoyewzWCUjxT","coupe","jd_6dc51c6e3e04f","jd_RnEtBosPqCmr","zxhacyj","jd_kCtcwJpbwEPZ","jd_73c78f97a49c1","jd_mRpgPGYJzylG","10652699-95067415","15899662-68415993","nwj249045","此时的天彼时的雨","jd_67cc0ed3d8170","tb931624","jd_64ece233a216e","a13714875612","549537094_m","jd_KvRjHnrsOMYt","ifarice","jd_5325d97db5c37","jd_7daf431c39311","jd_GjFgpByjBGbG","18511898086_p","jd_ANrDgCAwFIkc","jd_YvkBFIxUDVXp","jd_417e289d70fdd","jd_5225cc36626c1","603687441","yxh0510","shu13992801612","jd_41660e158746b","weifangyuan1213","jd_lBzOXYfgJhwE","jd_402174526e56c","jd_7e0f4921e3297","315083536_m","szuge","jd_5a876d56a1bd2","jd_5bcd03c8b4442","jd_76bb46ac8742a","jd_5e8935842cfa5","jd_687a3a5923ace","a1257415590","jd_78e2f3d35057e","wdFXLNkfYdXQfK","jd_5577013b2d810","JRSD_ijdWq2510","happy19981015","ckaq8023","jd_6b04e5cf5853b","jd_63ff5506a59d7","jd_696b5cfb0d04d","jd_71e8d748606a2","yuan2001089","jd_uWBlYucPvJSW","wdTLPVqEcVNIMb","jd_756ee5aabfa49","jd_4449fbc339299","pipi242526","jd_7d340a8c47558","jd_498e206a67424","咦噜哈噜咦","jd_6e58bc3a81f62","jd_5b4a25664637a","jd_5337a1c75c836","ycc20060631","jd_42865b60c3c2a","jd_TQTQgUpBTcqR","jd_6e2a58c8dd0f1","jd_46495875563b6","jd_6417bf6be8805","jd_NSRxGhDfPmGS","710403307","jd_463665d6a65b3","yzliujiahui","mylgjy","yjdn9069","qq512015556","jd_4113d624ee228","you282507","jd_7be85865dd4bb","jd_pdVkuTtZSZOd","jd_wvWCjMqVnZFO","seaman317","956984927bondlee","13372513959_p","q370698951","哆啦不曾懂A梦","lksky8","jd_ELvJaHzaTbHO","jd_JjesgNFgEpuT","jd_VRlQIgeaTcFh","hbnhyy3316_m","jd_4107e6f500a92","x362820374","jd_7885f46ff0de2","jd_7a5e1f901aa22","jd_4e64e5477bba2","jd_580fe39e3ebd7","wdrUrVxlyHcAzx","jd_7f309c0aa9243","jd_7132d3fb845f8","jd_4fd1cce9ff9a6","jd_64a605464e0f7","temeay_m","18983371191_p","jd_QGLVJKzVRAbN","morrowind8","双耳水兽","pjbjls1","jd_49214f3b09b77","s707782628_m","641364-52816117","jd_6e20c2cd77b95","jd_561cb4b711eb8","wdPPOhdSuaeCfm","jd_puqlocVkIPfF","jd_yXwYLuTtFBZS","46626442-739287","jd_406bfae2c7ca1","jd_JpzjSoHFsEDX","jd_49f7e15410a41","jd_78ac53413c49d","jd_70c5a0bb22f5a","westlifemaple","jd_657b5f46da7cb","jd_441fd22f6309b","兰色毒药","jd_72e293865e697","shannonl","jd_5c05bb121eae9","jd_79beded0df488","438514538_m","画家JH","jd_40ab3769106f0","平凡的女人韩冰","jd_HZKaipWtgSLs","jd_75394901c56db","13726298424_p","jd_693aacdddbc87","jd_50488f2610c66","JD81760","jd_53688e722018b","bettyqili","jd_CgYRZmABNqoB","胡萝卜_carrot","ldc0216","lml_1010","3549197-75379547","mincer0707","913648861_m","wdTFGoDcstSdjg","jd_502653dddad41","jd_4598bd45f484c","jd_5f902508aeac1","jd_7b1416309b509","彭应浩","jd_FUXjFigUqjAX","ycg31","hzy耀","langliang","jd_7cc1638f83072","13828118613_p","15601104676_p","jd_xzWityRZxhmb","jd_XSJorSxJsIMR","jd_635e75fbf9c1a","jd_436b7543b2b16","jd_51c69fa7b8ca5","roy319","jd_56ad3a3db345e","北大是我的梦想","phonezhou","chentanwan1","chatwinli","jd_514796610c849","jd_70bf23bd957a2","jd_50d0e8660dc92","steadshy","吴汶洋wwy","jd_qvAijclDYexz","jd_YlTHEphcTClU","jd_7cfff41e0c754","jd_6d045f70f6d41","星如雨0325","15607676537_p","wfeeliu","jd_SCyxBOudlXIQ","jd_6cbb1bfafe0ab","jd_CwRluawTSAYq","何紫莹733","13693404369_p","jd_TSiTmadngDgZ","jd_4a856a1b62d67","153139707_m","vickilin263","Sky哎呀","jd_60c6ce875999e","jd_4d304f9e05fed","jd_40d34119ba356","jd_577b9858fe337","jd_FbVMAPNTEETP","jd_5fb3474eb8d45","nick12358","jd_gaWMFYbyYczW","wdimyIkVkZoJKa","浅下的夜歌","jd_DXnicpyhWyzI","jd_77753aa8e8f1d","248796241_m","xcp163_m","jaezhq","zeaten","jd_402bbce9f89b8","jd_5bc5812472f47","jd_4fa31730c8d10","luyonglove","jd_7a66d73f4d57d","jd_478294449835d","jd_5ac348eb11d7e","jd_6b971b32d04ef","912590513_m","wcs819","jd_56ebcb396e5c0","jd_OKLYChcbtVFX","jd_43a5d0b13ea61","veronicaXin","18607721068_p","liuhuanzhi1111","jd_4ae2a6d28bddb","jd_pMOYIGizbpbN","jd_tNuBwNCZVEtn","jd_5118e9e702311","jd_4c1a01af4952e","依然还是那样","jd_641bca30eb429","jd_7ff09f1377fa8","jd_5322aa0f20a73","雅丽斯化妆品","lyb19991031","jd_604883eb6952a","fallenangel36","jd_57df12c21d394","zhgt1983","jd_456d51e81cebb","jd_50921afa6f8a2","a634393268","jd_4c57d2773100a","wdNWHHMFzuvNdJW","chenny丶3","jd_5efef89d07f65","jd_75ba8fe61dd72","菠萝君c","jd_594d09511bd05","jd_679fba0521f0b","john_zong","shuaishuai_1111","jd_4244a9d7ac730","jd_701841acb7df4","jd_zMEFzrJLvYIh","18818418309_p","jd_6fab0994cd11c","jd_50e2a1367b96d","文意2015","jd_71ba54c475475","jd_OwpbsWqDgOFk","小鸟20","jd_sTXKrnWquHVy","jd_53dbb767aa1df","jd_GVlMATWbeall","jd_555f9b3a4a4a4","jd_7b7f83238a209","Z18727098498","tian_1991","xievcc","jd_5fbef640962c6","jd_7b0cf3508c138","jd_6bf1bb9f0a2a7","jd_466043595292a","jd_55125031dd0e8","zml0723","JRSD_NmdwH1075","小荣0730","wdRNfKxHSZmocu","15040126442_p","jd_5096b70354d77","jd_444490e8352c8","jd_4cec3af384275","wdubgrrcOtfWuy","jd_5d74022070d59","jd_55740c9d76336","jd_gCeLCNJAQYFT","wantingtang","jd_4fdd39ddb0728","mssddd6622_m","jd_62d0b9fa52ec9","jd_VMDqhrpOtVzd","jd_58d2a70abd289","jd_5c8f509b9f29f","jd_49513c7f976c0","jd_omMLYsDkKaJe","xzdx13372237911","jd_7c1ff5ddbaa2e","QQ36964117","jd_59464410e31d5","jd_AwNfolVjQxrx","jd_7a65930f94f5e","le5454873","hanshaojie18","hpseed002","jd_joaSRsOWzWwC","jd_68947dd34ba7c","jd_4a7aa78fe58d3","jd_7893c3d102036","22289165lzm","idmtcq","imbodgie","95898807-181093","1471120417-165823","jd_57172814e26cf","wwwdjh","jd_4bde364a938cf","jd_668baf3bf4938","jd_50ed06bf6d101","jd_59fdbddfead45","s2109283031943346","jd_7d6d765403b16","jd_587876f3736da","kevinnj2016","jd_IDIctxadjcgn","jd_pGwardsSUqtT","jd_49707931dd2b5","ioyy2008","jd_6b0ea830996b1","jd_77a5e1f270ce8","wdcvGAvNYcPbja","jd_59d0f4d3cdd60","10574379-77218824","wang545975744","jd_48bba3317f125","jd_qIGwGgMQGNeU","jd_45c45ac0fc104","jd_7c7e25d253f84","jd_728caceaa4eeb","jd_482a61c1240f6","papa630101","jd_7acdf93d1f5cb","jd_MDsuquihNEcx","jd_6881b8af94d02","luckiki2017","jd_aEDFUJnaSulP","小雪大凤","jd_634affe057622","jd_cccFoYIQDMpy","jd_TDmWwCogSoXE","252831699-83747984","jd_6eef0a397d30c","jd_56bae55255ade","liyunlong137228","jd_5d0dc6edf5648","太空步","foxwolf79","jd_770b21ce5099f","jd_4f036ad5737cf","jd_642d72ad4f8e3","jinleishine","hrmsss123","jd_4b20fc77c5d7b","jd_5ca397ff97649","jd_4d531314647d2","jd_57c3243ae849b","shenzebin0203","jd_75093616073b1","18814102768_p","yuanxiaojun1984","wdPuyIamXRIbkD","jd_689cee290a58e","灰机是也","jd_iXPJTPxRWxvV","jd_aHPNNIFXQaeS","jd_68b2347ebda3c","jd_646d71f2e3714","jd_NNCyHfIdyVHo","浅笑深白色泛滥","jd_6948a54f927c5","jd_6421b680c4933","jd_7b02f28023726","jd_7d7c4b50f49ab","messay","戴鄂湘","wdUsQrRcoASzco","solodxg","Sean-cheung","jd_7a13abe4c2eef","wdNnqoyQmPfQcNs","evamix","zwhych2004","17173-42326568","jd_460da83861e16","jd_SsafoSCISlWD","jd_YqSKFLYhbBfK","翟飞211","jd_508f0421b7b7d","疯狂小刀","jd_64f2c0070fb65","jd_7b9a25adfd1f0","zy_simon","jd_4ca30eef60f1c","jd_51f4959ac8218","jd_6138c585342c4","jd_nNTcFTmqlEED","小红帽20181212","385035093-854894","jd_7459540411149","8873112-74022687","ningdj126com","似水流年334","jd_593d38349f11d","jd_43014015b2b6e","a3760291","王少dy","jd_5ba4dc83b4be9","jd_70dd3d520d1cb","jd_76a7b8ecb0d51","jd_6905d2e7a20e9","jd_wUgmqYgGPtRL","jd_sDVfKZbDdjmn","jd_56f888df26150","jd_4b7935d89135c","jd_4990bf4c1c4d2","13631402016_p","jd_51d1620f959bf","jd_qEXYLMfthKJc","jd_7c3b9b1610645","jd_742918449c74a","jd_454026c46e33b","wdmdvLIjnyeJLg","jd_77b0aee1aa06a","jd_74cbd69e7a16e","jd_7a8611189cabd","zhlylim","黄淼1995","jd_50266a430eff9","jd_6bf594f2b337f","13795387387_p","jd_ldHaprnRMcnW","jd_5c0211446ea50","jd_6530e70616efc","jd_4457811cc5c70","jd_4deb2e7873a23","13503002913_p","jd_7678b9359e05a","jd_6e45d563a911a","jd_mhAWKPoaxTwn","jd_pHZKHODIKEAl","jd_72c879546ab86","1339856382-847289","jd_7677541ffdb3c","jd_6817ed5168df0","xx许雷","jd_ectkeqPdONQp","jd_mivDxKrGzWQl","jd_5fbe209129a52","jd_PQoeEKNxlWnv","jd_hkQBMnZelHWv","jd_52c5c9a35fc6a","jd_6ec7c4a3ecbb0","dannydan","jd_67f36e745582e","18609028-63106868","895533817_m","jd_dIILJDmceBrp","qazmcl1230","atest20050_m","jd_506ea8761f0ce","xieyi789","jd_VhNmPSOAqTTn","jd_7f67bd0ae689f","jd_49b90ecba07de","jd_52e93b0a4eafb","jd_55a1891238340","131532097_475469116","jd_4d7523a2081f2","jd_6e9d5fb2344a5","lemon_pp","673328604_m","maling316110","jd_787b1f9419454","jd_466c85dd464a2","8264931012","jd_4a7d5a838de3f","jd_510ee42efdfc7","jd_LobUansFvOUF","jd_6fcf1b16ad488","wdGyOItOEcxpZW","wrewre53070","7304866-60097980","jd_spnSVGivBRlU","vivienruan","jd_67f2164bd226a","小生zcj","13288622858_p","jd_765f6d79cd830","jd_5e7b01f5f4ae7","jd_6f9bbc2a34e9f","回首难再忘记","jd_4dcf9128e8ea4","hilenayuan","jd_45ab99486906b","jd_lEKgBYgmMmlA","nhddhr","jd_uRQNJEmMwaMU","jd_7c960489d63d4","1261859822-627986","12173530-564891","慧pineapple33","18616565009_p","jd_56d022e9a185f","jd_iMNPKlzUrPLY","jd_633b33563846f","sun756619","pursue1119","18721577267_p","humalu","jd_475c80335e4ad","jd_79175deae1119","52854615-139986","dysxjyy","jd_xATxdLtMFPNz","jd_NAXGjuYginkT","jd_fnEjPTuzSgma","jd_4fc3ef4580643","jd_4844e7dd013af","jd_mFbHLPWXbsqm","18392158138_p","zhouhuade","jd_DyPZZzNZQFxZ","jd_7f45031af9144","jd_73751adc04afd","格子裙的杜拉斯","jd_72831ac2cf10d","jd_7ee4e20606d0a","yanlianchen890914","jd_TaOjQAGUUJhz","jd_7d754d8de7e39","jd_463af16e32418","jd_699e3e1ade43f","yjr5201314","jd_428dfff342b78","你的故事我的歌i","jd_797613b853a2e","15210773412_p","jd_573b396e824df","jd_lVTcGgaJANSw","15068765160_p","jd_49f46c9e8994f","jd_nnvsmmgfVXMU","jd_589c56d719c0f","明天不吃鱼","jd_SnBZCgIMfQCK","jerry23k","220491521-60429290","jd_637db51e6b6f5","jd_5566eb7f61ba8","jd_4f7b4b8f7302b","GCJJCGCAT","jd_70158749603aa","jd_705ee227fb6bf","wdHcCTbFuvcCdf","莋莴洎玑","婷344","jd_7aab83ca12d57","jd_46ad03fb808f0","jd_FWrvhdmeqUuE","qqvr1128","jd_4fd79275c12dd","topswitch","jd_66d39c9ff54bf","好好爱宝贝0321","jd_FgemVheeOAtm","jd_TPoRgxNitAYn","jd_YjcYwwHEtYlV","4858133-25200538","jd_7fa622f041734","wwqwcy","678792_m","huawtt","jd_tLmjiRasikUv","ysl708","jd_461034cde4639","jd_44230e6e95410","jd_4366565659b02","jd_4adfe0fa35261","abu3d","piaoyunzq_m","13901536553_p","jd_4844aeb2541d8","jd_5641338f9230a","jd_4e84dc891aa6b","jd_786e9d2e7fb64","jd_BBAfgiAYNMbg","jd_7d60eaae16ab4","jd_43206874a9629","jd_xGxPWNDlbItQ","yushiwho","woaimumu888","jd_74fbe30a36b56","jd_7c4b387039dd8","jd_xDvjpwlrrPxj","szh909","jd_6f5cf7e9bc049","czge_m","s1059357585569125","jd_622237315d856","jd_7e0932a016c9e","847687607_m","jd_QTKiAFEVuICA","xiangjing0630","海夜猫","a616597866","s2183195747422564","jd_46d7bb96d7c47","achen0207","jd_FOsRoXuOOrsL","沉默de低調","93679-89081584","jd_5e52fcbc8489d","十尧山","lucifer2000","jd_6e73a4b493f61","jd_57cc741fe7985","wdvBQumUqCVZsy","jd_4df4fe731a006","18676271549_p","jd_vpsXClRqQLSB","jd_7b25f835a8478","jd_DeywlgkbjzWX","731株洲县谭爱军","hs_zhouting","jd_58dca56590342","jd_luPslZLrrVhP","gg888zhs","jd_PgwGkZpedUFJ","jd_enbYDtTGWuGG","jd_BYGIlgeDcNKU","最帅小磊子","jd_7651809d09ae0","jd_7433596d27bb3","稻草人_20110425","jd_6fdf6f59e824f","TheresaYu","jd_EuRMpWAhVYPY","huangshuting1985","jd_TSSWUlkSYWvm","jd_64c723f4f002d","jd_5259d9d595245","jd_5136fcb1010e8","15159838744_p","jd_4f04098430663","以惟","jd_4c5c849bfb0c5","jd_7d9f749abaf17","xiang0573","jd_568d63bfbdb43","jd_7c54b8fb1f7f5","jd_5c2f2bcd521aa","骑猪看狗6671","jd_48cc91ae3d9c9","jd_775f17e801abb","jd_iGvCscRKpPjz","15806031227","jd_68362ec32ffe5","jd_54933f4693d35","jd_iPjfIwULQIqH","wdRnkbVLBDXayI","jd_mXNTdLvXlzId","jd_5908c22922ff6","jd_5746d9af8a557","jd_4c57777ec9102","mo_wei","18035872231_p","bingzz","13328973853_p","jd_56ecba6a599c0","jd_5148d860b9be4","dan_dan529264","LittleZas","未完_待续丶","jd_6ad907c4ee20e","yhboss","15021690991_p","jd_KGRzoVDxgWRo","陈荣锦","360913347-144598","407235955_m","jd_4afbe69573d26","jd_55f7b6605090b","jd_vwTkgoZYUHrk","明明dream","jd_zIgMQWSaZPvf","五百万都救不了你","jd_41f3be687639d","陶小猫猫","13597449562_p","jd_565c419dc5261","jd_IulfdEgJFxjN","jd_7cdd2df65ff4b","晴天l天秤","amywj347","jd_6597f5abed528","jd_XuSJEQthUahZ","129823","jd_oXWqDkVqafin","jd_6364529cd6426","jd_7928975ed1811","a935273522","liukai9235","jd_NGWGxuTpXEgx","jd_tdvcPdSdQJrR","jd_SJDCUuMDZjnA","wdQNGyExuPjjeV","532676251_m","jd_eSTzYzfvMGZk","120590266-99995819","jd_vDKrNuqgDdzX","嘿小样er","wdqKLjotybrLGY","dengfei63523","jd_5b0f76b8e2a15","jd_61cc1944baa6d","jd_41531d315b4a3","jd_618260f581766","jd_75af8d804dc67","繁华落尽qq","pingsdo","15262901830_p","jd_kZGejnbVXeeY","jd_ESoxtbmOIZxs","jd_564f7dcb283a1","jd_40951ec09f1d0","a19658547","jd_40291e654463f","n824186746_m","jd_6824fa0eda70d","jd_7df4c8a37f553","赵海博1208","wdwqmOmOHhEqOV","13916398375_p","jd_6096838d82a2b","Angel丶Fuck","jd_bJOxqVFsDQSY","jd_5d942767c4f85","jd_4e1c9ba09bfe9","jd_FKhVfQyNjwzK","年轻的玻尔","tens088","徐傲伦","纷飞的香草","emojf_m","wangxiaodong009","jd_407bf94f990b7","s2023398055580620","百度寒冰","神与伤","115726927-616192","jd_6d4e32bf270a8","jd_5fe06770493c2","盘古大仙111","jd_tehxtjrCgmwB","qq82301404","607289602_276203750","jd_ewIkfaGJsymz","jd_RXKwbvtbnjjQ","chenshifeng00","jd_53bb34dfa7f8a","jd_75876e3b9376f","super31582","jd_665897f681e64","jd_oXegxmTVbZjO","尹亚豪78","944393754_m","音色风铃","cdeoge","jd_XLaFzsYXRHNo","jd_542871083945b","bluecl412","jd_710445703c01a","E_Ivan","jd_6c3ffe9608cae","fpk7660837","jd_tJGZOKTRniBH","jd_666a8dc5d823d","jd_516f8eb0db012","jd_NpjbvwyAROXT","wxh317","jd_50fab6d6c4a0b","jd_44d301a7ee491","19890528yh","jd_4125abdf7e0b1","jd_50d31fdead1c2","cf8771551","jd_529384122585f","jd_6a675ac3087c9","jd_55538782044bd","jd_612a105500dc1","jd_71b8467b81937","jd_4393c921802e8","jd_6ea99f99cfba6","jd_740c2833c9073","jd_6d2cd6de5a236","13433824779_p","zsycos","118510350-545561","jd_50825234e5b1d","jd_5a188e1cd4589","15919184367_p","jijuan季娟","wdNYGIjJOfhwLyA","jd_63a794ceaa35c","jd_jFzlayHVfWCc","jd_4d411c86144e4","缘来有妮妮","jd_67a5066119dd3","jd_716106954183f","jd_ankwmKRwtdjH","jd_470069961731b","yitian7758","jd_RJMuuIAbjlHW","Gerald1","jd_LYRLwSjIHNlp","lpl22","jd_UkUCUULGmgjg","小鬼崽仔","jd_aWeYxTqtpggX","jd_410db50555fdf","jd_70eaffbcb5035","liulicheng5213","gxs2008","18659256162_p","0912Angelchi","jd_5e7924956635b","jd_69f4c066589f2","jd_7a525244ea666","被生活绑定","jd_790e18230a8d5","jd_NnSEZCvPGVch","1193637995_m","jd_64e8eca218456","jd_61554c48261b6","zhousixiang1990","jd_6e047a76d30d7","jd_7c91745d9261c","jd_mPiduduBYBsx","92109488-72087051","jd_7955276770fe3","jd_71cae45132b6e","nb8355","jd_69d896ac61955","jd_65613a023650c","jd_4465564a8357c","jd_7f4a77478cea7","jd_7b9c4bea51285","ayasanono","jd_6cc2560196877","jd_64e8ad773a7ce","jd_7b95a833a7ad5","jd_WwVfFHoRCxoz","jd_7579b61429cf3","jd_5f60e1ca3a08a","勇敢的小泪","jd_52c08a0303f39","heqiuhui1980","jd_49a43d12252e5","jd_wwDAGNXqXqAa","jd_nxvmjAFgDMDM","bryanjin1977","yoyi412","267650873-594997","zczczxx","jd_7f27e01af46fe","浮光掠影1314520","jd_pngtGoYyvwVd","jd_pDSOtJeNlOhj","pan3344","jd_67815122efffd","jd_4c02222ddaf2f","jd_72b8ac5badc9e","jd_46dd4d84cc7f4","jd_6f12b248f5c79","jd_7cd041ccef2df","jd_5b2a13c885fbe","jd_7cfbf9c30742e","longzl","jd_60a9eb5315b70","jd_5e4bd6bbc026e","jd_4bbcd6fba5ac2","128992929-567826","蓝胖子CC7","梦回马拉多纳","jd_MatSUNLKJuVR","Primoo","yzmjason","realfatboy","yeluoguihang","jd_41c07703a6724","jd_604c5eb34c05d","WSD158768","jd_7bb12941f4959","jd_7ef2b949c3942","jd_GUUALHlcXWfj","jd_64b354773005f","jd_jZKuZLkiAHEE","jd_ygqEesxRxUxK","jd_585ec78296eb5","403693645-154812","Neint","jd_497e6adccbf11","15158581758_p","13560328634_p","jd_5fadb1b6e5d80","jd_58850236b4a0f","Dasiyshan","jd_VkNupsJJOZBp","wdNWsRVKPWcdFjV","jd_6844f37d2d544","jd_zfyatPIHBsXd","Yu-572","loisyan2017","jd_OHfYAnNOvdut","12539354-138843","y157578578","volov","q34347476","jd_5957a80d9c456","中原渔人","cooldepeng_m","piaoxyx_m","wdehZgjPbVEZiG","jd_425771edba513","jd_7915a40542465","jd_743203e583e8a","ZOURUNJUAN","sniow1","smallsmallbell","1005613173_m","crazythink","jd_631007d01c227","yangzeyl","jd_VbfosBYcbrgK","jd_7804d68e0707f","jd_4a4d7cf0a30d2","jd_60ba96731c7b8","yuhaosf","jd_459a859c4372a","jd_4520e76029ae8","jd_43d56dab362cb","NL-Ge","jd_540ea34bb9e97","jd_40e5a3bb64332","jd_5b056085e8d68","675786265_m","jd_pomTRzNubjkX","29660939-889163","jd_6efd21340994a","jd_tyUQgalUTfTr","zixujindong","jd_aDzqJitODTze","namelessjd","jd_58f5133c1dc80","jd_475bdd113485b","jd_6d413a805f885","wddxmYumEzjSkb","jd_OwcZCcyNMPuF","412225503-764105","8NhjXycsEF_m","jd_50455ac101a9a","yang5200955","可可爱爱的小陈","959017-90144767","wdxXbmGWrTWZLJ","jd_LbvsJqunBkKC","wusongtao1983","222859864-725403","jd_DBABGuaqkoHX","jd_5d1349131c693","liu951159","jd_HDAcvTMYWWNM","junior8876","jd_SZoKvzHYNbmh","jd_6c498ed694d3d","wdcSqTmcNYCgnv","qlwz","jerrybot","jd_bCXujLmHETmw","elbereth1122","kissanader","A52421","jd_477131c27102b","zhangguoli1010","jeffxj800","561631785-959983","jd_kXqyoXMfSfQv","jd_6b5cd84d639d0","dlqi1996","13750260458_p","jd_70339dfe775ef","多啦A梦口袋有宝贝","jd_577355e6617b6","d763500139","jd_5855b0a928403","jd_5c4749d4b0f33","131415zs","jd_EQXWpddeVrep","mistmeteor","Alex4me","jd_5847b7b8c7353","13997571369_p","jd_73687acf29edf","jd_43cc3285fbacb","jd_40c97b4046eb3","轩半仙_","jd_58107a4a46bc2","jd_fNiJKzwThyxD","jd_uBMSfGfdCUOt","jd_689a760ea4192","6500542-447427","jd_6f245b229ebf2","GISerliang","144981701-608561","jelly0925","jd_6a575b696ca57","jd_538062b9572f6","hhww911","jd_TXysqvqWZBPj","jd_7c26c04ec2bc8","shenkq1990","jd_UUJpBkexQlmY","jd_PNAlscbAPRwp","julyjaedong","jd_603808acd9dba","jd_702a61d605dad","jd_7f1e03be5550d","jd_7fa58b0dde697","jd_53838c7b84b3f","fishsteak","dengdongmmmm","54341-45754381","jd_6b04a52e50578","张123---","zheng45613","jd_521f2b70670f8","jd_64c02f24c561e","jd_79442c42eba38","816安县高通","jd_YAcHwUPRbGbd","jd_bKpDXNohmWTL","jd_4a6a551ff05a4","18103702229_p","18910376657_p","jd_bKrhCubyELVb","jd_68c08ef51224f","wddMeCrXvhyiTM","bestvzero","canca","jd_40dd75426ab94","jd_69edb8a1764f4","jd_LaJHusHvjOxC","18818418319_p","alefwoo","jd_XoKDUiyZyEmh","jd_66e5408b604a0","不服老的囧菇欧巴","tongtong30","jd_6543e9c16f4ed","jd_4e656538ca768","jd_6ec09b477ce4b","jd_7d80a5859c43b","花花小天","jd_4495be84aa011","jd_7a7cc38cd7f31","jd_6174989fab523","jd_4fe620f72fa7c","jd_7775a19d77004","jd_4cdcc62492c48","jd_611db52b576c5","wdyhBTnHxLaoZq","ynf1219","jd_6888442efe005","jd_488bc37cee9ca","xin_163","xiao_juanjuan520","jd_432f0dc2a3c61","jd17377555505","jd_DhZvBUIHUQbX","wdNgzsKoFAfacOQ","jd_4f2b48f4554cb","131531632-111093","jd_57e39b982a511","jd_bnaCZOAkAWLn","szhzx1126","jd_omrxXvcCfVAb","13458620275_p","jd_48cd194c5bbf9","jd_78c290de20544","lyangtang_m","13770776344_p","jd_402ca4a1a6263","fanxing2003","jd_41d0bb12880f7","jd_GOiWYOBshJfE","jd_7e615454925b9","57133101-157361","523017_m","1333907-70728649","tanhao1210","jd_JIAuyxKmiXfk","18367795197_p","jd_753ac06d1fd0d","549726443-648445","perfectdoctor","jd_53176b51ecb57","jd_4e851db82577e","wu_7531","jd_NIbYCEReQzCg","jd_oTvjbnjhmQuM","103101570_m","jd_465d9cf92bdae","jd_hhmrsgysUEim","y280536203","jd_mucVHCBnYXgd","jd_tYWMptdHjfxf","jd_WvVakEPyOAJz","sqk0708","jd_428899c5447b8","550233765","jd_54826d3c7ac1b","jd_50065df7d8e6e","ojdo9527","zjs10010","13421506774_p","newxiaoxin","15754308762_p","泪落芯微凉","jd_668d2f1db6864","李子1010","13556950344_p","IO_CelEsTiAnS","jd_591deb9abec4b","691659060-195353","jd_7458fdf75b82d","jd_kUDJZmCJwsnc","jd_73f655438ac94","夜倾城0722","qzlm002","qinqin_linlin","15565751572_p","thirdroot","admin3188301","jd_6648decb82b53","jd_JNYGrjaVWUGW","jd_471806d6e135c","霜仴寒","jd_63dc1bb25bf89","jd_58f60d8ed1964","jd_5c3d31b5c39d7","jd_479963905b2c4","jd_50c542c23c707","jd_748ee1b3c06cf","weige","jd_56c3d62adbadf","jd_7a665830349b4","huangqingjie327","jd_569dafd0df768","jd_fbpFCxIXCStE","waxsh888","linmin85","dave552137593","jd_HbQjzqUQbAvy","qiejunyi_m","jd_GDApyXtBVusG","jenny_tu","jd_7bef0592bd982","CXX031497","jd_432f8ae72ef7a","jd_oSufQWQRJzra","jd_hOAEBHAwiEFP","jd_618d577bd1fcc","jd_XsixVwqFWDYr","jd_67d92671ee3af","929822751_m","jd_4df74ff7338d0","jd_4b2f8f8459039","jd_7083960faf54d","lvesdba","jd_TSJRjNwlqIDy","天使羽毛224","xufeiforever","keggly","yzy995200","jd_6dfcadae7a438","jd_64a51151b61d2","jd_4bf1e88efc79e","1501427678-803886","jd_5ccc797cdd845","jd_52e05fedabe15","jd_434eeb52ff30a","jd_7a51fcc8cfc22","jd_712412939c413","15651666820_p","jd_4a250c6231e64","野人飞翔01","李婷_1986","SilenceT0325","Mr_Lubber","西行第五人","369083893_m","15088721730_p","jd_maAyKHcIwzUs","mhj1262006","不做超哥已多年","小琨不是购物狂","手指上的旋律","你的猫很胖","晨曦纵紫","muzi5994_m","jd_6783fb8631296","8132164","zcl173475","bigbearhuang","jd_7e007233993d4","chenpotato","jd_hArJXMsojBcJ","jd_51c1509e0740f","jd_tPmdVrjEMNcw","40390013-797613","longwangv1","jd_4d6e75d74d6e8","jd_6995574a429e3","jd_56239d4028ec2","jd_6229ab1ade145","goudm","1015187921_m","gnox","sleepren_m","jd_74f20543ea2b0","jd_682938c4241c6","18965169727_p","1835809891_m","jd_662529a4e1d17","jd_72ec278ddfed2","jd_5327925750852","jd_479c6be154eb1","jd_6c779f497cce9","jd_7ac8d109387c6","jd_59e61c2ea92db","jd_5af00647f34ef","jd_71da08f33f35f","57566061-865565","jd_KZbPpHADaUby","苏漫","snowbubblelf","13247673079_p","jd_47ef422181883","jd_786c1bcd9a1d6","海卓越域","15191795995_p","jd_GgTPjhLolCdT","jd_63b27c083ecfa","jd_710a98b914368","jd_7551d350db454","fuxianxing99555","羽落云飞","jd_6df75ce0d0a5f","lbwstco","wdRlGhkoKWOosG","jd_6c1186e36aead","jd_7d87c3768655b","200767436-743018","jd_7fadf20288c55","jd_7407449c381bd","367302136-368033","jd_7da26bb2ca4e7","jd_7cf47ef368f0a","jd_DoAvJIBkikhk","wdsnePoLRBOObD","xiekunlun5","jd_XwDjriHYIWgH","jd_nJtwyNwpdvkB","jd_QOfKAQOgcRHY","jd_6a74f03090ed1","hebiqinwei","jd_7705bb00d6101","Icelas","jd_5a8a460f8e523","雪村家的粽子糖","骑着乌龟的帅蜗牛","jd_7d0bf4f21a379","jd_7a3ac9d01751f","jd_4ca7f0bd2f9f4","wdugBlSxyxAErX","chronis-flossie","jd_7016886f8b1b9","jd_478ede4cb5e7f","1727434129_m","sxf_snoopy","jd_cReDKYiQryPo","RyoKazami","18720057214_p","jd_46ff5f0dbb0c4","jd_72e93b38d3139","farewel","wxhis","jd_4e2512e4e66cf","jd_624631e6c8ae4","jd_ruMijhTmzrgR","jd_67516de3a932a","beauty_2011","jd_43067a6edae32","jd_647c5cd74dfc5","jd_7e44cb549b0e1","jd_eJEgGnAUcuMz","jd_5e8c2dcea0ec9","13664272675_p","jd_YKLbqowYGdXp","jd_6bace5f3f00e9","yangyz666888","jd_42c748dd3125e","jd_719fd2b2e4f08","jd_4ab90d8a28021","ly1261774993","jd_6b397d79cf2e6","Mezi04","13534693611_p","jd_6a161cfd06b21","jd_bPkNFaFXkjAK","jd_7e1f85d4cc000","jd_76edcadb906fb","jd_7d1e7f64f5ac8","肥肥肥肥lxf","jd_UvTfCzgQKISt","15023168692_p","wdpQIsSjUAWcdR","13658385692_p","jd_664421574d285","jd_TIolhkNaqUEb","jd_ilsNpEZGKMjr","jd_yKBXfmxdEYWZ","lyyzlh","jd_7a6d14378c98d","jd_719e39b722489","柚子茶购物狂","jd_GKsLBERUlDzT","开饭啦啦啦","傅琳琳123456","jd_oKRpfyMJAvoI","zyg123123","jd_41b08e0dcaabe","hf小可乐","jd_657764ff2d782","jd_777834fd2b730","joyfay_m","jd_7f237a256e342","jd_BRfMowlAoESM","jd_4a1b2ce3c93e7","hchuan16","13936660218_p","jd_4330919d12f28","jd_41795580694f7","jd_VUSJXZYzeBZa","Luckgan0225","wdtWNtRMEApKeY","jd_576c10c66b0e8","jd_cYtpctrrcQui","jd_4b2e0a9180ccc","jd_5d32523304034","jd_40d569f4254c7","jd_65f4d26dbbf04","jd_4cad9ec71a700","jd_CSFNDmGuLHRE","jd_60695c500789b","wdgSLnTnBfablp","wdSlqRSBWqUPqg","jd_67fea80778b05","382499-79411258","jd_6ed3aada37cf5","jd_70fa2e5b4710e","w1563","show1055830991","galfordliu","jd_7609a0518ba58","jd_4ff23af32eab5","jd_6311e86dde4c2","贫僧法名帅哥","jd_43fdce37cf15a","jd_63f3a7cf46576","jd_mGvnEbVwCSgL","jd_6d8efd3815a47","jd_mvDxZZkCaOPN","jd_4c897c5d8b3aa","jd_79df22c491c4a","jd_78615cfd37868","yao17111","gy946376928","jd_mbSGItrccwWz","jd_542bb1e1817e3","jd_5588f9480d26e","jd_69d40f4fa759d","jd_QKhijbxwQWHt","jd_5f4a0c1ead43b","jd_rqEANJRTBazo","楠楠老公","jd_6a5d17a813a1c","辉少xiaopisi","Syuusuke","xsz03","jd_670ec0e203f9d","jd_5f2ef53125375","浅浅的爱No","jd_77daca9bdfcb7","jd_581ec258309e5","小小雷神","hetao8980823","jd_418a407595aad","武704803825","jd_czkusbyBeqbm","jd_kjxfBQpzdAOf","zxxxgirl","vingorvan","jd_zToARCWNrirr","1579878823_m","jd_EkIIbbrXBBlo","jd_55b9505991102","s2277288752435451","jd_NKgbNFPXrIlR","jd_648f12fed07c2","jd_4807d49db4c3f","jd_AWSjpPIluoma","jd_71d7ecced5b98","jd_6ad3be4539093","kaixin20101997","jd_4a72f6280bb4f","jd_478f09561f751","jd_78caecf075f9f","jd_4ec4100510063","jd_727fc12bf00df","jd_64117229ec52e","ssshzs","灰天de猪猪","23724714-38579771","jd_UYhRLaqTHbaM","jd_7c62870903956","jd_4cd8377a66955","jd_vRALIKCWucte","陈小丝321","18926067-10005997","jd_511966143fc21","jd_JolSFkQrpjpR","66238155-90698106","一二0五度","jd_hQtPLzdnFQtt","jd_4bc638dbd6e76","Fall-Rain","飞鱼快车","124834221-802468","jerryxu0","jd_6e19787802c1d","jd_qKdICBhoRYNZ","jd_5744d3a4a03ea","jd_74253c00d94f7","jd_5c67b4b7bac0a","jd_oBsOpOgJXBhM","104698426-211633","jd_ABQvzFeWKVlB","sunxiaozhounan","jd_wSblzIqNeIfc","jd_bBiRHXjefkbB","jd_6096cd8efb388","jd_dPuqpTzdJKWn","jd_7eff4855c8541","jinmaohu","jd_4344963770e0c","jd_62c531db03b5c","jd_6a6bdad444764","jd_LSqpDPYNLIsd","jd_WNyVWpennixi","jd_HJvpwrDqLEqJ","jd_59bda17e40682","178507959-72131525","jd_431ac10882417","一步两步的步伐","jd_5adc086df44f0","jd_7e6245f1c0822","jd_5c62a695c933f","babyfish0429","jd_XFArZrKWRaMy","jd_6f908a5bd1268","_Cyan","starbigstar","jd_541b0c08edbeb","annielu1992","jd_4293637053212","jd_6ab278ca73601","jd_DYeBeldUAKKJ","tantou123","miaoyutian","luoweikingjj","759廉江市陈志恒","wdOOoVmGedNyNP","1964357760_m","moxiaou","1276829689-883879","jd_tEwERiybzJMV","jd_65bd30c94dba5","jd_509c331aa26ba","oddmao","jd_7bc113e83f646","651163497_m","蔡辉煌","lllllhhhhhlllll","18936896715_p","wdFFsFpPvEnCOX","jd_76594243dd57d","jd_558d00616292f","jd_MttOMWgJGedB","mzsh2019","jd_57f044968f291","FrankyZheng163","jd_4084ba219642f","njukkkx","lzzccy","springss","jd_5b587003b324b","22525981-994925","18852955175_p","w86859723","280702817-466888","jd_5ac80ced209cd","jd_44dfbe4e1a840","jd_7d55b4c80d1b5","jd_MKiTvDpOpQFc","jd_ATztZYDIWlSP","jd_61ac82580601e","SRHZ","jd_RbvRxlOgBzgn","jd_68a465e51f9cb","jd_DbWCQmprAzis","jd_LYnFzsHxTJXN","jd_uTPjvKVZzUWK","jd_7bd06ee202ff9","guoershao_m","13750014099_p","8930006162","jd_7eccbec783fdc","飘香人","jd_5835d291ec517","wangfei0112","jd_5f0440ed950fb","jd_qDJgdEfmVJYx","f782446586","jd_bwvOKfXsRDgk","litao_63","jd_5f4be036f037b","jd_473d4217aa200","wdkihcIYBVyWxC","jd_6a74f0bf26cc6","刘-宾","jd_642beafed2479","jd_6f4b7c708b55e","jd_4d33cd266c591","jd_7519c25eb4ea1","jd_6154e36bb60e3","jd_4e2a6ee054775","jd_6129a3066c0b6","1574923088-226956","468667818-294278","529219690_m","jd_7d2c567a3e5e0","jd_oWMQkYriuXRM","fuxin10","jd_4277a6a3eaf25","Achira1969","jd_kFzlnjTEhKrC","jd_761e8c3b33008","一二三四二三四","13501533368_p","jd_QtKkjFsPKaMD","jd_7101397ad02cc","jd_WygSPdQutkps","13853815938_p","jd_5f4cb4099459b","lzzhaoxin","1559976407-787165","jd_56403d530743c","海棠花885","会跳舞的小蚂蚁","15021896367_p","丿纯丿黑色","知我者谓我心忧_2015","jd_edcvcrvFkVTu","jd_49b9a0f0a36d5","jd_5eabb93141412","13684149187_p","jd_695a310fd6230","jd_516542d576aea","小鲍214418","a1142515363","18382255241_p","jd_74d4b2508fcdf","jd_qjaShUUXkPzI","jd_4443c8fc85d3f","jd_74aa0c5b00a13","jd_417035122ee13","lanshiteng20","0oomelodyoo0","jd_72c7186554826","jd_6345a04d1ea24","li542182964","jd_AufvGIkYUEpB","17407794-130190","小渔人","jetwalk","jd_AJGGFBAOvHZe","liyangyang24","凋零de深秋","jd_punufNjmAAUT","jd_4aa0f27817456","jd_XoeuDOqGzlUf","wdOLwLzSwJUEgI","l_xiaohao","jd_4fbb0e6e90513","jd_5f527ed4cb93e","15023849523_p","jd_68b9c7b21c3e6","我也想做老板","风之翼yy0","wdNbriJEkNVdnrS","jd_74b1b762abcab","jd_6aaa6e3a5846a","jd_zSeivfvuTTeY","17949407-72188194","h781164694","614295526-675248","jd_KjbDgCmVpCDL","jd_6ba0eb4941de3","jd_499678af3e75e","wdnbkDsvatmPlh","jd_700f377901cfe","jd_6c086657044ff","jd_6f9b7149536e5","13345958871_p","jd_56ad229c32da1","jd_4987de10d0152","gobgyuok","gaohui465195696","堕落的外星人","jd_7947dae34233b","zww0808","jd_59661064fb9bf","jd_409aeca51f046","在路上822","jd_ZbyNfDZnABIX","jss007","蔡蔡芬芬","chilifang111","卡奈尔77","jd_6ac26710f50df","jd_4fce12a6c5d34","薛定谔的喵hhh","jd_6800683ef6d29","jd_4197bed05c260","jd_lHKpZfsUGayb","jd_dqTmuVIvTXJt","jd_714d03abf738b","tb9507844","15023555331_p","jd_7e6bb1c460968","jd_67c93efbad215","jd_6ffc7d3f2cde9","406881130_m","jd_5311fa0800124","smartisa","jd_4eb5d62459483","1255372761_m","jd_6ca2e8447697b","75813193-254946","kxg491055581kkk","13321710743_p","jd_5667924d9d8f7","紫檀木哥哥","jd_7f0fd297309bd","a1an1212","dycsolomon","ss1278913251","jd_520a502029f9a","jd_7e26f92945ad7","渺渺兮彧怀","米奇糖","jd_FoFMONrbnoZx","15959429258_p","jd_zbFCIHmNWebw","13688117522_p","jd_721c60f095ede","jd_561d9b97789d4","gao0811","jd_412d6dd0355e5","jd_rGKPcAhssTQz","湘江道","111902611-254275","jd_7d3262e795c75","wdYaMLQgPpnntp","win718","jd_ZnEnLeppalNl","jd_7380ab2296b49","jd_6736d27e1570f","judgeqian","jd_5070d5a6696aa","春风可曾吹过我","u_6ba03e53b245b","jd_6b872cdada63a","jd_5c563757d02a7","jd_rViEvpquujfM","flavour_mok","jd_XAmfvpSKCucQ","vobsub","qsw0501","jd_upvdAsEAlGkJ","jd_InJuIVkxxZfJ","jacy0725","Q送钱的宅女","jd_MFKKafTwYmeW","roffee","jd_FoOOnFzQYcbi","jd_MPjCajXovGRf","jd_RQYuTVCuEVTY","zhlim","jd_fNHDvUjJDaYU","jd_4bf446a44d250","jd_492d8fdb0370d","jd_60a32aa8faecf","jd_5c7f24bc6eb5a","15986936025_p","275169-32271438","yunan2856","834451299_m","a1265728777","wxchao06","657837529_m","jd_7563cfe1ead22","13017164568_p","jd_63714ed2dd0f4","renzhefengshen","袁东旭","206241305-21541159","jd_haJPgQtOHgyl","zenlyr","jd_77ac33b27ec05","V1912379311","jd_76191cc48a8c3","jd_vGDvDkDWuaXI","jd_69baff23b96eb","jd_uTYmYqplQBJc","jd_430c8382597e4","jd_6e477b6ba5cac","346923401-136444","jd_tuHqBrwpNKxN","26522235-566120","jd_5b74595387da7","学我无前途i","jd_51ffe6a5d28c5","mzwang65","13611497134_p","jd_5c535630fff45","15014469180_p","jd_plJiUKUQnVOc","jd_4fca4723cd29b","jd_4108cd8abd2d1","jd_7af8bc54c6821","wdrvMkpkxnjVQH","0小烦0","jd_xjdfaLNIrVJb","188140725_m","jd_5f41b04bc012b","jd_75fb65fca4fde","jd_57f68ea78265b","1784339854_m","ronron_han","jd_40f6053662a0b","jd_7db36bda99144","jd_7047c23830060","caidunwei","wdYoaArWghrrSH","我会吐泡泡ii","jd_4c51289a81839","dafd27","1610306251-152212","jd_6ba78dec1b518","jd_40caafa99b87d","18627583398_p","jd_nRXGFnTaOGpW","jd_iQvstfwSNaVm","rageq","jd_41c752f800930","闲庭落花1102","zd623828105","jd_68997b52ea865","aliasaxin","jd_AvIIUtZfzeQO","jd_5ea002666410c","jd_touIXJwzIBGB","jd_60ae19bfd3710","jd_4a1dc6adcc5d3","jd_534519bca994a","jd_wqwpLTJVHJxS","star3078","wadoro","无情的购物之王","jd_RWjdKicBorzt","jd_7c144751534b3","嘟嘟龟龟","zhangh_cn","王可馨keke","jd_dqKQPTYmuafN","jd_5332b9ba9b1d2","jd_wOtHrWZPhmnZ","jd_575e1d09f8854","jd_76763ba485c5e","___魅惑先森","童童9583","rkikbs","jd_4c59244df75f2","jd_4c6c337cb8ea3","jd_490891c4c2041","93332088-731045","stylenergy","youtian19911114","jd_yfGIQxNceYBa","jd_6a9b47bdbd3f4","nbdx1973","jd_ycwkSnoWvAle","15556532763_p","1530976712","jd_6cefddab64611","hehe9011","jd_7816b564de3dd","jd_420955fd9420b","jd_TZZveZqSQsjI","jd_66a66cb4989f4","jd_5fb71d01d80a7","jd_cayVOIVLamdS","jd_78cc7d4d1e202","jd_JkQPifUpplVz","380297016-161726","jd_432141c1a3b2d","jd_58ee91b176592","Z_y3344","jd_5bdbe73ca0840","jd_5d8da6c8d2110","jd_462c15aa12021","秋天不落叶_beyond","老伯伯伯","AuroralH","15558135781_p","jd_OPhIRFRWelpX","jd_4a593cf6a6944","18229920826_p","jd_zgoifYxZkXbu","jd_5b6455bd0802f","195989471-784218","sz_shadow","jd_7b89a2c368565","595德化县刘佰艺","jd_JWjuZGpnMxER","SuperArnold","火柴hk","jd_4a47d3c0b5edc","恋丶慕容","lzdong1989","kkaqier","jd_4f76c0ad977ac","jd_61d8584a3e234","gjtxhj","wdCQImTaENSPqD","jd_50d3a6c2c2785","huanter","jd_520d385deb100","jd_6e511ada8b0f2","jd_7923d4c5c5f89","wyc1928376_m","jd_6e695ecdf53e7","jd_ehJAYPdhKWAu","jd_TkkWLGdNYSHL","13214130261_p","小女人1014","klinsmannluo","寄雁传书","yangjiesky","101984036-670863","wdYWJeLzERhVZV","jd_47ba67c708cd5","jd_742a0938d2660","左三一右三一","jd_7f9a58c114001","lithushpuppy","zhangyangz_mnd","jd_5efcacc65448f","jd_4b506cd4ced2e","19911042-212620","jd_nUWozKjaYCEn","jd_4baddcc06e992","jd_7480725fb5e7d","jd_6aeb13b45988d","jd_5c838db41d930","kellylianlian","jd_4717fefafd938","630508577-482947","jd_dAfmclqYlhhM","jd_67deaf4c4fb27","dongjun613","jd_703f5f94e9faa","jd_7119c92bfb6dc","gdgdgd007","jd_53ddc0886f9ce","jd_53dab1962e6c4","15777521570_p","jd_60c8ef9518e7a","jd_5c6e6da3db9a3","13545163503_p","jd_59afe75b79e1e","jd_ZvcKUrpmWoPH","jd_6949b39a852c6","18360737400_p","jd_ZXMOMYTwuApp","jd_495f3c9992c11","jd_7b9077b0f5e52","jd_758c4bdc948a3","583166@163.com","jd_6c71cd55b54ef","jd_ZMSZdcszBOaP","jd_7763640e17188","jd_54cdae88a83f6","jd_51b7782de4cad","sun930302","jd_lWIYyhMdIlRf","jd_7988f77c2fce3","jd_60a5e7f55d960","jd_fNeIPqNJwceR","Mr_小宅","yanleinet","jd_4042ce473af62","jd_417bc0007b9da","jd_rQWjdGEfppGN","313387386_m","jd_6771a3d61d8df","13566163893_p","jd_NuZLfJXlPNBO","jd_4c39644865903","詹韦伦","wdvnMIsBtDOTuL","1455750812-585002","jd_6a1950ecda95e","jd_45b183c644b96","zhuyefei1211","jd_5911af1829911","jd_5cb017af359ca","jd_68eaa375a224f","13680451231_p","jd_pwnNoLUpEpny","jd_rTwfXosZmAKI","jd_543a9fef8f993","jd_qmUiRuMKazEC","jd_5bc1274bccc82","18069870880_p","KNocTis","jd_447f1f409a9a7","yc_跨越七海的风","jd_69af88d0cd344","jd_5c75b01e1c382","jd_MOnywoyJksQr","jd_6ee3780fe6d6a","jd_bwdomSOHLqml","jd_JZkSjmwlefyq","zdroger","lyhan8686","jcjyxjs","200031451-19642357","jd_aFrBYSAYwDRY","jd_6def9f6b7e500","jd_6a23d0e85d63e","1434082525_m","z18516575849","李巧1994","jd_sIRJBVUfhjjH","jd_6defa1a725eab","jd_5e7d07c3b505e","jd_555c6264e5862","jd_5b203fe06f0b8","wuhenstar","heimao_hyc","jd_4d15b483d0e85","382474020","jd_5dceb8053307a","jd_iLQKjmSUacbb","1765427593-145702","jd_6f7209ec199d1","1127659861-584079","jd_62d5d41c23f38","18606965848_p","30974940-239666","1967551-19270481","jd_7dabf04def99c","ZJJ147889782","QV0d","jd_AJdnoQCaQkwP","jd_DmtkQlHkRDbM","jd_71d72c3ddece1","broaderic0","storm_hammer","jd_EkdIvmhgchel","jd_7827d415577e7","jd_64ccaddb72a86","jd_gAyPcnqiaCRL","a23174567hqc","jd_71cf40395882c","jd_67bb1ac8dcb46","jd_6d5fd76a1cad4","jd_627bbbb8b3172","shona_liu","cncqboy","jd_5a3c59a63acac","帅得无以伦比","wxfei3","dv2017","46808052-206702","jd_6f925246487ac","zaqwsx076","jd_vanwalk","jd_PbTJTztJNTlp","包谷米米包谷米米","jd_475034d2a74a8","jd_69a85439eb59d","jd_PABmRTEjWKeZ","jd_6142e1698fe49","红颜惹人醉Y","anjkbjw","jd_6d148565370d2","蓝翼LOVR","18318906969_p","zou7570563","yukpui","jd_4e426bc880713","3726985-95842519","jd_636b717acf40d","262212756-990875","23449745-42740537","jd_579ce9c6bb4f7","jd_59831f770879c","丹丹婆0529","cc875668079","spring0916","90625290-177058","jd_NztHRFJYnMrr","jd_464f95f8571b8","jd_7f47641cb48a2","jd_618aac5afd560","jd_47b650f6fb035","lollipopme","小粽子mami","jd_6e8621960e7dd","撒公子","7517320-83429449","sky2060","你妞哥","13536685017_p","jd18106966668","jd_BlAmrdyATRRA","jd_pczFXUgCxkCm","tjiasong","jd_mAgwNNodOoGJ","jd_7c763ea43ae7d","jd_bePJBjiIvlyQ","18603517846","jd_6358444488b76","jd_7ac76acb9be13","awei475632","jd_4c36e0a9c050b","gjdkhk","jd_502c47531d8f9","jd_584ed358c7c0a","201116391-607759","jd_5d27df46fc86c","jd_4057b9c932b50","jd_xGQGCBeRpaaW","jd_7ca6197536dd7","jd_79006740c31fa","jd_6e65963fde8c1","jd_dioiZoXcWIKB","MyNewStar","jd_4f5bd67a18932","18040727845_p","jd_DiejMZYsVeTN","jd_49e0f87cfeddb","云先胜","jd_6047631622507","Jensenwo","jd_67add64ce555d","jd_bnIqSEzBgZpM","Dingchuanxiu","jd_6426517987840","jd_7e93df7b343ba","jd_mKxRzFzGanOg","jd_5922ff5df22c3","稻鲤","jd_51b2e9d4e656d","153419414-454062","jd_fLAQKhqKEfkz","516731530_m","jd_4fbdf2ffeadc8","305503734-374844","jd_dlArvdEDFEVh","q9020","liu天宇","dereksd","jd_4bccdb76a809d","jd_IxweYvnSLnei","jd_TNdqYhHWTgbR","jd_NJFgtUqvZghs","lucktot","kllua54","jd_6e18e1594e65d","jd_RENCGqfcjElU","奇趣史蒂夫","jd_iVOAHdyrJqhX","jd_orrVzgERfzLW","川川6238233","jd_7c89677910dfa","jd_7377ee608f432","jd_739b4b9b7b30a","jd_46398ca4962ea","jd_MMcljYqUkaUz","大猫和她的小虾米","jd_RPMQhpFlwcPv","lichunyu117","jd_7d78f77cc71cd","iWinking","jd_7072b0f4286b6","jd_4127637e096f2","h小卒h","jd_5f09caa4c2967","shadow_hw","88574735-334265","jd_6ca20f4516f0e","87509234-57407631","jd_451ec7109f750","jd_ayXumfkSIzPu","wuchaoju","93376665-85936974","jd_426e3c9fefd92","liuxuqi99_m","13715797925_p","严新林victor","241470387_m","魔小紫龙","tkrapgl242_m","jd_BsUdWZSXgeah","jd_564cb8fdbe08c","wdqfepCEfjVnDj","wdgoeNzaulANwM","jd_4e8f7b28efd50","jd_644a669e362ab","jd_mcbSTldlHkNP","wdNTsEjlGaLXTJV","jd_45fb80426270a","jd_694750f7d0254","jd_7f33911587476","jd_QmlSvlKTJTpn","jd_5b9f25de91637","jd_NjdUhNTgUlIi","297283830","wdDSNiPnbWPbwK","jd_bXfHUHSbagBL","jd_5e869bade939d","jd_lfhTKfRRTlrc","edwinzhangjiehua","357285078-197429","jd_CwSVzweTtPFE","g羽翎","jd_6c158e192783f","jd_cdomTVUzJqkX","jd_46c520671cc09","670982594","jd_6db89219bfb02","duguhailou","sabrlnawow","jd_549c86b335a4f","jd_nBrKbDcXidZr","jd_UFgGXayULKJV","jd_5305fb20186a6","jd_7d9b92243b8df","jd_6b819c4ccf2d7","wdihtHajvLTSpz","chenyu891208","426218811-161334","jd_458b405863c55","jd_401ddd847c12a","jd_iKYIrAyjwSvz","kingxc107","jd_5422d336d07f2","jd_4e49b1d957949","jd_4d156df95b289","sp_lxz","xiao530053922","vccde1","jd_40fa4c0d0202e","jd_7418c3c3988fd","jd_5cdc4cba88fbd","红眼兔子2012","jd_7710b3e1f8569","jd_5a62da63e41a4","xqsx42zsy_m","jd_5026d3fb5be78","jd_721e93e15810c","jd_6de59754bd742","13126576773_p","jd_79d8fbd9df54b","杨几何","jd_lwnUFUjHLZQX","jd_7aecbc5de5234","jd_6c2f13710493f","峥嵘岁月11111","18695122670_p","jd_7e6ebe60ce44e","jd_74dc40dcdc1c2","jd_ngtKeQUtPauM","18627721398_p","飞贼老爷","jd_42877ce70984c","jx20154","rootjo","jd_571ab53712a39","jd_71ef98a987eae","13567645906_p","jd_7212d6aa4c525","jd_74509601ad6be","skyfire1945","15539128123_p","jd_7eaa66cd131b0","jd_jRbJBbcVTZAW","jd_64d18d90cf656","彩虹色的星期天225","wl2001s","chenqi128","jd_7ed70a1367be8","jd_cnEmTKcNEjxj","梦想的商业","12345H495","jd_6f1e1b5d9b940","二莽要吃肉","jd_565a1ef963658","jd_cHkhIMsHcqYF","jd_75896465076a1","jd_64e1df4296066","jiangjinlun","jd_ItkoFZbYunQx","jd_LsxUpGLDjFGh","jd_461485688fe7d","kiddoe","jd_46bdda5e50ba5","jd_CsWLnrjEbysB","海蓝色121","xuejiao11231","nataliecheng2010","兜兜2兜兜","wpw622_m","jd_540c4644a9a7e","sc104500225","1336083296_m","jd_55fe87ea26f86","jd_63f102707e4f1","jd_49f390ac8cbe1","jd_71e4a8eb916f5","24041209-484973","chinaptao1","jd_7ebf7322f4d39","mrhechao","YYR970805","jd_ekegGHJBgSAU","wdrnuBmPpdToEE","pan221290","tasty-fan","irisfurong","Dan4727","b756942525","jd_nPcdMLgaMePP","jd_7ac71f021466d","jd_yzQiiQIqWjVy","jd_4510d80b189f8","wenjay1215","jd_5b5309f3ae709","郁甜饼","jd_611b0be146d39","jd_zEnCMALekcQB","jd_504640beb6a47","jd_54bb18d729803","高山920114","jd_444afb55e9cd2","jd_6148d6374b5ef","wdghcnsTtGIooS","lyh4316","wdpJUuUBMDSabz","jd_5fc7789cbd91d","jd_79058c19a0188","jd_5481b8a94ac7c","jd_6bc1db180ae07","jd_yUMAohYgvuMn","jd_5b00de63ec853","jd_449fd500b01d3","jd_6834c6387a65e","jd_UhJMeZzCvnXA","jd_7fc0d9e238255","keteri","jd_631c976579a63","18649706242_p","lpf1376069842","wtctc","甜美的约定521","realfatboy2","ysytcy","jd_LjtSzumrYgYm","15588331508_p","jd_52dba1b0ed102","jd_57280489f8c26","jd_4bd5bf197ae00","jd_5585d08ae295d","jd_425200fddcbc4","jd_67535b07b2dba","jd_XywMlmgilomf","ma_xiaojun","jd_590c2c075ac06","潘18458658692","249056960_m","jd_QonLqUwsJBjh","yanshixiong33","jd_64eef6118a088","jd_WSGoRsJNpKLG","jd_mmkQAPHzElwj","jd_7207f2a470b8c","jdgonow","jd_7539e7a4a2f8c","jd_5f6afd552147e","jd_bWkRVAQCJISN","hzg317477458","jd_ShOYCZNDsUqz","1398092467_m","jd_645ad0bab514d","jd_6e69260736224","wwwxinyu1990","jd_5732edc5af786","18005715241_p","pearl2464","michaelhejun","玉奕儿","jd_6e7cff3376ba8","wdjySqJGsUyoWv","jd_45ce025ef7382","jd_vQgCXZpCbnqF","aa82377233","jd_7720e2fbbe614","qi1848983613","jd_62971cc20463e","chali522","jd_lJvCJMGlLKMv","jd_WaridDuyHLtP","jd_iRhJQfEaDBCD","jd_7e51dfebadcd0","shuaijinjin","haol001","15343829987_p","139433442-169990","jd_PgkFAErBcRuK","温伟保","昔年898","jd_GJcSlptipvoE","jd_zfDzqSpEOmdy","jd_70a6817e49079","jd_RPWsMZxYqvFF","czx886058","yijingjian","kkk1998884","Sunshine_201808","hailong1235","jd_79e05162022f5","tkzy09","jd_570cb998e762d","jd_415910d727585","jd_417058a72b935","jd_LiyifBjauFyO","jd_718c184a121ba","jd_xEgGnATNqicf","jd_7614b77332983","jd_7c181221691ff","luckyzuck_m","jd_44439c8ff12a7","今缘随风","chaiyatao","alexciel","jd_7ba03c33a5a88","jd_72fd66e95f9db","jd_71c94e6ab9655","啦啦啦和我","sonicfox","jilinpanwe_m","jd_40f94d3aeae67","jd_ViQdDaLCIgtW","jd_401a530378cfc","永爱潇","jd_QXKPEgUdSUmB","jd_7bf1ab1e6cd65","jd_43a184d2a6e00","jd_7c3acbc3016e3","madviper","261231-97509015","宝贝的小窝窝","zhoulinchen47","798214002","bunnyX","jd_6b302ad4821d7","jd_67fc85ec810ea","jd_6a73b5f65d663","尺度游走z","jd_6edc6cc98a77a","jd_4f2a70301ac08","jd_559057703f80c","71764888-40969094","jd_6ec79830145c7","jd_6f559eed6a2d9","jd_6e7a2ac9eb93a","jd_KHMPrjevYCtR","jd_5f5a582d61336","c77187326","jd_7882b203f1024","zxfandyy","wz0104wz_m","jd_sCkPTAMjzart","wdTXsoWTuPwxXG","jd_4bb76aa833e90","jd_SisvzLhXhwiv","jd_XHsrkasXmlpm","jd_4ed1f74598136","jd_7f0014e9f3ca5","jd_503bf419647c4","natalieyel","yuguoshi","jd_6789776e8b1a7","jd_7e78e11668e99","小孩子大梦想","qqqqq2525","68376853-271675","fzzhangwenqin","沉寂0215","jd_46fcbf0d9673b","jd_612a0d99f23dd","57562216-62545499","jd_4d9c125884250","jd_592b1e28e4b29","dmairuru","jd_50cf195cc9224","jd_5f100403d4fa7","先先贝0710","jd_dDCQpAdRzMqr","jd_44d915e006888","jd_46232bc896ef2","jd_6bc4f847938e8","jd_SYzoCuuIYPQL","samxh88","jd_66c1a01a4fc92","jd_4bd6947421798","30097-11716605","吻上小星星520","260589032","zhangle831213","jd_CPYyqhpbEKYx","jd_56097652c4867","jd_7d40b69c10640","jd_7fa843f4e2b7c","13503847778_p","jd_61a542ae36de6","jd_BWXaBrGVBGQl","cooliochai","jd_7f8cc3a62f8cc","13210765060_p","jd_418929ce3a2ea","jd_6c17d003873f6","jd_iaTVlguPGCKx","xwcoco","djudjbcjcbvnnv","sanwan2008","jd_4a14a37c65627","jd_73d7df79511b7","lanif","云雨轩辕","281306647-479751","jd_zpGxDtLNpIoR","jd_BoZLrkRTNTCU","zzy_zwj","jd_fgKPavGgYnyh","jd_48e038ce67834","ruochen88314","jd915634","jd_LddxldqrRtpe","jd_6dac4844b408e","jd_792309124442b","jd_nQlUnbELzlxq","jd_6c3a1ca6b7028","jd_4165deadf1844","jd_7dd3466f7b1c1","jd_OhFliCEXbKzm","jd_5567192da2fbb","garfield12345","jd_7ef9c317fc674","jd_4bc9c92a88a68","jd_64daf05a7376b","jd_7d64e4a791f00","jd_7239dda2483d3","jd_50a3808477f23","圣辕劫","lrglyr","wdNfNlErCclmOsr","xxb1983","13226985572_p","patcha_mu","jd_79059446b8aca","jd_7e073ca21ee65","jd_531e2e729ab7e","jd_5db302d2c5bd2","jd_HvdbWCUYvBmC","jd_65d4d0ff7655f","fv558896","nfsq11","jd_69e4f01d38c13","kyon2046","jd_5533d8742e542","jd_52c908cb45002","jd_72636d92c78fd","anc8899","wdiTstDxaccyBC","jd_4cafa4eb9b63a","jd_KWniUPdujVTV","jd_rhVNKoKNatiq","jd_tUxumfNEUfKD","jd_565d7adf9f2ff","jd_5ccb480040359","jd_DPNUAQTsYPAR","jd_67a171f8c86fe","jd_42b2d8f3a9ea0","jd_GTrjaToSGglI","淡雪993","jd_CBoGZwdpBoTj","jd_559b00270319b","jd_655d9888fd789","jd_58b12c22ba7a0","18256923930_p","jd_405a41883d569","jd_44915590c189b","276284386-865597","胡胡爱你","jd_60751f5170822","putiwangsheng","jd_53b75dac6fe41","15556562236_p","xzh836069579","jd_67f96eebb182b","18873940756_p","caoshuige","jd_773ca6416680e","jd_RsdhiYmyFcmk","vivvin","byl145","田阳波","jd_tKvIQFSOjtLd","50391999-51534396","lcblcb0512","jd_52edac4af0061","jd_UzyAnhXvLCFY","jd_53c2e07d5f4c1","jd_5ab6b7597fcd4","zengxixiang","jd_YZXInpKXhvFP","lonchy1215","13067993738_p","wdjDNxpSATPyaD","王令wangling75","jd_cLwTwOaWoedl","jd_7ab24a6884551","shenbin1980","dolphinzico","wenhui7100","pzwsquare","jd_jntnsnRHIpzG","jd_eCrbcMAizydF","jd_4433ad081d4ff","u_42a8bb297adf8","jd_48415f116f434","z15884892349","jd_73a6c43f09884","wangyi4101241","jd_xmXuvgRwskcp","jd_54963290bf0c9","jd_4ab4b64cfd34e","ldl811219","cqchenbin","jd_gFSmERZxjmhp","jd_5496251855219","jd_49d66dde74b85","jd_5e9aac0abee88","jd_77cdb03ca6a4f","bio12110","jd_4e54fb68c3a0f","wangzhe970329","goulaoer","jd_5b7c6f262e0e0","陈GQ","15278532687_p","wdaXfxoMiMPpQT","jd_kRVxlLDYCdBc","jd_58806bff4116c","jd_753d8fe06428c","jd_689e64850fe0d","jd_6c75e03ee61e7","jd_wUlvWRlMgFdS","jd_gGyylBmmddll","jd_4fd4dce4a5135","jd_4cb332f20c043","jd_4d52b013289ca","jd_7cf060482b7be","jd_54a5655c0fada","jd_728b0e1c3355e","18500529608_p","iiziji","jd_758d1de26bc0a","15166996640_p","bg9bjz","jd_IjMnccNrkzNX","jd_7c6294aa77b15","烁烁果","yugoushu","jd_4ecb4094e29d8","jd_NZxYzHTreYHu","haifeng101","jd_DqYlRvhoneRb","你满不满足1993","jd_65f08fbaf3f5e","jd_4e7acf904c976","jd_YsIkYGPGEnvc","jd_GUnpvzkejSIF","jd_5626b166dee41","szcare","jd_69f0e7aec5895","18668123676_p","stampedelin","jd_58b785d8d9ea0","jd_571f789979e9f","jd_BuomvLRFbiLP","jd_49630197ab2ac","jd_6630bc5ed901a","jd_4f75cafd03833","jd_XInXhyZqVpXG","jd_63d8642d47751","jd_459a3eeb148d0","jd_6066783c0c296","4574537-496527","jd_5a5679f1f52aa","jd_HyCnaFibhdmS","jd_59a9b4668dd8e","einzmc","jd_JUeItISoQvUG","sunnal_cui","jd_614e85d51d9c6","jd_55e73fedad952","jd_61cd0346b8838","jd_qwVPMHvMDEqa","jd_56b44b461349e","jd_cFtQCQPuWLga","jd_4b00c89608cf8","jd_QHuuyorFrUxV","jd_59b60cd6125cd","jd_utfpnNvStSFs","桜心","jd_6895908ae43b4","jd_50c78813ea4c5","wdCfGYhJGhWsPt","jd_4eea6f024e9f9","jd_4f4ecae43355a","jd_73905d006b912","guyi1987_m","jd_6d8373b3a6563","jd_613b26b653550","jd_5b03c2731895b","18731310757_p","jd_GunibUNHejWu","16000079-692785","MIKI2814532986","jd_6f4c1eddd9964","jd_4b93e3feffd22","jd_5a7cb6d4477af","jd_6a8ad58330003","醉酒听风雨","wdxGCasQAMYnng","jd_cZhdFLQJWecl","jd_437f2c40b9c50","jd_47f73301751e0","liuj1a","jd_793ee269c5b7c","wdPtOTVePpSTyJ","jd_50240a3c3c323","PanguTeam","jd_kDbmAxRfOaKj","jd_iiVAaHfVwEpH","jd_HZnqnkugAxSv","jd_72a11b7c7b864","15818163664_p","dtwya920","jd_5520f95b592cf","1387508871-687112","生活想简单","jd_76c84862d5187","18443121462_p","sky_随风0212","jd_SYMOVDrRPQJQ","jd_6fd4fa7854140","jd_7e049c8d5e158","jd_4fa9ecb3d1330","addeyos","jd_gzIlUPuXojIN","jd_58c682ccfc79c","QD051","jd_458cdd2c51a60","jd_5fb06fa143a25","jd_iqTLroEoLmBK","jd_PYDNySRjbTUy","jd_PKihPghgrzzP","15554909210_p","scga李蓉蓉","248735868_m","jx_llf","改变风格368","jd_794b7acd149fb","这是谁家那小谁","猪傻叉","jd_dyQSPfawJhdR","jlicon","jsnjfz","jd_QxFBnsbsAuhq","15566054320_p","wdIHuQSpfKjzlo","jd_47857751ab11c","gackt7788","jd_7d168922c9a78","jd_65d697d51679f","kongbkx13525499539","jd_67ed14fa763f1","那长","jd_448e26564ed2f","jd_6bfc0e8b0bee8","18665051746_p","jd_5e1d82d91a7e8","jd_455c64bed6d63","jd_613b8e1d8ce9e","yjjyjj_yjj","jd_wUgMFnZEkmWp","394686330_m","jd_71e8e358cf9db","jd_4212bd1379611","wu1wen2lin3","13952894479_p","jd_YYBhCzlOCrCB","jd_501b2bb7f6cc8","jd_BlGzHnMLSDlu","jd_NykurMeDgZXH","jd_40663232c3450","水有长流","jd_5347d7a59a08a","jd_4564c2f38a05e","jd_626cf92bc2bb4","不够格的小流氓","wdlEVwGYFfgxCO","jd_454378db79d00","error006","jd_4dd9f589cd901","ericwcx","jd_JVeMuodePeSV","jd_6b22b91671b6c","jd_VqOChuEDMFsu","jd_5fdc84f26e60e","jd_TorSIrTZYhbu","jd_683e333a38451","jd_7e7f69ba6f712","jd_6320c519bc496","jd_6d698a4dca8f8","熊素芬520","jd_7aba8d4d10c9c","ekil","jd_7d2ea34fc4c6d","jd_64ee1ac79d55a","jd_4aea52a005a7d","邓丽丽仔","jd_7db953d9d886f","alicewangfang","jd_45bc8280e8fb7","jd_588150b4ca75e","jd_bKrjjAgsBOAk","jd_6b9907c2160fe","jd_751a26ce07909","jd_7310e2fe5bb1b","jd_620374923a0b1","jd_568e02e33118c","jd_6a04eac566083","jd_6c14bbbe00d1f","121172971draz","棋乐融融10","jd_sluNzPLUPody","jd_djwOsVQlpxOF","wchm19871005","jd_LBocEORUxRIg","garyiori","xuzhixian19891101","s1428131515131582","hou-my_m","雾锁心泉","1121809-77702808","swnning","zsfoxx","gxc130925","jd_6cc9c62b21b71","19569308-924441","15045102716_p","jd_6dfa9f9f9112f","597新罗区邱俊艺","chaoyj","mmzaiwms","jd_70cb73ec86052","11537621-182931","jd_6bff03740ce62","jd_cFfOaYsejMPq","xiaodongus","jd_zZQiKnUXmvaS","jd_5ca4b558465ac","jd_4259e2fdde503","jd_oGmDsjsfvmFw","kellyzb2055","jd_63575ca281f82","danse911","jd_UVSdzcMeeoHH","wdCrWdBvcRKmsQ","jd_RDpKFSVQUXGg","jd_43ad5293c6019","jd_59572e9d2ffa5","xq-436582-lmm35","xiiirww","jd_5b02695b3b815","coldog1980","876145734_m","jd_7740ff24f4f84","wx4766","Bakala","jd_573fffd9ac96b","jd_7c263f485fb4e","jd_5584910e7987a","wdAwWaAqnUOnQr","jd_593088b5ab17d","jd_401d0c2a78c1c","jd_42a2af99f6e54","ningx_921007","jd_fVWnWVwokbej","jd_7624f070bc413","jd_422fcb38ae613","jd_461e1c38f8702","100459037-189044","jd_OuLtTGUYXcTW","科雅LPK","jd_64328394d4ec9","336507680-147316","jd_pHfEvGQlJckI","jd_5cc6ecc949a02","zyyoo0613","t1175783297","jd_75f39f23171f8","jd_7d151bd097b6e","jd_56aa9344ade2b","jd_6013d00c3524f","jd_78dc2fe7c86bc","jd_77d5d20f046bf","jd_53950b364fabd","362925628-396582","15680886793_p","jd_54f69cffee3af","148608509-550648","jd_44bb6ae1ad254","18631161256_p","53776831-49547733","jd_6572705f33bde","STT9","zhaosudan2016","jd_54a0da44058e5","jd_62bf7ee344404","树下听雨rs","琪琪小号2号","废老大","jd_402088619e875","crueylll","wj321_m","3in1","jd_5999c99bff800","jd_kNozjVZFvpkn","jd_ehvEEVRrHTCi","jd_tqtxSpLipmrk","jd_ZZNxwjGKeJPb","jd_focmPGqkrRVC","jd_4b58329748f54","jd_789d312a5adc4","55190047-594937","shengyusun","jd_538ec5e3dc275","jd_fqIJwswPshMn","jd_50c1e6be98e90","jd_55d7378ecf15c","kp2395820","jd_495eb46317a3f","jd_7ba4b79031a43","li1600465559","hi5681148","dj1203","cheungyau","730427-87068773","jd_462f9229c20e4","jd_4eb6f026cb8a6","xiememe","jd_6f09e719fcc08","373723666_m","cheney0816","jd_mwdlyxTnDiUH","比取谷八幡","jd_WMKMseVOdPuz","catherine33333333","帝国雄心","jd_rFmOWNLtrGmW","jd_6f66f392a7a8d","suwmlee_m","jqs0818","620293325_811212916","jd_HndYGQnLbRCW","jd_rVjzMFwZKQCc","jd_gZrtrItswlqZ","jd_77de01e1bc887","jd_rHmsIEIfVoyF","jd_4cfdefbbbfa3f","jd_69b36efe43f06","jd_68db102301e15","come_on_you","jd_5a45b27b386fc","lhclijianhui","jd_4085ded170c10","jd_SCudvrcIdjdh","jd_COWlBxJKGJNj","小鸭873","尤大大的菜","jd_PYjlZdIwfzbs","wdPcUecynBTgeo","jd_7d78de6793f34","jd_540944c9dfcf4","jd_4d837819f6922","jd_5513b79ac08df","jd_77f974f760076","peach201314","18981300052_p","1023604458","1632515-912109","99975197-422261","jd_6a8311667bf7a","jd_467fdc0929811","15229701736_p","jd_GJmcACuMDDta","jd_wEJJtQLdhoVY","yawenchim","jd_KmknKsosOKOY","谈缓缓","红籽829","liangyn2012","kingjohn2000","103722198-329438","1051352003_m","174668514-189701","jd_4f3a53cbf1601","jd_sLeRDkPiriVY","241718224-134734","圣西罗的孩子","15866635088_p","jd_mdFTTXIAjKgq","jd_742a5d9171131","8313702688","heygu","93359662-669248","jd_477461e442902","hhy792","wdrLXIHSrITisI","chen7790501","jd_64a4d26d9ed1a","91103754-854695","jd_7a536ccda3a35","tiantian","jd_LfEdrDnJlKET","jd_CRJFTuMfKSmt","jd_614c0d0477cba","小澤瑪莉亞","wdnlFbDljtkpEP","jd_OCXTWOhSkpGL","85192cool","jd_74614fdac369f","jd_482ed4f04229c","jd_43aec570d6d9e","jd_55d1b643790f4","jd_519bb5d7c7d2b","jd_453623286b441","appack","jd_xJuXluqfjPvL","13935232189_p","jd_eiRsTTECFgwY","JRSD_RAYvb1618","2436026858_m","15062175771_p","waxsh88","15822729658_p","jd_753080b4b3e16","13868966989_p","jd_6bf1efba6076a","jd_6fe5e7b54b931","jd_aEKmLmanzCiy","casterpill","a283783349","jd_779e5f63ed10a","jd_4437ed54b0ba5","janeory","jd_5a6d0c8b0f847","jd_48dfab2876947","2011小蓝蓝","jd_73253545e4f8a","jd_542df7e077863","xujiake","jd_7cb7a86ab2f7b","migranter","jd_4569aa52f75fc","fred-liu","735817877_m","jd_670083da689fb","jd_AtgScIirriZv","jd_69bd0e9da7705","jd_7f75cb841b3a4","jd_738a2a81e832e","kathy0927","jd_wrsPKZAwLhiO","jd_UfTncormjGzk","jd_suFfmOfGqMvg","jd_vEaTPepPZazR","jd_47c4c35b1d462","jd_548a47fa1a4ef","jd_7ca3ee6cd90da","jd_69567625b699a","jd_7f074d3c09b3e","jd_chwhVsTKoVJY","weldatlantic","jd_55d294f9c7e1b","17816893901_p","飞翔jxh","jd_7ac8ca5bbcd20","taokaicn_m","jwd1208_m","jd_4b0ceb3d888da","18682019504_p","69957367-192357","jd_55b918b8e7db5","summeryan129","aixufan","jd_yNVIEsykdKic","jd_vkaxxcPzlLSH","5547519-81416570","ilmare","pcy02","jd_46f49cc85f6d9","jd_46e34ba42d4e1","jd_4352cddee214c","jd_4fe99060b4645","15601710972_p","jd_ulNEBsKjJgUn","jd_5fc8087d3ce7e","a597584442","47995111-550215","1397596667-967151","jd_54ead06ffae44","jd_77fc095a68140","贾聪聪1992","jd_757f6b977df0e","见崎鸣","jd_7d7737fe543f5","jd_vvtmWJxdNVFg","zhaojl2011","jd_782b131b1ffad","jd_4ae9afe092205","795247-49541529","jd_5df38d6de3209","jd_rTkVJcgXadou","crdog","udbrave","jd_485dd6746a526","jd_630fd4ba0aabd","jd_57a21d9e86454","anthonysze99","jd_KlnwfZEzQRkY","jd_kDLReJYACRow","jd_55b992dfc8cd1","jd_7ba540536cd70","安魅网络","jd_EnZyosoDrLdx","huatin123","4981638-496928","jd_422a72f5b3a3f","jd_446c3730d942c","15761610490_p","jd_yvpEZPXrYvUl","258842259-677571","jd_hEystBjzDRju","15295823660_p","你就是你43","hnyztz","cristine66990","15757831325_p","chaoyueziji123","jd1225873567","wdBZKzEqfbaMjS","wangcicim","jd_4098bb661e16d","jd_455facad965ac","1506337838_m","jd_vJJZEDqhcBuE","sdlijl","jd_XQzwbYmofRiY","daili0504_m","jd_ZmmNSpINyihm","答案666","wdiUKKDyLVnNYA","Terra_Nova","地瓜妈","jd_vXsHJikePbWM","jd_UYnQMSRhiyXs","jd_637bae60d0ad5","吻下去豁出去","95332518-106965","jd_68760d881ec35","wdNvIxHhvIGYzOy","jd_7d7946bf3af9f","puffxie","575上虞区蒋沪俊","jd_5b960d42c9081","zhengwei8762","jd_6173a1bbf8b3c","399948932-890656","huiweihui","jd_6772316a0e369","jd_477e3c33ac796","jd_518e556221899","dgl1024_m","jiangwb051365","weslez","jd_56b6017796376","SJY9504","jd_63697b3687664","jd_716ecf3fe9c0e","jd_4744cce20249e","645779072","gxlmj555","jd_iyahRYgYlolE","ylk520520","dmw444","jd_6a9b66e14f819","jd_770df446b8b71","jd_411d0084cc396","jd_58248b9ef4e73","494782858-912537","jd_6575c9a1e9c8d","13717112707_p","jd_vLjrZdppmmsX","无伤丶大雅","jd_WcBsWugXnDcb","jd_GNpHuBIHdSqC","jd_46f001f0e2757","sjsj2011","576123219","jd_63597b5ec9948","jd_724a410dd03cd","jd_690ef18be7d8e","jd_5039ef423d5e5","13735008768_p","liuxiqiang2011","jd_71e9d29ff89bc","tingyue-wu","emiham1218","jd_4aaeccaadaacb","jd_791c2573d4446","jd_xNsxEUeAgMWZ","chengjianglong","028蒲江县王莉","jd_hRdmkHigmcXL","jd_6b48467e56017","jd_580044c5dae66","jd_GfuyHMHomJdj","jd_RcbdrdiDooIL","jd_XDceuZJLFWSc","jd_728626fac628c","jd_6217a007b3ab0","michelle_z_m","lily99wjk","jd_xJCDdraVwEGQ","jd_77ffba99e87d2","jd_VdpvDUavnKnv","jd_FiVeMyfTDYEV","阿达大大的","jd_HtXraDlPqjhj","jd_ISwaxKEelQkn","jd_IqAABXNgWAsY","jd_408c10402497f","jd_dOePYmOBCqLq","jd_41010022753e8","littlesky87","jd_56860e8b18248","tiger830","小灰灰_你好","几水","jd_owzKjqZAIVEO","13508975696_p","jd_569cc5336ea29","jd_69ef900df8f4e","yufan0512","马大小丽","jd_6264d7ce15bc3","jd_60c60b529c62a","jd_QmaGTrGWmELb","yjj_126","jd_bTTKGYKEGXsj","jd_5f3da489240ce","javonca","jd_4aca353145ba3","jd_51616f59e0eef","shenruyi23","jd_6a43f5183c0de","jd_4e87639bb6f1b","jd_4948cae03d2c0","jd_vFsNGmfzRhXi","akbkcklxj","jd_evndkOkVGJpG","you_less_m","tuonika","yaku2688","jd_57af223bfcc74","1309893722-164885","sxdselect","jd_mjDuUOwLIqDY","jd_7aaa40e16412a","ybjtt","67827877-839154","林玩君89","jd_46c6e3b31964e","lyh8120","alone_yang","fjb54007","jd_540f63e95a30d","551肥东县李跃东","ichliebe_cmr","jd_526fba1132ec2","jd_OrHWzSfHcdAl","jd_4bd42f5798879","jd_6f7131e86e5df","jd_6c69d860e85e4","jd_5cb82f857b5a0","spxcre","jd_651c65dcf2e2c","jd_4861989fca95e","jd_4bd6d04520ede","hhx012709","hf可乐","jd_urJvLTjnvIfV","froglh","jd_6cb70b314f6ad","jd_7d147a198f23c","jd_qBStbjGyTmoD","13918863380_p","jd_72606d83978be","slowsailning","jd_72fc062fc157e","jd_5ab2a1038d610","飘蓄","jd_5f2989e3cf2f2","xnh1978","jd_5856a61438598","jd_kGCzdWMNCjEk","photofan","jd_4f37f67245c8b","jd_4697e05dba645","15619228212_p","hetoo","jd_eMLvTyDwSvLx","annzero37","jd_7682b061be4a7","4612063228","jd_7832d23415d13","lixu9337_m","jd_5773b63332796","jd_532d609db899a","jd_70e42bebbc8fb","aa1123369429","jd_42e98b9090ad9","jd_kaXQAzTSGqbk","cnhongwei1979","jd_LHGLtSSGZklY","dgtyki","jd_5c0bbab55c569","jd_zTAHufnvmYyR","wg521118mvwi","艱鰬墆裓鴮","jd_6c0e307fd880d","jd_4c756215c282a","198746157-84086461","jd_7b4b5b2255097","jd_710d381fd1067","lulinsnowing","Pemolo","zzlzfh","jd_4c2abd5e91de0","jd_78a74d15ac7a5","yucl2008_m","面对疾风吧555","42705127-908562","jd_WdUAtpkOInJl","jd_arkjoUVdqGLC","liyafu0407","lwx16155","jd_mIzEerYQOKSQ","fangxingwei123","jd_453da9446b365","lwking3569","275732804","mi阿然酱","ningbormb","hjldare","firm1259","jd_hqvOpGeNphGs","jd_7df2bb7e43e13","jd_ZczrNYjAIZwu","jd_FDNsizEbfENT","wdmvaVRFigLbcy","d786616590","苍小楼","jd_5c919262307f9","jd_rsfQUlovoiLn","albertyan1997","宋梓文","cf0309","jd_537dfaede4317","jd_636279b93710d","jiangyuhao1234","linhaobo12","jd_432b5a1a14931","jd_4b71f561629f2","jd_614635be185be","jd_5072cf9019b4a","jd_43575a951dffa","czrwm","云涛0215","清歌留风","jd_766dade41cb1d","jd_KKBrJwMwOfsm","jd_5fe725ff39ca6","jd_56da46e665c4f","jd_569b16da6e5f3","jd_7165d8dfb04c3","zuoaiping8_m","echowxsy","jd_4590d03e443ab","jd_sYONYMxGecCD","JRSD_ktTGi3646","jd_RcGxmNItkKCL","9991992531","95581245-627991","jd_56b375d2ce284","jd_5e63dda63993d","jd_78d449b2781a6","junkeone","jd_7ebf32f36d6f3","wdqEHncDRfUany","jd_660b75e6a2b3e","c18997922349","jd_mDCBAGSOCdLx","纯天然野生奥特曼","jd_grJlfMxIYUSE","zsy309080883","guojian316_m","jd_ZPdKGIoRiZER","wdLFqvixMsddpS","359962162","xhafei_m","jd_41ab9e8adb050","jd_68103f556cba1","jd_ZRNnllpVosLQ","jd_fPQsgDjXmGgE","jd_5bfa4a66363eb","jd_79567b0075212","jd_mnRhaRtcQKcC","eastwom","苏琪坤","15940997465_p","18616761131_p","jd_mPinUTubsZhJ","jd_711d2fca412a5","jd_76ba1df88f695","jd_624eaa01d92f6","jd_4bcf73a4c06a9","yuki19961010","手心流年1","jd_HFnTqdAzJDvB","wdeFOoSLyFKIQc","jd_6ec121a52a8a0","问里面","jd_72df09c28a804","jd_tyzZcOHeNHXj","jd_5a238fc3d2cbb","zyybh","jd_73d26348d5248","灯草","jd_7117fb287b2d5","jd_42e20fb8f2e2e","jd_6d05d915cdf21","jd_acECoieVJEfI","db05213","JRSD_ksFpl9700","jd_7f3763cc785a0","Wj105194","danyoutuei_m","wdGakocsYNUJYB","jd_sJVMqrwgnSyP","cqjerry","15212135152_p","jd_AHBWNWoVMYQi","jd_AwcCxtfwaRHH","jd_HOvORuvqIURm","jd_5ad356528dd12","jd_577c297e1bba7","jd_6e01e469df888","jd_4c559d7d812ae","fangxueyidao","jd_OmJupenlgsok","jd_4ec061c0cd660","jd_6d0998c30bed8","jd_lTlfQsuQGkGh","jd_65c1f94132982","jd_44b50486b649c","JIAE88","jd_6ffcb0dc5817f","jd_GmSeLPsQReGJ","jd_4a8415f125b8b","jd_4b99910529628","jd_ILDMhODtEIKJ","jd_BwVXfiTPEseY","曹方亮","sxl360198419","rastyu","jd_LmzfyPWvkaHN","jd_7fe946c283c32","jd_pWlaoEocMqHg","jd_iiOzBgDRNbbt","jd_uSUUfHRsKyIx","jd_pzcMGevvJrkK","jd_VAUgSwMbXcbv","宋不了","zsrjim","消失远空中","92031221-19831794","jd_438a1adb63b49","1645695156-480797","liujing172205810","232935545-613154","曹丹丹900216","jxw91002","lzd596049368","淘荼蘼","hyzhoo","jd_40f544ba76d4d","jd_4cddb779557c0","jd_eCvxNqAflWds","jd_7867bf074cd7d","jd_44e040a3165d7","jd_45d5c4933a241","jd_ejaDXOcobCWO","jd_720cd81b5e25b","jd_4b2a66b997e61","LLP24465","jd_53fcbab4f7978","jd_tPLLBILvuicc","jd_54fe715ef24f9","15800989605_p","我还是乔","CLOT-B","jd_XELbzjdUWNaM","jd_5f5792eac10a9","蔚蓝的回忆","郑振洪","justincnn","jd_uMRkPuLTBYPm","wdoxfkaondTyqT","jd_78e66dfa7470b","jd_6b4b070559a28","淡一点比较好","jd_40dc68219a4c3","xingxing7616","九月菜花香","jd_61eb3938d837b","jd_7f213ff46ef24","jd_gOxxOEXmsITr","jd_eIoaSSIOoPFf","jd_4ff77747b1aef","198936639-824999","jd_HxxdxdWWVrRf","wdNVmESxtEwRWBh","jd_EqFAoDltvrVa","dvdrm","hugelegend","jd_6ca3aa04b7e69","jd_4f9192f56bfe1","s1907521323138698","jd_496d3639702df","jd_64affaa504b57","ly520823","ravi1110","jd_hcsKTPjOxjvK","18688099719_p","jd_50c1079580766","jd_yjqdmAnCkmVp","jd_76851c6f16d9e","120840529-933145","gushushu","fanlele521","jd_UjLpmSZlLlbR","jd_6762354d15880","jd_oUORCBxzRDJD","13022835701_p","jd_658b25f054971","wdsZWVjXNvLUDQ","jd_siGKIGUSVcrv","jd_5477c5b362b7c","丶私有","szskcsf","jd_sSQnLESaOakH","jd_7402c059dc19f","jd_4be8e32c41d2e","jd_431dc03baf6a5","lichengjiu","novnow","jd_6a2918e70f922","jd_GJVgqOngnVAg","jd_5d6a053a576d5","102988088-17170316","jd_UTVteYKChOVu","wangguotong3","jd_418455b40a21b","jd_7ab76e452874a","zhangjing1987820","je54149725","jd_YafIptzLgjgP","三三五六","jd_5623b83aeaa10","jd_5cc4f16b9b67d","jd_HzvoWboKEyVF","5347885-515305","jd_mjivHkXCWwxD","jd_497761c828dd7","xjq18351979658","jd_YRvMJXuvpANf","jd_59131f55c6994","116422344","jd_5148c0f011da7","jd_709db8e5e2b42","jd_7563a790c8bd7","jd_50207878b7562","jd_66fd9c69b3bd1","jd_4fa6547e73d52","jd_4b567e5f2e79c","jd_636e1a690b0b4","jd_5cb736511d4b0","2272568283_m","jackson16","haojiachen1988","jd_6cd7866a49665","jd_6ca2445fe21d5","dragonnmb","jd_72cae10e135e0","jd_SjwIdnVTEoqQ","jd_6e241934538c6","jd_60e04effaee08","2412081501-119416","kicky19873","jd_731e93f6db508","wdKsVsUIuZdCHW","魑魅lx魍魉","jd_4fcac7ec060c2","jd_76b209f9c601d","jd_lDHfwufeaXlv","jd_7876223bc3d04","zhuzhonghao","jd_64e801d6db692","jd_IyhHvGaBRzsU","18931546601_p","严均平","18848955190_p","jd_lyEhEMVREgAb","jd_bdBrAGZlEwmR","jd_57b53449c8f60","a6363520","jd_52ffc7a3b476d","jd_46f0f0ad86805","fu992256447","jd_63c7533a4aa8a","benker2015","jd_63372205e4143","jd_pTAKcYCDoYUA","jd_aDRWPYAEmCNu","jingbo_008","qkrwhdcjf","jd_76606c6948b51","13604241640_p","StupidGee","Yvon-Shong","jd_718511bd6d271","shaojiang112888","xuhcan","jd_LVQJqgJNObok","daniel4by4","passwordhk","a3601001","woshikd999","jd_677a11f7c6b8d","kk891211xxj","yu-彬","jd_772fac7e92206","zebra_201403","jd_56f10ac21f76d","jd_71dd7cdd701b4","jd_AuOvQuVvMaCn","jd_63751d264335f","jd_682fe62c2d8bd","jd_7483bdbebb539","jd_707643ca4d706","徐蕾1991","jd_LWWnVZOeWbAH","jd_sCPwtAvaEKXj","jd_NnLUTvEAnfhw","jd_tQAvQTvUmuWR","jd_7f66376fa1beb","jd_jKTXhXZgcfMQ","1413854651-345332","jd_7026628756ca5","jd_55c58d1e6878e","jd_5e0e57a8dd723","jd_5bd076b55471d","132946735-100492","jd_786df28a73db7","kk578457207","jd_714a66acb604b","suyang0128","jd_70e711de563ed","jd_79b748edd55ab","amandazp1","jd_7b5e277c34b37","jd_4caeb21c7d8b4","mumuou","jd_612e5c2b571a1","775190860-994144","jd_719ddf158bfa4","15920453599_p","hibersh","MZGX007","jd_avMEtzfkBxya","jd_7f6ac094be191","jd_hbytsetzFCDa","undeadlove2010","jd_4cf2ca6389087","jiemaiy","venjays","jd_701cf98576812","15216336962_p","sunnyhan10_m","尘辰say","jd_aDlETymbcIZy","jd_5117aac2eef85","MindSculptor","jd_6910c3119f6c6","jd_lBvyYoDOBYiP","guyschaos","jd_49aa13eec9027","jd_6d7a2707c3c07","jd_oMYWqehZKtBR","jd_iIDWohZLTDwV","jd_TvMQGrEHZCNz","jd_61e540c0f4dcb","网乐乐406","jd_rlMqDkzEWgbH","向左向右sky","jd_6c274f37eb231","jd_UiMcUNNXhUsp","jd_5c4044d18b327","jd_7a6825aa9c51d","jd_SLFGwgcmjzUu","jd_4fcc50a7224d8","jd_5bba6da031c0b","stefunny","卢洋1122","jd_59b70a8c6bb4d","15230666175_p","55687275-771666","jd_5ecf4ab1554ff","111991181-927543","qiu27_m","jie8545","jd_710988b95fa7b","wskdo","jd_BeriquvIxUgO","二连长","jd_6f34262deb6cb","jd_VNmiwJUBBrrs","jd_pauxpLEZtGwj","jd_46982b911958d","jd_73b9b04277efa","jd_lEWjpPJqkfWr","jd_701345708e847","jd_4a20183e97839","jd_bTjZlZhOCcIl","jd_432c8fd43e928","jd_714602a989a42","jd_49a83f0fa288c","jd_7e70feb443d15","jd_7f36caef3c188","jd_6a3a9eabc9f88","幻月红莲","kurama_xp","jd_719ac74acfdeb","凉快吧","jd_4fd35f49647e6","jd_44fd2b7deee64","wdqpkWxaDkEFFU","jd_vyvXnuqZQFRG","fly_king","jd_5fc51571a7c9b","jd_46d4aed408d2e","legofans","dandan9148","jd_4f10924b7707a","jd_bPCmDfuIokcn","jd_4e97464d82a71","17596242-21930246","jd_6b94467c33082","ya1995","liujl618","jd_73ae8fbeb4831","jd_rzhRzblIVYbI","ruanjianfeng001","943697653_m","mqy_yz","粤东浪子","彼与彼年1805","jd_4eb1efc3e4397","jlspwws","jd_74a7652250a61","190933307-30140102","jd_702dd779b9872","yanhongwei1999","jd_47eaa3966eafa","812086085_m","cupandwater","小冉子乖乖","zmgo0703","434700717","jd_6e69cb1bc338d","d董儿d","jd_xURdzoWkzwfl","欲望小孩","lionbetter","jd_TgxCCANvJQFI","撒旦的马甲","haiguanzhao","zjgtree","jd_42b29e5fed9aa","jd_wjMuwBphjewQ","jd_46fcb7b332e00","jd_FUmPPwftZSKB","jd_6ac58227f907d","莂拗姑娘","jd_572edee67b6c6","daiying107","jd_GFPdgGFJbavo","jd_62f98cc19f779","jd_5ea991e6ffb88","jd_63367c7e55e44","fancyor_m","jd_636f23b688ffa","jd_67e1214075fc4","xztsummer","jd_47117a811ce8c","jd_6a1093a73ee14","jd_79a9b0092456a","weai66","jd_ZbtKGlxwwrTT","jd_5f8a23fa63bd6","jd_5a824b5191eb0","jd_56d6d6b268300","jd_6ed214c8f04be","13782250980_p","jd_5a8b4e49eeb92","jd_647b9925cbb92","jd_51603d523a107","jd_bhNFLnOBNKdP","jd_FiaaEUHSyoaq","Kyandi","jd_7b5a631fe6fe1","jd_XFsXfcQtvbWw","jd_7b986f77bec5d","jd_75f2bf5c55a9a","xgy971","jd_57bd7120495cc","jd_48d2a58b57be5","jaylesin","fennin","jd_62e2ecfaa91ab","jd_430413d06fc7c","何时我被时间所遗忘","jd_7e4e0f7805c5b","wduPzVZEHQadoz","jd_7ccf3e40e4b0d","jd_VEfoegflayoJ","1036605705-156893","wang-12321","18130903116_p","jd_5cc7cc95cc891","18502430219_p","gong4479","jd_YFWGDNDKVRSV","jd_EGzZLThdglcZ","jd_7bf8e3cd767fb","jd_71221294d63d5","Q9052289","jd_54dcb558271a9","jd_4a96c399cf420","jd_69928722b0eaa","jd_68d06cce45588","jd_65c69dbfee65d","jd_585af79760264","sakura_2012","jd_49dee53333c21","jd_DgheqHrRqEzs","sc081811084797","炸1234","jd_66bae59546f31","jd_6fe8ccb880101","jd_748ea8050af3f","jd_tbPQYFawXdZY","奔跑的奈德丽","jd_62113bbd6d5ca","monkeybape_m","wdNbZRMLHXXGTCw","shumisun","jd_55e4cb5fbcaea","jd_54d071d9089da","jd_7f188464d28da","jd_79cc0739463e2","jd_tRhkwJdSZGns","jd_xyBBaBhCqTVQ","w2304599","jd_7233c348e5346","挽歌孤寂朽年","勤子鼠","15990012775_p","jd_cZXmqVbnOyyW","jd_7854f071cda83","jd_oeXiXioUhdcZ","jd_6b353103ecc55","RayChueng","jd_6a0c94e5b4978","jd_62f5ecfd69149","jd_JrCguwaPaAPW","15391527752_p","150154906","jd_75873c39a8e88","jd_DShBTipBjZbO","小曾6406","Microbubi","橘子美人","18134458-116585","jd_pmBvsLTyWwQE","jd_53198ad4018f3","13308064157_p","jd_7566ba418dca7","820034797_319142956","jd_JfndlgKEKzvx","shayuying","jd_6e3ed71bdcc49","jd_4f5d19da58aca","jd_5c8aeb55f0198","芳俊丹可","明玉欣波","yoyo福宝","jd_763003a7bb0d4","西西里1206403","paopao360quan","kangbingkui","2547313983-594262","jd_4569f1b96f72c","kinglee_gci","sexy","nicole9090","anbo2008","天使缘","jd_519b37491966a","jd_4e8149fa315ab","jd_KHydnTbunAfz","chinablue6680","jd_44538a52eeecd","a1511923590","jd_49705528c0bb0","jd_6578dd92a05de","jd_4271708aa898b","Z-18279401192","jd_583736e6aa14f","jd_4d36cd35df2f0","jd_45596d7954ec5","IVERSON109163","jd_JtTRZKOfQCyF","15221198655_p","visaqing","lpmickey03","kingsprite","jd_4279ac827abd8","jd_fboorrxBUHkY","jd_VolSrIBtBjho","jd_XUlEblSZWius","wdFNPEpcHOhsmb","jd_uzlsOQfTVhON","jd_72ab498f4c89f","bjxjzh","jd_475f02e4083a1","jd_YXAPtJrshrRy","jd_XCQDszBPqkey","jd_5c9f1e58f03f3","jd_MTmJXqWbbAMH","僵尸遇到鬼","jd_772fcdfa7eeed","yangsai00","194641990-11589118","wdNZxkUIUYGmuZm","明月初升","驾校蒋师","jd_56ed198d23cdc","起航的云儿","jd_5a634a62049ab","wdNsDZhuWRLmQnZ","wdsMHxdQoPjNZS","jd_71611752f48bb","jd_qpdnlgeYcrIY","jd_54103bf93e463","jd_qSRFBcNSGZvf","jd_5ccd787c90c6f","jd_WJMeGbvfqUwM","jd_DOVySRBdphIo","jd_rlgEgMWeYFez","中山仔1980","13665112686p","jd_5ae5553498f63","拜托520","jd_qLsWXrnaEAlA","jd_5028137dea4c2","jd_YivqckGgHrzk","kurama_aya","jd_4706751495c1b","jd_WXmrGkdoarMJ","憩憩de流氓兔","jd_78bc8d846f687","63716871-974832","jd_559c74448dfda","jd_6e5a448a49d3e","jd_6aa41c2e0690c","1185909563_m","今天景","23562999-321511","zhang1135169218","jd_67960fb9fbeb0","jd_afbplxreTITQ","13792111860e1988","greeeeeeeen","jd_6ea232030e3d6","kigol","llinzzi","hunter2236","jd_78b629f0c83fb","jd_50805d93bfbc1","jd_48b98e35ef667","jd_vxDvVbSIcbXy","jd_59c775382e917","jd_75053873e03b4","jd_OxZpfOtqBtPy","大飞1994520","jd_545489b0148bf","ai3c","jd_UtKFWFpclJND","jd_wOaeVBCDmpJz","1556414925","jd_vdxdfLFxdBhB","jd_7f0a9095950f6","jd_TyLWfvUgOdbN","jd_6ba4782171d95","jd_jGlkkACpySDR","月心月士","fdm明珠","jd_52b86541490f9","180229592-149407","shannon2017","gjatbukn","jd_7412e52955b1a","jd_45865cadac1df","jd_4148db62dd1e1","jd_7fcf51c76e4c7","hqy577_m","jd_iNEQWpScvkmV","jd_49407aa6325e8","jd_7469f1e29be81","我爱我家扬歌","jd_pOncQVUYiahi","jd_7deb3f1cb2c0a","jd_676804a0662d8","jd_5fa8034097d3e","1932446425_m","jd_51e472cf66aa9","vac1209","williswell","hanyuyefeng","13317182430_p","ahrizqw","巨根少年90","summer3097","jd_4adde60a9335e","jd_724e0bb2eaf98","jd_VopVckoJgXxk","15147854332_p","jd_aTZAVSCMJbOi","jd_71cd1a75455dc","jd_rqZpQKHXNfPQ","jd_6d18c896a5067","jd_rEySZwwnrcZB","Master_Kenway","jd_6a5866a71e2dd","jd_qeLnZulcwUSq","欢欢604","13723676722_p","赅用户不存在","jd_7ebc9af0fc8c9","wdpEXEcVtkUqfP","wdNoyxoeHYQfLPw","jd_456f2621d6798","jd_5dedc7b17836b","jd_66728a3249045","chenyingkeng","18222556987_p","jd_743b6b951d646","jd_GBqkyeDRzSSq","jd_7798da502e5dd","jd_TWyXkUJZnAnE","15015264827_p","jd_7b122e6c5371a","jd_mPypudOChuaZ","wanghaiyan0415","胡小孩a","jd_75634f3f94e0f","xujinming0124","27886575-165561","jd_796a89d0376a5","jd_CljhufFrylaS","jd_7cceab3143892","jd_4cf2860e676b3","jd_6f47cda6730af","jd_4becfc6e72c86","jd_456f2541c1374","jd_oCgVtSoxfUks","zhaoloveme","jd_67970a435918b","a875536834","xinhai902","jd_5029f619aa626","我手机号码","jd_5ea681a3626cf","jd_4794e897e9609","13767382786_p","jd_JokSFWcGeIWG","zengwende","drawerkvm","jd_425e6ec7743e5","1827948-120476","lcb512","jd_5ba4488bfdf1c","jd_6d1bb26a6e93b","13437324120_p","18889977418_p","jd_4bb9077710273","yuli7665","jd_72a2213e93938","u_746470aa2aa5e","jd_5d7baec08f155","jd_7a7777a12ede4","jd_7f5b93e3e4c89","jd_eCQvppJXOElD","13983880578_p","jd_59fa81d213507","pinkle","jd_jETzcpBVkWBa","wdJINbxEVpJRRA","enjoyC宝","dv550881999","jd_PTLzLPCvgstZ","jd_NmRrDgScoJxB","342844415-510708","加菲儿蓝","jd_72f43a6dd430d","13385710003_p","JD7752","jd_5661d1e7c2a82","jd_JQEHOteuptJN","13910396438_p","jd_JgHAOvWqtgwh","yhwl8888","jd_5485d335c27be","31280004-468581","ahhh111","jd_48fa90b3e8f4a","jd_7ee3d17177909","jd_RXnElFbenFVc","66956365-145669","jd_70925d4cfe682","could_li","jd_51b44d3679bd0","21295-89328131","jd_49b72b75488ba","18814866187","jd_77ee9f9433cac","jd_77f51108b7923","jd_7caffe6b42aba","jd_ybQjhtGrnIwo","jd_7e93d1c29c22e","1159397096_m","jd_zheLvPPfECIe","jd_WpkcJZKoTvTW","jd_4de6a8fcaab8e","18394856686_p","jd_6efed0e2c1c7e","jd_612b523dcfe06","jd_59d4ea5ad29bd","jd_7d2f05290ed2d","gw4612090","jd_HdReDiEuRRjG","jiangchina2018","jd_571249f4ef4cb","liu19930226","jd_ejluyUcoFDSj","jd_EGnLEgeVJhyI","15071428592_p","灯光下梧桐树","jd_HPxlBbMzHixf","12124629-110306","JoeNik","jd_aplBDWfIhQff","jd_7bb3192427571","jd_51424fdda9b2e","guaxr","jd_42fbe49480f3e","jd_5586aae837025","jd_UYVaopDqjUjV","jd_731e0e9d35d63","jd_7dea0dc0583fd","jd_5fa67506f920f","jd_6f952258894cb","jd_461cdb5e3eb0b","13960108456_p","jd_VASTeNDjlnxs","jd_mJhisaBcFRdI","jd_7770b85eceac5","jd_BWtJidSZUcjN","lsy1719","jd_75632b0593345","jd_ayenFCrvcIFe","18072722056_p","jd_6d654f26d8690","lgxjdhao","jd_5b9dd8dfae6ff","wxyzleo","jd_eEMdrVUtbpfU","阿夯","tangsan1993","jd_MHVQIowTcHHJ","wdwRmFwaTMVLqL","jd_579296dae9086","jd_5fbd9828494dc","13873044412_p","yehao_tx","星源奕雪","xn408163898","而未央","jd_5d2bb87e0576e","lyonson","jd_68de7493ce199","jd_AiQBCjMmsiiy","jd_503395d6a0c17","wx3124884","jd_afioJsOflrxL","jd_7fb1e1eb55665","jd_XeEOqrCkqmOf","jd_46518ef3ec5b5","liujikuan1990","165381228_m","15950925490_p","jd_65f6222231123","jd_6456578a55404","1301254-98715331","jd_421225d0ba828","larymic","jd_79a4a1fe1a441","jd_7ce217e4f034e","z947511564","jd_6f390e43953c8","jd_62c8dcd44fcb7","abc253111","wdGlOBiWqPGiWk","jd_42dc8669cbddc","jd_tuAYveWYChVE","18696118-163604","jd_7affa1a7b0a03","龚天睿","jd_5f1cb32f51956","jd_53207842003fb","jd_4315e7f55cde8","3193850-614115","jd_lGIGrSlVHFqi","jd_7ac446bc59ccb","jd_42924e10e6fc5","jd_725cb2f8e1374","jd_4683e5221862f","jd_60c0be4a0a966","jd_6afe5d30664f1","jd_4bc33d12cfc55","15230868861_p","duhuanbiao136","jd_zkiBgLIpSahd","jd_vmixztWqaZmj","jd_6779fba99478f","18323695900a","sanfran88","jd_5db5d017aab85","xsi640","18610933369_p","有致生活","jd_48ed553ffe0a8","szsdoksd","tienchiu","5684135-60082418","wdNentxAWkIVkOi","xsjqq123_m","jd_4199d4b746326","5309090-48145048","我是我的情人6035","airterry","wdiUIiBlGlzmuJ","13667196918_p","jd_5d9f4007d9288","jd_fpIyndLzWNcl","jd_zPOhUUJPmXjh","18200477515_p","vwxyz000","我爱来","jd_65b4834100db9","蒂芙妮的早餐","cater923","15519047376_p","jd_52414eaf0bce4","liaoqionglin","jd_730342f5e480a","moonspell88","jd_6b7789b8d4cd6","jd_mOGwNDMxcVFj","hh2001","jd_464fbf6d8ec51","jd_7b3fd79dc8149","LinDan0118","时凤仪666","jd_5b44334947905","86393899-33557928","jd_6221968c5abf6","jd_50ca0d6639a22","jd_6c4c779ce274d","bootwhile_m","zhangli397604","jd_409d3414b79b3","18111258837_p","jd_rNDpUXphCWmJ","jd_7fc4b38a451fb","jd_4f718c2795b36","dssn182","jd_486abfdae37af","jd_eBzFvnWQgQbB","jd_rZQchqsoGeXj","jd_6d5c3b8946a4f","jd_oarcNdvaIUUY","jd_7368514f5574a","jd_6fbbd991de6b4","jd_5caa8e2646289","jd_52de3756703dd","15709916676_p","jd_5d47292f371bf","jd_755af174ab48e","jd_57863ec1bd4e5","jd_CVtcneqaiBbP","jd_6dbd94f0d88a6","jd_yNWEHTBOtJOb","dicksonkoo","jd_436bc4de51b27","dana001","jd_4c460c07f60da","jd_5799fbda8dcc6","武晓丽1992","hljmsp","jd_67a3e3398964e","jd_ZGeVbOFbFHOe","一个人演绎东炫","jd_46d17dc2e41d2","jd_5e48866851d82","jd_4ce1ea6830486","jd_6365630934e9f","jd_5a333f91daeec","mengbangdeng","jd_6dc5c82015d1b","jd_65a4f3636296a","穆小浩","jd_wmQJLbBoacdB","陌上花开zsl","jd_6b473574c8852","ins001","jd_5c842da9d78b6","jd_7eae4cf519469","jd_521f6ac2da54e","jd_4886c86ff2c85","jd_517b11c1cd9a0","WANG15223704162","jd_7cbdb11cb45ac","1005104860_m","wdnzvGVtbxHyya","jd_4caf938965439","JRSD_hRPhs7362","jd_VJRAxidmPNPZ","圈圈circle","ky6150450","371796935-368953","jd_528764c66cbfe","lucky0523","tlwstc","ppk0510","jd_56bb739112c6a","jd_7d2ef77b018b0","jd_78153681f0d6d","jd_7cb05df0345ca","jd_EUtahodTRMPx","gangzhiguo_m","jd_7cd83e8fd3761","wl953756948","橡皮520","jd_5e5ebb68cfae6","jd_6b7a8050fea38","719628-83431035","jd_50226eb7ac3db","herojanetting","18523029737_p","jd_45f030c53d0a1","jd_5c5f59137f4d3","jd_sFdYEnPceHot","15817075865_p","jd_538360304ea1c","18393467740_p","jd_61fbfce6f093b","五月之雨","jd_ZfvqkvBQprfm","jd_6c0da6e81443b","jd_743e6c55fe369","jd_7138277723f2c","jd_4bda803731dd1","wdzSQTpRJiOGCQ","wdsqXEgcHRBkaI","jd_5c3a70e4b263c","cSBSkjzF82_m","jd_bwtZzHpqxOWm","jd_69bf459598bc7","jd_VavranysDTtJ","jd_43c7ed0869a2b","1975424388_m","kaiawang","jd_79f4a46b5d34c","jd_737b329b2b47a","hdhz800420","jd_7f91133f402e9","小二离","jd_46d8549312309","jd_6d87067d29bd5","123茄子子子","那一抹蓝调","jd_5a7081017e050","13543648733","wdzygfJYmGPYri","jd_77cab6c312b8b","jd_6bd347745f9ab","jd_4084e3b049cd3","userzero","jd_743ed21a6add4","jd_4bd20183313c9","ryb1992","jd_6b903a328b9e0","18775061551_p","jd_7bef3beb4cd1b","jd_52a31fe2c940d","-不会笑的猫-","jd_gspVAvzFPNSw","e0236wang","13451750886_p","qq2519157","jd_pEAHJinySevx","jd_QdFrEubkCmVT","jd_795aa43e50e1e","pinkboy_","duwenjie01_m","jd_71c13f088ea85","_小小鱼_","jd_4a1bcdf50082d","640989-77235127","jd_eKYGQofhEbYf","81017154-47471579","jd_63520e4894a51","jd_5e29c98fb06a5","jd_dedpKOZOBcKS","jd_59c02e2be21a8","bei_wong","jd_oZkBcYdpmGCL","柳葱头","jd_48da718a5c3f2","15507514200_p","wdNLmtfbzshXRqP","jd_7e1c1b80798ae","jd_aKxtSPufnagz","sisam","jd_vEJVSiPShovR","jd_NTMMsVEYLttj","57434331-781861","jd_5bf8d13785d2c","jd_673847e44874a","jd_xfXRqsVbUWkr","jd_66cff81d7898b","jd_zHMAlLYwhoQV","jd_5453ccaf4268e","jd_EALHZMIuWNJe","jd_793af08e9d509","碎叶揽月","jd_5344f0e8417b2","余秀鑫","jd_7b42f11472bcd","jd_4208ed10342c3","jd_77478e34d13e3","abc9878","jd_6e2867ecd3254","jd_6385196e5b45f","jd_AqTSGDikDKyu","15927018807_p","jd_7a3254226141d","jd_52c69e25378bb","jd_7a68f7c1e097d","zhuangqianyu","jd_64dba5accb44e","fly12358","769895587","jd_cWCxwrMdhmTz","jd_4afc9fbe1b148","jd_513e3099bde5b","koding_m","jd_5a6ee1025d6e9","jd_5d67d867142a8","jd_4c0b1a9ac9552","jd_KZQoEkpEesBF","jd_fjBAldjnXcqK","jd_69cd34a9a3a19","jd_4b27013943f13","18779870990_p","fang356299500","jd_5c587c1da881b","jd_48b5095a89cc8","jd_6bc2ca55309dc","jd_42bdcb7300385","Lena1114","jd_5e39bff8c041f","郭安君","jd_60ac61b1f4905","SchokoChiang","Eyebrowbend","aaa_27","jd_4fd5873aecd6b","dw2490612","jd_47c15098994e6","jd_51424a042c611","jd_SuAxpIVrlDjY","jd_5361b37d11bb7","jd_400b3164993ce","jd_63c802443a78d","jd_4600b3d981697","jd_BOuqdJOzqORl","jd_ajUCBMjDYIxf","18550339991_p","xianhuashengkai1959","鱼缸予爱","jd_780a203ae54d4","jd_5a0582818b831","jd_7af3e68fd7460","jd_5e8ec4a377abd","jd_4efbe5c1f0df8","jd_4a374ee9eaf44","jd_7b79f264373f9","jd_5d2e2ecbfc006","jd_47762b8de394e","jd_BnTGUSyJZncg","xingjiu324","jd_cvnLLHQhlMnY","Twoclchen","jd_5a17931fca472","jd_FDAHldJKdrKf","_魔星_","jd_443a56f899a4b","A_不忘初心","jd_XVfOHJLekrnX","gaoxingjie123","jd_460ebfe32e123","wdyHiZOFzLsBWX","jd_40897657c36c2","jd_51756932e62b3","yyakakakac","1387104733_m","jd_69cb81d1eb0fc","jd_56a0abaa16ea0","jd_5dc96384ca425","jd_7cdc187299cc8","jd_66c019a14c390","注册不易","jojoyang212","jd_52837f578445a","wodingmao","jd_5a1c60a87d475","jd_52b7afeae301e","jd_OUrIkAUliFJe","鄙视注册","jd_575e51c0ff11b","wdPBpltznPwpUK","呀空空的","jd_7910b5eaae843","jd_4ff6f32b8ff15","1741229517-729387","jd_651394e9b3c38","jd_5194ad17227ee","jd_55505f0903c7e","jd_564dae7fbc4ef","jd_VCbUoEitkOYg","jd_4e9b2885c6c85","jd_5efd57df3756c","jd_5f6a397d7081d","jd_mldrGFqCUCSJ","jd_6d5d7368cf130","神玉0205","xumanman0123","jd_75ccca4913e7c","jd_49b31f830566f","jd_46cbb003cc14f","moremoretealy","jd_JsInDXJcSpYM","jd_7855db854bd89","jd_5b2737af71209","jd_QkLQgfpfCidC","jd_6858b92a1908f","jd_545286ddf60c2","jd_OUaCanqYslIk","jd_79570851b8966","金星19931015","jd_74ae6cc232478","yrwy","何必这样6","jd_5112e8e0cc750","jd_5d58a7a1f92bc","xuanyuandiguo","jd_488fd25b1ea29","jd_64eba4d23994e","shaoxia200989","jd_6b81f8017cf11","jd_UzPmLAgWEixt","jd_63641e4f31b7d","jd_4348d84e1e628","jd_TCvmzcrrmRDS","jd_472538f712677","xiaoxiaobai-Y","2544029558_m","jd_5d2ef2af30374","jd_DpksHwjvzSLR","a13525560856","jd_4ed5650e026e9","jd_7339f188c50ac","zhoujianxun1958","18049229281_p","jd_75e775cb1af9f","jd_513a20ded4f2a","jd_GsvjCJiMfEOR","jd_5f9905bc72781","jd_nYQbGLevKTEx","wdhdbpADajbhit","18374132720_p","jd_6aa25d9ae0748","zhchsgdtc","非一般遇见z","jd_eLtHvrzRkdlA","82850238-824187","petular2017","sun2cc","jd_5f3e272f2281c","113413141-793900","jd_7048ae6eb624d","1360742110a","jd_6d810e5fcf739","jd_KcpzJnBcILKd","jd_6c4c06709001c","jd_61b1713beedcd","jd_KVMqrxlLUczJ","hemawan","jd_5cdf813e0f694","jd_4d55175a0a03b","jd_5dec6b4b18b9a","jd_MmGfTqZxGUBB","jd_TlFPwnNUAaez","17656012_m","374234963-621270","jd_5ae08e757626f","-鸽者-","zzshang@gmail.com","jd_71b208e3fca60","jd_czFpyOQbYoTl","jd_QUBriZIYSOmZ","jd_owLVMVAJJwJy","jd_hbncDSKTMruq","jd_69d3406b7114e","jd_70909e8b02588","jd_5d4b55bf120ed","jd_51924e871b864","jd_67183fbb7c658","wdBPCxBdpuQWlr","15852305741_p","jd_42518299ea548","jd_71fd733ad7b5a","jd_76a249f9bf00c","jd_5c1519482bfa5","jd_518067751f998","ckp1999","jd_LlkuovtBxYuH","matthew_tsai","18336242909_p","jd_ICUaxdnJmkIR","jd_50ddde62520dc","yang19861011","jd_pSeDHAjaOVFU","jd_7bc9525f0b835","jd_77c7f2f3a58ba","hivi0118","pizile_m","jd_489963254710e","jd_oARxiOqUyGVI","jd_7237c5517ae2b","清晨醒不来","wdYNghPACpTjXT","get我是JD","jd_uSQBPLyHcJrM","jd_jCteJUVntKqk","AWard","sxy602229523","z3776","jd_SpgdguLwKwMO","jd_6473ccc6f8900","念暖0505","kfotdh","jd_5472263e63f5e","jd_569406438b127","jd_454ba05ac8594","jd_BcjraUNUATCa","jd_6cbaa64594137","jd_69b03fff758d0","jd_719587cb66ab9","jd_438f7d17fcf49","jd_5ba1a080bde75","googooog","jd_6f310135aa928","charliesxia","1193365-80760976","jd_4e38202b29f84","jd_651dd9540bfe9","jd_5ce813d60e698","jd_siScOITlPDDE","879876282","jd_4aed396e8727e","jd_51b64ca9a0b29","zhanjinghui123","jd_5e8284f42ac64","huangxiaomao138","jd_436c2240d715c","放开你撒","jd_48379d942702a","jd_71ada3932b49e","jd_WSKYtBOuPwsI","jd_WKVcYkeBFhMg","helloypy_m","jd_7c87e6375d4a9","jd_66e20f4f6e12b","jd_6a93b2a93b026","wdFVeevoPFIjTt","jd_4900f3b9008a9","a19890898","jd_559f5423e00d0","jd_6ce44a65a95f6","芹菜120","jd_FgshQlftDtEw","jd_5dfadfb81a9aa","15572703703zt","jd_4ed4fb43299ca","往事随圆","jd_52ae04fcc94f4","jd_5610e69b0c980","jd_58764cebffe13","15501681882_p","jd_7e385d5847e2f","jd_4a3c7c55dac2b","jd_79003680fcbdf","jd_641ab7846c1f6","jd_656ccf0369b08","qf610","hp12222000","jd_5d203ef64414a","mrshaou","jd_4d976cfec92db","jd_6d8946382c34b","jd_wStXTWlmjmnJ","jd_GzGPfkliCCpg","jd_5a5012e21bb64","xsonglive","jd_dfTMmHTKuaWv","jd_65964c11e3043","jd_7262f6c9bf53b","kucece","jd_7a77519833140","jd_7ca9d25c06bd4","lyg21883","jd_617e2821638eb","snowayon","风尘尽藏","jd_40f48f32b45ac","jd_64f5033e17021","akari263","jd_46119dfa69bbe","jd_EYTLMipiDUDS","henjeffer","jd_5051a4b54dbc5","jd_RzuIksglUsAa","neverforever_zy","zcjschina","jd_hkUOLVvGZAMy","hbestm","zwd2zwd","jd_640501180b6b2","q470393267","jd_cMcxIKpNZKch","jd_67a2dd34fe9e7","jd_5378b81eed593","jd_LeZNTsFteygg","0linjiawei0","jd_707ae950fd096","jd_5f4770e592099","13811828511_p","jd_oyoZUguOTAke","jd_599dfe63467b5","15202262818","jd_tUffgSKWCrUo","sj某青","jd_4729b69b9b70b","773552961_m","jd_vjBFrweGeOTN","1873263552_m","jd_KkjmxNRhLHve","jd_jun250","jd_684b488f35d67","jd_624df92d629fa","jd_UzxprGNwgRvy","zxy3607331996","15103784139_p","jd_7a6ff2a127e44","kwyhu","御风超友善","jd_406540fc8489a","5566082844","jd_67b7a53943b99","2677769-40385553","jd_59e106845a869","jd_oFhnKVftPGcr","jd_74c41736a2466","2086459293","JRSD_CXLCe7980","ling_9141","jd_7f014c547f4fc","ratios","159867337-16760451","jd_4e295aea77153","wujiezero","wdLEbjlfZFllog","1091626221_m","jd_FJlHDlllGGWf","langyiq","jd_50b98f75d6c8f","jd_7f88a194bf08d","jd_7cda1ba46a13c","_chenshimei","loryown","jd_byGKIbApYklA","jd_veDSQjxAJmcg","jd_61e7da95db6ec","jd_77f1b24ec702a","jd_hlNLNOvnjvqm","jd_47f39da869782","wdNzKfBvYxLUwXY","sjv587","wdzINnBhsZdIBk","jd_KYaGcyGbQtrh","jd_LnkOnmoPpUbf","战玉忠","jd_40bec3e2ae1e5","22392268-717746","jd_5b5c39188985a","dxdd002","jd_62cd997e7a437","鱼丸678","红薯花园","任丽媛64","jd_6ba4359d1ba79","王蓬森","jd_lAwQZFixURoT","185076661_235069206","jd_7774aa24d053e","jd_5730e5667ff0e","13764865043_p","jd_799008fbd3a9f","jd_cOKAARCOLHIX","jd_4c8331ca137b5","jd_4cbf3c3dfb06a","378176172_m","rebornoffire","15713965060_p","khuntoria140","jd_6ecb2ab00eef7","人惹惹","jd_4821948a10461","jd_5308da2553131","jd_ezqLWhOEFHsc","jd_798563333c6f4","jd_47aa184ff6310","月靓1989","jd_NLhWNrQIGyoZ","jd_4992b36259bdc","jd_donAaGadpakc","jd_68854f0b0e4ec","jtmusk875","628001","14652088-78453557","jd_wyXcTjCUbORe","13056010676_p","1142718512_m","13450125388_p","jd_4dcd8892b6123","xf-3","jd_iRQsuVvwUiei","千山人迹","jd_HQKsDMhOyNNO","gy55you","jd_KEcrclTPHwYs","star022843","wdNuMUrXNQqUttA","秋流年","1374361-66307000","305651432-144446","jd_758032fe4ff99","jd_7bc512103a9fb","Alex8945","88609234-297009","n790020783","jd_49c21ac1ee1b3","jd_426f308aca0c1","jd_782eeafa4a00e","jd_aegNHZQKaJgo","jd_7b65d4e860cb3","jd_vzEVKbuJgnos","jd_7160fc8e933bd","jd_tpUsqcuiLvOn","jd_fXMciCSqxtzz","jd_642795fa6964f","jd_57a1e88e9a7ee","jd_TOdYTctKJAHq","jd_QRSjODHJBDAn","83299843-190299","jd_ehBwHBeXNsRj","jd_695c52c722d3e","18741125126_p","jd_6838e9c144830","zhanganyla32","jd_70cd24fae9977","jd_YYoAcFjniiDG","盒子里de猫","jd_60f0429b4ebe9","jd_jkApbXAHASlP","jd_wAqExzQNLbMz","jd_47cdd8da687e8","jd_535fe323ef356","crain04","jd_4e184b3b78355","jd_XqMHlZAVwTyv","jd_529691a26e6a4","jd_46ddb048aa3ca","jd_6fae3d0738716","Zhengjim123","jd_kCVHlQUdJGjr","jd_5ae674fc78861","jd_566a6dba060c7","jd_AldvbNYTGuUA","softcats","jd_seFfSPnbNLLk","小鱼泡泡熊","915026540_m","jd_52315c56958e1","jd_sWOfrpXsCzaC","我为什么要剁手","jd_5ccc92a2da556","jd_63965950fb1f0","downlezq","jd_6979569dee1b1","jd_6e61c0382fea7","xiaofang8904","jd_pPSaKPEWkDEI","jd_6f6ee2fffb761","jd_7aec0506fcd7f","wocoo","50497982-259928","40043173-353216","jd_4ca1023cf79e0","贺知奕10","jd_68ec7c9e29d81","13777610862_p","jd_5f95f6adbe3cc","love1kitten","jd_4658255a5c01e","jd_5f522b99e30d4","583786734_m","15819474042_p","jd_5f4f4ae77bd4a","jd_5232250116dc2","jd_5744e9504d348","jd_744234a48c153","jd_6a526684c7f08","wangxiaoming1989","yuanxin8701","71389964-118986","jd_6ea50dff6585f","80丶凯少","jd_xtehRhIatAdn","jd_42e829cc847da","jd_49b95270b79ad","jd_6fcad39c41649","jd_GVuWXvMvUitA","项南虎","300350471-178343","jd_668a5725b6133","rnmkh","jd_7693d3f52edf3","zhch55","jd_KkJjLomXuXDZ","273282122_m","jd_767f52b920ac3","jd_7b09351fa0edc","jd_20nlkug08zi77","jd_552060bad3730","jd_4d4620dcbf3a9","jd_45266b97ef208","18602526017_p","jd_6cc3a69140d70","jd_71ed3df039652","jd_50965b3bd4de6","wdzLqVIHRjNaCt","18575016388_p","gotuiter","jd_5da2a11314bbc","15038373565_p","ad429","zeyangshin_m","9号楼的少女","jd_702ea507bccab","jd_57d2b92c607f9","jd_7196269fefb44","jd_4a9ce983f2832","cai520518","xyx208","1685047533-786982","jd_51fa9b4caef6d","jd_57e563be79023","jd_5422446e3a324","jd_QkSAwQayeUzU","taratimetolove","jd_IeJuOZEkpxFD","18780717220_p","13283815737_p","wdNXnIUlqgYVoIU","jd_hBirpDSGlCKg","jd_QrlvcwvOuZGg","jd_YWuWKnYitefP","默化2580984244","jd_7c1f1619edbc0","jd_62453f358eb41","jd_GpcwgIoNbjWh","18665658621_p","jd_WwWhuDjPMvip","jd_iYiMbBfwWTiC","15108236800_p","wang9181_m","lionysj","jd_PjYVfZxnCWwg","hengliang145","jd_46137723e4da9","jd_6c2f9a3532146","JRSD_TBUSH1218","jd_vKRYiMqlpePk","18176629669_p","benjiandan","13181087565_p","lihaizlili","封丶炎","jd_CjCWGrhPbwoc","jd_48dcfc1cd3156","jd_7f9816a7b2641","jd_4b90c9d318eeb","jd_6cfbe25d05a31","大雪不会学","jd_738dcb6838509","jd_65129f79d29ff","jd_570b4d56923e2","老衲玄清","ly18311083351","jd_SLaBvdvFmsVt","jd_61b0e82a13fad","402951957_m","xiaochuxi","jd_718fcde20711d","jd_7a9d28235cd7f","897124712_m","mansiulin","336086772-256876","marionho","483529610-329841","jd_5a5addc09b27b","chenruicd_m","jd_bIiBRalkZHji","jd_ZraGiHLpHJPv","jd_55f98f56da6e1","jd_BEAwxYeXIDLg","jd_47008df0ce039","jd_59b7b407372e5","开花的牛肉","办公室2401","18630066867_p","jd_594e2a5062e97","jd_47a2f9c3e4c89","周周的金库","jd_7013a0d3ce272","小芬妈咪","jd_5063f9cc07345","waynesg","恋着","jd_4ac1d8c7b8de9","jd_5b9bf96fadc48","jd_6a7282efba857","Nothend","jd_6bfdbd74292af","18659333628_p","linlin2008001","lyj8812","jd_5f471168487bf","jd_77e5b88208cb1","jd_65c54f4699b5e","a_deceit","wujiangtao_mba","yeqin829","129128102-913199","jd_672b80acf60d2","寒风与我","jd_SGLrRzHzJIkI","jd_4a0be7c07a092","jd_507c0e8ca88ee","jd_6a725ab5a00c8","jd_6f3384db117b1","jd_zJxvMdhxdkqX","wdReQIbaSQsisn","jd_444c670c09c12","jd_7e4c6e22adb60","jimsonbug","jd_rQcnhGSZTvMj","wdZzxCrYnbekyc","wdwlNkVrDwAjUg","JRSD_FxPKT2996","难民装绅士","eibb41","jd_7be2b58b7704b","jd_74ebcdad04395","hljchm","jd_56edef5706dc2","jd_CgqQrYbagBiL","yueheng优","jd_7d5822d0f2afe","jd_5eb3bca2a0fd4","sclap","361751166-33153397","xiaolili0317","776308875-271608","chenshi527074459","lrg169","sharon19920218","jd_4f7d0c30ebbff","waynewjp","jd_7edd0d75f6313","北京中医药","yandaxu","jd_781b9d8d271b0","jd_RqgqYAjFfPmr","jd_BuJSfUJOgmHW","jd_479f9af76777c","jd_eHFuOxTUapbC","jd_42dc4ec0deabd","jd_bCJqRHYngyDC","iArya","jd_524fc12f3a489","jd_7a208fd40480c","琪琪小号1号","jd_5a0dacaf4561f","jd_zqwZzysldJNN","jd_xGlFLuCzOpXN","jd_45caa2a5b48fd","时间回忆","kabaite","jd_sKtwKfrfykST","jd_52e4485ead8fb","86025747-378987","zjmmjzzjm","457814898-182634","jd_613fdfe24d341","jd_ahWfRdFjDWIE","jd_76d2176f34231","wdxxqswMAGGobU","eiglory","jd_44fce61083ecc","jd_loqSMpzZMvXg","jd_40a761c5d8e40","jd_61a52787095fb","1035303052_m","tommy_jun_m","jd_4a7b69ebf80dd","asdjaie2534","jd_4d0a8d2d17908","jd_sqyRDLJxcQnF","cindychou5","jd_fsvgNCngPvXa","mindcat","jd_7a8f91573699a","jd_hLfwQmIDJToe","wdahhliXPxJyFI","jd_ablLcJVZOOXu","jd_779de347949e3","jd_5848f605c9ef0","jd_rTdZjQkzkvVC","jd_59f275700f38a","赵子豪-1231","许东944","jd_45ae21a69b087","wapedkj","633莒县崔久梅","aceyu97","wdOjzGOAiwQAJH","aiwy2008","jd_XlscrhWJsEPw","jd_551681364f001","jd_4ca1901852f72","jd_6f1e34fa02bc7","Narniaking","jd_74742b13b7338","18688849123_p","4eszxcvgy7","坤lyrcis","jd_DOAYVAveWLoo","18060950359_p","filix03552223","jd_5c6819fae8311","ccyand","jd_6e306dfedd073","Adam289","jd_5e7c825762b91","jd_5cee284dc89e4","jd_dDbJxrcyQurY","jd_542b60b46524c","alvo","646886217_m","jd_690a62f00946e","扣扣手指15262408362","jd_77ad2cb05a9b3","轻枫骑士","jd_QyQMtXwEjMwT","13609083869_p","jd_4acc944bb4255","15237369738_p","jd_5164c522812e6","jd_5290c5cdca301","jd15098696518","18703098639_p","jd_MHuEWnqTVTfC","jd_4ef45da646711","jaydiao521","jd_aWOitIeyzaUy","jd_uVlezuANpPTl","jd_50030335baa17","jd_nYsNQxobGAdo","zzprofesser","jd_6f354c0e3cb7f","3410239490","jd_OHaPbvkVOIpl","apoda","6112599-81640737","haohaowan","wang18840813108","shangyu2000","liqi988","jd_609a3587b853e","jd_47e4d88113ce2","吴铃钰501","jd_66a7cdb81d759","jd_tDFnHxuaQSfJ","jd_7388390306723","jd_523b2b43abff6","15872657022_p","jd_725bd392121fa","jd_7f6783ee23295","jd_5a4b4c1d0b311","jd_619b00a718d60","jd_54b3505bca771","476140781_m","jd_6bd4d7ab3fa72","jd_7a79a4b11fd90","13119565460_p","litao88912_m","八重樫太一","绯色之魂","jd_4d0fa8acdf892","jd_655b7e4399369","jd_5c2ff2138cb18","jd_WeDZjgssiUDq","274581473-860045","罗辉v5","tbfly","jd_59ecbe42510ae","13265883816_p","寡人是你的皇阿玛","jd_7725f08820aa2","不可理喻919327","jd_xOBwhMOaixYP","jd_BhNUkUzHwPsj","omarwang","silkeborg","15020369310_p","jd_6f24c295dab6e","jd_4862c7d353cab","jd_798c91d9636df","jd_50867baf898fa","xy14053156","jd_58b2778b39a22","caiu000","haidongwhrs","Arthur_Kuo","939364985_m","jd_694f22f29d44e","ache006","刘作宁","28286170-845788","jd_7cfcea51dbeab","jd_xETzujFpucBT","jd_UnrHMAtuYumL","jd_6eeb7a332a688","wjszwj","1375222588_m","jd_585bc74daece7","2269478801_m","jd_74d8491708459","finfantasyx","jd_4a58b7b95a01d","jd_78d4699dabf10","jd_gIzcXQggouEg","jd_60c71b8766083","jd_4a8d8d6af32bd","jd_6b435e7118709","jd_53ecb37c67dc8","jd_47174b2a6f580","jd_65471138816ed","醉了睡-睡了醉","jd_448cb3583e614","jd_6f1f602d6c1d6","jd_4383a489138f8","Lasx","283719672_m","jd_7832e6bf17155","jd_4ddd61da10def","15638998890_p","15041982561_p","15241508814_p","jd_6bef25cf276c6","蘑菇小姐会开花13","jd_PpjoUFtsXDRo","jd_4d1e4f0874857","jd_5a8ec82394eb0","chenjinghua02","jd_50659de01735c","jd_6ff935fead3b6","z13034679_m","jd_5410110f4dfb9","海盗舩","jd_UakqoPbHFCZO","jd_YuBZCxGGgXes","jd_4108febb14b74","jd_7c8327b4e1f68","746671016_m","jd_7174ab3de9895","jd_PmBEkzIuQaNo","jd_zIHTjVOKIQGa","jd_553cdb11b9399","jd_68e782911ee78","RebeccaWu0315","哈哈哈琼琼","jd_735e2c4586269","jd_6c47f815adae0","15940168817_p","jd_406fca83d5733","jd_5e006ee182b49","wdMTHUGajRUeQy","qminglin","jd_6f3a38209b159","jd_7242c8d231df5","jd_67e5dfa074623","ghehikaru","keteratao","飞鸟hope","jd_4e94059e4d79b","jd_59cbf476a68ab","jd_79dd3962843b5","zyboy3707","jd_4b71e98611902","jd_635aadf1b57f8","35125-50886726","897812862_m","jd_KiYgBjhcyYJH","MikeMyself","jd_DNzLjmNewgwt","jd_49ed9916632c4","jd_YcFYjajZKEOH","qxh1522","linhusd","ai-JD180","jd_mflMSToNZfAY","breakersun","懿小九","13605732951_p","jd_466cb692d6270","jd_578235c0fa17e","15872385967_p","jd_465ed5c38ca81","jd_dGdNusUaDFPA","jd_TWdlUOpkhAhS","jd_561d0e5a8347e","pigpig花菜","jd_691e1550694b5","jd_oesoblLZqJhp","jd_5ab07458cf160","jd_676f15fcb7042","jd_6a49251fd99b0","jd_55c23a9b29e8c","尽我所能TAT","JING8666","insect27","wdkJKpQJDjSpPQ","jd_58a22c32f358e","lilong8844","jd_7d0b78ac84322","980683215_m","jd_47b96ab88c1f0","jd_xIofuuEPYrvU","alxh0554","jd_7264d12e7a951","jd_66aa8720f70f4","187057875_m","含流星","jd_6f9dda1c6dac4","jd_5e61084747ac4","jd_6b8699a9fb3ad","彬彬哦","Uchin","18216422586_p","love525","jd_5ea2490d08232","jd_wFrinCUBUZuS","炒鸡大萌比","jd_eayUDvETPXxS","jd_MlZtjVomPRdH","jd_gVFaAcGXJqIm","5893296-417797","jd_7258c991b5376","victorpzg","jd_qdTniQxjWzgm","jd_7303a246e357e","jd_6ecc752c20a82","lan5523459","635茌平县张安东","jd_AyXudxMfviZS","jd_oVCnJQUFtGvE","肖梓绪","jd_60460ba8ee92d","wdbsglkZUKqztY","jd_WRckFqAQUGbx","binjd","jd_6d35519db209a","马楠32638","jd_651d470625a83","jd_6c395163413de","jd_5f2d2f7e4b45c","wdPCnvTbaGrcVh","jd_gWWhYsduWNUj","jd_57d5c77b7d9a0","jd_6b0987cbec09b","jd_TyUcSGluRTZc","jd_raLAtaDLETfw","jklook","lyc7671169","jd_6d9de4de13b89","jd_475af01fd8cd0","18515707-21775022","斯顿雪域","YXP716","jd_BVSTOdmvtXHE","jd_4725b77f6bc5b","jd_74f90f24e7b7d","biwei1977","jd_47256ab471699","jd_5eed4953d562a","jd_70e7f7851c18b","jd_6456f6d896665","jd_70153ba72513f","15258195902_p","buy86023","jd_cxiAhxmyhrOd","jd_69fcb97e2eae7","kinbiao_m","jd_6b8542a4f7f13","15224488889_p","jd_4827a4bc10b95","963344-42186223","1178080609_m","jd_7157e15f73e4e","479279679_m","jd_6191f5aa0a92f","ahxxchangli","vicky11141","jd_CVbhlOmjCLcX","sky10031","jd_44b555ff212f1","jd_RZDppQanmJcw","jd_5738e7147faaa","jd_43a631a648a0c","13618114165_p","jd_6e2d3ce615c5b","shn127","caoxigu","美好的一天1111","wyc15677203968","nic_w","izzishoo","wewa3227","xiaozhuzhu1234","jd_79a69a53d2516","jd_51c1b2f9727dc","jd_73cf1dac6074e","lm844401195","毛小豆201157","zhangmenghan506","bitghost","jd_6d880f38544b0","jd_ndGLmfdzHxJJ","jd_4df040ca713d4","jd_467bacb7f491f","jd_xfSequREjRGj","jd_4227f32310c62","jd_RKFTHcZSFKYc","jd_ZBFlHtEuuckL","jd_40ec96c63bf5f","jd_6f964f5d27b30","jd_68870522c9a33","jd_62c0a218e1c00","jd_711934ca1396d","jd_5864a51f9312b","wa325232","jd_6744c6a87c0bf","Rolling8023","jd_48993159766dc","jd_uKPaAAEroRUt","414491389-380387","jd_4b03a6d011ddc","100102","jd_5439526a813eb","jd_6d86c337a47e6","jd_AksoXfVDpIkl","445698948_m","9561471","wangjilin1_m","13822588740_p","jd_4fd0410377ea8","13222210520_p","zbq抹抹抹抹茶","jd_79feef7744b6d","jd_dCpMYRiyaLiD","15718749868_p","jd_5316a795a81a4","jd_4047804b03f62","93433_5783","jd_wPswDkHfiDPU","l89977391","jd_jdAXblRbUGNg","jd_71e2969547522","wdECFVTCQWpddG","hoooray","jd_ZJqIrvlUmGrn","jd_CpdcpyqXXYKm","59880401-13601533","jd_51c9851e775e6","handechun959","sunflower寧寧","jd_5f9818a056779","xiaomeiru5_m","jd_7d6d303435534","laotang_0","jd_462abf635280e","jd_4b71ab5ab8102","billseaver","jd_7480601abdc6d","jd_402ff236d2db6","jd_42e7733fb89f6","HEHEHE8992","jd_46d9f1ed657ef","飞天胖猪侠","jd_qCALeGkvAaxA","jd_50e270e44f26c","jd_CPwcisrhVWUt","jd_60d57331c3015","jd_794beed8413ea","jd_4dbc14dd21c50","nichangwei","ourcubk2","jd_513c76dae5a03","jd_4694c0c21ad13","z724130632","shenyangyi978654","jd_5200ce5356d6f","jd_4a9545496c647","一抹沉寂","jd_62e797b70c883","jd_CPwccxrriwTG","aeinstein留白","24373045-627527","jd_7247a01e3e7b4","jd_5d6c188e14a57","jd_5c51e810eec9d","ahazhang","jd_629dce8d6e4f9","jd_418aced9808dd","thomasleng","jd_5b598329faf3e","jd_631233f8cf35a","218594778-787878","jd_782dc9942ff8f","jd_68e590d69ea88","jd_5fff231beeea5","yhkm8531","jd_agoVMFuRLAOX","jd_62ea046b24f01","jd_7d914f11088bd","jd_7d80f24951651","jd_qFkYeYVBJKFB","jd_6605fe8b12d7d","jd_7619335902a50","alvinxu0","raven318","18094677919_p","21137898-81438976","jd_5cbe0900311cd","aliofwind","jd_47a3ee5a50c81","jd_WExFRzfFHCjU","jd_6432c5c5a05cb","jd_7bf2162b1fe84","13638687598_p","jd_7ca5cc87bc3f1","jd_6d417eceab918","jd_477d27c8ba52f","juanlin_001","jd_730b216597594","jd_vvVylHEmZFUY","jd_ozUOckvxNRjM","13669080115通城","啊阿丫黑猫警长","jd_5a4186b5c69c7","672692314_m","库努蒂尼","jd_615514bbe0fe1","cnmjingchao","ooxxhigh","jd_722bf26860449","jd_XHTnoVNxIukK","jd_7ed8d71970201","jd_678fe0e28fa58","jd_528936323681d","jd_59f26e2497a0a","jd_4d3b1771732cb","jd_6014475b3ee69","jd_5ae9151db40d1","jd_750d6a9734717","jd_huQDNfYoQhJY","jd_47c4ed6ced210","jd_71956714d5138","527916783_m","jd_4e829135da644","jd_430b2eb3d3674","jd_4c71b081d2708","p5621571","jd_4326debccd62b","34819578-38719141","jd_722fb2037d21c","1363162-83482480","18605148861_p","jd_6da713a57ea8c","13825823-199988","jd_72ed55ed13b72","18961771414p","jd_43b31169bb52e","jd_558a06b2f11c1","wdVvHBIeNpABIk","jd_5917f21d1d7b6","727964952_m","jd_6fc5ebc2d8189","jd_4bb1f53b82d44","jd_7b94d1516f97c","jd_40dffdfac29d7","jd_FbMdnOHLvxbM","jd_5e87fddb9a2be","jd_416e3c9470823","ygch1993","木白月月鸟飞","czl0729_m","jd_5363987cc98db","jd_NzSIqEuVGrkJ","llzzll1234","jd_65bddd92e54d0","jd_75e2c181f0c74","qinyong9222","jd_44b125595ec5c","jd_mRGKlnDdlWxv","jiebozhang","啉啉1990","jd_6a7a0890f021d","jd_56453fc911524","jd_XRzNEMTrHeMf","DeXtEr2","jd_AJJPNVgSJgvA","jd_6782785602bb6","jd_45bd4a5198c6e","florashine","jd_7981c10516af8","jd_715fd3897aed9","65096066-959521","18972787876_p","wduriLzdKKLbKq","jd_YeElpYLxTwvF","sg940304","miu321","jd_MUveoVKBilvT","jd_FFWNeyJRMEbR","865008309_m","jd_514c1d4c5a4f2","jd_6a972e32ff997","jiangzhen1760","钰满堂","maping1996","lornice","jd_7092f2ee6f3c8","jd_5113fa78e7eab","jd_71fc883e06737","jd_7855ffebdfd68","HY何某某","jd_66e04f9369512","HMJMF0214","jd_4833a0efccaae","songli0323","z469792238","jd_6d28635dbc708","czh_uns","李梦521m","fly_ff520_m","wdEcnfmlhhidDU","jd_7848c085e599d","精灵机灵","jd_54bfba291404e","zhangzhl1972","演技爆发","jd_7eebefc8cefb9","买买买45523","jd_GiQYjSgqJPon","杨丿tao","zq950822","jd_6fc01988b0517","风凝霜","shallwei557","68818-54818022","jd_7c016bfbb07de","jd_433fafe0d2d1b","橙子璟","jd_WAyyJtMlYNjD","jd_4b9186aa90e51","jd_67bb6576fe03d","jd_lIMOMyhWNGzm","覃圈圈","jd_68af047a63212","wdCPCzJrCRIYmX","jd_rjFkHXeXgNYt","jd_aJPVEjkgKwko","jd_4d028b3ed320f","jd_gQUPNTzSuRJB","jd_513d28c88af54","255342805-168432","cookie429","jd_46fd0a3486a84","xi7271","jd_5df379cc9de74","jd_56da4649b30aa","物联明星","jd_5634d9b4cb911","jd_4310090042fab","jd_611fb590791e7","jd_41feb3833d40b","jd_4f963b977933c","jd_4c9dfa3c19b92","ujinhy","wucrio","jd_4ece16632af6d","138418174-446747","jd_652a63de32807","jd_7fb2fa5e65111","jd_55b69175c1294","jd_7d3d6f4ea0d60","jd_ImtLnMXGVlUo","yzwzj19","jd_45e3e8443ea55","13282096075y","jd_41a14a3af9839","青柠加薄荷521","zhangyi81393","wdNzzFVcrtTnykz","joe5264831","jd_6464a6d18a7e6","jd_5c78c3a8d8e02","jd_LfKUZOjoZTpE","jd_5f34af2243b3d","jd_70c7be7b89826","jd_HGmPQMGKSAFk","jd_660ee1c5b29a7","jd_65211ec0282e2","yy88513","jd_4f1d228b8495b","jd_EjGpZySUIeZm","wdPGdbAXzEUXSc","jd_5c90e199198a1","卡宴plus","jd_NSIzNpxKMvPG","9648723-59345720","Q忍者","茗幽777","d7xw","jd_7dab52569b7f6","phiclin","jd_6c52ea7525b39","529498783","jd_70c5626ae21dd","jd_722381c085bf2","jd_jqjJFOQqWSOT","2108028357-944197","jd_5c6904f1bd3ad","庭院深几许秋凉","jd_7a9da0a7ba70a","jd_599c34429ef72","lvxia_aa","jd_iKFKkWAyzqEp","wdIHsIkhvZBCkU","jd_4ca8d060d0c7b","jd_41de94664cc44","jd_EOCXOyGiFfNU","wdJGkdgSxIkBaL","jd_UlHwQCTnvNGx","jd_BwQlMiCRgbeF","lxqemma","jd_4d5f3260ee646","jd_qTfILeaFWDpu","87021181-23321575","jd_6a2b16914858a","jd_6efb00817dd12","jd_7e895f4f56854","jd_ZbMmjLiSKdAK","jd_XiUqZEDPuIFD","Advisor0905","jd_42764f5ea2341","348245775-316543","igawhoyo","rayphang","fangzhewei88","jd_722ae717f0b35","jd_57bbdd18fd234","jd_62e4279b6cea4","jd_6887963dde3ab","yc2008yc","wei862276141","jd_59808dde263ac","jd_705ce2c23e7cd","jd_7fbedd28bf709","yayun20","jd_zyCnOxWmSvfl","jd_417f2423f304f","wdbllIArfqlqcm","cdg0515","282518588","jd_574a3e36e936f","jd_45e55ae8ab9de","hotwjp","jd_uCBbhrrzoYbN","shiwenfeng999","jd_EVdJuNFfCVVK","jd_53b55e863345d","jd_402fa9aabbc03","jd_4b73a3f831a43","jd_67a1962e270c1","jd_52adad061db1b","jd_73bb566aa12ff","jd_62bf9c4759000","a18779869232","jd_549cda66d38ae","jd_EFWDXPlfkIZM","宅先生795","230794233-28980849","1746650165-599864","qin_xy","jd_5376cae73fd8b","king9115","jd_NVnLevCXbKxI","rachel_nss_m","jd_65365874769d2","jd_49bbc3c2c2fc4","xnanh","jd_580727ee9264d","jd_7f13cc26157fe","jd_JScUGxJXNUTW","TreyJos","jd_768d301c1e20f","jd_vmavbsiKEPHW","jd_4c759cdb043d4","jd_6d4064293cdcd","张园梦815","jd_6d6bb86776716","jd_4a32e7b476e1c","jd_7fba5c4a1fb9b","jd_414ef9dac9ac7","jd_638c122fa69b8","angry_001","jd_PHZwSNHmGrCk","jd_544ef5a62ca94","newhtml","jd_465d4564650ff","jd_647392faeabd5","13437823262_p","后一宅","zbfgql","jd_710d5ea2c6374","jd_5b410a209e25d","霸气麟仔","jd_43b37ecebae55","jd_5dd9f0e2d48d9","ixying","jd_wCBMqowKEHAn","jd_769cdb07a08ca","jd_58351f2c01671","18144006871_p","avaliang_p_m","wdfFjJojuLtqdT","jd_LCAwzpXSsIGK","jd_453cf9406ad91","jd_76158a7de1bdf","jd_54422fb48d105","jd_GWNcjQtbVMEr","jd_5d376c8ebcf44","15277755739_p","jd_4b32a5596fd39","jd_PKeTzSnFbWqQ","1241079576_m","jd_DMjvRHFBfysY","yangemil","DanielXLee","joyoner","35074751-618103","jd_5ffedf5d5a1c8","jd_QnkKDNVDIRVV","bogle2000","jd_76ebb56309f48","jd_7e313420bf2e5","锋老小子","jd_51c4016e2b70e","jd_59b56808ead46","jd_7fc4c8054e34b","jd_66dd23a32361a","jd_qAFWoaiMXrYD","jd_50b9f17fa5479","______never","jd_42d17a4dd0566","jd_xXjMhzFWydjv","jd_ewQIuTyTQijw","yuzhou521_m","aniana","jd_6754589f29a1b","jd_51baa6a5aaf82","lvhuining","virus2010","jd_NrYCKdpEVOvf","13661019049_p","jd_6614af939bda2","jd_595f448b569a7","tianjiaoer_m","jd_tkbqfhlZwZag","jd_SPMjjMHZvcTx","bozinwells","jd_DcDTMOblJHiM","jd_RJhysdawGSnK","ruruoyuxuan","jd_4c44f63503f6f","iamadesigner","jd_6cd6008aa1d62","15602791163_p","jd_5d31282a001bb","jd_46c28335980ac","jd_vuNiDTlgNuTc","jd_76878db264a9e","jd_YmaZolQFaFzo","jd_VHuGhZstoeYw","芮宝麻麻0916","jd_oXyjAXsdVUNH","jd_5f3081a46a1f0","jd_7ddd1ea8f4f70","jd_5238b06ac8e2e","jd_486e35501e974","jd_542f9cec54f44","懶得動彈","jd_404f3aa73d8cc","jd_75826a39a5dbb","jd_48f6f7491a21d","zsy309080833","jd_nrpcBEcoRcca","jd_BgFqfGFyHocH","jd_46f9f5a3b464e","jd_76edc65b3179b","jd_7be7f17143f92","jd_kukNDgUedpup","jd_zbALFwNvbukm","jd_7352c256befea","鑫王氏","15713793642_p","jd_65c0c599cb6e0","imfool","jd_51b3b3bd01dec","jd_525f0aa748e00","jd_PmhUCpItBhAS","曹杰12525","小米儿粒","陈丽红2010","jd_qPBWTuBUskVs","我厂aaaa","jd_7fb35bc61fa78","jd_olRFKSGgaizj","jd_CUZcCEhIaeaE","受不了le","jd_54d56d7e6ccc0","TLM913520","selena19","pzjhn","1426379-97813565","jd_6e234955455b4","Carey丶F","jd_747f494a1cf50","jd_58b1ceb55e0d6","jd_5a0cbcd6f69bc","jd_6d9d3d81fab49","jd_73c56dd674525","今后形势大好","345528011_m","jd_56f07791c20ec","jd_43ed9b6257d0a","18844810770_p","jd_5d434f177cf33","15221085708_p","wdvvJszVBkyNpk","jd_RjPICpqQDUks","jd_510902a778e32","星空2100","jd_7bd58f1d58458","dxxhh","mingge0001","JD15213781721","jd_7f73c11e91a23","334445392-142919","sky924299404","MrSevenYe","最爱菠萝","15002942176_p","jd_7c18c6d6f70ab","小尾巴107","jd_PWegsLWefIce","Muse10","jd_4bb10cbda6e08","jd_56ea6d2555b09","jd_670cd7145de84","13667665062_p","李建辉0910","chali0","28103077_m","jd_599b20ea4c0b8","ss浅笑安然","13756251352_p","jd_4e6682e5abae8","accust","wy12688","jd_4f6ecf4fa944e","s1735882162112426","zhongnan12","jd_623a0405c43bd","haolwu","jd_BgoFiqZFuZLh","ft101572","jd_436d882770ca0","jd_5e9ab01005897","jd_582f20fd726d8","djmao2015","jd_55a6beb457e02","kaxyz","wmlsgsb","jd_KtRiOJUArFzC","jd_VrbcVykdIDIY","jd_40d49f5ca60b5","jd_71f09c762d1ee","jd_vNFvDyjMEfHR","jd_fAySLtZmmijU","376397399-375171","jd_OSJUuiVsXnHg","jd_67a533a811a26","youji064","soulmate123xu","倪小采","jd_745d0751a3bd1","335143213_m","jd_bSqWGzbxiJIE","jd_7f39c58f158df","jd_6ae56ee4ba597","星空小硕","speedracer","18775306895_p","26440947-235752","jd_64e99ead5e10f","shen20141104","独木成林1853","80778726_m","jd_UBFIuAiaxbjg","214048538-189661","jd_6f7b21c485417","jd_LJJGmDhSRquI","jd_49705f0682f11","jd_DuudimkTlREN","jd_645f5a9363384","jd_PylkcRLehmBr","jd_62657aba24423","jd_4e277782701b9","avijxiong","1051495763_m","jd_7732d687cacfc","jeson101","liu881021","wwwbocecn","jd_7232308009333","jd_48aa7813e4869","eggplant6767449","jd_4d7ac977ca284","朱明祖","jd_4af0624e76166","jd_aXJGiYjKiqfZ","jd_421ff28a61320","jd_jdQHYQsPzWsv","jd_mLRSmGZClXZx","jd_4fd88878ce1c1","jd_72a15f1ddd721","jd_56c6d04b26c1b","jd_bwakZgNqCssd","jd_53d06c143812c","jd_79505c41a94e5","jd_6f34a817e28f2","疯牛12124866","staryzhou_m","wdyDazTRvspZYb","jd_4eedd4e44b5aa","茶园蝶梦","jd_5f9745ff96f62","jd_6a0bc83773041","jd_645eef6c06060","lenglenglingling","jd_7e40e17400336","jd_TbvWTpAxtQnW","iovejrj","jd_59e8541343900","jd_7fcd63099941b","top铥","tofuliang","13474271837_p","jd_406c8eb5e17a3","err0r7","feixuezhuangzhu@sina","jd_7666c7638486e","songyefengtao","abao87214","powersxd","jd_4808fb0977586","祝之毅","jd_6055e6be4d146","mrx941108","jd_57c9d410b1a42","jd_5005a4e8c4193","shine476","刘李宁97","jd_5242beb697a0a","jd_IOPubVWadBVq","ivyyaner","jd_61707c2280a99","jd_5667c67409883","LSJXF","18190738208_p","jd_75e380a22b7d0","jd_NuOiXkxHJxkJ","jd_LUQupbHLDADO","jd_590dab5cdc59a","一路有熊","jd_42c7fdb5ed696","jd_pVClNksRvtVa","jd_72fa4183c47bb","小红鼠84","夜空夜","卡灬卡西","wife811","jd_598dc111ae8a2","jd_QRpiLyXxCtPY","jd_4da12947152c9","jd_4fd270ea5ae03","jd_507eb7b170d69","wdgxZMvrVdsobT","nitiandaige","格格的美梦","1479118-98862167","MoetChandon","被雨淋湿的海丶","mob1ngb1ng","lvbinxd","天地遥昭","jd_6416f47ae54bc","doory1929","jd_72a8532cc115c","jhkwa","jd_aXhoDdWZnnSj","18139025450_p","jd_6e068ff974b47","晴天1824","15968511335_p","jd_5670ec20fa7a2","jd_6cc37027cfc9e","16155435-13799618","jd_7ca83ed413147","jd_kuIoyQouhCLm","jd_470a4713c8f78","1091979172_m","l654417585","jd_6ba9253777384","jd_51c4bdbf49b5f","nicolas_wong","jd_61c50fd86b91a","nicholasin","jd_716353ae450e8","jd_LnAmlbLxTfJH","hudou1781","jd_63c9d02473fc1","jd_6621c8cdd0a98","jd_73a9dd153d8c6","jd_739ba7f55457e","jd_616d5828ad4d9","jd_AWBIpWRiwoXd","jd_6aa248fffb0f4","wdyVlpwqeHvzaw","ljh2lzj_m","jd_tNLkkftZHedF","jd_58fda82ad81c0","火流星","zd772634369","jd_bHjCVkWCbMpM","jd_6360057e60010","wdvLWxSUfeVEqo","jd_4b26079b48946","jd_cSPFEQfhBUeQ","jd_74617ef62ab0d","15680033991_p","jd_oZoeadVfKpCr","jd_feIbhlWVgtnx","jd_6dc4c69db8e46","18321733097_p","291879250_m","jd_658acb4038515","maplysnow13","haol004","nike1999","田小灰","jd_vbOnJhokoGbK","jd_78fab1fde7d02","jd_56ce597bec7a5","jd_sTOSRQPTIdEY","jd_4b4d5d1076f41","15754129358_p","15673434190zx","jd_uJjXidMVjxUo","18823775505_p","jd_qYPtJPCnZKsi","魑魅罔魉","jd_6e762e28149e3","a18210923023","sunxiniao","jd_6699e27c34a42","jd_CheeFXmHBgEe","jd_6ccef3235d4a1","13880650447_p","skyzn","FA520221","carry_1995","ncceylan","jd_55b98aaee9f72","wdGgZboEOBnWEg","caojiannet","15868005933_p","-3026151266-","362800838-920704","jd_75fa0a5d23728","jd_dQTwldiNHjfE","jd_6f0df324ecb01","jd_46c1266def0ab","93115179-375696","1302903-124020","闷骚丿Dmz","1583086913_m","jd_46da927096615","弓长孟力","jd_67e79110a2ace","jd_79933368fed16","lhs2422","shabiguoguo","jd_7f89199a5fbe1","15834507567_p","jd_6050d9b6a8762","jd_67e0d54cb1080","linkin尚","jblove","yuefanlihua","goulh","jd_69025004ebea3","18730222952_p","jd_75eb59aab8e72","jd_kCfPNgKemggD","jd_RRWDudNGhgbK","jd_7a5f9451b12ae","镜华水暖灯饰","jd_tSOQwWxmNaiB","bachun7759_m","jd_7016345285226","jd_5203ad6a095a7","jd_5550117a94d17","jd_EfTJgSwtPmvy","咔咔咔次","jd_5b02e84b9885d","wdexPmgTBujrav","liulei732","jd_79330db66d44c","哧哧嚓嚓","jd_42d563189ce56","wdhMlVAynRnmOY","jivu81","oztoma","jd_77b8c0ec6fb34","gzcq","jd_UaXWOzWnpnRc","lyqflmy_m","thresh14","931645861_m","jd_GsRnfmHHyoJe","jd_KbpzkovakSpT","jd_5e3439ab97680","jd_biApAarsVfVx","jd_45ef249e297ea","jd_42d0d8919330c","Raisi","胡志铮","jd_491b85ac623fe","jd_570e4e266b808","qqwu931221","jd_IAtrLHjKhMwT","18921943627_p","kulinich_m","jd_SoKWqgiIYHoE","jd_49c2fb2c1a371","jd_5b858dd72d046","jd_58332cf231a21","jd_ljjGoZthEgRT","jd_qdcwTFKPCKTf","Zoe_0111","jd_599a20d85221c","maoenci","17168297-87350428","jd_4a00ebc4259d7","18303036892_p","然嗄","jd_66b1a2fa14589","sd6520423","4559524-45489552","lizhencg88","jd_78ec75c3bf072","jd_5782151504d9a","jd_4d5e9fae85f44","啃苹果的帅宝宝","小叉仔","toxicbug","a382488630","jd_522c8beefaccb","jd_79fd3b704c726","jd_CXjOQERLyHuA","jd_6b9748962eeeb","chenxia1323","zce0903","jd_alUBJLtwxuzd","jd_HSQaQgMYTThm","jd_51a775ff92c5f","jd_40335d4f52222","jd_xOTiYqvsggpY","jd_EDALebeoRqhm","cnruhefangyuan","jd_592bdb65622c3","ldlkill","jd_60b737d48e699","jd_439f442cd1837","jd_62bbffbe405c0","jd_7e7f4c746c0a9","439007846-60918987","jd_747572b5b7fbe","yhj0426","潇潇洒洒082","jd_4fea19d42ea9a","jd_zFGdPPqsfoMM","jd_47b2b1b81e068","yyf127","jd_6721496bf3d32","jd_SastEorWsEfO","jd_rhRSpcqYSfJg","4524466268hy","jd_MeMpVIulgWOa","jd_618ecd0dc3dd8","jd_4bc2cef9490a0","明星影楼楼","jd_67fa8335c459f","jd_5535e56373cc2","jd_5b1cd2baf783b","jd_zlulHxZYotmI","jd_75df5bf2a4580","桃可米","jd_66c37155ed6d5","jd_ipIEtPUowbzj","jd_7939d33b8e52d","jd_752c3103ba303","nxdht","回得去又怎样","兔潴潴","jd_xytXTShcFEnn","qxl1984","jd_64ef5d8a8f351","wj静璃","jd_5bf00e89aa2ee","40999777-63019254","zzloveyibo","jd_rJgesIXweZJw","jd_rDqRljdwHnCI","jd_44334caf46296","jd_76daaff909c9e","jd_pmnBbCZCnlzJ","jd_797dd0e60d419","jd_UeLfbrsGgCXP","xuehuadlq","jd_62ce2b4ec2878","随便什么东东丶","jd_799c41ca53ae1","399862983-556809","天长地久1683","jd_XlOhyBFpfMqd","871959097_m","jd_620013727f85d","jd_41d022b3df6ac","13976634930_p","jd_51ca6e43e88eb","jd_7c5b7995460fc","jd_684ff27e5a6d1","jd_ImLvsiryuLLP","jd_guVVJLFKPGfB","jd_SuadLjdTQkIy","jd_405eac0274e8a","jd_716445bb8697c","jd_4e7b75ee81293","jd_5afb6fd0d397e","jd_gKaurbJrQViT","yueheng果","jd_73738056ab3d7","小爱0313","jd_EnWfmgTllmoa","钱金娣嘉善","jd_7eaf7ecf8f1c1","jd_5a7cb01c630f7","jd_61a2bed0b2ac8","jd_498301188af1a","jd_FhHfWQSXPkIa","jd_ppBeFJyvcpeA","sunjianplus","jd_72c95ae82af49","jd_VrlzFQzoyzgB","slf唐宋元明清","15671094586_p","songxuxs","jd_4f58b701c1d5c","2746651-142770","jd_5f5f371c2ae8f","wzj0222","jd_623281c373928","jd_6783f3825cdd7","jd_ySxqvLWNlUeS","jd_745e0b68568c0","lj3967","1580378-54279483","cindyzhang8881","jd_45802cc6ecc6f","jd_442fd2ad534eb","jd_6f1faa6b4cd89","jd_757fa256fe8dd","jd_4581396c114b6","wsfemail_m","毕浪国际","jd_7b468b7c094ab","jd_639930527b7c5","jd_7d63f680e3aaf","jd_57292c3f33899","39327512-909825","jd_58a2a349751ec","MrCong8175","jd_TWKWdhXOFpvS","jd_49813c650cd1a","qq245770233","140884233-905606","li加油加油","jd_4af2979e15906","jd_4b2d5ac2e4eca","jd_WPbAqoLsWnFF","meng730","jd_73aa54d68038b","chen664242518","jd_7c4b4463b614f","KOMANCHUN","jd_74699c3cc2e17","asdjaie2526","我的小碗魚","樊子羽","jd_7eae209be59ab","tomrytwx","jd_6b5eacbafb203","77680776-391304","jd_5bdf59aab2b35","jd_5ebc59e9b99b0","fasoul","Hincomplete","jd_dbnOAWlSnLRz","jd_VNYeEWqMkdWu","jd_77085cf803727","wdDnCVmSCPQWYJ","1324110338_m","慕澄","chinawiz","jd_zcXHczgrmwDd","sunxun47","颠覆者-X","jd_47ad57db886c2","2278274194_m","jd_NeMWQAfQyVUu","jd_67ba557b97fab","15071206843_p","jd_FRUBolIZpvtk","xupengju110","jd_gJblIdOPdLIG","jd_7a1161b1ad68d","15876748792_p","jd_5d8e5d58870d7","jd_7ba0446973897","jd_4fda3227ded37","jd_71fb98fea6368","jd_6635dfaeabf5e","18690725682_p","shaduoh","jd_6f28d1bf91bea","jd_720a2298ca8d3","jd_5b2ac4f3f5c78","jd_lfcREnJrojXa","j13971628740","jd_VwbUMVKrgumy","jd_4736a53530961","z763708432","jd_741ce49148abd","jd_54071000fc7af","wxz3145","jd_67ac596dcb610","jd_6c39dff1b837c","jd_ERQqpDIiwVam","01chenweitong","pp775434812","jd_540ab47c75e2c","jd_7ba85f0ed71ef","jd_izZaJlAdTvCC","jd_45b6a575f6642","692620136落","jd_6cee3de240d6b","betakernel","18651221398_p","jd_5da194a3df3cb","kedongjun","jd_43f5a00fb9f72","shmily05291221","jd_6976fde3a40bc","jd_5fb9a912f49ce","静逸轩","jd_6ec6f59302350","jd_zNdWsfyQidzR","18677140410_p","jd_ymgmNYLZjJLJ","jd_4c56d410bcaec","jd_55a52627c6ac0","jd_pzYPGyITOjXt","泼墨染青瞳i","jd_5ee526227ca1a","18130075506_p","jd_6f0c2516903ce","testbuy66_m","Silnce丶卟念","qzhgame","jd_6fbd67f5de15e","yjsydhs","jd_4f4fea43a2447","jd_61a1a493f709b","jd_5012602984c43","jd_465ab0cea96ef","jd_719e4692c0472","jd_YbrsBxnQVRJm","yolandalxl","jd_DZCtrvVSPVnA","jd_65acfd2d6849e","wsmry1208","jd_xdwFFzMpNLNU","wdceCjGbfkZGlJ","jd_75e5029724151","方舸","kai15689161455","jd_ySHTTSmTIPQR","jd_5cdfda9f71919","jd_444bd98157c90","312高阳县刘娴","mnbvxwr","jd_55aca4cf3b28f","jd_70fe6db8d5119","surainy0204","justfengwei","jd_RKYKJwllEeqY","jd_kMcSswoyRvst","jd_5e2f63c52c76a","jd_HPzWSjiMHdPG","13951015910","CJ64888500","宇宙无敌闹心经","jd_5997a50f3402d","jd_4318db5eec978","jd_717020ecba7fa","jd_IJaQoQGFRLYf","18684938352_p","jd_79e2367174125","jd_6c3f42a5d86a4","jd_4a9c1cb691536","jd_4b992df9995e1","2435045839-690623","wyl_995","fengying0347","鉴婊骚年","princess_8701","jd_5310f1354ad55","tangtze","235215683-364228","cuienci123","jd_40d55630e62c8","jd_677a8599385a6","lfLtxT2SUBfL","zc734140764","jd_54d1e7ecb42a5","筱紫兮","jd_452c50460d003","jd_4326160953c22","jd_5375dc352f104","dowbobo","魔鬼幽灵007","jd_5e8a2a8d34ee6","1796148-76055511","304644627","jd_632811e80d8f5","Eser-0756","xm19811218_m","jd_652d521e59733","jd_CCFeEeuYuumT","jd_70b1cf233939f","297951591_m","jd_snPsIsGdhkTq","13995531390_psm","jd_ZyeZMfHkRxnq","jd_GjDoNlBQBNWl","15552383185_p","jd_61a13d5e9ee6f","jd_680ef5b81d3cd","27856660-539411","jd_zGlSEsPwUaQP","18701668932_p","jd_6e157cce65d6c","jd_57a77002500c5","15399629660_p","u_4b708fd3859b3","单恋脚踏车","yaibacn","jd_XeGeQbeIlJAk","jd_424274b96b6f8","chu2767854652","jd_7ebf4068967c2","jd_7410d07f7be6e","1788230499-251076","W李华杰","jd_fnmpnPpMtCSj","wulang7726_m","389467797-786278","jd_6d5b99c9f54f2","jd_5b5b169d4be4a","13295016897_p","一起去浪","962268-60569751","jd_4e02c94f4800c","jd_wqEUialgGtey","liangfeifei521","jd_790dc47e5b060","jd_hlXqCHchWhgM","logoforyou","jd_67b304b41b908","jd_647732b6eed7f","jd_4f0649b8da9b3","sunny93016_m","zzf241207","jd_78d2e2db2ede4","strangevy","jd_4584277b97895","qxw1989913","jd_41dabe79533c7","xinwu5","jd_aylRCtlWgguH","jd_VKYqWBYULKDG","jd_47f55856578b1","乖乖女_zyk","jd_guuCSJjzuaLA","jd_nzvOYYtqDQGw","jd_gbGALPqkZFwA","鼓哥","jd_6ec5ed0344ef8","jd_7a23b239f6e3a","肥迟","jd_AvNfqMueRMaS","jd_ZfusdJGnLjzg","jd_451b46447de6c","yesheng24672","zlh19840828","jd_7dcc129b5e312","jd_583db992e5885","猪八戒的春天","jd_OiRepQjUCXyM","jd_6054a7dedd605","kfcfs443544460","jd_gWVWsQbJKQoy","西府塰棠","jd_McWpQOiyYcHS","泽泽酷儿","river_s","W_Pisces","jd_kCHtVxPpqhLj","jd_6649bed33bfbb","fuck半仙","jd_4337529e557ac","jd_vkQWRKczDryJ","jd_fMIMXpRKdeXd","jd_njMVbJICoHVc","panfeng1991","jd_481a27e508df5","jd_5523dce805544","皓月澈","wdUBvEFAfbpTLr","jd_4263d9b9e2923","jd_715a0bdbd8aee","jd_7a552ec16272c","jd_414289eec3ace","15999592721_p","jd_7179300a9e7a5","peacd009","112314293_m","Maryzhang845","jd_tElMZjbsNbcL","Crazy曙光","jd_6e1512fa2bae5","jd_6cc73f8cf473c","13656663390_p","jd_7ad30acb6f0ea","jd_68b038e1c4b79","jd_cIxUEvAENzoo","jd_5fb97759e1ae8","jd_5de26471af04e","jd_5638f460cb62f","不爱吃饭怎么办","yanlingling0622","wdNGToVCvbWVBHp","jd_6e32fbb1bc011","jd_odjnmlaOPxPG","jd_47049ab16420d","jd_4d66c11dc73b5","jd_61cee784e0ed3","jd_53b75fb98bfc6","jd_RfabHGOwIaJK","jd_6e21a7545a9a9","jd_650b6565d8f03","jd_4c15d4371ebc5","jd_nlrtMiGrxRim","冰钬俩重天","13866430304_p","jd_hQHEFnChPmPz","jd_774d4c7c0eb95","jd_5f6fbaf816e66","13951675863_poj","yemingjkl","13544516494_p","jd_fthbcnApLOnb","jd_7048fc48cab1b","jd_49c2d7ae35ad6","jd_6d319b793e443","jd_559f7f7657c96","jd_67a2b187afec2","Demon-Hunter","jd_79bf653f546c0","jd_6c421206520d6","jd_4b1f8ffa6ede5","碎玻璃710","GPanroro","jd_62e4396cf3b64","W寸草之心W","jd_4b512de71d0c0","jd_NpaPkHyWpfsi","jd_618cf4acdd07e","18826278305_p","jd_QjJdJkCaxWwj","heke501296708","jd_4083ca1680ba2","13407701634_p","jd_65cd6cad9dae3","woodman747","jd_5d035fb9d6a0e","jd_paFRxLmoHQyo","jd_43295470701d9","dfzzs","jd_6b82b368507d4","jd_CUkYtcRqUAsK","jd_51ea73f6f470c","jd_42d226a7c4d83","何炳贤","jd_UIVdtEzvyuUo","jd_71f69df2d9ee4","jd_5e57c35bbf1b3","jd_576e78272d0da","jd_4813e5506c005","jd_656c638a58965","56577162-281832","jd_75728312e0239","accenture99920547","jd_5e1e37cf83d4f","jd_411c062161a8d","jd_65041af214c47","jd_47f47eea789a3","jd_bNixCngjSvIQ","jd_50ee551c41f7a","雪美英雄","jd_5b55798af5873","jd_793f01a012893","jd_699d01e8199ba","jd_ncxJyvViVkPM","jd_pjVrvOetivSX","15738975956_p","jd_790a08448db31","jd_BQuGbiEtrntD","jd_YskveYnOdMRr","13808251380_p","jd_4f54d22eb996e","13720432949_p","380442388-597040","wdLUxcBIaDxgWy","jd_ukcJSsZhnLZV","jd_45a4d4e7ff858","18821260996_p","jd_45c4ea558557b","wqxxsjc","jd_SZTJmtMqrKmM","wzywzy41","jd_5dc3118e0319b","jd_4438968df1164","jd_66ec9802ac924","gdmcking","zhaoyali1129","godsword02","jd_6fc930a6eb875","13952133953_p","13770481518_p","wdVNlLEoPdvijf","13814842044_p","wwm18282709678","jd_642c8a30ff83e","741652075_m","jd_4e7b078f96e45","SUNRREC","1138951849_m","jd_tcYZXeMbkuFp","63835001-92680837","饭666","jd_6c13066b5aff7","dianchaowang","sugar-dc","jd_6930de1e31da6","1083846397_m","jd_5433af8a7d22e","jd_456366f7522fc","jd_5f23fa4db0a2e","jd_695109dcfa482","jd_NHfnpWICQgRb","jem1997","jd_526cc6a7bd9ef","jd_DnQINBSvhuiE","yinhaosunjie","jd_6fec944fb695e","jd_crVgqfNzDFJO","jd_56796ff5fae7d","不信鞋135","18382409005_p","23409966-110541","jd_74ea1643a90ec","jd_6a1344391914f","fang2625","shecong288","jd_5e727fe67a46b","jd_74bc235894e4e","sophilein","jd_qdzEERjsubdB","42056682_m","huangqiupo","jd_677dd20bf2749","j9091929","jd_58bcda0740d3e","jd_78c5e1bab1144","jd_PGpnbSjAaFdG","只做你的的小人","jd_CQyYHafujXFx","18028578057_p","该死的猪","ccssh","lyf36524","hzl201","15178095314_p","jd_576fdfb288853","jd_682941d894f28","heliang219","jd_4e7918d7188a8","jd_47062a77766c7","jd_47ceef6c7eed8","jd_42b95ec06d754","jd_ZaVfPokMmppJ","jd_596bc4bec63b9","yel991231_m","18223552457_p","jd_6e675d4b392df","jd_lAqbnuZfnlRf","15927020822_p","wdhMjtmoySaHNq","jd_LiUXyeQjpbCW","13719748853_p","jd_7ebaa05f01e39","阿七是好人","jd_78e64addf53e2","jd_696f9816839b8","jd_6c2c38b490357","jd_7c3b0b748309f","jd_568e87714baad","jd_6b41d8f5e26ae","wtt-4827","jd_5ca5bd529dc14","307604301-429904","jd_502afe49ad501","lukao","jd_71bac41669a00","jd_5d216dfc2bb47","jdscliuqian","Free_Air","13574119379_p","ala-stone","jd_jVnoyjxxvIiU","任剑萧","araragi602","karakoram","jd_48b43d9a2e247","jd_6747ebcb881e1","25244851_m","924428048_m","jd_774b2fdcdd6ce","jd_amxomQzaCtxj","jd_bkYxnpeVABsL","jd_HxHtnzGFGzHv","13763038371_p","jd_6f77fa42400a9","jd_7617d8033a08a","jd_5f7f3ddb06dd2","jd_785e089e03517","xygbear","greathzj","13651636428","wdNtwUflEkWwufp","larryemerson","淡忘-LQX","jd_5bf1d9564df57","jd_qSeDuRvTbiBO","SP18022209577","15029285506_p","jd_7e6591d8d85b8","15996267793_p","wsh123037","jd_5aa113f6eadd3","cupidy","chenyusi8888","jd_5827cc6629e02","jd_5cfb2a54cdb01","jd_5f39791d52af7","咸鱼蜘蛛","yuhaoshuai","treasurelife","704524-68421077","我在笑你","jd_7dd96158ba54b","jingyu5566","sk991359234","nishaolai1","jd_DhvBzteXrvXF","jd_783b424b7b1e2","jd_5bfbfbfe18cd5","stlbb","jd_7bc766ac760d8","jd_6fe3806b44cbb","hewei0049","shuxianc","n08320112_m","13426241686_p","vanjanly_m","jd_4cfffec6b6c45","oklookloveemy","long525231","2218032645_m","18463968939_p","hayker","jd_wriBSapluEbf","jd_639516c6f8460","jd_52c50efde3d97","JRSD_stVwM2506","jd_5bb06ad620afb","jd_zqCwVKmUuOIy","jd_6371c0ae507c3","jd_78a69c4916823","jd_JCnXDCndtCUD","jd_781601ef4a2a1","jd_5f5bdc51f7b14","jd_4531bc07937fb","18635494525_p","jd_gChWsFVEyrlo","tomorrow_52077","jd_WXdDRougzVQs","jd_4e06826ec41ce","jd_SlWvBoAHPzea","三日坊主85","jd_mQikyCkpzJgn","jd_644593fb1afd8","jd_7c7d067e97ef6","281704539_m","jd_njxZDhDDkjtz","jd_7bd24081023a5","2621410990_m","41567543-14769000","lf4004145","18640615825_p","jd_77f3890ab770e","jd_411df452fd3ca","40990-22620032","jd_720750a3711fe","菲菲妮927","75173324-45201923","17317962-53921659","jd_4aafd295a71e8","jd_610eefd2bc0ad","jd_54a0fc8ca2f9a","jd_527412391479c","jd_719f835f58c0f","jd_64c8039041db9","jd_tHjOvUkYqfGp","jd_4e198cba1054c","jd_zSOAtPGygkRZ","m15397979652","jd_qaoodZpuyHYx","jd_pDIEksbFhTxY","wdKXFajkfePOSA","jd_446b35c1e5cc3","jd_5ca478afcdbd0","wjl617123","kellysu26","jd_51f35a111635f","wj654013101","jd_vSoXDkIBDhvV","半杯茶R","jd_6c1cfa9ef481b","zzaass00","jd_XKHwycdhJdUx","wdNYAsFNWDLbKCC","11478805-772521","jd_65c0e513e0948","jd_475b1c0fb069b","yaalon","jd_4d877a8221f21","jd_6280b30b9ad96","skyrim_mbh","jd_728bfbe391d8c","jd_6f8dcc363f306","jd_701ef2a32b4af","916004489_m","jd_TyQLTlSGKRNI","jd_60f9648f9346d","jd_gqfdynGQebMl","tzwlwm699","15905209182_p","jd_42abd57a7ec19","phelpsz","1296850193_m","lc0088","jd_69a5e9758c8ff","kpstxd","jd_wFXwseAkpimD","jd_gsODuKcYdUyY","jd_MvPCMaPhgzZm","13810016681_p","jd_ipTdPECELMFf","jd_722167b76ba44","jd_baDQJdqxDykh","jd_gAYYXUInWLAq","62554342-590210","jd_5def961e5d8ae","jd_BwdyCzQujtBy","jd_6f5e8ee8f9429","jd_GGjcnjYeAxLV","jd_jZNAexXOyurJ","linrenzhi1993","jd_lcdMwEYclEpW","jd_CqkIWYVbDwwr","jd_5bd89badd3893","jd_QXSOyupcAXeU","jd_50e061758a9aa","kdpolaris","jd_cDwCPxHcrFfb","子墨轩辕","winfastern","13035326986_p","jd_4e98f85248b11","cxp6666","sumuli","imwanggang","jd_459265f1bc6ad","sammy2002","jd_60cce6d65e962","jd_zrAgvPJcGKHa","jd_4552e5b75c05b","jd_JbXxpgToUjXs","jd_PUpvjgmInCGY","398562853-447036","lisbo1552","jd_6c2674ccbd6e4","yc27216","zwm2296692","jd_78bbbf4000870","skyhobby","evskaka","jd_6aef39741b2e6","jd_BDzFkrTObVze","nonems","jd_421ecccf3770c","wdNzQnHrIJMMCqU","xie643234","15827064271_p","鱼七猫九1","yangdeying76","jd_fTqOcLJrpRkQ","jd_739109ed61aa3","nijiao77sm","jd_RvpDZIxseSQb","jd_fkrRReQhXoyM","jd_4aaf4be7adf49","jd_bGmLsrNxfCZn","q15810527284","爱丶假的","jd_6f030585b9944","thorongilii","jd_41d90052db6e4","jin13752991610cool","jd_70e9037c3eb47","18805602898_p","jd_6770387ae90b4","jd_7b6be83881779","wdvKYbmZmmTuCj","eternalfor","gdsgpp","shengmingqiu","15726813786_p","jd_6d1b1a5380efe","jd_5b03e42410507","jd_dkFlOIQfBbXT","lmy16ban","jd_4b46ded36491d","南京华讯","jd_589ba2e7c466d","骷髅铒钉","jd_jeVyaIOtbnQV","红红敏敏","jd_uHnBwSSDqCOE","15606926760_p","jd_UNnHaYRosqtY","jd-hhhhh","竹叶筠","jd_597613fec58b0","夏日星空1988","18350562907_p","春梦伤了","hiwi","jd_5955aa691aa60","13590051765_p","kittyzero","jd_7d5a7e102eb17","jd_4f510e829bded","jd_KmwtjtxEMWAa","jd_caotkWLGqAmu","jd_5c91f0b80ee7f","青丨筝","jd_nfZtxLdbpckq","jd_NyFRvJrPgzWT","jd_7af96c06f8b2f","pcq727","jd_676eddfcc6ab0","jd_ljYfohpwGkhP","jd_43ab1803383f6","机器人111","jd_nojFullsVgLr","jd_6e5727159dc59","jd_QJhjeqPudejW","jd_57a92efbc97de","chineseshelley","jd_59a58220121a6","RekinChiang","jd_7fa35663e06eb","hat007","jd_OJpdvggXncVL","15828267358_p","乐乐20010601","syy88818","哈噻666","jd_7b4a47b73c06c","jd_FBdMnUVTiOtj","jd_5d01ab2954c8e","cuteluo1983","jd_RrmXxBNCYHSL","jd_XuoHaPYCEotM","jd_HkKSKgdAhlNx","jd_66f05c7e648fe","jd_uhJjUEVQscOb","jd_XVGSrXttLskO","jd_IJvSCqYVPUwU","火特二号","jd_7f7bf54cf01af","jd_600976d49f64f","jd_4eab7f9577c17","guojiang6556","wenchao115_m","107629584-85415739","820938322_610973678","jd_IcnHQrwOTfOw","su_l_h","jd_65f252f27db52","jd_515946873de8a","jd_676379f15b428","13248295636_p","jd_685d3b44e21ee","597上杭县陈艳芬","枫榄陌染","jd_45256748c19dc","richzzp","jd_424d697651763","jd_56ea2e1255a7e","jd_GziPrYFOYWKA","jd_61c81d684fbef","42256925-809034","Herry20014","jd_46b4724f6fc53","cuiguoxun","youlingwt","jd_ERmvDUgXvEDv","jd_63a5c7e25eec2","jd_618e19a1bea94","jd_74adda72a7b5e","garfield1234","jd_55c4c0c0bc3d7","338736100-921265","jd_SoehrpOEykRv","jd_675236ac416e4","18768176872_p","liuyang118659","jd_WDikVXIzpNtK","jd_6bbb57b434794","jd_kWbgzLGWpBfZ","jd_46fe7d08ef39d","jd_DCHgiTamcvZG","jd_NAmdznwqUUqZ","hao0863","aliyy2014","jd_6af82c1873183","jd_789a25ad1756f","jd_58c95495c3d69","王智弘","psobb24_m","jd_6ea574ae45a02","jd_7927e76ad4628","walnut9","usertest001","jd_60be4a09fd9ea","jd_78e970a6038e0","jd_PHgJBdcbKgaC","jd_sgfKMJDpRBaF","jd_5f829138c2634","jd_405e4c861b53d","mhdhzhang","jd_7eab3d1a07acb","166654210-126853","jd_pdvYmvLWfYgb","15018606006_p","jd_6e23ea9053189","jd_4a8e107694119","15580838949_p","jd_4b4d7c5d101d0","涌动的海","jd_7fbacd4e070d0","jd_FtPfpKQcYGRS","牛奶也酥酥","jd_aNJuwluwcAvK","lurker5230","jd_417bda8b4d3e4","jd_4d8110b3bf5d4","1270974473_m","jd_4759412004886","纳爷威武","72115772-659500","jd_493692f44f720","jd_siNfmPyACDJi","jd_610786a5f861c","zaron","jd_61f32d4a50db7","Meikeo","zhujinxia9_m","jd_7f6327faa3ff9","君子沐","jd_43886da4723d9","jd_675552105c136","wdCpPqWqyWCWPq","jgl_zp","jd_4f51770ebdab9","醉夜潇潇","xuewei1986xue","13888595922_p","jd_548b62a16277b","jd_648c2a58e400b","jd_475b76e1c8d2f","jd_CraikOKPFPxD","jd_cdmJGfwkcrMG","maibinqiu","jd_6395386662d6e","wdfwLvOUDpuAug","jd_66a8c273903a3","jd_76df8680261dc","杨丽敏912","jd_531adf80bae62","jd_578855ad92f31","ice-hazymoon","18622968166_p","jd_WEayZrxtUHtW","376759930-592799","644308422-229777","zhuyang_1993","huangwei5188","jd_5cee165dfd4ea","xswhbo","401087884-489829","jd_AwHhYImEoVcw","chengbin5200","jd_5adbcd8a27086","jd_536cc0dffcf09","158094287-836907","xudachao","88154-15754955","jd_WdyqExKtISsb","jd_GumKhBdCYaxE","jd_7109df5e01e7d","muchao_119","jd_458745533a179","jd_57849ec609f63","jd_54a11b70f1055","jd_gfGIywpzPFqb","jd_5c1e07c2bab46","13430311342_p","jd_CNkLTddWgIkP","南宫莫伤","jd_4502ed856ec89","jd_75e0c277f538f","jd_7939172f0a31c","jd_497a06f9b4ec3","jd_47f76b1cb9866","jd_7926075b3e0cc","jd_5f789197ba545","jd_7013613f4846d","jd_56d6d441c28b8","jd_jVFzhFgLgHzi","jd_KsUrtanZHicJ","fgprodigal","jd_5710b1f51e14b","jd_EraPTfrkzdke","jd_7a28328361fac","jd_4bb8140f07356","jd_50bbefc3478b8","lmchow","jd_56adda6f4505b","jd_7214e2340af8e","jd_4b406b007d300","jd_6ce63a2fff7f5","13815834530_p","jd_FPVYwnBwSocA","jd_542a598d10a38","jd_SlyNjIffoDGg","liuxinhua1852","jd_426e19dcdf6f1","jd_tKrMabhJzdTx","jd_446412dddd4d1","jd_6a67c6fe0f1d7","jd_491d7a7bd80ed","jd_LhmWyQFfnynt","啊德雷","jd_6ff58a7dfb9d7","jd_6a7161541b7d7","jd_7857dfc4da423","jd_5851f32d4a083","不丢的奇幻漂流","jd_63108a94f859e","jd_79645a22ba6bf","jd13809211659","jd_513744b1d643e","jd_VhqNFhNANNaA","source1989","jd_62ddca3d2979c","jd_4e5b0d8d9d1e7","jd_7eb9282f1cc68","骑士豆豆儿3","1085826329_m","jd_745cc3ec74ca9","wenzhi5w","maplysnow","15288709109_p","jd_60c63b6a209d0","dbvw9991","wdlndglxGzFfRg","13670280546_p","若惜沫离","gusha915","wdlZgkjRtdPIKi","wdLLRiQleAVgcm","jd_5347ef94ab4e0","jd_5c629f2654ef7","jd_7b7d584d94162","jd_5e1c165b1457f","jd_6eb9a5871b354","jd_vcaRXyNRDIYl","jd_yhOTKTYfNKRl","jd_4e7702e26b6a7","jd_DByxjohitCaD","13005339380_p","86474933-987408","jd_hdXjmlkYGTce","jd_7cd8ba34bd30b","jd_yztzkGvHfvjh","jd_61ce03a58882f","jd_hroPswEzEEji","84111561_m","jd_70f7410febfde","jd_559c5a0c647ec","wduIYQpqYQAiUU","zhoushuai271","丶牧草","superboboye","13691465245_p","jd_47f0c9e2b4afa","jd_7d0d91896b397","ft1101572","Apexgzy","jd_55768b455312a","jd_6cf22d85f3baf","153860865-972603","13862166630_p","15605181039_p","jd_4bd84fec70da2","jd_59f90da556514","jd_47f4cb0bff332","jd_6b297f87eaff5","jd_676280aff45bf","jd_fBWwWyNcwHbj","jd_59bef92c52ad5","18629418540_p","maojunyang_m","jd_7a618396853bf","jd_6e0da8a25f71f","jiangweiff","jd_784e6e875441e","whyyuan86","437310528-382475","jd_716d83d5a51a4","hayzhen","jd_4a06f12b0c282","jd_731bd2ea2ec1e","jd_5cdb7153d1c58","jd_TxrDkquwXWmK","jd_KFiohiqmUKSO","6104-37806414","18039952175_p","jd_5b8b1ff3f3817","jd_450cc09a36186","jd_59a330f2c065e","vgenie","jd_525e53cf5c6b6","jd_OzYzxUKIVKBj","jd_JfaesRPwPBId","jd_6963dfd7f419a","jd_5892becac7ca2","jd_5b280719dec54","jd_4bebaa0217604","fuzi_xiang","18883993895_p","jd_nVPRGNMLPAsh","jd_70a91be1c0e32","jd_77ecc639568e0","jd_lpwjSqDIfjBy","mjwlwml_m","jd_kdFuIesjQtsw","LH100606216","宝宝爱吃维之王","fascer","jd_72e9eae01da23","fashioni6","jd_terguMubYEIy","jd_52156cf8fad32","皓一笑","西决wzk","niejianyong","820694800_m","Michelleths","jd_5fe5c0b42cd66","zhongzengjy","15622052611_p","医学唯我","mc413511928","jd_NJcjeYZVEHvC","13632523606_p","jd_4ab4f54b0c0ff","jd_6d93c2fd3a9db","jd_5cb1d5c13f76e","wdoAJyjJPwQZEt","滔tao520","jw-828","jd_62706d389009b","jd_6fbbfd7d1578f","jd_731c428836d54","15715846562_p","q304644627","jd_rfHCqEMlkUfS","13813363836_p","u_7f9a45c016b28","PengYMING","yuerspool","jd_7d57e407914bf","13026172444_p","jd_ZwirehqhiHIm","jd_QEecPqYvpKqj","jd_603f89b4975ca","jd_54b96545d3360","wdGonsmZbfKixi","jd_5006126d8b01a","jd_lFDQyRjLSDdy","jd_4073458998068","jd_558b99aa98746","jd_6700ea9ce7cfc","jd_66f22a8a0b3ac","jd_ICSWmYHRazTY","jd_HLXRGWqvADRq","jd_743066a96348a","wdhSMgjHnGBEED","jd_7009694ac3ef2","jd_7722916197d4f","ko25256","jd_4574020f260d9","jd_556bde5f6fc91","关伟东","akimong","陈炳生3124","jd_tJWlyRGXXcgt","jazzly","jd_48f1723b04425","qgbloveyou","caisson","jd_5143c16a5e210","jd_50c41bc3de0d0","jd_62a36aeb4d814","jd_59d94b06de56d","xintian312","hxd1252603486","jd_DLNwFqGymEdg","13290292019_p","wdYqYumXRPjHeV","xmeimei8521","jd_6a2c8931842ed","周沃悦","hong3096","MaDn1998","jd_669c1edf4eb6a","咸a菜","15640429733tong","333585263-197253","ijjk291","wddjGWiVwyqRlC","jd_KNBPBIFSkqKf","hongri_2020","jd_QEJFqwXTiyuN","jd_7420c425d509c","jd_570aa397b741d","jd_426c4750ec0de","jd_618a546da845e","jd_77ee2cbe27cab","jd_GworlknlnPZT","jd_6c1d32870044b","jd_650fb4e2db641","jd_6acbc254383c6","jd_7cb8e7759c41f","jd_46b4ba7d536cc","cf281151850","1114987-97583841","jd_VpsOUfAmhmTB","jd_iOKyTimIRbpN","liyouleo911","billxq","nicolanan","jd_62f3527cdf350","jd_NuYZATWPnCVT","609998660_m","遍吉大昌","xiajiyang2_m","花小小爱","jd_47f6b2b283ad2","jd_kkgmvYGczmPf","cooking00xyz","北方的记忆","前尘勿恋","xmfly15172429894","jd_6baf0abbc89c7","jd_4f5faf7d53278","wi5101","16918293-56217388","jd_oXxDPLHbJVMz","jd_aEPUSkFCSOsE","jd_6b18410c65028","jd_69bc1b64473ec","星云散落","18772383543_p","15806784747_p","wdNGmKVllqVhVcZ","784598711_m","xuyujuan3642","tunliangliang","jd_rrJUiwVlJxKL","jd_718a74d69b86d","jd_612555096a092","wdTXFpsGVxxZfl","加藤慧","jd_4448bd9ebe455","wdlAgLLskbwqmy","jd_yjYhyXDxQBKU","jd_67dbd419cec27","jd_wFkXsXZZQdbn","gaohuabiao2","jd_RgyqblbvpyhZ","jd_69ec01e87bed4","jd_7993ddbd6b4c1","jd_41f5680b39a48","jd_70b4cb6b7e3f5","fensm","Gnaixuhz","jd_71577b0d5e7e9","jd_PFmupZIFQSTb","jd_4a64408d6cc00","jd_TesGyAtYSeqL","jd_71bb44cf239ad","13545892959_p","yukpui09","荼蘼凋零花香尽","zhang2821552","jd_79201bf822559","chanyn","jd_PrkaspxQrjxD","jd_452448fd4a29e","jd_wDtyEuGtNyYK","53689122-638384","jd_621fb5cef5dab","jd_72de6f8ef5a1b","jd_kSVwadAmrRJj","wdNqawTDhwvQJF","wdwWJWfnLxTsPf","jd_4943b8cda16a2","cnkeyx","jd_45cbe6f83686a","爱尔兰1990","jd_5f1c1aa151d71","小四029","jd_7be61b51fba5b","jd_580ba82d24f84","uamybaby","17093123880_p","jd_kVjGtXKXrNhH","jd_740d605623ad4","jd_7d4fe10652048","jd_631fe5f069c2b","83656716_m","15263697781_p","董蒙恩","lantian352322392","jd_GkzxlPFhzavs","jd_vdnOBRDQWAif","jd_7cbe994e2494a","jd_61e65ec8faf59","jd_PRWtMwqDnJgG","jd_6be296c680317","jd_4c23a30256404","18631914686_p","tangzuzh","jd_EHitioIkyLGn","jd_6fba96f51a19b","爱丽莎13142","jd_4530fd33ba800","jd_5fc1de207c537","wdejODOTvMxanJ","jd_7104579268252","dc_haha","okpass","jd_DAfhsUQAxvZi","心有猛虎细嗅菊花","jd_6cc44b21fd9a0","jd_41c29faf96596","jd_6d8f6333a019d","jd_ymQpINjvBniP","蒙俊轩","jd_783ef3282a62c","jd_4a39cf0e4c3cd","jd_4589e121f098d","jd_7d7424874f8a1","jd_66175109a541d","jd_wygldtdOGvXx","lygjt","jd_GQAuaGdRVLKt","OZM偶然","jd_KbdncqRkbUmP","0411dlls","lntcory","13777004558_p","jd_swUCfZOccdut","jd_kdpHELWyydPJ","jd_yZedBVQJcBSS","jd_628523127f09d","94423210-148795","jd_7ea58faaf61e8","58932115-452084","169087838-164904","jd_7f61dfb57709e","jd_BzvJbrfYTMMW","亦幻菲真","小沫沫1219","伯伯111","jd_WNivdCqjJHor","jd_GmVPRbxKrAxt","13288809735_p","jd_6002b8984e57e","m414818198","jd_589bfa4f8c1c5","jd_44fdd6527982e","tangjunwap110","jd_tGIVqFVpZfnx","jd_WwXusQFFSvYM","helloworold","15637712292_p","quzhengdada","jd_41096b3a61384","jd_QPpDGqLaECnx","jd_tOZSxHRZxfNR","jd_5807d2a64c781","jd_6274e426ff798","jd_53b5d1ebcc1a0","15770702609_p","meiya520my","jd_717977f5634c4","阿斯顿4751","jd_7b747ff6c32df","xxming182","sjzxy153","jd_LZLQHGbekcsH","seacat","jd_6498016b5f363","xyk92615","chengbin52000","jd_TJwYiMCRunKu","谁是红太狼","13185023293_p","jd_58e93af4fadc5","24134011-76825404","gujiys","jd_79e33fc2b96ac","1475711-984231","jd_62a86720dd9b7","jd_71255de76fcca","lsh202020","jd_mmbsfQVqOPkD","jd_7178f444bfe17","honey946920","范剑珑","71892670","41099948-529439","jd_53847a09a2c33","jd_54f0c8f549fe4","huyaobest","jd_6d60a2e47eab6","kang399","jd_4298abd950d1d","anyuwang0513","jd_4dfc528b32bc8","ibenx","foolray","LZ丶雷锋","jd_4e4ea3ad758d9","15800541165_p","jd_778ceb2cc3911","phoebe6281","jd_6a472e5c04030","jd_43e3df2729377","jd_731f2b3a2a3b4","jd_73fdf172324fa","孤风处","jd_5300b42a8f23b","jd_62c3455f675b6","jd_aaelFDTOFGYQ","jd_6e6a55b92bae0","jd_675d5e35aabfc","jd_4023db2e85a82","jd_6ce10fb62678c","小小土豆520","jd_4c136dc23a2a1","叶白_","jd_71f9fd06d210e","jd_7c8ec38f0b2e2","小叶榕_42","jd_7fd9e36903c78","jd_74cb91dbafc6a","jd_73ebfcba57ccc","jd_718fdf213c2d7","jd_58d73f7be54c9","jd_4c853a2df6953","xg_zgy520","wdvtoMtxtTDnZU","jd_565e3fc80de00","doom_vampire","jd_79dc85bd21505","jd_6ed1b8059a3e4","jd_59ffeb21d75c4","361372-27819972","55669125-265315","pang_weina","niwode一辈子2013","jd_58a9f4f24c5ae","jd_tWhqnZhHNELM","jd_AUFmsTfVhHiD","YangFeng1112","asine999","jd_dUOjvkWXSrhu","keadeterry","jd_5fbe1ced4acfa","jd_551e0f2eccf4f","jd_45b381ed08edc","yhjtb000","jd_6f4b6c6fbcf7e","一夜尘埃1122","xhm18649","jd_4592a288ca954","jd_icrMZSsgWcVJ","jd_7cc3be1c69869","jd_56740234e598d","jd_BngMpgGvYMXg","jd_74bd3585645dd","jd_sImNxyExUJVC","jd_walIoULKaykk","jd_RsoFePUvLiML","jd_NWUVQmcVSFeR","jd_5618b176f2c8f","深蓝jeaven","jd_gpbnPwcgTwlr","jd_6c1d5e3cfc69c","jd_KHbnaPPKmVru","625603964赵","jd_6362584751f04","jd_5f34cdf5d1b59","jd_usjbVoquGSBr","18780070688_p","yuzhongdingxiang","jd_IbBMFdsXElfL","jd_bEvjrGiNaYqi","jd_DMhsSmfDPFTa","Requiem凡凡","jd_6663985fe4a6b","jd_OLWONZOYMbZg","典不典","u_475b4e69ca2a0","wdmrXJpioxATQB","synss","jd_5db2b9f42a664","秦琴2404","jd_xIZRZuDwNuIz","jd_FJGSEhZsovft","jd_aLzOsGXGtzDa","jd_6185a6b4fbfe2","13550593156_p","allenilkb","jd_loMrTGfLnbQx","it_kuing","很闷很无聊哦","jd_4a5876125f358","jd_71aefbcf42c5e","122140894_m","jd_549bd44045468","GEWEI920","jd_qtnNHGqXtybY","jd_493d1bf035b0d","jd_4c606f75f5a8f","璨小妖","jd_TXAMKUHgXjMd","wei_1122","jd_LKfMWEMxoWxk","jd_bFjqpRJUuLrF","jd_dAhaGNUgYiqJ","jd_4d41adca2ae55","jd_78ce752defd77","jd_777cd278580b9","jd_esyVxJIKbeZI","jd_4aed284be5563","13622887891_p","enixmeng","relaxbabuy","jd_OeKDaOaumnFo","奋斗的青春","revive0day0","jd_7a15ee5a05f58","kk209x","jd_70edf1311451f","doom_vampire2","jd_417864ba371eb","tmzx054","jd_73f529537b9bf","jd_7851e2769a442","宿臾O","jd_69c0e9392b565","jd_79f7c1646f8be","jd_56fe0099a45a7","jd_573c9832d8989","jd_683b71652abf7","jythldgz","jd_7711ecb1b0d29","jd_wiCJjnsIiKVW","jd_4562e9394b14f","43321965-72549548","18064267808_p","jd_QTsWANcmEJkv","jd_5e6bb2ed3a3d5","jd_63ed0bcbefc22","109729487-911224","jd_567dfe561bd65","jd_752f3f5e0882b","jd_46eba9c8c6fbd","jd_7d9cb3ef20f07","jd_FBOWVbjjgBPo","qgzae333221","jd_6409b17c221d1","严物眼量","jd_zSUzTojvVZMy","13868160530_p","jd_5ab4f361b4d4e","jd_6835629ab0ead","15021069631a","心飞扬215","jd_62911c1ca8ff2","CWWCXW","jd_6992b70c5f188","jd_45beefcc084ec","nanjingadmin","zcn-1221_m","accenture99920034","13524907147_p","mygod000","jd_4292eff585170","jd_757fdb36565e8","jd_5d4392563889c","jd_614f005c24d81","蓝色眼泪15117042559","247015180-679075","jd_74242754e17f8","jd_zIbydKeXjAIA","jd_569f927a126cb","jd_543b092ca35f4","qxbycy","jd_696f8872979c6","13911692997_p","jd_613ad73bfdf9b","jd_6c722c4484060","韩志康","jd_5e4c9434de73b","18803076458_p","15210588955_p","jd_62f13de18eeb5","jd_53221bab7cf72","jd_LkqwJJiVttUQ","jd_wJFmmXXEgszf","jd_6d9f15a16817a","henrek","青衣蔷薇","jd_421faf2b2f7f2","jd_415418ecab965","jd_XSLJssDDxFtK","jd_5b83255dd98fb","crueyll","hrbsnowfox","1260192-36093819","wdNEvbVLomomhoY","cjy1235791","jd_4206d07375c26","1216412529-140531","sunjavashine","心灵的触动1160","jd_7ae09a991e4cf","xzsk2","jd_kRjrVRsOzNSm","jd_4acada4afb603","wzywzy70","jd_775c361d43ccf","jd_59285db6c2d0b","jd_5f86bb90c9b00","jd_4cb5cac927115","jd_4c5a44e27bc4a","65281097-159719","15913552209_p","jd_4753e6e443b4f","zlinyou_m","jd_7ddb71e81b3cb","jd_lHKRecsVVKwh","jd_60c51ad6018c3","wdGYSJzxSsNpux","梦辰545","kejunjian","jd_402fe7425fcaf","jd_4fd0909105976","jd_5a9462dd55808","413056775_m","13226585317_p","窗边的小豆豆777","jd_66f583a161ca5","眼睛嘴巴我","zxh871006","jd_4a31c8e791d57","jd_572255c3eb21e","jd_490ea3fb71c58","jd_qXkJJsDFmmQk","jd_MavyxsxMxVCI","jd_78e89331647ea","a197247196","zhengsj","13073023365_p","jd_75924690b95e0","jd_MKCTMPVUCuqz","没有署名","jd_762c0d126b95c","jd_59e918726bc5b","jd_666bd881844ef","jd_7fd477ab1ca05","jd_dAPVlHkQlRGa","jd_42f7b4058f508","jd_722438a6bbbba","jd_60e6416528858","hydz8023","jd_cPeMeUMfSXGF","Ilym_Song_m","zz13158888915","zhangdiaiyeyuchen","jd_6a8e435d2bf38","jd_75572adc6ad5d","493502443-489206","jd_6ccdfd55f16e8","liangyunfei100","13213058365_p","h158579284","jd_6d2bfb59660c4","jd_479264ad454f0","jd_40039735e08e6","jd_cKYBovVIhJJW","yuyangyu755","jd_541e72438613c","jd_AyDZFcifdCGI","jd_728724c46529d","jd_5b9672f6deab1","jd_45994ee71c875","jd_EmtWdjacwAJo","jd_6d3d8095bcd3e","baorui23456","xuxiao0o","jd_4962642065032","mrcjq","jd_50995641461f3","zhengzhe36","repay丶","zqiyun","岁月静好f","149838543-435198","jd_45d609addbed6","2392542946-712403","jd_6cab59a123c86","13969039530_p","happy六哲","jd_PTYxzjKeRWiE","jd_cPUOaGrvHuBJ","jd_5c746385bcff0","jd_7ed7bd7019b96","jd_CaMzDYoXtBGg","jd_XHiYkosHviRT","liuqing025_m","13319804239_p","jd_5d5d63403bc59","jd_NENkePJHtcrE","jd_4ec3969f6e14a","jd_59495ae34a837","jd_4066ec9767f18","jd_XGOGbAucLGte","jd_eZVKksKRplzy","好帅的馒头","13107313779_p","jd_598d88f3d55ef","wangsiwang","jd_hrhXZhdUjjVg","HUNTER罗春林","jd_5fb23f40107ce","jd_52fc42183ab8e","jd_50e6ad9f25610","jd_5ea3818be084b","jd_5548b45f0048f","jd_600313bf01b61","jd_6b9b4a6f8d813","电音ST","朱峰0414","树上的木屋","jd_JRMhwrierjRS","drl962464","jd_41a537af05914","13595045051_p","jd_638ebf336be29","jd_578be380dd599","amwynkc","371207260_m","18316965600_p","jd_69fc85c99cf77","jd_4ee49da202d72","super逸","jd_54893113f96db","jd_VIvEiOTWvhWF","jd_tTyWYesvRWLH","162558967-51845745","jd_621788cba8d71","jd_kTJdbwJYjMWJ","jd_5d88a0666f5e8","kc94514102","jd_7433831413eec","jd_53af4f4ef9efd","18376764538_p","幻化琥珀","叫鸟鸟不理","wdaHrFbwDyLLbk","jd_6411b83412c4a","吃货集团","jd_61de7c783036a","runclover","jd_guyTzDpeCLsk","jd_60771c2a298c3","kimchill","jd_7670ce8361552","jd_719942354b2b7","jd_IbzyCqVmFzRE","jd_44d2a1cb73da5","jd_DLUCDhGtEJRQ","jd_4bd1817ae1f32","jd_5b3ea6655d894","jd_EUUZjEkwEFvU","jd_hXeJtIRShVNq","jd_58ceb0bbaeb1c","huang_q","jd_IeUHEFKkdWSr","AppleBugs","jd_prslZJfJwzRs","jd_5a382f18e4e9c","jd_593c3290fdf79","jd_taYpdKWgYNxm","992678265_m","jd_4397fccb335d8","jd_niHiNLyEfwSp","jd_5e2cb47cdcf58","17708339036_p","13870927907_p","lsn794685614","abc60402000","jd_OtmEPdFCuPqn","jd_6a64045129aba","jd_VWkfbSWMzxRs","neutron1988","lhw0755","jd_tdUisZOwnBtA","jd_6954091aa6862","18718920810_p","夏天热冬天冷秋天凉","jd_4ff06546ac3a6","18762452787_p","zx282049862","mseweb","jd_55fb155cbd796","jd_6a85b5842e656","1290029643","15842965320_p","lucy0803","jd_7b053d866b161","sunhuasan","wdZTMBEsscpnZl","jd_63e0fdb43bbeb","jd_6f91a6dd36967","jd_7550fa6db0daa","jd_42432151e8ed1","jd_ElZcASfzazXI","夏末么","jd_BnprtLgIGywK","jd_4f600a35ba0cd","jd_LyJJkbghjmLv","jd_7679a40fbb620","jd_HhCZMTTFlOwA","jd_dIcCLOLzCUzn","a1026574707","jd_4334c769dd90b","jd_66afa80dcf849","Mafffffff","jd_LZStYEkTfUAX","jd_46990851e6f1e","15410336-72240884","jd_cxKzixtCRnWq","yiyi6696","shaofet2","小左羽","jd_5b7cd41f077e0","jd_XFuzyThjBTBs","jd_7fa2824ef1c1b","王凤奎","jd_5ad79c4fd78b6","jd_bBgjTwLGdnPY","linshijie051","jd_BHutJojUzMld","wxd0217","暴走到明天","jd_5bc8db7898444","jd_460941e00a512","奈斯67","jd_CFHnMjQmPTrg","gtax","哆啦A梦不只是只猫","jd_492ab0a964106","k1483162508","jd_4f3c5c05ef633","jd_4a3ae006ed503","范元棋","jd_gDLCuQOveXtf","jd_44855e25a8a17","ruojiruoliliu","13626133677_p","jd_52f00822a12c1","justcarter","s_himan","jd_58891611a14a2","jd_5cc50fc6566fc","wh165227462","jd_601319cdab3f6","whyjxz14","shenfengseu","worldliker","wdUHvdHXPnGlnv","jd_79b8df2e95a7a","jd_WQXxOhneyABd","jd_5b519ef82a83d","497729208-345004","jd_45978c0dfe1d2","jd_5b605d07f3dab","jd_7e66818cd0653","jd_yWauGTAOfhKx","ligong2008","jingshuoyu_mpy","jd_42dc27f3cb631","jd_cZkyTknDrUzO","jd_qtKNfTjguPLq","xjfskywin","cody33231","海水若冰","jd_57cb2ea15390b","我是米粉","jd_RfXLBsoNCTML","jd_658cea631ad40","wushuyu541","wdoRefcnnLnFAq","江州六郎","qq414725984","jd_76b6424a93c42","jd_74251a2abd777","tidus1124","jd_4b926eac25b07","雅望天堂1990","xtqdm","jd_dsPvKyduPCFZ","jd_6a4cbf480d85e","wdYqMyJEbHakZt","jd_4f2d43c140359","月翔潜龙","jd_BOKjCHLPQajP","jd_5197c0399ecbb","jd_OFeXFLIlFwEq","jd_5e712b29bf703","Leon_Pupil","jd_5640a944d0754","jd_6bcf4d4a07885","120058841-694328","jd_691d104502a91","jd_wEVXZkhdoSBW","70837697-152397","jd_5bead2c5f4fcd","fengmegnqing","jd_YWanfCSsLjGZ","文已成魔","jd_CyhlzRppStWO","wangxin763581932","jd_4fd5d0dfc76c6","jd_5cfe34118934a","jd_kWrjqljvarQA","jd_68207330d327e","jd_4bd414a619c05","jd_MWwYXyckITKJ","jd_MTJDzNvVFvSh","jd_4506ee6d09fd5","jd_6d31a3c5e2bf0","jd_5242923a1f7b5","jd_5d325dd44fd20","jd_lkvXPDaVxBXv","jd_FQmdKbsfkITb","jd_4f1ed2db36e1d","jd_AQNoxHyVKnNp","iwy2001753","jd_52289268f058d","jd_638b94842d890","1139276055-689684","michwanglei","573嘉善县秦海斌","jd_6e4d1c98a02f3","jd_odaRtNJnUAjD","jd_pOJIQGAWFYxl","jd_719b433592d94","jd_723c80caeb4fd","hui214","曹丘宜123","jd_6a0f84ee9c796","ihotte_m","jd_545b658f6826a","jd_asrCcuhZdGvd","jd_DFTPicGdOIMn","walktion","jd_5b6982a790943","jd_71d648c97476d","jd_48b6e5fc7bc1e","jd_76103d64262fa","jd_4b09314759ce2","wdZIbHIpSCZlTp","jd_645a729627ce8","jd_5e784891287b4","jd_420aab41a84d1","540484520-345276","jd_54d99f2cab889","jd_xnGujgMIQzUk","jd_xgwzwLwhVUHu","jd_644396fa39254","jd_jWcynrSqjcvM","jd_kMdnkfTvvntW","jd_44bbe155af1ca","zhi880718","jd_oRWZtDYmWLDC","jd_789cc0fbcac2a","jd_uaxoKzhsKWqA","jd_gHEGrFjjjTel","15763253576_p","赵赵赵zmd","借风凉沁","jd_txEkUPzUycps","jd_76ab935755613","jd_648a415893843","logo868","xh756913459","jd_43cb3d8e52f99","咫尺聊客","jd_48cf32a019e31","jd_5643dff22dad9","平行的世界线","jd_ZzOyIeDfDxGw","jd_WoKhrXuqBXXS","266118187-825533","jd_AnhBqmGEdjfP","j-pu","jd_73a1d353508e9","jd_752580d77585d","jd_5fbabd3d914ce","jd_503c372762d41","xiaoyong55993","jd_4ebe762dd98eb","jd_GEIuuPnhzcBS","jd_5c6ca440121fa","gubin686222","11210345-89925321","jd_5493fdf194ecb","似醉_xz","DXL87820108","s2097833902349895","28391374-657821","jd_7645b0c915742","jd_MeyEnCMveCYx","啦啦啦1057","jd_5228a731957f6","jd_ndGxzWvCLftC","jd_6a4b427c0fcca","wdNWpSOcpdbmDmn","jd_6bf81c1fa4aeb","heze3024","jd_MsSVbCxlUVAq","tongwei2010","jd_sfThPIGhnxHz","jd_4a1fc4deb6028","jd_5184197fe9164","75252640-39707906","jd_4413da42020d5","林觉书","青涩1995","jd_777eb8fb74b35","jd_5dbadb1a21369","玺羽生","jd_623db9e746f3f","jd_6e69d273843cb","388962943-384195","jd_57f921f2eddf3","蹇汶宏","jackwen999","jd_6457953399416","jd_440066c29f1f5","jd_6de70c03058e6","wdNcxoBFTWMdhM","jd_4a3430c67b4ee","jd_455851353eaa3","jd_65a83b617e938","jd_7118dc1eb7599","jd_6428fdb593682","dearzhouzi","laozhang123456366899","jd_5b2c822bd01a4","jd_454b221ee11e8","jd_SOlFamZyKkFY","chen_hey","jd_UlXCqsGOwexO","jd_EoOPddaQofgl","朱忆玲","jd_4d651d9e48204","jd_6586614681dd2","wdelOpPLWHGbqS","jd_7495d34660b63","groudonzcy","jd_dBuaZGNkIycL","jd_4d801efce6fa9","jd_6ad95ece12478","jd_75ebf474187c3","jd_gwwJkoZGfvta","15506809140_p","jd_hcJfJKiRtplT","jd_rUTJjefepHVC","jd_697c292d892b1","jd_EtffkGgPBRWT","15623514669_p","jd_44b5d4573d8aa","zzfancitizen","jd_76edf017bcd7a","wdLsgAIUTDFQUs","xuyoumi_m","wdCmiuKXftZKRI","wdQuYeIDpduQqV","jd_753172056739d","jd_43644796d3181","Leelilu","jd_471b94ee59a69","18657790092_p","594656299_m","高超2010","jd_41812a130d40e","jd_7fca66ddc8cca","yc2210","jd_4839c7db14850","jd_7d4141e7b2544","flf260","jd_426f58510cab6","jd_4053957f4aa37","513如皋市张浩然","jd_YsccOlfloVJm","jd_46e65ef26bd60","6552717-42308088","LinusZ","wdNcerjOabTRWDO","我是怪咖2","jd_7cb656497493b","jd_599d3dfcfcaec","jd_46e217df1c675","jd_zBOseEwZAyNq","guilin0807","jd_VIhjvEkvYAId","jd_4fd117c2e090a","jd_4b51ce56e383d","huotuzi2012","15018491415_p","jd_4ab0abaf05fed","18603917879_p","jd_FJYZhAyCmPsl","何志永2588","吃兔子的花","jd_692d3a15f0a49","jj18889996091","jd_53e3a0d59b2aa","jd_6b3484ae118bb","zzy0764","1120247833","devil522","sunshineYPH","15753511339_p","13076776243_p","jd_67f18ca3802bf","ghostja","jd_785914f4c7d28","jd_70e0d8fa1240d","gd7313","jd_53d7e42cc1874","jd_492fc3bdd4f9d","jd_44f6a599c67d9","jd_540830c31beb0","jd_7319dc6079a8a","41199658-461467","jd_5716b6793dfd9","jd_580aebb0b104f","jd_68e4365f7a7d7","luoni69","jd_7ba0e98a58c0a","jd_705d4d916845b","jd_sXmCRALJihiY","radaig","jd_69578286f32af","jd_5866f3380f0a4","冉智勇0914","xzb","aidirac","jd_48e7196cf1a78","jd_69d1ae726c292","1322288-17413642","jd_fJmjWrjUPriI","jd_529ff0b0da275","SIHAN1314guaig","jd_50c247fa9fc69","jd_cWaeJzYlOSyu","jd_75d530cf02965","jd_yylpsfMLMWmm","jd_7e8f3d5dc845e","13816628178_p","jd_61d628a782f95","dc_ha","jd_xNyNABSwMYvL","jd_6fa78a67e688b","JYVC账号","jd_CLiltBkQLMAi","jd_5ae61d3cfa0a4","jd_BlPNoXSUsZAE","jd_49240f78f6e80","jd_52c603a926b99","蓝天下的灯塔","jd_VOqTQIbeMUdZ","jd_6408aee976efb","rinho1239104","Good6452","sss死神2012","jd_507a7927c5b66","jd_4eb5492189dc3","511023dq","zys68640665","jd_496ee30889f1f","jd_7f3cd4a79370f","jd_485cffd56ecda","took935","jd_bHRieexalGjh","jd_672774ec945ad","jd_tcTnmBbQknJs","188748210-139704","xiaminet","付森110","lhj19921","曲小沫","jd_716ef74d1e3c3","jd_51cf875af19f2","jd_42dd4a517f9d9","mklj555","jd_UfbpCvBPAYzR","jd_42cd05fa92eff","jd_638c8aef8fa11","jd_5cfa928623d36","jd_hIpfyUJuCvCp","13632823445_p","18752787487_p","jd_45d2d8dec6881","wz76931","jd_UQknZxXXqPPY","jd_cvqDMxRUFUms","jd_7575c95c0e12a","jd_6d223b4f0f320","中国郎80","天然呆的你那么美","jd_7b3614e88a569","yeli8888","jd_bwSnGjdEgKoH","jd_rPCuHnyiYkCE","jd_maStDuESSpNh","jd_AlZJhDPxnJog","jd_GhjQobSnflWE","jd_793924281f79e","jd_6b4120643ebd6","jd_jERQEQiZtwLM","jd_591743dbedac3","jd_ynIFqHRwYhVP","jd_65d23275b1007","jd_4563f883cc700","jd_MuEftzpxntJE","jd_TrXAUuOsmxlm","jd_646445183b3eb","jd_DfUgNxEzyRJS","jd_51c61650e86cb","jd_6c3fc0666fcc8","jd_AREPXiLMEVEo","wdcgfnYFwXfNPZ","jd_54d15efe19571","jd_5fbf146c9fc6e","15568926655_p","Whealahad","jd_50b0d192dfa21","jd_7ad4ef459af77","gzwangyj","jd_cpNVXpsSQepJ","jd_5a05632d0380d","17280334-68421655","jd_YPEazEWOMSsz","jd_56c10971bdaef","伪造爱情","jd_rLgqhceNwtxf","yz425900","JRSD_sbwmt0328","woodyxu","jd_7749cd234e606","CCDreamm","jd_77aaef9ec5eea","jd_5f9b031c885c5","jd_6aee1c6e1f9ee","jd_eoImxUkZIxAt","jd_7ff6303b6c580","101753615-780134","yjxingchen","jd_59235b4e741e4","jd_4670dd4d19f33","涂加伦","jd_401419fb8cd83","15988772212_p","jd_506c3fa26ce45","jd_7598a3f4c97ec","budaicat","jd_IVTJyModrlCA","jd_4a727fef7177f","jd_5e151a257b5f7","李旭龙7011","jd_JsJIKWtXpMFu","riki205","dhbowen1","jd_5c0cad58b3d5a","jd_705fb01d1fedf","jd_vFBbbmKbQnOE","jd_ZXCwpSsTMKEU","jd_6e0f246c68ba8","jd_45af4e3f54570","chenpeily","lisun212","jd_4092ed960cb72","jd_762f916460dc6","jd_53ae4d8511ce1","jd_6781697898f9b","jarong329","jd_76e501c157683","wdWaoyKbExCbTW","jd_qiFAQJDBMNFI","我想有个上帝","绢豆腐","18858299479_p","Im_Dai","jd_lHaiMkTAmmzi","jd_owsXmDasZVhQ","wdxisCROeigERp","bcbcd","jd_mMrybUMPSumT","s2400560780954379","jd_TEjbGvtfyctV","jd_79ca4335861b5","360616109_m","wdKyHCaXgATiqN","神v中国","wdNosEvUKsqQJH","jd_535a5fa4ce512","沈钦萍","jd_4bb0a97b122bd","jd_ZAhgyFJDfocs","13771995564_p","jd_50d2efb60dbe5","Fuckr","shim511452","861729091_m","jd_781a9bba22420","jd_46640faeb5a64","strlancer","15188321851_p","jd_47b199eec73fc","jd_5d330fbdf8e1a","jd_dngbOmcxnlpL","jd_7010211859dc5","jd_65c5bb73e4986","64415771","一条流浪的鱼儿","jd_4d4f73718d3b9","jd_72a12f28ec9df","910918ss","wdunFYgKTsWYoF","Eugene188","jd_JLCOslNyPypD","阿胸网络传媒","jd_45d021c3e3c41","songhao8080","jd_RstrbmBrImco","jd_75710d760a510","jd_tMfddwhrUZUT","jd_fLXZgJaObLgz","jd_pwaQfvcockca","jd_4946ffd46949e","jd_4fb8ca15350bc","jd_JWkLpnShufUo","jd_CuDOlzxwBYao","jd_46b16c569048c","jd_696c06994d8fd","jd_46d83fb8d5a57","jd_mvsKuWIdOOeN","jd_5c3086750cc5b","jd_7de0888c00726","jd_5d3e78e33d35d","jd_5046ba80fc1eb","jd_54d6f7491052c","jd_77e45545fe5cf","jd_6fa61a6ae71ec","tangchun_2007","jianyaoguang520","jd_5d46ff4dc10c3","lwd2136","jd_ZecLwDeSguoA","jd_46cac3133507b","126326398-909647","jd_785ceac6de9e9","iokjohn","lt15575271230","jd_WQiMdCEiOGSs","jd_jnMnXiZDUzZn","1019352318_m","chen8148","恒道耀邦","youyoubaixue","jd_584a3d945bbfd","CAICCK","jian3711jian","jd_732176c762f11","HFCU","jd_476c17fa5ebfb","jd_556e215e4b293","88339749-979186","jd_66e8c18f45454","jd_6ef7b63eddd13","devil86425","jd_WzzpioYfjrsZ","jd_680c586dd1dd6","jd_hBNWAvsIGHYj","jd_51946b893d2fe","执着de相信","wxyllu_m","Jeremy---wang","wygaby","jd_772efbcd75c0f","6004818-75662455","jd_582745cebf410","cavell23","wwk232323","jd_65b20aab4b885","jd_5f447db59314a","jd_41ea7c3e877c2","jd_6bfe51f915c90","jd_5c5a944685c45","jd_736772b10d42f","玩家卫弈","白减黑","jd_4470f8a3a4ed5","jd_71699f715a37a","qianxiuhua1990","星网工作团队","jd19960318","98826409-926836","haituan","jd_4f4d23bf01647","jd_63f0294ebc5bb","jd_4711faaa6ae44","jd_5ad46b44a8743","jd_ZjMsgtHrcnNM","jd_6cca6ddf70915","jd_lPHTOctKKIXT","天天跑你妹","jd_YcYpduxFeoMv","jd_QrBIBzxKOKzo","Cry丶784646218","chenkezhenzhe","jd_RWqVPmFzxRnl","jd_6f173affdbe59","ivan87","jd_NRkOhWtiEyJu","jd_637ef2928bd69","小伊吹萃香","13818822934_p","Anonymous灬","262691349-738749","我要去东京东","validms","13655536112_p","chuchumeng_m","jd_6e5cac999e632","jd_478e6effc5ff2","sarah0happy","13823403259_p","jd_dNAowsjxAomg","shiyue3232962","jd_675374ddfa9a2","tao10180","jd_46340de70be92","jd_69b0a7ce5a043","jd_5925dcdfb09c7","song9818_m","jd_fFBfydUcFqmK","jd_4300dcec3e58d","jd_GZeytZPmdKRS","jd_wQETvDKymLIV","jd_6fc1daf45a5d6","jd_7cd0bd1bea7e8","jd_45db3de0b2141","jd_4aa4787512c37","1400503618","jd_4320322a504a5","lmw1231","8769449-21045631","kelvin_liu","jd_5169d585d2693","星光流影","jd_6c76fa53bd2ad","林意终林","jjqqw1122","jd_6652cb5ae5ea7","jd_63d1a2511b19f","1008974-81912784","jd_4b726ef6877d1","jd_489caf95cfb90","jd_77b2a00605923","huqidi2008","一眼万年的时光","jd_6b83941536f09","jd_dZUmRNllZtdB","951839351","ddan0323","jd_ZOyHerXLncyA","归来吧92","jd_66a9b00b7b949","jd_7344d12af9b93","陈帅0907","jd_GTAyOkrXgKtO","狗东用户001","jd_43f5910902bfe","jd_CmxkEBIrXqrW","jd_76252485d5149","jd_IkDbtwcNvkSm","jd_5ad86b7ba337b","jd_7ada2a02442da","jd_702eb7568dbaa","jd_5b0b98acdd300","jd_75bc209938d91","ma271700","Nice丶蝙蝠","movind","jd_6750b2407f222","jd_4927d6348dd72","jd_406388ca48a75","岩公秀莲","benci","super27034","jd_6f70549cb28d4","phashph","szc578","jd_52d53b703347a","jd_56950ec87149b","wdrZWdjHCAFWwj","lishichao1983","jd_41573cb9fd3c9","jd_6db220a0145ea","jd_4687ac4f357cf","jd_49d4f33cb3960","13580563566_p","jd_UZJiJYHjaeWM","jd_6ed2828afdc2e","jd_432889c0c743e","陌上花开花又落","wdlmteHRgvJYtV","jd_66d25411f3a49","xiaomoyjj1983","ji.shuihe_m","jd_6a78b3153c290","15809205255_p","青龙-红","jd_6f7406e1203e6","jd_eSmzbGcUpDMb","jd_663b682af72b3","jd_5ca5c3434b2b8","15538836887_p","周大大hhd","jd_uSqmgDZhZQmN","jd_737e6157f963f","15996588601_p","jd_tRfOonveBlhB","jd_5fdd366030b5b","jd_7c9f369fc74a2","jd_419156167bfa2","jd_TZocLHtFXJru","jd_667fddecb4a17","jd_67faa7dfb9be3","小新新703","jd_vrGUwFKBonPg","13602879760_p","jd_xBWzPrphuqYS","时光机zhm","jd_4785c0ec28fea","jd_5495ccea04a4e","jd_4b27b21be0e43","jd_46784bcd86ec1","azxcsdwe","jd_551a21740739e","情侣装的约定","jd_5f579b7ac6617","findthewayxf","jd_sCXkEybldvrH","jd_7edb3a2f53f4e","饕餮1051615192","jd_78dfa1e6ce4ab","jd_63c65f65a03d0","jd_55f9bbd9a1e16","wdNqEpVAjKSGPne","jd_47fdc7fb7ffae","jd_759e1a7946957","jd_4808bcac39354","yasminexie","z499356687","119986340","jd_6ee2f072fd03a","jd_4bcf401f666f6","jd_yStGukDhbOPP","jd_5bd0a78ee5788","jd_qRuIrsZxnTMC","312高阳县薛寒巍","jd_YORoAqhJdrRP","wdmxSikRBVdvBm","jd_iRDYeMchqLQz","846407187-137780","1304009050_zjp","jd_68b03f1cedf8a","jd_65a6f5a33c16e","jd_6c4535853f309","13726802246_p","蓝梦abc","hnxiaomxx","leolong7777","cataler070","jd_4cdbe6b4cb4d5","jd_57d708b2cb722","jd_BANOIgcAZpvY","jd_78abe0fd3133f","jd_50b7ce4f86e23","jd_XjmuRpzFPYLm","jd_7b6a77b36edc4","jd_HhHfHmHUQZdb","jd_53710fb87d890","jd_58a29c3e23e4d","jd_gFATOHUKTDsC","jd_7e126d5fbe0e6","jd_CjxgrbStxDCI","jd_5f03650262503","jd_ALrHJKtfEhaB","jd_752111306fedd","llylishiluyao","jd_62d028026a5b6","jd_QBKRQkaEDdlg","jasonliads","jd_ewECJZLqfOhP","draxypan","jd_69633d9ac94e5","青龙jd","jd_71987e524b969","温酒与鹿v587","qq578624545","jd_nHMfEnOXnDIx","skyrim_mbh_X","jd_fGIvQowEIlqY","15301687225_p","jd_436e46f81a82e","13917230231_p","jd_66bfe81a20842","jd_45aab31af6498","bao4521199","jd_691f87d6e20d8","jd_TrhgSCTHeWxg","jd_nCOKELHvvery","RaymondGo","281978297_m","dengzhibin123","Jasonzh_","jd_595d6e5ea73d3","小文子666000","yhwei99","膨胀的雪球","iamhaozi1","jd_720fdbc993c3d","jd_auLICzoeEOWi","jd_44b5fcf8bdb4a","jd_4cd6d498df24b","安河桥北981","jd_46762f9ddab47","jd_508ac7bdac20b","wdGDioySPTelaS","jd_7ed1906b66c80","13607205531_p","gm_fire","jd_78e812188c77b","jd_682a740049b64","jd_5fd969b02b917","時光可逆","jd_47bf914beb18a","Rem丶笑","jd_TJeVZLMRSlRx","jd_73fe7d7ab8293","15349209325_p","lscomeon","jd_KmOPXQNCprhf","林若玄","jd_7a23de7aaba83","jd_4cdce1a1e16d7","kissbbs2010","jd_6b9a98d7bf5ab","大喜lin","刘强北182","jd_zKzDaXqwgeCf","jd_6946ef1e2d85e","jd_aARbAntlvQol","linronghua1111","jd_qzMvHREmUYuN","jd_7ff049b2b4fe5","jd_5901c8d3bb2b2","nic.hwang_m","jd_7a03728aea832","jd_5a1feab832e8a","jd_4ba608ac0958f","jd_OSXUptmoYDLO","921648641_m","jd_534300a8ed0f3","蛋蛋7916","sunhui074","18001155-958991","wdTCBSWrIXzCfK","jd_61c42ced40f15","jd_asmOuqgujqvK","火星上的兔子","358627480_251475489","jd_4e0d23ddcb3de","jd_JcycfloNjCbs","jd_DeAsLDHuFCMP","建军0258","446574470_m","jd_434380d625659","jd_70f72ceec3ba7","jd_79ca9100ba888","jd_7d1cfee27b792","sandy-cheung","2555726-79015565","云淡LF风清","616626829_m","jd_6cad8c973e2e8","jd137515","ljaihong_m","jd_5e4c6928d5fe1","jd_535d53664df73","kitsune_wu","jd_rENUDCaorpme","shalwin8521","24100149-937347","jd_5894c648d8502","jd_clpsInxjsQvK","zlyztqz","仅仅是帅哥而已","Ilmiotesoro","qq43661645","lvsongfeng","jd_66a484d5f7b6a","jd_7365dd1884326","jd_5a218f6fc6590","jd_7b4f21b471cb3","q821418887","jd_BGjczBhGVCVm","jd_777a51f8a2bf2","jd_4cb04547cf44a","jd_ACqmXUYOOVhp","jd_61c5acb219939","jd_770a1278f152d","wdiCFtTBCNhAvq","jd_6da0fd4e7e1b8","范弘琰","jd_CqbJuyTJhqOk","jd_5e8a918acafd9","jd_weBTeBmxzRhb","wojiusloven","dky1996","gzf1","jd_436e972ea7db4","jd_73e0b7d76f27a","shijiaochang2011","wdZRNDUlBICilt","fjhua1","ajilaomi","jd_4caff74eb53f7","jd_70a984cf03693","312653421_m","friend8179","jd_5eb65dfae09be","a410868170","sf_2003","w645881","会飞的猪八戒丿","zhuxinghaoshuai","jd_424e05d1b4f55","jd_6fc1bb6e5744d","435590503_m","张海冉0622","墨袖拂岚","mcby008","lijing931097739","baibing3140","flysnow9","jd_752e2c8ef6cab","jd_59cee1ab3b978","jd_777c9ac4ca19d","jd_eiMlfUMEbHLn","jd_6b833335f92f3","jd_4f634bd83b9e1","jd_7aef3f426dda4","jd_4f8472e40b942","13611444062_p","wdPWNRwnDYlEcI","AnlakHui","jd_7524cb006cf87","大YY爱小言子","smilefriend","jd_534be2aa7046e","asmh1989","jd_50d1a6a156721","数码军事","jd_775f58fb66fbc","jd_422f9dfe2047a","18801924321_p","wuyiliang0","jd_54cff3f805461","徐杨易","15824130978_p","jd_48aa019b49afd","jd_6f49cf13d04b4","jd_4dbbdf11fb068","jd_qWvXonXMMxvS","jd_prGGKdyCzzdO","jd_47e927ce3e057","zmysyzddb","jd_58b28ba37ce18","jd_rlEWTlEWkJwu","jd_7c04cc1fec1d2","lovesailing","13453426866_p","jd_zNvWAkRPdpXQ","jd_aoSqtgKHiuFg","jd_eYpsuiOBCLtD","小万牛牛","罗贤庭","jd_gWcAcAMolDEC","jd_4920c3596e50e","菜菜002217","jhzsevilin","jd_417dd8c97b7f1","wdbumLdqoICSwR","jd_48c98b1ddd7d4","jd_55d7657ed7b3e","jd_gYLwNMfEwgVC","沙拉野人","zhouyi5065590","peiliok","jd_74ecb049e9d9a","u_481f1d53275c5","jd_4558b8157835b","wdvKYxbmPFpiCq","迟向","jishijun204","jd_GiSxELuQvWhI","jd_789e7cc395fe7","jd_63f78bfdae591","Z286885509","小小心愿99","kks0916002","jd_572858d4ebbf9","jd_664daa0772e0c","qq517961081","jd_57032dedde02c","348489526_m","4234724-993255","jd_6a2135542a3a2","zqrao","2508559858zxc","jd_oJNGHYLOFUXS","jd_4cee04f9c5313","jd_64be78730bbef","桥豆豆","jd_620aeccbca62d","jd_774c0d9dcccf1","浩枫宇","笨笨熊情系爱情海","jd_6123c6231dd98","jd_lkitbrEPlSNi","95317422-439177","moetype","jd_oeuMHJzpuDIk","jd_sIhVxGvKEfwU","jd_XjyxWwFxFPii","jd_pIhTNfOlyDky","wdPSGbkkcKHGHa","sunshine11111153279","jd_JTNQfcYqFZaU","jd_49f433b792d86","糊涂男的","jd_nRzNPRobZKGR","日行一恶","区栩彬","jd_6f063db4205de","李小鑫2012","jd_6a73cd1cafd08","jd_5e42c1c776711","JRSD_yzMet9020","jd_43300d07a0a9d","317185959-300375","1073947866ao","何坤禹","黑色的魅力","jd_6276837b5301c","kkkmkmkmk","18877382520_p","jd_64d164c83031c","jd_asWkeNQFgrut","15218631792_p","13864113185_p","360126313_388493937","15205921181_p","jd_40ab79417656c","wjl0313","jd_7f9c8d5379456","jd_73fcad9ddcd1f","jd_788ceae71c174","jd_4d849fe534d04","jd_72749410e79f1","jd_7dfddf6df78a7","jd_657aca7e49f3e","jd_5291d6d90c4d2","jd_hiwQUBPnbYjS","无草","孙泽虎","jd_4dd0796700388","jd_4950a58139288","jd_616d5b78e7c87","13826261116","15588746833_p","jd_56f434b02ad41","Hinsshuen","jd_7af46d97c1eb1","82503853","1143971919_m","13681610268_p","jd_45f7f83cb7871","s140265_m","jd_5661e4b2d24ad","conpeal","jd_aRofTLhCmxMS","seed00000000","jd_vawOwbptDTFO","zhz19951005","jd_RqPLeXHwZezm","jd_jLgmTWzqEalF","jd_dNezIyjAiDpT","wilson880714","a战虎","jd_67c8a520e0df7","jd_605098e6bb461","jd_53f7cc5d499f9","jd_77928c01525c4","jd_7798ec4d65191","jd_4483bdf83ae16","jd_tpYPKIFFJeDc","jd_APfdmORgRmkR","冰雪chuan","jd_4b52d08408bf3","jd_564147fb577d0","jd_4a3a2f49df541","xiangqian12","jd_559f9eaba76b3","wdElAnGUXjRleZ","神秘的矿工","jd_41a20e9d96d87","jd_469e72d8de8e7","andyyu82","jd_jVAVeNYKehas","win3gp","jd_497d089bb79f0","jd_697c48868b100","jd_777565e5a5a26","dyrin","zy986926","jd_mcMxjxptQVfD","jd_5ac3a43179731","13775208986_p","jd_5373ef15e2d0d","jd_qKzbxnzlGiun","曹经强","jd_7ee1b23db5325","jd_5a64abdd15e53","曹曦冄","jd_5a148127e3049","小巫婆-小巫婆","a1035822758","jd_7d9eaa73729ef","jd_5bec5fc7e973f","15082384882zxr","jd_4144d3e75d63b","jd_hUqbEBEcjLWC","jd_47d5a3f4da51f","jd_kYqTQLvjtCjP","jd_709289771fcd8","jd_446c6bf86250d","jd_4695b9c1ef70f","jd_XuSiJpviPvWf","3536301390","134012209-236092","jd_gHzOSDVYDiRU","jd_54486856e0a94","jd_4b9dafa70fb99","jd_6999694aea33e","jd_tsTUlHwsbZqD","Joe714","jd_GCCSKlOtfgar","jd_4aeedd0bd8f8a","jd_ZbdNnyodyPFu","jd_64149f91f9910","jd_mhWtHfjrMumF","山秦城","jd_VOyuWtFAWEUX","jd_4092cf1acd250","jd_5b47077ecfcea","xb33997","18767123966_p","jd_QEZexMOzqPPj","jd_5c4f609526eb6","jd_57fc914dacd8c","hljchmbb","jd_CwfKwvRPOmrD","zhang911224","byliyalei","jd_rANOVGFwGeDI","hyl378376170","18650856665_p","jd_6d282b10f2286","wdvhwExvGsrxLP","有时下雨","15914261205_p","jd_6956c03052c9b","jd_41906287ab801","15967419566_p","xwm19871108","jd_671496870efb2","jd_IZohSNPWmRpv","jd_kTfHTXORAEJG","wuhuida66","jd_XqarcEetqmhL","lxyjd2013","jd_65c33b0111a52","wdyZIosiEoFLJd","jd_75e35568aa8b7","jd_567c153b3b034","jd_4e93f86dab703","jd_791669f181f07","jd_7c003af5b6fdd","wdUtXhtPJuAKqt","jd_5f612185167f1","jd_77d2117041d20","jd_pxvuzqClUBjO","jd_536d19ecb4e56","13559030321_p","hhyy0219","wdYdxJZTyaaVQf","jd_tvbfpGpLHWtH","jd_614ebef0e2d8b","幺欺七","jd_48b63c9717e9f","seackykwok","jd_52e139baa8877","li107756","jd_6bd7f30c21eee","qiaojiasun","jd_51804e38cb31e","15771116955_p","jd_7dec3cf2111b1","jd_4f24e8f23b865","jd_681fa7ec3ebed","119055043-526887","18038043103_p","jd_4ce7aa2e4333f","jd_TCLqSwFxFSoS","15510660890","jd_NUoFAGcwVWQl","jd_43332033008d2","906478612_m","yy阿姨1314","jd_696d78b2d5457","jd_71c97998f73e9","jd_IVSqphEzMLzr","jd_YGgLkgbUITEy","dfliwei","jd_6fcaaeb3dffbd","jd_6453754b07b98","ywl790041621","wdNWrhOeeYmiLmv","jd_4c140bc2127c5","jd_5f6592baae3ca","200075911-760708","wdQxYVeasYaMAI","wdHNQijGkorkvJ","jd_5cd9f9e6fb730","jd_738547f1b5d1b","jd_bCTHoAguPIOq","jd_5b35862f989ec","le7654321","jd_DDShSvGZUPkB","jd_6e15fef9af773","jd_smiXeFUdGlFX","33805493-44583723","15337125159_p","jd_7aee2073f1388","jd_696164239d70e","jd_agbnh5oo28","jd_MvMTWsioDyEG","18007909755_p","jd_60adcedc0b503","jd_446a8a7bc0055","jd_6519cc6032130","1174388-19199898","jd_5f9bd8e786798","jd_4d2689435a95f","jd_ypvzvWrttldQ","jd_4815451052780","jd_556148282942b","半颗Q糖","shaofet","jd_725847b3b9fad","jd_psXfIStTkctB","jd_4c9c6bc09cf04","18025966728_pei","jd_SmQLunWEYSCe","jd_5f6ff8f4db559","jiahuan0207","uyaboy","15093219213_p","jd_xRMEZYYXrssn","jd_SjOdCXzmUVeE","jd_510a40b46533a","wdDtwuGZnXmsaX","jd_4496549f2315e","jd_50afb2b91b1a8","king008gui","jd_zWHXkApQZRoN","jd_65d89eb22b8fc","jd_6d5f3c3cf8d8f","jd_65fd7b7506ae1","jd_lWYnWjRVaLwI","jd_72d6301a263a3","jd_60e71cb15907b","jd_EgHhuQuYZGDd","裴金池","yangjing371","xiaozhenyinhu","jd_60bc63dd03cb5","枉久0603","jd_4e064d5355dc7","jd_73d0fa3d90a76","jd_4ecf410682db1","jd_71e1db85e056e","jd_7a9f7830dc5c6","苏世r","jd_5f53813f78a29","jd_7f9cf39c66f73","小欧挺","jd_4de6769a53f5a","pennypangmin","xykshun","chenyunfeng10001","jd_voctWUIFFuZF","jd_64bdd8a610706","jd_YZFBmegBwvmC","jd_sgcaJtDiztXx","何东亮2000","jd_705d7e474734f","紫星悠悠","jd_hxASQqagHncc","jd_523401152baa5","zhenaizq2014","jd_7c1aa8f32f2e6","jd_57a4c8897b29a","free四儿","jd_YCkNQAgOzgpN","jd_68be6dba96fb7","jd_5b6f73d18c998","kokerorz","lndh4980","2974317658","herryfish","yasong658546","jd_VMSLiCyeRjWF","jd_5b57a53a2c6c8","wzg1994_m","jd_6e737c5be444e","九月菊香花开","jd_493739a51ca80","15932870545_pqy","jd_7416ac23aa01c","lk5280","jd_616d3381252e5","余生一个浪z","jd_790305ac369c8","新納侃","jd_5ea5c4435b793","jd_43c8cce3ea6f2","jd_4b75d2e9b7587","jd_52d23a218be1b","jd_60d776fe9c319","jd_50b59cf9e06d4","jd_IpfNMVmjNWzO","jd_7261b287ffa19","wdjkotWjUacfTz","inter681018","Twsam888","15281460602_p","neu_wht","jd_PRKDlXHgRsRJ","jd_7863b8db4b86e","tangying2000","jd_7516b058d71e1","jd_52e026451b8ff","jd_zEnVgcRckjmi","jd_79c47fdde7eb3","zgp311","jd_5568afc817d8c","liushzhql","jd_6f5286aa86b49","jd_jezQIAFUjbDt","18651598789_p","476729366_m","myx_999","jd_upHeMPjJgtnS","51710300-582124","wang1144001026","新锐工作室","wdrHxCLpVWiJef","wdTABFnBthebGs","jjocry","jd_6157e03a2f41b","笑呵呵814","jd_4487bfc9c72c8","lzm15516434155","jd_GQoRZwgzkqgn","13633909650_p","jd_WAWfpHfpERXt","jd_66baa1d6a7a63","jd_5519bb057b5c3","jd_58a3381fccd52","jd_fAbKfMmqIayA","相濡以沫却厌倦到老","jd_4afcd2bec7bb6","jd_7ed184354b34f","jd_mLVhVpuXVmQm","pys8302","jd_cXtYxrvulPeq","jd_5f9210228e7e9","jd_scwKFeGUotna","91778846-811626","jd_7cc676149df08","jd_797893f03b14b","jd_6743ce36a6670","62277035-548350","jd_79c51cd247c79","jd_NuEJcMKGrOLt","jd_42c9ca67266a2","jd_5551d2a3b16b5","蒋鑫海","jd_JGORChYYaOMh","jd_51ce6116a40ee","jd_68ec15c037b86","jd_42554483936a4","jd_526a25ac099a4","wdWAZxQQLUpqZg","jd_UJqnEkqvuoAS","jd_4cd984efef61e","陶紫0707","jd_oxGBoHWHEvkl","kevin2004","jd_412cb2c9ebd60","jd_6fcb65d5f2239","13721046086_p","jd_7fa50c4a6b26f","jd_53edc82840fba","jd_SmzKTsYoQNSv","jd_738450f01abeb","jd_44891c09a8b4f","jd_6a2b40cff9c86","jd_47f52239fd120","jd_77c21bff1eb4c","jd_447f989dc8f86","jd_43947383eca53","401195009-153001","jd_43c8cd10534fc","jd_50b2c358f50ce","药5277","sunya0726","pzwllllll","a13678","jd_6f16f8f7403b5","lili67683088","jd_5f5f9e28c87ac","jd_7d649dd5c8545","jd_RjKUWXDfeJNg","jd_50cc87ef6e0cc","jd_49bedf0ef457d","xuanzichai","freelong44","allistz","jd_6c233c9243d8c","jd_625ed38a9badb","莫家一靓仔","jd_73a3d92a547d1","jd_ysfmEAcFyrfO","jd_4100ea6c61625","青稚8601","草莓0769","hsy_0815","jd_6b63dbeb1bad6","1035337594_m","jd_srYZMXvfOwDx","jd_60c7a15c77300","fprmyssn","jd_4c5232754e4e2","wdPQXtkpkzxdLR","jd_7650804f067ef","jd_6e01c903bc92c","jd_61b89af0e7306","jd_OpLNUSypNKZe","jd_64a8c970518e4","jd_gZfDBViWLJfK","jd_zJBHJnlTKbRy","qvanlin","未闻花名1996","jd_656f4f6690e50","jd_6ded9923743ba","jd_6df2fdef0a390","jd_yQmZNOjwcTgp","13206264-759323","rehanlove","jd_7c17c28941521","jd_ipZXFlhioYRA","jd_5cd555d29a5ca","wdNIuuzMtzjLLuy","加沸沸沸","124310002_m","jd_674f3bb9eef37","风子的一号账号","18861824291_p","xingjiechun","jd_78f6a534cd9df","KisQ1994","jd_sVYemJPLgKGZ","jd_69a019f9844c4","18600981275_p","2918923827_m","longzlll","zoujun84","xufan19940409","heweitang","jd_xwjdWavwukKb","夕落之夜","jd_67d072134d6e5","jd_45a3a96f0dce8","Axis_II","飘舞凌乱","jd_673481c35866b","380892644-631564","loshyu","jd_683a650c69f82","jd_612383788d0eb","jd_5940173bfe0fb","jd_51af5cb838098","wdToHCFGijLvBS","jd_FQOrZLrHvdsB","jd_5187cda8bd705","jd_JRUwqBoEWzYo","jd_73336dd4d3fad","oyos","jd_64bda9681f0cd","jd_5f86fdc5f1f0f","jd_630c02854ee02","jd_6a328322ebb72","jd_6a0ea8f4951dc","ljhspeed","jd_sSnZndapYLfg","lovesr192168","jd_65cc37818e61c","jd_61e022c7c4c9f","jd_kobVbCpeimAC","jd121698_33","donggua0522","HYTKXP","18378812474_p","jd_70c8e5d92134a","promayi","jd_rjCKZSPTIBtq","jd_7c8fbe11c8a79","jd_4224e3e7d78b0","jd_USGmdjhzyOct","wdMYrYWBgwQlHn","jd_428a5b35e6b9f","abc1684488","houandy","jd_7ad7ffa30e5b5","jd_67ac1833a1f5f","jd_734d556bd4607","jingyi_yaoyao","jd_46996bfd0d425","jd_559835ab07d74","jd_56304aa759882","jd_6dd9fcd220052","jd_727957d065274","jd_445911fa3a11a","笑傲人生z","2665255-377317","ctr54188","jd_66c4e0f16ac73","jd_440d4b559831c","淡淡甜甜","jd_438c194d21104","jd_46d498f5c2cf9","咯咯个人","jd_MIieCoGhuFuU","jd_435f781b28d48","jd_67679ef355863","余留香","jojo123846","wdCXGtIFSwflfS","你叫我做大佬","jd_5557a0424d924","jd_512fac31f3ba4","jd_WTOfCSqIHSpU","jiangtaig","vip_sunwei","jd_50c6776e29c36","jd_5693fd40e0a55","jd_CtqOVvfkzuZV","jd_650e2e5a68483","jd_5317b321f223a","jd_73bc388e99917","mm991016","jd_TKKHqgLlwPvr","kangshangfeng","jd_NIzHXDxbVnqs","jd_4c17a0664ad0e","jd_41f7d849aa21a","jd_7aaa04cc27ccb","jd_7405c0983d3c1","jd_ccbKeNsUfwjG","jd_xYWsFYIwPPfM","jd_GTOajOkTiQHG","jd_50fc2127adb84","jd_bWUIRQwfhdrS","h4l0531","jd_64a30f7661da2","刘毓41981","jd_DsTiltBmwPIo","jd_OVEYorYIeoAW","yaojing2020521","jd_71b47b13c3de5","jd_5c12e748b742e","jd_XHymwPaGTkMw","jd_4955f6b8c062d","1046368768-310607","15651128232_p","jd_48bfccf6b67ed","wdNfPpRLdkMoErC","冰枫王座","90376348-374330","jd_528a08389d259","jd_65f6880c7f880","jd_7772f8539308a","jd_4d28a8b509402","jd_585f9a7d08c5b","13477473547","jd_624becaa64f26","chrisjanice","jd_6c6619effb539","gigi911119","xw949195555","jd_4d90afa56ba46","9540664-55330027","jd_gRIbMNmiwoGv","沉默delw","jd_VrYSQkANnivf","fanchenglu","jd_5e4c8e0d1175f","brucetian123","pandraol","jd_5f6e20f447e93","jy02920793","75507302-517537","ql123183643","francesdolphin","jd_xRygtBnWTfjH","34988223-62561053","wdk100","jd_59fd82d63d90c","jd_7a7ab0b30cab3","懒洋洋de猪","jd_BfnMRvEFbMal","360703912_m","小刘太郎","xu15172347664","jd_rTrUnZbpNkwE","jd_41cb8fcafc166","jd_tXhOjlBQiqEC","jd_787eaf97f32d8","TXF小枫","jd_42b1d73cfc1a0","jd_leXAsaMUYKhM","jd_4c754ee98e883","jd_499b95db83ac4","jd_oyXhVvFBfCmu","宸诗黄","jd_6dc4d42aaea49","我只是刚子","jd_7388cec4da198","jd_TmBwsWGzAfKZ","亘玉之心","jd_nPzXmuocqQJA","jd_7fc8788f52b1e","wdNkdAiFyyltdye","jd_4e72c1a2bef25","jd_UkasuphhZoki","jd_7e53af9004afd","jd_75b4b325c20ef","jd_54773e42cb162","小黑马1119","jd_4e20927047770","jd_7b9256d56a6a6","jd_GDkrkjkuqkVx","xiaoyao9184","jd_OHteNCQhDYxK","jd_6b2a07fc9694c","simply_880102","jd_497087883198c","jd_465001b2d2043","关安","二狗当道","lx97","jd_6d03fa6375afc","jd_65b9f7d1a558c","jd_4f9d2c5a5f2bc","jd_71f9d571b65d6","jd_YaUqzUMRohUP","老兰不老","jd_627e6b36d4ce6","phoenix_ghk","jd_62d4778dab64b","288223058-142269","13825689550_p","jd_4eb604a5e7e5d","jd_5ba1fd5cf1c44","jd_7c779302a67ef","wdNOOtQnmkBInMs","jd_481ae323ef382","jd_780577cace15d","jd_75e3cacbb5268","jd_753c4e81d34bd","jd_4a77e11b8647c","13226541584_p","jd_4b1e45c8ba6f5","jd_6b1bd4e4b478c","jd_5384a0e84a851","jd_428692619babd","命运交响曲99","jd_485ed85f1e6e7","jd_nOCPLWFAJnki","jd_485a7f21684d4","jd_462e7bacb5b62","jd_ekQakfESkzGg","jd_6d6577cafe4b3","jd_BHNtNUPXNEcO","jd_6f29939069935","jd_xpzqSpeTLGCg","jd_526c19a19ee1e","yuyu0012846","jd_UiEDlpXxFtTY","jd_mhhHivvRDWSd","jd_7ed175ad928ac","elizaqiao","jd_jpQXiDxzUEEp","jd_7d660a92879ed","jd_43151c04acb86","yueyangbt","jd_738653cae37d4","cynthiaoyi","jd_FcEXnPMdukLF","jd_511d59b0caccd","珊珊131313","jd_68659ee0196c8","wdEbccHnhjvzsT","jd_ZyVoTVbDnhXw","寒雪雁飞","jd_LLCHwoCBNcnB","荆棘里的花0428","jd_5e4f7d4a3bbf3","jd_4fd723b24f57c","Next-Night","158154278-382731","jd_AnJpMTsUkZfj","jd_4bb4436b2a785","qq651218360","反恐分子","jd_49f8064767065","jd_QJLkBbRNYntR","jd_738bb2f15ccaf","zzllsy1","jd_530a5325c393b","齐小少","sumandeng","jd_51c892e17c6f0","13682741552_p","hanshibindejd","jd_42c65691b046e","jd_62a1617a2d075","18640144523_p","jd_DYPuixFBoXCq","wuzhiyi51","1824115755_m","jd_4036892497294","jd_607b4d3a03273","起个名都费劲丶","jd_bzWJEuFrRsOQ","954904617_m","jd_DlKiYEynKvka","jd_4cf76461827f7","sj15820201282","jd_LftGmVTjszxE","13760139790_p","jd_pXyqzVXsvbok","jd_rAURkbjHltLQ","peter5933","jd_pMaCJmuMYkcE","jd_PzSpizMPpjgI","jd_5aa5b5573afb7","jd_5269b4469310d","jd_KLPJyLdjDJdp","jd_6485b15df5304","wojiaoxionghui","wdFBeIFSdeIVfT","jd_61734b28034cd","jd_58fe74581fcf4","jd_45ff6be0565ff","jd_dPCfcPuChUTM","jd_5e8cc5f8e3119","fengci","jd_7f6cfe9715e35","andybobo8","wdNRuFGdUrRfydI","jd_7a7873c1582a2","wdzXVWBZFnjfcn","jd_721c5ab8b1d09","jd_5a0e4aac636d5","jd_6a3d2882d3f15","jd_4e2c3cb849e3e","jmania","jd_7f8146a09f49b","jd_6bf4b07e97ce8","275172737-186597","jd_58bfe9b65866a","jd_470b3d11a4b79","jd_WsslZYmoTXfd","5255281-29197375","66果子","jd_6b4c83ce09e88","hangaj","13928192200he","jd_511db54936271","jd_4893302102e94","jd_739b4d0fceb68","jd_LoNnRflHPBAK","jd_793b01bf3fd0d","jd_YOWeAxsJJIqS","excreman","emtinyat","jd_bNJgiFvuYHco","jd_4064222689800","jd_4f69b28595650","jd_cvdiZSPGmOLs","jd_5e058fc83d2a5","jd_49ea50872b2b9","13305540706_p","观性","jd_760d663e43d82","jd_4ca3276395f06","h245803585","jd_eDGwJpjKztmk","wdNvBrQMGLzhWVq","wzy1361626_m","jd_YeSRDjvBqPaV","9425656-200371","jd_CyxSmPLmvoTA","jd_5de347bee6227","jd_uIQyLRHvEOwH","jd_iBrGbaNIywZs","jd_6ddb409109470","jd_DaTOubsALkMK","jd_BFCQGnOFJizs","jd_4bdd2b397708d","jd_69f878830be1e","4225728-46130544","jd_voGKFIOIdiAG","jd_cpWpSoPyGfbJ","jd_482d38ce0e8eb","壹啵","jd_7e59b64bc6231","jd_wzijJtwaySMb","jd_5d50e2180f741","jd_7f3b2bf401487","jd_6d85cb969fee0","jd_rSHMLePgLJLn","jd_78d9ad385b9cd","jd_4797f9107d34b","qq460541750","夜破长风","300212641-981218","17020615-28351541","jd_7b364be4ca579","102702352-101388","xinqing1203","jd_692abcc790e9a","lingkai995","zhugui001","jd_745167f752978","栋栋账号001","1877001-67209889","jd_7ab1df3c1627f","jd_42251f6922382","890913201-379578","hzqzzwt","u_4a0fca5f3ae91","winghongxing","jd_4324b50577191","jd_7335e1adec19a","jd_478292c329ac9","zmdad","hwwtz1948","238226880-616527","皓水莫负卿","ximie00","jd_799218a67275b","jd_HnuQezLnFtEw","jd_HOpbMcMmokAL","jd_yrdktJcHiDuU","jd_uGeHLtDxzAvS","jd_rRhSzmYiizov","jd_kaIIAXiqhgHK","jd_LNyOnaMXCxQf","lovegjk","a9738796","jd_mkqFTDuPSgqn","jd_56970d844fadf","tangguolzh","jd_743c2a5d9101b","belthil17","jd_ctxpwZSIaMmN","jd_SlhyntQtdiTM","Tomi0571","panda750776089","jd_LBljRKaSJSDE","jd_4b605ae50de59","jd_ndMjxeKdXENr","liquncom","jd_FWKlSRllGaYn","jd_45f3ea0aefe3e","jd_695093083bf4f","jd_5d4efa39558e4","jd_79d7dc934c6c9","jd_53d9901c87290","jd_BIUenuoLmTaT","s1660595785649450","jd_4b589a5c44cff","幻夜执行官","jd_66f6cd693bf01","jd_PWsLSlqSOvBR","jd_4820c9bc83071","jd_7aab8fb3d463f","jd_76be5c0cf6c36","军军-购物","jd_681fe1d19e265","jd_7614ff82aed4b","jd_43b38e6dfed57","如颖随行0330","darkadam","jd_673a08be1eef7","jd_ohGaXdkplRlc","TK凌乱","muziriwei","488629327-701315","jd_tFfhyYwFHuYD","jd_543ce62f37491","yincheng33","jd_5fc2e2f1f29a4","jd_TFBoJVOuhhzp","jd_63bd91f1f0e03","jd_498105a663e5c","18608749235_p","jd_62d77a988895f","jd_cEJpZEqFgiIs","jd_FmSJVzlBxIAj","贪恋那眼眸","jd_6a543435cf52d","jd_VqJuLxDztOlP","jd_CCcDCZaHjdBH","jd_NyobBUUJxFbE","jd_6947bac706269","18665206371_p","ravanelli","jd_71eae6d7d699d","jd_4210e218e2e09","like18382799753","jd_FSEbMcaFqJcL","18829341028_p","jd_48820fb3205e5","jd_5b77301cec27f","hh_92","jd381","jd_71c9bf58732c7","jd_eBWWEyUjchJd","jd_HChSisBxDvCV","jd_QyLGqDHmFWSz","jd_7094811c6ac9d","rvgty6325233","jd_HoDYFSUgeehi","13822283891_p","阿Bread","pingtouzi","jd_5c4576a326478","18302413149_p","哪哪哪哪哪吒","jd_7032c40b3df56","jd_42854fae3df2f","jd_5ecbc68a0c976","rdesimore","jd_68eac3740cd38","光明之歌","1120294734abc","jd_6cff62efb4729","jd_7bd6ab5539330","wdpBEkrNmYZUoz","jd_535cb1f0e0532","jd_73deeb4d98564","wdNRRGPBonfUkcz","jd_CDdQsaxaZxTq","jd_730b8e2641d06","jd_53b34a2e4cdec","jd_7c8a843a1661f","jd_631f022b1e115","moshiyeap","jd_dFvdeeFOrJSz","jd_iURZwWlxlCru","jd_5e59e70fa8cb5","weeper","晴空落叶","910454481_147338515","rxf013","392281711_m","108504216-128513","严江偉","没有团几在修真","wfyyhx","pjy612","jd_73b64c262100c","jd_4a91e86bad8fe","jd_419b9cc73de02","qiangqm","yangjiekkkk","jd_4211550c4c34d","jd_7ee9391d75d22","jd_7ce6430143b81","jd_42b76b0e95e8b","jd_54bfcf1906f03","jd_7eb9ce8f8422a","jd_4edc6b6123447","jd_onipkdJWCjQG","买手机4","jd_zWAZxYUmLQhW","jd_CEDlwdqJhVFg","jd_jobitLQZacjA","allensunshine","jd_587e36df64306","jd_63874199bbd4b","87600227-984674","jd_7f9110cb50ec6","JRSD_BdJJs0799","jd_67bb583f01966","jd_4f94524c65e57","yong86900409","jd_58967558131fb","dawn_sp_m","xuweibao","jd_SkPtNgFhzWvp","jd_4a8fd0d908186","15572320712_p","jd_4b1d0b15e2003","jd_uPqPTpUbaXXL","27240220-80327838","1355545-32668799","jd_ApYDYBOdJMgE","jd_fmSuxNrnwpaw","953535649","2008lxu","寂寞无眠","l3196680","jd_54707adb8bdc3","wdendcwcqXKDiu","jd_6141669bd58f7","jd_5a1f22c99a59b","zyfdtc","jd_61bfde8cc3f78","jd_5d5c2e45dd1a1","13922715449_p","jd_eSQoxSiRFWFf","BusinessAnalyst","90295609-149703","jd_773f1eb406e5c","jd_63b970b4bfa3c","61399021-733503","jd_ZtncSEdxEZEt","jd_fjicwcoElASJ","jd_48a0b5113b51e","山人海龟","jd_542a721fa0370","jd_7d2e980e3ca08","jd_45dbb09315d7f","周先生340","jd_fwLnoRLzjzIP","jd_5421a538c8087","qioqio","jd_41889de1ae86f","路灯丶","jd_4c46f91f1daf7","jd_7393b94d77569","jd_48b138fecccae","jd_chDKirKewwve","jd_53aa1244b9d8c","jd_5ba31a1bcc1c6","C235689","jd_BqImDsovtdZc","409048747_m","可爱的小毛毛虫","zhanglianbo35","veped","jd_AmSUEsEJEvvE","jd_66a4b9e4ed6fa","liushuijie","jd_zPrshYszlSHw","我有病12345678","chenggangb","橙橙丶橙子","jd_621e7edaefe30","jd_aAskSZkSdVMH","超金皮卡","13667737445","jd_7e3ac45f51b8b","s1737137580283980","hstgames","15185017451_p","jd_52a2e1be918fc","jd_614db29bf46d2","zxhqq3008","jd_68e290b52493f","1016849981_m","jd_6260d3e88b416","ANTONWU","Jaroen","15929163838_p","kiss0503","jd_IELlnzPMIiSu","jd_6bcaf6c03ab48","jd_78d99ba264157","jd_KqftCCeBpGXx","jd_7f9615653b176","jd_6ebb740ee9235","jd_fyintFLrPXuc","jd_7a227733576c1","jd_4c7bfe4f676ef","9953919-41881847","jd_661dc71395dc1","jd_60399dac1694c","jd_553fae381be36","jd_6c10d2f3e1b16","jd_6b7db99e25549","jd_75ba61aab7985","garwin87","jd_5c798e2a016f2","jd_NPzgOSgGvipj","木木小姐319","jd_4806bc8a3d15c","kitbin","jd_HMFkFTNLEOaL","18244501159_p","jd_79194f0ea5e0d","qianaokun","前面的man","jd_747f58d6b4d04","18889847159_p","jyjxqy","jd_7c04b9d9d2cf1","jd_6830720d71c06","jd_65175ccec7f49","jd_7da5db441aa50","jd_6c62363f4e0c5","tzyjf","jd_5dbe0f4d7c915","jd_48dcf8b1b3704","2076087516-766230","comehown","zxka0527","jd_74d235404350f","jd_725b333508adb","jd_5c7e5c2223aa3","wudijushi","jd_4a2f0e17f29c3","jd_76051ce46d5d1","jd_6acb0732998f5","jd_54b92959d3846","jd_4fe5f487e9e0b","jd_6cda530e3f3d1","a50951773","jd_58c77f9be51bd","turn-left956","晏旺520","jd_5ed6594933c63","wtm370","jd_jZJOMysLVQZt","shiyiii","暖暖901","wdVafHTPJGqajS","jd_EJXXkWfEaFPy","jd_tyRKAEIQwsjt","jd_NSCsDchuVpJg","13292785985_p","1669970096_m","静修小米子","Raozop","jd_69f8fb6dcfcf9","lylasi_m","jd_4d50365c07f4a","jd_62ee570824a94","jd_4d4faf0a04d89","jd_40e3724f64b32","dff1101","jd_587beeec45290","jd_nxLiGAlihKys","jd_47c8fc43215db","jd_ouJAayPfsDLH","c6709","jd_7015f902e698f","jd_HKbySLVvjdUJ","jd_duVMsHULMqaD","jd_4033ab1f321c9","jd_608a218ac2f00","jd_61b80383f2cd2","liqihu1","jd_75f2ed3f980ae","jd_6e87d23ed70d2","jd_nVYQvSwUqEXT","initios","jd_xrVAerVcdqOT","asdertypo","jd_42b804657868b","jd_55d39e4bd8580","vinceguo31","jd_5433e9f9cbe31","freezyyzhu","wangergoua","jd_510a355aaaf7b","jd_ekYNeenGApVk","jingdong-BT","qiubing635","南风天的鱼","qq7171","jd_ocKfaemPDWDV","jd_76aad6ff49a5c","jd_584c9bfdfa9b7","jd_5dec8855f79ad","applerosa","jd_yPvQeTEZLOIX","jd_TJabrEvMMtZX","jd_kMPubvsdOgHo","jd_ZopbfYOzEgiO","jd_GWPqWnLHNeHg","wdsffMNFSzUlws","zfcmail","jd_JyhxyfJzQxAe","li852081224","745820115_m","coldmay","jd_7ec1f0e6bb8b8","jd_4239054ebc8c7","jd_4ceaa2f0b777a","jd_rNByBjYCobmc","Po1ri5","小竹096","jd_MVlNMjRuSOxU","jd_5fce8b76fdeaa","jd_MzsnjIkNWZTC","jd_HrIgcnwEpmmf","jd_6bfde5c195046","jd_6ad60637a18c1","甘乾铃","icycoffee","jd_6b3b2678df66a","jd_48512d57114a9","5290318-52478942","jd_65b1f8aee5a11","jd_598ad348b7d5e","almeydawang","537微山县卜方超","jd_ycPpqLFOgTUU","jd_7d78152adc095","jd_56c811dff8ab3","jd_544a462efb3f7","jd_6c5feb99d2cd9","jd_zkaAhFlUtXIR","jd_FmjoBjLdCjpN","jd_5125f9969b244","jd_cHcMwdBRfkVl","小小艺67","jd_4f767404deb2e","jd_497802f414a2b","jd_4bdd5990bb9af","jd_ecdvCsfxbJxU","jd_uyjOtnpwlWXQ","jd_51bf4b5aa237b","sy370","浅浅佑11","kqwkn","jd_6e0af8f13477a","jd_XDphNcbUejIi","qun_life","ruoxiaofeng99","jd_42f57184c89c7","18712822593_p","jd_474c3dc34cc0b","jd_6a6ab7ec5bcfc","jd_44bf59cea1dc1","jd_66f4e472e3937","281928479_m","众爱妃平身3516969","1292822972_m","jd_iPNtmYXNXMUZ","wdNFhEVZXaUXiR","ctc2008043_m","jd_6283d34394b09","静默之川","1468992175_m","陈玄心","jd_WYgrvOqBFHEw","wdFYhRTwFpXQrp","wrarth","jd_56ddf01ee1a93","jd_OTsJNlhvsMnZ","jd_7a0f96874beba","jd_55c3b680b7313","jd_5a74c32edcaac","jd_542bba541fde7","wdEBTAMYywTCLU","jd_6c1dfe2e7d347","jd_485d1d4f400e1","jd_4c827a4df32a2","----991007583","jd_nZrXfQZzZytD","15385986593_p","jd_iarrVXLxamPI","jd_69fb5bd44c2fe","jd_6c550477d68b6","jd_6fb63d0a4f599","wushiyuvip","jd_ANwDsRtUuBEW","jd_QDDxNhVdcfKR","jd_vJREegchscTl","jd_5de27ad38581b","jd_4105d3e0a1802","jd_6f6effd37dfb9","jd_DuRTCvfnFetk","jd_PoHxMLmMlwIS","zenghong01","jd_4bb5cfef322fe","Crueyl","jd_YIywbqHzsQbM","wdxNSKmBbsjAMR","jd_ZBNlwIZlNJih","13753794269_p","xnzzj","jd_CrIErtOlNCDY","zhuyou88","jd_hxQIYMSmwYlz","jd_4927581c3a3a1","13794115165_p","2625680-57329737","jd_6c251efa2c7e2","jd_524bc84625072","jd_6f48f5cc97bfb","jd_hhaKyuooVFqM","jd_nTVwFecDiuiw","bayuexiong","jd_ypWbEJIJnlmr","jd_CLqFfOaPbWcU","18315330118_p","jd_7248eb9dd6104","jd_795265a38f1a7","jd_4d339cbc1ccef","wenhao99.h_m","nealbity","紫皇夜雨","jd_7242a74e6b76d","jd_4a516b74dbc49","jd_FAhVrqAdFcEV","jd_TzgSyXZkrLKb","梁JD960616","燕晓来","jd_5470c5185b726","jd_742ff7e2f1490","13144043-204560","916099332","小捣蛋的守护神","jd_420452a204d38","78568442-528317","jd_4ff155e9da449","suizhen_liang","jd_4b079d79ecd01","jd_78b7bec9732df","jd_62be88b662aec","jd_6693920abfebb","jd_4d43e22f1d4b4","13419035579_p","jd_759f2fa0508fc","jd_72c6c8ece7849","jd_6887f7af61182","jd_51031685f0d29","zhangghost_m","18674833559_p","jd_7d1ca3e11d777","zhumuyao742","wdwiqzGQQDpQzT","jd_74683c933a83a","jd_6e6147347b3be","binger宾","kweangg","skynewu","huangzr0326","jd_aJtAhPJPZycs","zhangchuangtao","jd_INHXbVLlZdJt","jd_7882678882bd5","wdJFoJZITqjXsj","jd_xFHLhJHilfEC","jd_7b16fda67b6cd","931226127_m","lsybblll","jd_NyWYlcsxlHkA","张吉健","jd_POfLNZIZghTL","jd_7a9ee46bfa48e","wdNGXppHOvVwNPe","jd_4413cf9c8ef8c","1010346-666723","默媛07","jd_6357d126679bc","jd_wzPIiWbiXcvh","jd_zvxeYFQMnpon","jd_760018f5e311a","jizeguo","15201999290_p","18762351912_p","jd_7ee3d6c25d0dd","chinawsh","潘多拉小狐仙","jd_6c50801e626b5","jd_682adb395c4f1","jd_6e14bfca08e7d","jd_5d913bd724942","liuyifei520","61682599-730168","yubin19840925","jd_6e444edb1ed66","jd_71337998f0199","wdRFWhnmZbpQnx","ycfnzz","jd_oVuxgzaHePrI","jd_597f9954de00b","矮丑挫","jd_DbzAnlEZGjNP","aaa2112","李描描","jd_7a42965d2be1b","jd_653d7cb89efe9","wdBdbyDVcerWDT","jd_452ed066fe5dc","jd_57fee0c0aa76d","786502939_m","jd_74e9382460e60","jd_432ef57bfbb93","岑雯涵","jd_62e3b45e68044","jd_4ead8efb34763","jd_76707ad26bc7e","jd_71bd1d16ee4cc","jd_54a1a9a2c0935","jd_MXRLyIBpyDWz","jd_AVIibTQPTtNn","jd_5a75e77fa0ba0","jd_7168a8166c8d1","18502981508_p","jd_6b91bad594db3","jd_qmCHnGkKefga","jd_5b0928f1333b4","61893084-677321","jd_4e3fb009b2e4c","qq845618","jd_kiRcmSqGXcfZ","jd_5d5ea4187060a","jd_EYOCnDyjPGkt","prion1911","jd_73764ab2bc49d","jd_71523e934b3ef","jd_6db1c3f517b1e","jd_5ca291b7aaa0d","hyperion911","xlys999","goldenswal_m","jd_79f86cb8217a8","jd_GqOIIBreXNmA","jd_5a9d235cbb4b5","jd_60ba295de2679","jd_7194cc1e76b0a","jd_LInosmaWwJJk","x小姐姐的微笑丶","小女在等你","jd_6654adc47d07e","jd_qHvYwZOilzGq","jd_77e37d7755149","jd_7ca8c039e909f","jd_dQxMUPJURmNZ","微微7057","Faultiness","cmj781","jd_XoVrSJErFrlU","jd_54ad6b2f74024","1809247-61230840","jd_5498f8149c1ff","jd_7c8d65babde78","ryanpt","jd_6a762a30769a3","jd_fnuOrgCqOYFU","jd_52cc63bcb308f","jd_KlsiUetyArjQ","jd_55ba6c74d3abc","jd_oKbVBbruoFrx","lio8639","bowenxubo","jd_7efa5a5c9d0c5","jd_vkYUiHldYaTV","jd_5a811ef9bf862","youxiuwen","jd_7e6aae1b55fd6","jd_65e49c22befe7","howmuchisit1","jd_65b9f38047b77","jd_dpinycpVrAor","jd_6c88e74d4e156","jd_7a8535cf3f116","jd_47239ed4af40d","jd_7382c80707994","chengziken_m","jd_66609267c1423","wdMBXSEfoloFeZ","jd_4255b269d4809","jd_56e3232efcbb9","汽水泡茶","jd_72bbfd902c315","jd_5e4e2eec3b019","jd_5912d6db0d13f","颜含笑","hhy2044803-2","wsleanne","jd_50517b669806f","binglun752_m","wfmcool","jd_44539778b4bb6","jd_484a46fe5988d","jd_6ef337c609bae","jd_5c766ba58424d","gzcrayon","jd_78e1f50161667","jd_6319b992d7fe3","jd_68f463163a9fd","Cedaryoung","jd_47b0a807f5671","hx2595928","jd_7724452cceaea","jd_7ff628032a352","jd_6076b1f8f9ec3","Margaret陌陌","jd_57ce31683788e","srlyqh","jd_6762f2d420a6d","JIAOJIAOJIAOYU","a15938569711","jd_63850385aa1d3","jd_IWiODreNLVVM","jd_4f45a9fa116af","18316859930_p","jd_737475db8dcd0","jd_sQkEdSyLVaCp","jd_EuYEzmIsSNTa","jd_AchLtjcaHjGv","double533","jd_59270cf3ef7f2","jd_650a9a8641d6f","wdaGdFTCgLCsKx","jd_6504b8e9e6ff6","jd_xAghNrTeXnrg","srxbsw","jd_48f0c6b443155","jd_5579ea16adec3","Best_Girl","jd_ohhLUylWEYaS","jd_xwLjDWIfESJJ","jd_689df7f46b4e8","jd_7cc5200951896","jd_7de71d8710283","jd_61de4f6ad8bfc","jd_4a10fec747081","jd_7731f79c27210","jd_QTZeyFyJmcGa","jd_bIJrrfTfsTJl","jd_UVoEyYseTxxs","jd_7ba2ca9379e60","jd_417d22704ffe2","wengyirou88","想念那一抹妖娆樱花","jd_ILXLEXlJBZux","jd_CGebmtykTIZt","473799158-95476664","jd_56eaf85465f17","jd_7874cff42e846","jd_551dad3660ada","hyb9512","Ly_Aom","jd_41a06b351d78a","jd_4f50a445f82ad","jd_6becbf3e7a401","jd_48b63dcf74484","jd_447e853e168e3","chandre","7893818-79082746","jiang123574","jd_79bdd01d99037","jd_46ec5e60ea76d","xmlcms","18176816591_p","feverxg","jd_51c0bde483009","jd_4adc9343f4868","40557286-97194355","jd_58648f0813328","13726226539_p","jd_75565acc6e468","jd_4a1c3e9d8ef78","jd_5b2164360c841","jd_5f685fac09d78","boss44944","443087886-72526511","77572y","jd_4c1fe6b301f47","56055518-80128571","jd_DoTfdhjvNLmO","XmqDUjzw2i","jd_AfyyULRTIxvj","jd_7e1793c186eb4","zhx0401","junwen001","jd_52e4dc49ed5d2","jd_70e17ab96f0f4","15659388549_p","jd_685f57f041aa4","jd_6d5753456c628","116938232-936140","郑镇焜","jd_40d99a488e19b","jd_4474641607522","524385179_m","jd_40132aa5e20f6","jd_7628da0b6766a","yujing2332","jd_680f4aa03a287","95166763-147430","jd_41436608b81bc","jd_4e08264909aba","wujun2081","wdmRBDplheEnpy","jd_68900e330c808","jd_6bd17f3918d3d","wdJBEmddlCQTFh","jiaangel9","775943323_m","jd_TaMcODJROaNJ","78085688_m","jd_6351c3b726758","jd_486eff03601b4","jd_75e5e2a4f7e13","13250502285_p","jd_xCDHzyZqlQxz","jd_PwaIFQyKOXGD","ricardowoo","landlone","jd_6a5ea9835d7c7","jd_7516235fb1b5a","jd_wLihAOrBzjXG","kenw800c","jd_725c8886d26d2","jd_75711c2b47e4c","jiujiujie-1","jd_590fcb96189ba","岁月不如歌","jd_533d4a7136d21","jd_PoIxxnYPJvNv","sampson9210","jd_51199b582e0a3","jd_5c44825e0e1b5","jd_WPAIbXIIeTEd","jd_73fc4bc2b1b86","jd_LNYxIGlGZHjZ","jd_yjVQWmZZhbbX","jd_5f188995fe3a9","jd_6201e17549113","jd_WhkgrNtugVBl","hanziyuan08","532596364","jd_UEMZodYBDwLI","jd_5376eb1e23323","jd_7d3ddb61bd0d3","jd_595cb9a37a9d6","jd_7dbeef82f037f","jd_7feb62b8e4ce1","jd_joy01","jd_42c4b730b8389","jd_7e9ef8dd3e587","zeroivw","s1497390453300965","jd_417a9cb8132fd","jd_7a391d14e8abc","jd_4d99f93e65fa1","13902526896_p","jd_6f1ed8f3e9fb4","jd_fTliLfaNghDn","jd_4bd3ccf403893","jd_439c2d423e177","aqiang19","vlansun","jd_EYaeLFAZwMTw","喵喵康","oyer520","DR_Evoque","jd_KxuDzImTYoAg","jd_72a82896d8138","13526852028_p","jd_682f2f2f3f955","jd_5df5555ae8bc6","jd_63375f634ff2f","jd_687cc8e1c07a9","jd_4b8bde8d7081e","hylc5506555145","jd_5762dcf173a2c","211971183-120959","jd_4d33dfd115296","122292195-513519","jd_JNCPhEHerJgL","张丽新886","谭春节","jd_635b983d81ace","jd_47dc37ebbd397","yyj87","jd_yZawVuIjPGOD","jd_459ff2e0be03f","jd_TcjcQrDmATNT","jd_PfEItWmXmOcq","15527276162_p","jd_XtVjdxhxSjFg","jd_UfGoySdLLvLq","slxx5237","jd_455c6d5e8a2ca","jd_4a91333f542f3","猫小2b","lan662152","jd_TWWdjTbRYDqk","q20030341","zhang35259437","惊喜一生","jd_4fe80f7613a71","jd_59f87ccbbc611","jd_42d6c329e5749","jd_7ae90e69f1196","jd_78897c6a67d4e","kid424","jd_VYunaNDXHnNv","a654884917","jd_5045fc9f0b475","jd_GcOthRQIxAOr","xb9294","telwhy_m","jd_551eeaa8849c8","wdcBoQDKZHFRlM","jd_4db0d94dd6fa7","鱼_片","jd_iQMkGKGWNHDp","jd_ralyHvshaEgX","18281152638_p","谢佳--","jd_TKERzKVfWXAs","蘑菇小猫","jd_62d432d9facf6","jd_PNyCaKpCopTr","jd_713a7c495b2a8","jd_65ef11531f397","jd_6826a9c3cc450","jd_5b165cd72f5e4","wswcx","19100556-53037866","iyangming081204","pizier","wanglichen_mzg","ansome","Black__Cloud","jd_5f69326dd455a","jd_79195fedce569","wdBWSJEiVFyynB","小砳砳了砳","solosuen","jd_ZaQHaCkjbvBi","jd_rtlNgjDRCmDz","jd_79ff97f970910","13629829-419864","jd_404f0038efb9f","jd_AELORvSIcSHz","jd_66152ab1c0588","jd_451b584b8cc34","jd_4009f94d35605","jd_403e9bc6f2c91","牛奶不爱冰","lxlixiao789","jd_6c134d623b5df","潇洒美工","jd_7512c3be74ac9","xesp","jd_6d5a7be565588","jd_4777739b3bcdd","jd_iGAScSqngkaQ","jd_qxvgcnpDBWTX","jd_gMLcxSzmexOk","jd_kRInAehmxnEu","jd_4b06a139e299d","jd_505cb1320615e","jd_5d52e751ce680","jd_7a14726b071f2","jd_584d37b099b27","润通轴业有限公司","jd_69d1ae86b6ce5","goodsyb","jd_714a7a5d48e4b","allanhello","jd_662b15de8b4ac","kernelbeta","jd_777b34a169ca2","jd_7392508d755c1","JRSD_fvNOC3240","力呗1989","梦里无念","jd_XUtFwpaqiTBE","jd_57e6c5e0afe2f","jd_52ff0f178af1a","jd_6366fbf0637d6","jd_5b1c629fb2e75","jd_lbCwLEmvjebx","jd_4a07fac9119f5","jd_EPSZvSkFfDWJ","jd_eCfabWuivBtM","jd_IMEOwPjFunAg","jd_cMpnEwaEBioj","jd_4aa4e64d5624a","jd_404955789e454","1-1-8","w0k0802","337534989_m","rustin","jd_6ca8ecc649074","nymopho_m","jd_454e862fe9428","蜘蛛迷离","jd_74e2f15297d0e","Timihaha","jd_WXqwKRRPvpNt","jd_453d2cc2b59e4","jd_7aa17ca88efc1","jd_6f35299f03e05","jd_kxluzaXlqXqV","符号控","jd_uQUeTRMyfxNg","jd_73fe896e74fe4","jd_6398453f425a4","城南旧梦Q","jd_iXoqYzKldLrf","jd_6ff9f7bee2134","jd_4e7baaf91b9e6","jd_guXIFhRbXVYc","jd_68e7b26501859","zjzhc","周丽艳329329","jd_56192212a3a77","jd_SfecXJCjLttX","jd_ciNTcSIZeHIc","jd_jGYOKZgPkYet","jd_4932a4c119fb2","jd_YpugjqvzYraC","jd_50607f95f5913","jd_42ca4c98a0b40","mobo1980","jd_NPzkFXoWouJR","sniurt","jd_6366f5fbce278","吕井强","JD2816852601","turanturan","gufujie","qq313605382","72471048-757110","笑oooo笑","jd_7644d3ea41fd3","jd_7752be4958068","jd_58a36f514e733","jd_RiPXEEBKuxGK","jd_yZipgGsaEFRF","jd_52c2726010f92","laughingzou123","eddypei","jd_7e40d1e78073d","xiaochunlive","Jccc_","vb1980","572德清县姚江锋","jd_46a659a680d7e","linxiangy92","jd_4cf1e88c3fdc7","jd_5b636cfa4f1ed","15250962683_p","jd_TgrqwPWoqzow","czlycpfz01","思念泛成郁","jd_64b69f7cf9159","1584589710_m","jd_YIwtgkMcPauf","jd_ZOreBKJlshqs","jd_424c05d284d04","jd_kMvFtTNgMaHd","dreamboat7","jd_agkmnceCEmFH","jd_HaXeQMGJhoYn","易飞fate","jd_6165b53c3bca8","jd_ecpmdXyIPFpW","jd_439462444eb7d","小睿1989","jd_5d477d787e4cd","lzsb1022","jd_6f5e41ecdb5cb","jd_7013421cf1e6c","jd_7ec019db39458","jd_MiZeYIdZmREG","jd_RuTyIErSNAFO","jd_644540aec0d38","jd_NxSIooygNDBy","jd_XzjzEhRvuwtZ","mawic","jd_40862b8c60880","xb33992","jd_6e0cd59bf9e67","xh72002","wizards23","chunchun19871219","jd_cAPINSvEIEzi","jd_ekuFDUtVxncE","jd_45ae414620c6e","li2573630883","jd_7ccdd3d7650a7","jd_7e5fbdc10656a","roain","jd_78bcfd00a38e0","jd_4a465774db27f","duanzhichong","jd_6f8622fc081c6","jd_628904b08c267","tao56000","15803894369_p","rosegoal","sylaryang","jd_63164e99f6830","adam_l3","jd_73dc319c5ef1b","wdbnPdwEhlXawk","jd_5f63e88181659","jd_zehXIeJcNAXJ","zznxp_m","jd_606a4bffc886e","jd_43102e75d4c01","jd_5db9dae97657f","jd_648291dcd8207","S俯瞰风景S","jd_53df20addbb85","qq438836856","runner0725","jd_41aa973912f6d","jd_7125ea7ca25e2","jd_4402d2237afff","jd_7a7a88ac66caa","电台情歌991","Ride_Wind","jd_641e60a62fdd2","jd_464e9ce43c53e","jd_4ec10a03491b0","zxf9949","wdNxyYcRLNKhnyG","jd_6c3079b6f814a","jd_hHjZbWgaqUIS","jd_504e9e9b23ff5","jd_6149f60e1fb6f","ydz541121137","jd_5e0ec2b90c6e8","皇家西游","jd_4fd4bf7a6da53","dawn02010201","jd_IlHWWTCddBZN","jd_yaUCeybcjqIw","jd_4f7caaea2f9ed","jd_4e5520e8f1353","jd_43af51caa1730","jd_xyytGhQMyDZF","184204626-130844","jd_4b2120d95e9a0","onwingslnz1978","jd_OswSWcYRKMwD","lyj571338392","jd_68e919c9ed389","jd_679ccc91977f3","jd_4032064ee6485","张德美百万","jd_691ba58148f4b","jd_6ee6e9cf156fa","jd_796b44d223708","eudis","jd_7c91247299527","jd_qaZAabCcLWem","jd_PZaHluURcIGu","jd_DVVMJdgYSwGQ","jd_4fe32955f55dc","狐狸-v-","jd_qJxJHgShddbw","jd_494f72c4bcc34","shmilyjessica","jd_QBLOCzjUlSqu","韩春生600329","jd_4072e27343dbb","jd_4dba22786b15a","jd_5525df18f0a45","jd_7b05576ae3737","jd_69841e01ff63f","18912370284_p","15596832278_p","jd_cFIaSHpxvwlI","jd_4009a82e75a51","wdSzwctZLwClBf","想飞的成哥","jd_63db55ffadad7","agxc130925","15206333319_p","jd_503f27f98b6b4","风过耳","jd_77bafed1fb634","jd_75dce8b11a2aa","Ausra丶豪","kkzwang","jd_71b3256a9ad0f","asdfghjkllllllll","jd_45223ecd69f3c","jd_7043e0598700d","包子没有你","jd_lwvkkhduPSbt","jd_732a355d9fb36","66637343-10799061","jd_NgjAmEPqjmgt","shania","jd_iJXHKeqAmUdh","79363872-298306","jd_6b39b29495d90","jd_WpLoehvGjGIj","jd_HkwiRsFsIeNK","jd_71fb3ee1e64f1","jd_738f839df728b","jd_6f103ce33cada","jd_ZVjyVqOLOgif","jd_52361cc2a6fa4","jd_4d212d86a5878","a412657308","jd_594e1ed1b3cad","jd_4aae8457ca6bc","jd_6d95f8aa22a21","jd_5e99a1b5aa1bd","jd_thoiidFbiLZN","wdBtlcHBabeypB","张倩文ly123","jd_ZTADveQtYXng","jd_43446efb19a8b","英汉辞典iii","jd_516c956df9604","eboyu000","jd_523c8320d62cb","411378415-139395","jd_717fde19f8f70","jd_537fe737485ea","jd_48df611dc6d87","jd_7e033171259d4","jd_sOAyXRuFpVxa","jd_RbltYzneESiG","jd_AdfDlhhQEXbT","jd_6eed9fe16c941","jd_70dc0cbfa5902","jd_7677987271d0d","暗夜幽香","jd_PCJwdjmmfBKs","jd_7b68f9334e47f","jd_QVJdtxeWqaSH","jd_xxbhVQPPgeez","jd_53c95c14d66f9","wdftgDsUMFGdUm","jd_uYhLOekMgWAf","jd_4be91e803918e","jd_dErhbSIcbIig","jd_qCxMIosCdYIc","高兴就买23","wdttLjrWKAPSmE","jd_591552f36791b","jd_gYjiAVKRarVj","Wsikang","jd_ddfSjiBzpUpi","jd_EgNGXmaNxzsE","jd_4effd1430ecc5","jd_jCWHiiFPAqeB","jd_5aed52f8ff3b8","jd_661263ac65b69","61572952-352332","jd_GwqEAXHJHDFZ","jd_711baf29223b3","15989107342_p","jd_60c8d3dc21fd7","jd_5496f7a01e9a2","jd_573cac8659a99","jd_501d7c8f38aad","zengguangwei1204","jd_5973d9b7d648c","jd_4fc4675d39b6d","jd_6f4c145d62794","jd_psgTbRhzaktg","wgsxsm","王政398","过客0432","jd_701b7e608782d","jd_TVuGozJsiheU","jd_6f9d005d7bfd3","jd_kmRKiFGfEQaH","kks0916001","jd_KDHzIEPkIaDd","jd_6b2a5f622a74b","syqfkq","jd_529b7222bd361","jd_OjTKhquysbSM","jd_6a295b0d67b73","jd_7ee19b824eed4","jd_5cfa362783794","wdNMsSwGOnfCnS","jd_62a2a81a5a62a","jd_5e63cd1e7e877","l598219598","jd_4650b690a9f88","xushankai","jd_7079e0ab9c003","b82503853","jd_7f6431aa3a8b4","wdNbECvhzAepkCI","15061953899_p","jd_59b7203278233","jd_4255eb1fb982f","沧海一声贱笑","我真的不是来打劫的","jd_5f8915b3975ac","yuxiahui2009","jd_UmPwjXMGvhZC","jd_7fdee6b68d6ed","jd_7ed47ad1d3bee","jd_dBPkHvRInuSz","1132858439_m","jd_59cd0634d67b6","jd_49aec83054790","jd_7100727512412","Zhouyiping1022","jd_PZtKSusfOmrH","jd_63a14f8622c94","jd_SjxJMyRxjGGx","jd_lBVjSaKwZiCo","jd_YcEwpVDncdHP","192536525_m","jd_6f2b8f0c08052","jd_NPScZTMOHjAX","jd_480c5399a4eef","jd_40245721a55b6","jd_RLhFNpnCkbgp","jd_LybXrLrFNruu","menglong210","jd_52886c5d13aff","jd_XROKtqtiJGFL","knlvz","chloe120331","妮买不买","jd_469960e745d3d","jd_608b37c9c3682","jd_6f31fd6fdf96b","jd_54bd63d137bdf","jd_418f349ba2679","jd_70d388e3e5f7b","jd_709ed4f80e923","jd_53fbf0a7eb43e","jd_eFRUVUwBYXvE","jd_4ae967aba4c1f","Mmmm桀","jd_5596c4f7fcae8","dong1027170743","QJH15385083045","jd_582f0a5a7af3d","首45a","jd_653ad042b1714","jd_7eceafaf34314","jd_5944bed8604cd","jd_77cdd63ec9269","jd_4f530fd18d946","wdVgxSLqreVMBo","bennyliql","yanghuiying199","jd_58e1e05f1ea54","jd_4dc7f82fbbe7d","jd_6b4bf127e9fb5","15021144838_p","jd_4d46a178a0df1","xudezh","jd_KcCjajfyMrQt","jd_5d5ebf8cf82b4","icdip","幽蓝的夜色_","jd_nNBvJtbmsdBl","jd_4da5e011e9450","jesuesd_m","jd_6fddd5e437de1","jd_72d484263a791","这集我看过","apelif","jd_PTIgWRKoClgd","jd_56bfb02ae2423","jd_50aabee8e0746","jd_609b5a639222e","早源","jd_fBIxaccDToFi","jd_57ea6f0d4df4d","432421960-972708","wdWcQPUyiWpJtE","jd_7ca8cc63609b0","chenyingkeng8","jd_EGZtXtJqNMbK","d13246456395","jd_lqasQPLrRURS","jd_UYyXMmZwqDEq","wdnIKvQSRKFnqb","jd_55d7e73cb5145","jd_wNPmZAsuSUvR","lihaiyun1314","jd_TwLtBVuKjRdI","15016474902ABC","jd_66a0e84a28bf3","4012078-50948247","jd_SYqoWoNFKWCI","jd_LFrTgwiZDGJB","jd_STBscTdRsfvV","jd_rZcczTuwEwNg","jd_UTlvuAvZQKbS","jd_47ea967b83e8a","18226604605_p","ynsjlx","jd_58e6efe19e1ac","jd_53167be98f6ee","jinleki","jd_574d20d8965a0","jd_66a8f6236419d","tife12","rgbpe","vvlyan","jd_67efc83fd1b50","15859100651_p","liuqingzho_mpj","jd_6a8c0669876f8","jd_4d839d183a963","新新人类543","15637185037_p","jd_621a377e1f168","weekcup","费明涛007","jd_73206637eb8f6","jd_76d03fa866c28","jd_lzrqzkKSAGiw","jd_pTDPflbIjHWH","222510887-218628","jd_5f5c310dfcb24","澜漓了然","jd_6498c65c655af","jd_4fd5ab23975c0","jd_736094800255f","jd_6959cbf8dda8a","jd_72647af76c33c","jd_7a2294191a76f","jd_5f5e7d853bc4b","jd_75a1b03d9762d","吴伟忠95581","jd_66bddcf078df0","jd_77fc903be8d42","jd_YMzIfRQmPjzw","jd_7502e7200f695","jd_4c35349125db4","jd_431341140d29e","z1d406","jd_GJWWVOgPIJVE","jd_WlGczAXWuaeS","jd_DAxMoEUaMXOl","jd_cqJfIMHhYVHs","jd_66f3aab93d6a7","jd_73f454cc481bb","jd_TZshENxqBfvn","jd_6189b9fe59b0c","FlyLFeuilles","jd_46527678a7754","jd_618b7cd141a76","jd_73c53fda743fe","xiaojing262","jd_471574a143c9b","jd_78e0244eb9613","jd_4f5dc533c8e5f","jd_65939c2b9265b","jd_43c0d1e32b480","jd_urmjfBygIOCO","jd_46549bc6740fc","wdMxXPyAZwJGEJ","zhuzf","jd_hhjvnOMNPzEg","jd_554bf764c55db","雨洋葱头","jd_xURWVLChtTBp","wdBkAkUTzifxGI","jd_4df202da2cca1","wu360463231","18283191-76177339","taoxiao0","jd_486d8d19f7c50","jd_413898b7fccbf","jd_ZlGltupqbRCV","jd_639def1754e6d","wdqxOTPZwmnkGm","jd_55ba7082da5cc","jd_BiPljCvsqLbj","jd_TVOOmaHqDERy","jd_4bb80a242a3fc","jd_5e9e6faef2db9","jd_4d291c33ac7a7","461862473_m","jd_6e2689f88ae40","jd_639c293feec53","pjbjls2","jd_vPcCFLDhPhzW","jd_57dcae6781a81","jd_PdMoNcjoNFJT","fishswimjust","嗅夏","洛枳啊","jd_513ad1fdd8677","慈小瓷","jd_589247b2dddcb","13758075505_p","jd_6c648da6da7f3","jd_ENQRStjSyOKe","379859838","jd_4884e03dc56ce","jd_6fb971d4ea9b8","huangnan525","wdwCxHMJstNTap","jd_ityLbkiaksja","jd_HzDvUhYfnArw","jd_67fa3998e91fe","w1085143812","jd_48f38fc905d81","jd_4879e77948ccb","jd_7bfa1c0f58b9d","jd_63c2400f1fb15","jd_hnZPPXDZqKyi","jd_7afe05cd61922","jd_nKALyzQsurHs","jd_4bee704eb29c6","wdNPMrslgGzJhCn","jd_VEHPmklDDEww","jd_65d2852480fd8","jd_zsCEpHmEpjQw","jd_7f29274f4bb0f","jd_DXnaWNCurnMJ","mingyeee","傻傻的小彬彬","jd_65be9f69790bb","jd_PLJmgTIYmVVn","jd_yteDVWWhmiky","jd_4e59841cae4f9","jd_613f152094ee9","xuanzi12138","jd_60ac31b7b56d3","jd_53a35536157f9","74114898-651147","jd_5335b970b0304","wdEBPhDPgqqznY","jd_4aff40f335a2d","yockii","zspades","jd_cdmNQmwSxuZg","jd_5d0091bceccb8","jd_xfKSTZoCOCtC","jd_4fd9648bdb3c4","z15178025616","jd_7c7ed9c7a9baf","jd_bQodLLirXchc","keindaniel","jd_4dfbb0a839cac","jd_XgqBcxkWpTiE","jd_45e8ae353acd6","a792279916","jd_gHUQRZKVuPtS","jd_600b29915f569","wdFIZmGAeZdEmc","bswgzh","jd_7ea24791482c4","jd_54c42896061e9","ordinary2433","jd_hxqzDOgJOGSQ","jd_77158e8105250","jd_4e101a36c9759","jd_68bfb774e0a0c","jd_7fedf6b10ace0","张福梅17717022844","jd_rVuhYktvhmCj","wode19930724","jd_FccFZJcncKwD","jd_717873ff99797","jd_5362c3f65b858","琴弦上的成长","jd_59a5dd104d999","kay1983","jd_61b81dcc2c509","kyoukou3274","aidanailu","jd_418a08348f8fe","jd_560ebacecd07b","jd_52f6bb6865fff","jd_5a40c3bb5afa9","wewa3228","jd_5f1b23753c8cd","jd_5dc20a2559a99","jd_WKRbalBWVnyN","jd_4e95dd3723e82","果冻工作室","jd_XredAbofidYt","jd_QSkTnljZZnBG","mutong1963","qoqboy","覃超1208","jd_6c067635fa02f","丁丁和红红","JD18228936787","jd_7e8b6ebdea160","jd_yfgRxAKPSOOr","15098037743_p","jd_41bd8306ace40","jd_6f7df741e5864","hiozjl","jd_7193c4b6bd2e4","jd_IWrRQIseqJLk","jd_fFaBwbxYpssB","jd_71a655d386a98","jd_5d4169b3f2981","jd_40e2d2792ea0b","jd_wADVsgoTcZGY","jd_446c41066df37","jd_75a1ad793cde8","14163506-82615404","jd_576587abde4a1","ivyguo0425","my_girl182","liu19911129","jd_586ab9678413f","jd_7e46de371a17b","tinham","jd_4fd5bc1f0b67c","jd_OcBosuXJyIuJ","jd_rUKGumJLXcsr","mayiehuo2018","jd_5d9176fa8798c","sshc2011","狗东我来啦","gp1136612050","jd_lUsDVHvESLuu","jd_662f4bc565c05","jd_551264b71e888","jd_BnXPAuflWrvc","jd_JnODPyFJskBK","jd_6bb2028264c78","jd_79b6df5fcf691","诺贝尔的爱情","jd_7e55ae8e6d29b","wdMrMrXPbfYzjb","jd_71f193c9c5d6d","陈德斌303","jd_44ff98dd67884","jd_7165e99cbe4a3","jd_4c09696ab1d6f","o莫相负o","racoon-","jd_53f632c0c9bc3","jd_666072a456064","jd_4d603458212a1","jd_51766efaf79f0","jd_642b761ca3c54","jd_kwWVkvHfxCKm","JRSD_sJMar0998","jd_fOGxcDWTJyVq","jd_4b21d27315006","jd_cwXgurGzvkqa","fs3223629","jd_7fc153bdc01a6","Mrlock专卖店","jdsuchen","jd_74229cc203452","jd_sYgOHGgcqvvi","xl14753","18586710093_p","jd_7a4072136a6b0","houndsky","nanablue0607","jd_61b26158dbedb","jd_75b45c1f7a62f","小帅北欧","jd_405c848d42a53","YING520A","wdhxqjDYGbVLTd","jd_7c61ba2345a4a","janiceeee","jd_4a0008f59888a","jd_5befdd0bd3ed0","jd_7c1099585ee65","13890529299_p","捉紧禄也","jd_53ae56257e43e","xyc3605","iTsw","jd_MeKkSEkGfusS","jd_7bd633e3a1b89","14789464941","jd_7334a1b06441d","jd_YdtfFWTLeAcR","834145601_m","jd_TwmWCaabmHEb","jd_5c6479e733550","zhong_ruffian","jd_oteoYYOwaOXJ","jd_jQGplnnqIupK","jd_7895ece6ba971","305635736","jd_642cf368ad24d","jd_7a08dd5e0501f","jd_bjxMyyRfjPXk","jd_TaaurAmawKDt","wangsunfan","jd_6711b7f39e8cd","jd_6d35d0fb706f0","机务精灵","Mr_jucy","jd_47913626d2a65","jd_FTckKenhCTXY","jd_fgyWxAGBFRRb","jd_4633de9639ef4","shu0802","jd_KsbOAdcHWAje","jd_XAdAWjncOxbG","jd_714964131606d","jd_76a7b36cc770a","jd_54dd314f1e98f","jd_57cbef1cf31f2","jd_5d4d0c8cbee3c","wdDJqBhhKvtXMp","sdrokd","jd_789a1a3728da2","wdKxpkGEBOnZUY","fgy334589839","jd_7e0720ff2d1b8","jd_769490176d52e","jd_5ec384f35774e","64456528-92130655","jd_MIvbJYNCIgAd","jd_5ab4e12e04035","jd_4a27a7e74419e","jd_6a587fc8a69a7","wddqURTEDeOSlI","jd_qNGEMWnKESdd","jd_PvIgKOeNahut","jd_xcGYmjcCZZAC","jd_IACgPGaikiPj","MmMmMm520M","319166628_m","jd_jHAJusEjosBY","jd_tIxZHbSvUWpX","jd_4c08ad91cd40c","jd_awVnhIuVnJuV","zhanghy2019","jd_49d9b4a9a6247","jd_zsIdiuYiZoSs","jd_4320d9cf523c6","jd_gCsBgBcvvGnI","jd_402b3c2fb81fa","jd_458b9bd570420","onstagezheng","13450135801_p","jd_55366bc4cd572","chenxiaoli7891","jd_7c16bb6b4aa5d","jd_5d7077e17dcca","jd_ZOxMDUocItya","jd_5454ffa179fed","jd_62d1537280f91","jd_66f3910bdf0b3","jfchang14","jd_6b5e78ea55ba1","jd_cLmIBPqnwcbZ","jd_795d0cea1eba9","jd_fLDnraizRpgQ","jd_51af3bcbf2e34","jd_MpBvSmPeLoPn","jd_XJGtgiNPLOWk","wdNvXDTRbBbnJJ","jd_5377a251066bc","21689808-96717907","jd_4b7dac338817d","jd_42d46fc3c0521","jd_6fb6626b85337","aa7392688","jd_7f75b22aaf7ab","被遗忘的锕","jd_5224ebad993ee","jd_50c7fc980a61c","jd_BJZiWnOtnlHL","jd_cSXNyVdGWUEI","jd_6926e4c6883c3","huisangmiao","jd_7ad5e699d1cf0","老李793330","jd_5eafae159d2ef","jd_4126157e1c431","jd_45a54686f78db","jd_6d5a499cba34f","jd_MNoKDoGEbztM","jd_6cf5126f1d9bf","jd_48fc6c136493d","jd_TlfpvQUEsUrV","jd_GeoFynpZwjXC","jd_7c264c052f653","jd_66f76d717eabf","jd_499525167eda0","jd_CCLDieGcovsF","ht403497676","音频怪物X2","jd_4dc31cf663525","jd_6b2442aaad4b9","jd_6b02c8f7010bd","jd_4eb9e99913b25","jd_5b4a072abf727","jd_lixJHvVOJMDV","jd_59979a1f8bc4f","zhanhuiyu08","ysfno1","jd_56f6e22d2a34b","清奇落落","importance12345","jd_ccNgQyxbHIlR","jd_744732e88ae2c","jd_611ff5a218f0c","jd_72241739d8298","jd_IYbeEBnfGuOJ","jd_60749cb8e25e5","jd_65d48e9c3f39e","destinykid","jd_7f0599133cd3a","15261121128_p","jd_QHSvaVQSFSdb","玉朝彻","xtimtim","18360722369_p","jd_egoKEAJHysdn","196092592-634815","jd_67c27a256cb1e","jd_50da9e677fd41","jd_6d2615079a21f","jd_40ea975b0b80c","jd_5340482d31965","ZJX13592761893","zengweihong0610","jd_7d3337488a0c1","jd_4368098dcfb6b","jd_cJAreYdUOZzq","jd_686c59389d372","jd_740bb07db01a0","jd_63fcd0e305593","jd_VrJpWJDbNkjD","jd_73d45b3291c2c","jd_609f377e50338","官方已投入yds","1847268-87685458","hongri_leo","jd_43b92fd0d6983","jd_60a0dc565749c","vae的浅唱","jd_6c929813a1858","jd_79ed909b691d2","jd_7104813470f66","jd_RyGAKclqKZik","jd_zxSJyQEwYyix","jd_BTsZEffPPzdb","跑堂小哥儿","jd_6927836e9a32d","jd_5dfbbe4ad8433","jd_40408e68c048d","wdtGcyhUTEhVvy","jd_67aab4c39d3c7","jd_5dcff8e80a702","jd_DmdEpYFJOliW","jd_5123f3c9b1c48","wangxiaotu219","jd_bcgBXpFuVIss","jd_47e70596d3f53","pifubaibai","浪潮灭","jd_5fc18b4bd5ea2","jd_4b195881af913","tanmosquito","阎雅溪","256311694-125817","摆动的旋律","jd_55aa52baf4366","jd_75d046fc085f3","jd_4b7816a10f844","jd_40c75b0e13651","jd_QGkKaevMiOoA","jd_768db87baa142","jd_41d6056c77374","jd_6188f2f18d284","jd_7349911223d25","jd_DsBsycGOhcRH","jd_4a190eeba876d","jd_5fc9f0d0ae2e6","q13524178439","jd_fGwQyKETUmsp","jd_VhCcJPVmrXlX","凉城丶m","xx3213278","jd_xLTPmmXwVCPT","jd_5dad01f2137a9","jd_zUaUFYIqmRya","jd_TfHKmhXBVLrG","jd_76808c3b98d72","jd_tQnKqMflvQUU","jd_RrmhsnjkTwRC","jd_taZKmVwJrnpo","15210912570_p","jd_nzkPGxdcPtgK","jd_uCIPVBYiwpWK","jd_411be97fcb66a","jd_67b841276212a","jd_7d360754ac2a5","白衬衫817","jd_zzBFAoZbqSVR","jd_tKhETYedApNW","jd_6f5f3216d144b","wdoRNDPZviuEfT","jd_sfgJunpanieL","jd_7553862993271","jd_71011b6694013","jd_51ee4ad0e37cc","jd_7ac33222f1552","jd_gIzxbBUBQGCG","jd_509704e536653","jd_pBXzZlqInyyk","jd_781c88a62c848","jd_tAotIiKyEXMR","jd_7c4f9dcd1e943","jd_YPdxtpfSCyOd","jd_xskVLZmhiXcL","571594887","寂静狼","啦啦啦啦啦啦啦111","雨梦微凉","125979802_m","jd_7a785fd829689","Backlight_MC","光头的先生","jd_6c868aeda00f1","jd_GeTyloqwKXwU","jd_xpMXUuwXxnKZ","jd_63a03d4978557","jd_49e43777ab099","jd_UdHOfqMgTHCY","buling1515","jd_41185894094f0","jd_ieIHFjZBqjbA","jd_6f7af5c9b7b9d","jd_RPIsdflYatOs","guygubaby","jd_67a1bf3ce2302","jd_mtzFVlrYcLAU","jd_BIqtJZEUNNlC","jd_FfYUFxKDlLLo","jd_7c41cf0b9b349","赵建雯","jd_53f0e9db55193","jd_SwgiWmMCQWgk","jd_742c7393db4a5","jd_wQRRrfUtMEwL","jd_5133094e7b6aa","15218870393_p","jd_54c6aa7082899","wdNpdVElIvIFTOx","jd_54a456019dbb6","jd_eIInRoiYiQMh","wdxwyqxgGUJaMf","jd_6144151109917","imswing","A641191800","616744200_m","ihntgtqt","jd_HPZrIDwVEOGT","jd_NWdaOrFegtyB","jd_FDKNAVAIsdQy","jd_4fbc0a56a3cf8","jd_GObkwDyCfogs","jd_VGLCJBiHZrIx","jd_5e721a58b3676","jd_6d72a9f6b5c10","jd_48aeca7182a75","jd_4521c19e3a3d6","jd_5bf823b277774","jd_6c72b8bd70351","hanxuan914","jd_4a9455b7cd9d4","jd_7bcf60edbe0d3","jd_6ee02f722a880","cnsnet","jd_6fd68edf35c40","jd_DlPnpBPnqFqc","753756521_m","jd_61b5610188ade","jd_7f57c00f25672","jd_631382c392a0a","jd_VwEImuzKlThu","jd_IrhDHRWuQBxv","jd_7f80cf7f58723","alliso","jd_72cd16da71bbc","jd_5bc831f014e3a","jd_6cfffa48a2c66","jd_53d7087577867","任君飞翔","jd_PTvQNFBOwsdD","jd_NzxciuJhuPhU","伪兔君","赤赤嘿喵","jd_636bc8eca17eb","jd_548398743d01b","15946408836_p","jd_68b842b9104b3","松娟宝宝","jd_7ead68a4ea474","jd_PpHmgzBqgQoY","13102599883mj","YY20889MC小陈","jd_lAcMLoOThEEk","jd_sqtUkFaWmtSR","jd_evTYaQhrDHqz","jd_44649c87d4cc4","jd_psxVMuSaJAQH","jd_VnbHHLYFdakU","jd_uvNQIhGuCEdP","华丽的操作","竹林晓圣","jd_439863ce08887","jd_40e401f86161c","jd_ryFzOaLpEZvK","trihook","jd_6c3da399896ca","jd_qgRKVpKyTWXi","jd_oeUcsmrMXmCT","jd_kEXyNkOohtKQ","jd_aLQMSNdOZAjs","lihao02825","羽裳丽影","jd_zrUHmfLYEOlB","jd_49f077cac5a13","倪626","jd_qTenFeqdNIGP","唯丶你","jd_kakUolgHGoro","qiuru508622","jd_463539b5a837c","jd_451ba3940b6cf","jd_634c5d9cb8e58","jd_76dd04e844d63","laotongss","jd_QAMNrxtXciyx","dd丶仵作","jd_525d5bc2986b4","jd_ViJoyRWzeVXM","jd_4b647bbdfe239","13623033270_p","jd_60b7d64f24874","jd_mlZIqhHhiYOc","jd_50aa323aeb5ba","671263192_m","jd_63bcbc81115b3","jd_76a4f250e5c07","light354","13560369433_p","jd_HmmPDSRiirDo","jd_mlSFBieuuKnU","jd_kZphOtmfPPYA","18636678332_p","jd_67bf7827cabbf","jd_IawXPlzyAdXl","jd_YEfYnzJMyTTo","jd_jqDYYXxTpWKO","慢慢0709","wxz_jun","jd_55d538b56bf2e","jd_5b92cf817d5be","jd_688f702b8e570","媚媚糖糖","jd_KmnFcdvjVAEc","jd_XfDcVetBDIzL","qingyang198787","18879310547_p","jd_5fdff317676da","jd_40077200a86ac","jd_CZZCpsNCDDoY","jd_OLGxVFMpzWRH","a15616245917","OnstageYuan","yll18030060019","纳兰sia","18533619883_p","jd_73b8c070ac92c","jd_XauneZSGsElt","catlancet","jd_6ff975294f340","jd_5c2fa3aee8fbd","jd_643b6c91f78ea","jd_70ba4d6f6a279","jd_vpxvWfSPcFBf","wkalwz","zhaoe90523","jd_WaKigCClKLFi","jd_NvqBIDSQCxpI","jd_QipngEHWXoAM","jd_qFngknskvZZL","jd_iWvZjIetagov","a13012027744","jd_5e5a37b687764","cd_wintech","18315728870_p","jd_48df8673ff3e9","wdhuRNvrNbIdET","jd_NBuxHjRQEISl","jd_FBLjfVmcXlWe","jd_lZgoYuQOsdfo","jd_LPdUdtRlCoQK","jd_6e66d8090cee9","jd_fXLUxCJIIFJM","18275717099_p","jd_7c2a27a28dc75","jd_5edc4c45c9caf","jd_aOsSZNMXOPdd","jd_6821106be2a2b","jd_6a0143f17a029","jd_580301a18738e","jd_OKQIdDsfRcDJ","赵小白0430","deelay","jd_CvQfLctZJLKw","jd_sgTkFrxZvFCh","jd_5eea01538b6bc","jd_477e09cefe55f","jd_5464b01e9cc52","jd_7c3b30c08a75b","jd_cKrxCYQReptw","jd_706daae61878c","jd_58d688cf3e6f6","a6806070","Betteriing","hh_93","swcool_m","jd_65fdb3eb0ea22","jd_70a3b20b902f5","jd_KLKrmoHtgfGc","jd_79353e5b392ca","凝木雨","jd_PoARZdjeSPCl","jd_58ef93da7aa37","jd_769784a814628","jd_7b363078d7c4c","jd_7694998e2f183","jd_752f6790374c3","yvesyc1","jd_SVGvAscIRZSb","311611428-900495","jd_76db7bdd1c95c","jd_HJmtvFHkUpFc","jd_6c6cccb7f9210","jd_4600e1fd264b3","jd_47dba2bc8e0fa","jd_5dbddfb5787ac","lidong576853033","lili356","jd_5904a8a4b732f","jd_cpjgbkZMZiDw","jd_53eb4974c5333","jd_SzOFLfCugpzw","jd_47580544c2556","jd_5ead4c7efe04a","jd_UqVYikYUzlMy","jd_63e83b4428f4a","jd_4b4abd38882db","jd_7c13f08c8aced","jd_5651bc9c56b4a","yellowbins","jd_430a0f219a5fe","jd_PmGxnKiYjsCG","Lin-Chu","jd_BgVtOEOfUspY","jd_631e1cbcd04f4","jd_49cb4bcb7803c","jd_48f6be38879fe","jd_4542032042e88","jd_792ce7437c8e8","jd_72a77d841fa12","15605291773_p","442060445","蔚澈","jd_767d129d39a29","jd_6f61e69b0a907","evilwizard","jd_462f3b19ef390","jd_emyalvDTPEho","邱兴付","jd_5b7f8c5e504c4","jd_lsYCsexJIuHz","jd_6e02658242329","jd_709c1428991ea","yintaibai5087","jd_6c552325c9f90","jd_brHNjimgieoT","jd_ezIRMXbpaWDh","jd_5242eb65b8279","jd_VSOWNJoKQZkF","xf12345678901","jd_VXoovkDNeUsQ","JD15158515161","jd_655659cb3a40c","jd_7b8db3bb63a4f","jd_nRPvfmYDckHz","jd_7fbe610300f43","jd_hKDnADOCvUIv","jd_68dcb65aa3be1","yin1140954935","jd_45cb70dd4df08","jd_bfhaADcjIqeh","jd_tzBocNFjBobN","jd_4c9ac896adbbc","jd_LrJfEtoDyyLp","jd_fGRVrvIflexH","jd_dDMShAIHcBAs","jd_4a925bcfc31d7","福悠悠","jd_hRnIVKDgsBVH","jd_53e911751e895","ZHhuandun1215","于嘟嘟宝贝","jd_fqNOhMAUppQy","jd_JbsPBXfpzrTu","jd_tBuaWxSuCGiD","jd_6981e2e4b9768","jd_4e832006556b7","韩金平han","pxinxinp555","jd_7db55459b8335","jd_65629af8d3756","jd_6905ab82ade8b","jd_5877f32a1cf6a","jd_66f4eeb25567b","jd_pyywnnymjGkr","jd_49fc7b4bc33ce","49991084-705458","18300613469_p","52612974-336953","jd_7ca99f6f1053b","jd_4d1540691c851","jd_5ab8d3cad658d","jd_7dc5829121bcc","jd_bqrQNNbvsLbC","传闻七公主","jd_UdFLJARSJMQC","jd_HsIYwFQYmEQw","jd_MdpUiqMnkQPa","jd_tptLFIDTDDKZ","757893758_255435612","frankstarhu","jd_oGuhwuDnqivt","jd_liGhGjklbWAD","kevinapi","15055812564_p","jd_6070d4f6cf1f6","王鑫鑫419","wdcwnuHzRokZDZ","jd_DNsZSRhQalBd","jd_zQJLoHPMpQxo","jd_eeKjPYtUwpbT","13919437530_p","yirantaoqi","jd_heDKsjwxMIuC","jd_5fa8589d0dea4","jd_40179fb5f0b80","jd_6c09f80c9053b","jd_knQXersyvWJl","jd_62937ef1964f9","jd_4752cf43b55e3","jd_4fe1acf71bee6","snowfieldj","jd_tawxNiPwnZnB","jd_7386e767e6ae8","jd_54b6635bfd991","zhuyoubiz","jd_tmwpVOzWNXZf","jd_ZGRlBNEq6mVf","lyb冰2280","jd_vUyBkbXpsWpV","jd_5d3675e0cf47d","jd_oCYBowZvvaiY","jd_JZDanbVVPTUR","jd_vDXDhgqSfqhj","jd_6f7b92450d0b6","jd_TikvPNQZzmSC","jd_72977e566e77e","沫夜殇","jd_oyNJsiYMmTtP","jd_GpfZjZIfkHUW","jd_wVezowRPuFJY","jd_659eccdc9fd14","jd_4fc7050a33fd6","jd_667727dfb4f01","jd_54e0da9c43e62","jd_empQsJIHskHz","jd_63f60437c4324","wdPqlDPgQmNFXE","jd_MZZQCCOpEWGu","123317124_m","angel670583851","jd_5342650dffe3f","wdlSqYojYmvsyp","jd_6080540d8d889","jd_5912088fe5966","jd_590122dc2fa21","青椒和彩椒","jd_TxlnFdNyopJW","jd_jjYLHVQtHPZz","jd_6af4224aa89a3","jd_44ebac148089c","121726512-320757","hotgame8","jd_560221509d7cf","jd_614dfd284cabf","heqizzz","jd_6962110e1f8bd","jd_61f433532e608","jd_GwnAMPEBMrih","jd_pkzlOeiFFkuy","鲁丽祥","jd_5bece13afcd90","jd_5973719101f27","jd_5e532f3ba6d8a","jd_584a9fada4085","jd_7820e58e21e6d","jd_746d92283980b","jd_qtXSoxbWxesJ","圆子飞来","jd_mIYoOZNtQIZT","18057376676_p","jd_gSDabDFWoSkI","jd_495399e8d3ee9","jd_wOIjhlAywHKT","jd_vraZInEGQrdb","jd_569ca673912de","jd_PXmEkpXvLXXk","jd_498cf16e21c89","jd_NbnOoSKMUSTD","jd_KKnvGopiKUWi","jd_6f5425d7890f4","jd_68e13cf9afdb4","jd_4a843874aadef","jd_491208b1c1d17","紫幽and月雨","luckdown","jd_azyXIcFRqRvc","jd_41b818aeef0f7","jd_78c3c14cf00f3","jd_579a221ac1424","jd_580d7982f2206","jd_611d122386c17","jd_519262fc51dc0","jd_72ffb8740684f","jd_72a7592bde42e","jd_vltTOxsppEdR","jd_6f560234ef230","15229089278_p","jd_7f34945302cfa","jd_77ebbf4481895","jd_yrEPjPmngrex","jd_aGxEbTUySfrb","jd_TFxPSPIzCLtv","jd_5ef7612595bf1","jd_4de38f53b1da7","jd_63e9dcccb8caf","luozhuotu","jd_4f0061e3e7fcc","jd_JkoWKAXdyrmK","jd_oNZycuQrtedR","jd_51d418d76fe6a","jd_MpJEIYHtPmYn","jd_57048117f5bf2","jd_429aa23340965","jd_nLyqySYTPXNK","15908915285_p","jd_QnJkMTaGrnub","jd_4856fff9e4ccd","jd_7f946b33eb069","rockbottom1113","jd_XaclIjaQwywo","jd_5a4faf3fe0d2f","jd_572fbd2c65094","chumps","jd_42937cd195ad1","jd_5ec6f298e0ae4","lei522162840","啊和哈哈哈哈啊","jd_JNPGocKmOEhO","jd_7ea988e80011d","睡觉ing102460","jd_SXaGtMsLSNIr","jd_lFEoVMRLCjpW","jd_QlvlSAxjlcYq","jd_7bf019ab55159","jd_40e02bd024d5c","jd_CQvgiMdjUVxc","jd_422dd2af3afb4","jinquan5188","jd_6faa49002ca95","jd_5e0c9898cde36","jd_LbKGsuigBxkn","jd_qCeZytepJoZZ","jd_5547a45e987a6","jd_uMHZWBYZyCsh","jd_4e72031ee1e71","jd_4733a431b0322","382837070_m","jd_MPYxbgwtOxNH","wxx77","jd_419e6e4b8c44a","jd_7e0d215640b73","0习惯0","jd_55f411d2f5d24","jd_5b2f843920305","曹润","jd_6d1cc73099928","jd_tsQMMtGWAXrs","jd_ArbGeNNZZrMs","jd_AnUmIlPTuLsr","jd_6e07c979c2712","jd_5f1a9f703323d","jd_73768f577a569","wdcAlroyMRyqoT","jd_YsEYIPyJeVlN","quan1320_m","jd_6e5039bcf9946","jd_7fe9e15b0c5ed","jd_6299e4f4ebf87","aaaqqq98","jd_jaWCoWmixRwU","ds15827237684","jd_WXDEgujpjaDj","jd_VYUqkNpEiEvJ","jd_vuHoRPzcNvjT","jd_PzOxKGAmKKeV","jd_71a6bb3a8dc47","jd_4093ff58d0638","jd_FnBjGIYTdjrx","jd_YtmHwNwHkHzF","jd_6f26ce9e889dc","yangxing0921","jd_EImAPyHtlKiM","jd_5ae55469a9c04","jd_7ee30865cfec3","jd_xvqedzSOOXJT","wdaWAfkohhLBEt","jd_7269dd4069c90","jd_ruoqpwUHHThN","jd_OSprRxszTuJT","gavin7354","jd_VLxkbWAVdjfi","jd_61a9a7c736136","jd_XUUdwztqCiKi","jd_crJUkJCckZTC","jd_urGHKbKuqpiU","i-zealer","jd_63a31b670423e","jd_4599012a63397","Mengli89","jd_70a0502870801","白明迅","jd_5c4e459796020","jd_53f41a0138ec2","brent_xy","jd_7b6dc6a1ae4ae","小吴丶866","jd_79f1e94289699","jd_6d555a65e8f5b","jd_7cc43b6e48eee","jd_OlfYCGdjCLAy","jd_535c723e24d74","436166659-305666","Vehiclecy","zhanc86","shii69","黑红梅方2016","jd_463a2d85251cd","jd_DtawjVtpemaS","jd_537ec2a542182","jd_VsDFtUJheQoR","蓝汝逸","无纯白非白","jd_70965f55d0516","jd_4b6967d810d97","jd_734e9822965d9","jd_7cbb4843a029f","jd_638c66834b034","jd_5f0b4966f24fb","jd_48e203abde804","jd_4da61fa3e1dfe","leexinxu_m","陈总无忧号","jd_44add11e9ecd4","jd_460f5f9964627","建工双兴","jd_7d7ab3265e56d","jd_kvDwkDilZtuF","jd_647aa0a86a677","sC9AxzP8","jd_VrkdllKubsLZ","jd_77f95fc0e0930","jd_IbQkNxLIKOAl","jd_rfcPIVWVldpX","jd_OIsMdAHWkzYV","侯镇0279","jd_GIOQIDCXuFFB","liuliulin","jd_CfBumpThqcmx","jd_4fcdea642fe2f","jd_XpGEwyGGbQjU","70800356_m","jd_6619618ee87d7","jd_rqyJDTcnAQub","amusement0311","jd_51d90ec1688a8","jd_5daac089f3f06","董荣松","jd_4647b11079a16","jd_47f22ad0c423d","jd_5e6e7a2842a45","jd_670cdcc33ade7","jd_VDpQoFmeSNKj","jd_6e69b7184876e","jd_615726c04261f","jd_rpDMXhBHTaCZ","jd_66df94b0d446f","jd_GmSyQjrucgjO","jd_595df9f659b6d","HWM183","jd_7ea1c0073955a","jd_5b2bc280e1c83","jd_69a2f681667cd","jd_efQhqekWpJeI","rasweiss","jd_55202c442f477","jd_74a4040c54398","jd_45f6389b8789e","shige","jd_7c3432f462d22","jd_74cdfd7c3555e","jd_4da9f3fe5b686","jd_5d0aa62a7fe03","loverui28","wdNhrRFluBOGDol","yzs981130","wdbQgIUMQnHeMP","jd_7533a445cb3e0","jd_71a9c619efa16","dslz2005","thunderbud_m","jd_4a59e8f08ee54","jd_6bc35fe2bfae7","易宝屏","jd_79ac66b1660c4","jd_6543bceda8e99","xiaoxatsai","jd_79611cff35001","jd_40b3c016ba440","jd_76540a2658c45","jd_50509c351b6d8","jd_6380ba66762d3","jd_4d945d7bd00b4","jd_71b56079a4d2c","jazzychai","jd_7eb29be094f0e","jd_xelXGbesCybE","jd_OfvtEtbimIKK","yujun028","mj19910923","jd_qOFVlscdRHHA","王辉1215","听法说法","greedbt","jd_PsdBULwXSWKR","jd_643415adfb9e4","qiqing8023","jd_447201e84c2a6","jd_7268b72af08d1","jd_53575603258a3","jd_4305f2efaf846","ArMay820","jd_61ad7e512a77e","凯撒195874","a18574390917","jd_74ee02a832682","jd_5a76b5e75b83d","jd_yWhlIlNcBQba","wdGQFqBpAKNNCd","jd_5d0e339ac3c2f","jd_7124440aded54","liu2429852650","jd_6ece32575b9dd","32446982_m","jd_hPkYJMCaIHVZ","jd_4fb0ee12e34e5","jd_WRNGqmrOaIjS","jd_bRyHCjVLyjll","feitxue","jd_GPAmxCcvwQJq","jd_YdGQIHFJQCUI","BloodSakura27","jd_RYUannEMbDwd","jd_tAzMJaQBlZns","jd_67332a3535131","jd_4eafd46e7eb58","jd_KpBaJaPkPabi","jd_suaBwsQyTvpK","jd_550e272fa109f","jd_ZCXwBtevyRIJ","jd_4aaf6f26dc5ed","jd_TeOUgrupyneq","jd_4b755376ba2e1","KMJ-2021","wdtKUzpYVrFnyR","jd_7dc066b471c3e","jd_qHceuNtDjxFd","13932201029_p","jd_qWkXIDdGSTdF","jd_42e1d3a72b6e7","jd_45eeca37f3d72","jd_66edaad539fc3","hoffem","jd_566675dccf91c","642113775xyy","jd_6cb97d6245471","jd_5302e5e18bdd8","jd_447f3bebe4969","jd_fJqysEZKNSLF","jd_6ccf5103ecf87","jd_4f5b5fddfd378","jd_LogfOlHrPwjV","jd_66080dfd0b2f5","jd_AyziRCsDhKmw","实在的消费","jd_428d1b8b4b30c","jd_64100d5988f31","jd_jLArQxlponmx","hbcarrera","jd_dDwJCPDTzvsy","jd_6c6bf62cb7453","jd_569ec0957abd4","jd_FcZgtbysJIJM","jd_7bd0ae04555c3","wdNjhUEUMZdwxyD","jd_uhgVYDYaIXyf","jd_HsEEhdqTuLyJ","jd_7dcf8f6c8fe19","jd_4b5a623abaec0","wdaqqxnJbPdbqy","18986029638_p","jd_7c839c6188ce7","jd_xqgnkzSmqdMK","906216104","jd_67c07f457d7d8","jd_VxeYrqCUzhtm","jd_bmjykVtPgTxL","qu19980521","jd_wRAuWDvubyYB","jd_lggEsbLNGlAU","jd_5b209e5fa392e","jd_5f556df8f23ce","jd_JTkiqDBayIUX","18382328290_p","y997505672","jd_YxposoBoryBh","jd_AzOoGqRkJofC","jd_exITRlhYoVIN","tanzhibin","jd_57b1c7351a1a2","jd_6768cb85f1ca1","jd_68345bc9f1709","jd_hnwPLyuvdqrs","jd_6759753273075","jd_BqpgDlCwKFZA","jd_72dea72464a78","jd_5f7ae97ea90f9","19443058-543428","jd_SFtZngXrfCbY","jd_6409065b9f715","jd_434afa76d0827","jd_kYgDeXUSPfvT","jd_5c53d34dac8de","jd_TjtVEGGgDqgc","lanye1545","15738396298_p","jd_79f9ca0d4eb7f","刘鹏61624","jd_uyZxkOeupnIE","jd_GVhYfeLSdIVE","jd_42a0ea9432eb5","killstan","13102110052_p","jd_OPjnYwHqiHKN","jd_GoQnbwANPPBO","jd_iWbwxQPpCGqc","jd_QcrbbHiNHrfE","jd_4510c897a2d76","jd_67d411e95f3c5","wdsrwfdzzBMrpv","fzyfyd","qqask","jd_6f29a3be2472b","jd_sQKaFRsLXuyD","jd_5b333527adad6","canny123456","jd_XLktLifbrmXs","子悦己者520","wdNQZJQioevrMsH","zzzz7875","jd_5cecae29ca0da","jd_daBFSNVjSLoG","jd_7394c8bfa1524","jd_516e85b6ec650","drioswu","jd_4f71b64b61ee8","jd_6d8e4087357cb","jd_44b111c149581","jd_cLjtcjeOwZzu","jd_HTbUEsulGdpn","jd_4089288c1fff0","jd_7ed8f4d3467f2","jd_WBiJCYuyEqrB","jd_xUijVMXbkEyr","15850770575_p","jd_71187a4e3da6d","jd_67abf9e5fad37","jd_5ee68c894a8bf","jd_ktkEmhFkVKVV","jd_7f615d63974d4","jd_4722091212902","zhangpc30","jd_7a1c9f585a41c","jd_62e29454f3620","闲情逸致2468","jd_5ac14f09d948b","jd_sPtqdssiqEKl","helop76h","jd_UsrQhSyBOPgy","jd_JIEOKnJbtHnD","jd_79d45adf7b644","czy198710","jd_SIPOUHLECYko","jd_aLfgztydwafJ","jd_5d796747c40a5","时间的对点","jd_KOOQtOpHDZnu","jd_549c4cdc8444a","13480504908_pei","jiangkun13_m","joguts26","ruysx130","qaz84875280","jd_6229d17ed6f22","jd_5ca6d0712b900","jd_pLNAjpPpRrPx","jd_78d018542f7e3","jd_510392cbfbfbb","15511620498_p","jd_7fdc1cb60006a","jd_aVeEzxspGuND","jd_rMogCNeUeQyv","jd_43e3deed95ab8","jd_7717e7387b284","jd_5e370a288b9cf","cyhelen2002","jd_734568c5196d5","aries08","jd_604b6da5e3d84","jd_7a525e86caa9e","熊熊的爱恋","jd_7d98c63a1f4ea","m17703038804","jd_40dcf593b290c","jd_522e27791bbe8","jd_66b7d56f3ae2b","jd_6eadea85fa607","jd_BurbYqowZBMW","jd_483ff9058244e","jd_7e700babf6ebe","jd_ZDqaBAokLbjT","jd_56ac5fd132ed7","jd_6918c642ce6e9","jd_49ac2dc3ed1bb","jd_7fda379f563ba","jd_5623a83b1262e","jd_659988b124117","jd_55b061281429f","jd_EjwnOFSFPKdb","jd_645af229ae8e5","jd_amnWipfPoBHe","jd_CjFpRXPhHIQh","jd_DNhkFojEBDag","jd_7bfa45d478489","jd_EDVVnjeCbMWK","jd_ULsDGwMedovH","轩仔99丶","jd_6a6ee2fd72e28","Ciao丨","Chansie","338692009-44026883","jd_bELOQlagrrLT","xiaoqingfeng999","jd_7e16fef5706d3","jd_FkVlmKuibCtU","jd_6e429810bfeb6","jd_6a48ab4b1b968","jd_6455145c366b1","zxka1987","ndd200","171435934-308526","jd_65be5d85c0baf","jd_UyOCQhUkieRW","jd_52513462a178a","jd_4eefee19187b6","jd_IEejWbhtJthP","jd_754b3f0489094","jd_53b19089a5e47","jd_aPqBeJaWHuql","jd_YQdPxvFGGyZm","15989103915_p","小伙子的东东","小小卧蚕","hn8530","jd_7410bd88e9fdf","jd_lFpkhzMlwxZr","jd_51b89e351a1f6","jd_5132e3e6fc27a","jd_qNXQIEtLHfEE","13128903787_p","ly54133","hxy801012","zzzhangyalei","jd_6d522df8cdd5d","zhangji268","jd_621cf633b72d1","jd_4619c5328ab54","jd_7291986b77844","jd_584f73d1cc0ce","phtvhedaren","q1802345","雪球时怎么样滚大的","移公愚山0214","jlw472776067","jd_48130cbe76fc2","jd_540f0e4c60205","jd_6837403d9670d","jd_4e3ad2e3c8d85","sedenfate_m","jd_476c1e2b2c47e","不要问为什莫","jd_42c44b47cf11c","jd_580ac595e43e1","jd_jCifNkNNcQAR","18114921639gh","jd_678afe4277ea2","jd_AscUBndbhRDV","jd_zBqhoVEWAoDZ","jd_4398e160d7d7b","jd_689f7bb0cbf0a","jd_791efd26cacd9","jd_4d29173694735","jd_WgAUjHEWMzqb","zzyue","jd_zZnGKiZtPzoc","jd_FbpzuaClvCsc","jd_ZeIsWgDLZxYy","jd_6f1d95476c889","jd_545b889be9ff2","jd_53ba2ab83be71","frankhyh","jd_56ecf41f361e4","114448446-245536","jd_sPBGrAMTUjeZ","jd_rDABHtZBmkAl","jd_YdIfEinuwoiI","你的肚子很大","jd_UcwFiQaLZPfm","jd_JWkVXDSHhXrf","jd_57af1e757f327","jd_4178a09abc53d","jd_759b7e857bacf","jd_oyQaIsEuFdbY","君就一个字","jd_69dec1e0a0989","jd_6a59647688acc","15989345011_p","lujingjing","O_o_","jd_716f25fbdfd2e","未出嫁的和尚","skyboo","jd_70c90be63a45b","jd_539f8e52c8e6a","jd_7beb7622f8d8d","jd_767d5e6280243","lqpfcz","jd_62745b556f262","jd_4e30aedbcf7c2","jd_gsOLCbkiHexu","jd_UOmVQTijmJkR","jd_4d4b391da3b9d","14784748568_p","wdRMTHjJXeKcKt","jd_MeRTRzhqLkGR","15935111731_p","jd_622bf14b5ddb3","jd_4ef341dadbb0b","jd_GpsMhSGFUXNr","jd_63b1af458a8a7","jd_59b1cbeb893c3","jd_xohmjMdacFvO","jd_CFWEucEoUvzs","18281807755_p","jd_BblyCClKmWMX","zw706651920","jd_5f3bb16def413","PazzV2","jd_7d7363b7cbdd3","jd_42543ca62696f","jd_FKYfadtXaOiA","jd_EpQIgvuBOtTW","jd_eztVLtPIYwRp","jd_7332048f59f87","jd_ujEARVLkFYXE","752369447_m","ty520107923","jd_gsYxYISFHcrI","jd_rsZYVGcZJQec","jd_wOKQcJqgSKYd","wdoCkiIISPLdeV","jd_52d8fe5ca6f82","cc38324","jd_APWcRGEOvuxc","jd_ZrOACkHAOgUg","jd_xZPZaTWHqtyJ","jd_4a7a448431cf1","jd_7cebd5ed40071","jd_4c85be80adac2","jd_46272f9f04480","153555712@qq.com","zhying010","jd_6ed7ff64cb77a","jd_64dc9c14d53f6","jd_NaATBzonBsHf","jd_4a3cddd1ba527","想名字太麻烦XY","dongjuncly","jd_5170a2972e397","18018102023_p","jd_66eea9acfb4e4","jd_5fd40ecddc72f","omega108","jd_56f53d8730f37","hmwhk","jd_58c67cbada0e1","东风破南风","jd_7ec561b8dfc0c","jd_46a4076984239","flower8289999","jd_5f7f6f71677f8","jd_LEmhQjUgrMzh","兜里有六块","jd_kdUVdYGQyQVa","jd_7da80abcd8a64","252911771-981002","流星玉米","447236259_m","jd_UlVZGafIYycn","251369201_m","好爸妈","114965185-715418","jd_KnXxshkSiHmy","jd_45c5351ab11c3","18320893450_p","jd_nUEuudsXKnNs","jd_6dfb012bf4131","jd_728b6d3a3c1a9","gwdmf","jd_4f336e2fb6c5d","jd_676344771ddf3","jd_uprkCgeShNMA","imarss","jd_47ebed14e3df2","jd_70068b9f7f74f","jd_eIXHujkMoUYK","jd_ujNeuBwAOxTe","钟尹延","jd_696436dd0676f","jd_651eff8e2e09a","jd_5538f258746b4","jd_4ca08ea6e452d","jd_fHMZJMHQlQFD","jd_491b54be82ea2","jd_jCRhLepaBZBK","jd_gZtnybuTcRNM","jd_oiBjPIJEHKEl","jinquan518","jd_qoXyCtGeMiVC","jd_6df391b3dc9a6","jd_409198b24e9b2","jd_45cbb7c882101","jd_63769ba761a43","BLBL老叔","123惘","jd_7bc34a47ee932","jd_79f041b6c3d1a","jd_rrGvadNjyNUm","jd_6661f55727754","jd_4a39e7d63cea6","15703013048_p","jd_536d27c516e64","jd_6770a402300f6","jd_6b7abb0dcd03d","276876468-798517","jd_6087b8c1e5cb2","412787563_m","jd_552c62f489ead","13810368518_p","jd_59938e27a46bb","13623898703_p","jd_5e5ab4d67cce3","iloveqianer","jd_tYKIAqLnSSCI","jd_468460d3a1044","jd_ihtRuWAHZkQx","jd_7de7c846cae9a","jd_54a65987ff759","jd_7950d9c2ebc43","jd_458a8de177baf","pudding524","jd_KlHHJOTLcHGY","jd_cDwcZHqhJAmg","jd_TVKeHljSdCNf","xdaming914","sunjiayao111","jd_4fbdf0a48f62b","jd_kaYyUJvkXGxS","jd_AgyVfOTMvMGt","jd_68d28476feba4","appleadionzm","jd_xlKvwGQZHJPR","jd_BUTbGaSRRVMj","jd_5e09cb7aead47","jd_UDXVLacAbnka","15350019256_p","jd_6c519cdb41afa","jd_663592b65867f","jd_6584d60bcf55f","jd_465a2582642c7","jd_5b1e64a8dc22d","JRSD_PYlfw5938","jd_tuziuEgFDSej","jd_TGEPDBvPfqOn","q879640409","jd_46b8c8b4a28e6","jd_xfSuLccuifxw","jd_777c17b99f504","jd_462d7421f8dfd","jd_dsprBbJPbgpc","jd_LLdmsLPVjjrc","jd_TuzLGAIrkzCW","jd_mwwkDfGfskLC","jd_wAmOSDsHFwkf","jd_NwuDQKCXIkHg","henry33007","13863217326_p","一日呢","jd_655123c1e49a7","lizisu11","jd_6e8938b4238ca","jd_703deead2007e","jd_61967bf4f5b42","jd_5695af47718a3","jd_61ccf823861a2","302732683_m","jd_OQaDbTbOLTeY","jd_494844e91c166","jd_4db514b9391f2","jd_6b06893ed3d2f","jd_bxmLXjHQtDpe","jd_SklnoZjmelLu","summerblue52","jd_RgtUYwPYFtcW","jd_6339a2b1a1a3b","jd_56716edc67191","jd_71ea03ac540a6","kiratjy","jd_kmuKwLJpevYA","jd_7040b21442722","jd_4caabd66078ad","397707356_m","jd_4dd6c666f8f3e","jd_FwvbYgqukAOj","jd_RlGVPKpJumgS","jd_kQwqFWGxRStA","jd_BsCWuhefCGnL","jd_75e2e9be71e4a","jd_4d342e82cdfdb","若某天遇见你","jd_vtCTFLnWPZdD","jd_5ce911a0b733b","jd_5945dd36d4c3d","liuweiw191","jd_lZDzxvfBLMLN","jd_6abc065f32154","jd_juoxTuQNuKXF","jd_WmDWbMVEgHAB","jd_7c346cf95e02a","wq17087165867","风行者之追梦小乐","感恩的心5611","jd_6df87e28b2f78","54613770-198910","jd_67edfb63741a4","jd_7a41ccab039ce","z441975209","jd_xeEWXTiRKgLW","jd_LUqTfVylGOKR","jd_HdPuMOTWKBMC","jd_PmvsbMxUNqIZ","60825391-214115","jd_ynDpansAlYNT","jd_ERMOCgHWZTnF","jd_kGgdWKwhItLZ","jd_691f15e7db812","jd_501dacd49090e","jd_73838c6f19ac7","jd_576a7776fa9e1","霄珊珊","jd_pKfpcdVnwyPj","jd_5d5ab367cdc24","228043502-850053","jd_PhsbduPDrzNc","jd_638d1e0076739","jd_7191c708496c1","jd_6d9db9d304d24","jd1822972112","wdWCqzkCZdHUuC","千铃酱","Google一下下","lhb00","OK_Gaming","jd_LttwnQVAYGfd","jd_78705fc70d792","jd_mUjhIGEYBxnM","风投浪尖","wdNniNlxQaXVPUi","jd_7c2439df457f0","jd_78d29a5a66512","jd_45819ab071a0c","superfish0714","jd_75ba300764fe6","wdKOhpHElRlnvB","jd_mddNQKkJOGJp","wdxCRtxAsclbeT","快乐的gentlema","艺术家无常","jd_42b6dc9ba49e1","jd_6d67d962aaa40","jd_540912b1b4538","jd_GmfmWSUNIpyV","若离485","jd_5f46bda6b7cc0","jd_fOfoKlLjslEc","jd_7d05b089c86d5","jd_4c92996efc99d","jd_73e8dcf0c8705","jd_IrGCQLbeeBds","jd_68877ae238257","jd_OGwdNwCbKnIx","牛奶好喝啊","jd_7f6347066acaf","jd_JLFUuDWDBPpK","jd_lvMuwsMwdssP","wq17087160518","jd_DonZsLGQJhkU","jd_4808ab924ffe0","jd_LhUZwlWBEXEt","jd_NJPWBqHVXGmn","jd_48791f2a1e2e4","jd_QxipxSIJiTvZ","jd_ZvUgdUuWxtWh","jd_449c2852d55cc","jd_tZZynHfwjqaY","jd_657ef4b8654b9","jd_PtnmSckysMat","jd_7defd5d58b450","jd_64f0bde2309a0","jd_6dd48142df5ea","jd_68214c0e39cd1","jd_58fb9611855fa","jd_56bece1cded73","陈长乐13906948558","jd_BaTbyZzIydAT","jd_4745cb1c53758","jd_68b9e6ccb90a4","jd_LRNxpgUNAIXB","jd_651e6388c214a","晨夕0599","jd_6891bf63aaf09","jd_LJBYLzuntXNL","18659222854_p","jd_644831990af40","jd_IRMTWhKcXSjF","jd_7aaaabe884273","jd_557eb62e41de4","jd_6769a2fd127d9","jd_62f08a6d84fbd","RLibEx","我的世界阿斯达","jd_625cc8c495dd0","376645287-204355","jd_41cd9c149a0ee","akenzc","jd_qGFzjCOVbRja","jd_5aeda792fbd0e","jd_7b780a7b6121f","jd_taOBXhFFypFM","jd_QmeuqEcRODiv","jd_73ffe216cadec","skynet273","jd_7bc07cf411aaa","jd_531c437e7f18f","jd_6fb3f488ab407","jd_76a1ac4f71273","jd_4c681361c8476","桃子桃子1227","jd_5a6dabc061c4b","jd_dSXXbEpnpALx","zhfeng0116","jd_WMVwDfQgOiwa","--似水流年--","longy828","jd_BnHIaMkqDQks","soulzty","jd_6dcad5e89bd58","jd_7a284df52bc63","wovwo","jd_670756e0360c5","Leslie_cheung912","jd_6dfcb7461bf3d","zhangzhonglei123","jd_rWTzRlTNGnjn","jd_6598f5bb92065","jd_4537e65b45bf1","jd_549ce8afef791","jd_ctSgNZGPHbHy","292866169-107036","jd_4951c3ed1deea","panglin007","jd_5ece43eec810b","16那年初见君","jd_jGvkDQcDiddm","jd_60027a97efcbb","orinly","15959037112_p","jd_FtSUZtsPiLxH","jd_5b8de738c309a","jd_7e4b63956af1a","jd_76f57d8d37e61","jd_qxNmWWnGsvMq","jd_5e7a64c9531b1","jd_qfetSZZIzYir","onstagechen","jd_55eaa163f2ad1","jd_440fad2d4cd09","jd_7b1d91152342c","jd_5faa1f1c006f4","jd_bVHGpceKTuUK","jd_73175dfd0d595","jd_72a1a51a1ac8a","a2540719484","jd_duYYCQFDTWLb","xtqdm153","jd_6f5724446258e","jd_SbQLOwRadSEI","jd_77b266a7a3827","jd_67f0ba4c47b82","jd_798d408e48e7b","jd_68ef177e4d01b","hcw2175","jd_iEUXUHScFhMG","jd_44b009fee602f","jd_gQeBRCCffhIT","不想像个孩纸-","la5good","moxihang","jd_eoJwHjZKBSeV","jd_565e3ad34bcbb","jd_5aea723111229","wdheJnwsSjnket","jd_7decd6b9f975b","jd_56fa4af621e62","jd_7f834163acd60","jd_PrQoPSBBGYUB","jd_IMLlHVDiquKV","WangFeiYu28","jd_5b81c4cd27781","了不起的没戏","jd_bJADChigeYuD","jd_6d25cb786e05c","jd_56dc6924a8bb4","jd_65b8327d67356","jd_69bc2afade26f","jd_MwfenBLdoIMI","jd_40323ae622a21","jd_OAhDojvvcbVj","jd_6e6d748ea460b","liu20170221","13504557828_p","jd_CoKXlRNNgIhq","jd_6a0d79d150647","jd_ZkKPttxOFhFY","jd_uikAewWTcibD","jd_6b9bdec15d5d1","FugoLiu","jd_IJkeUghHDfpW","jd_7c1b24885240f","jd_JBhodsVfPdTw","jd_xMGJwndnuaYS","jd_73ebeac18fbbf","jd_KDVAnIiWoedz","15218099749_p","jd_5d1381ed2d1cc","838989253_m","jasonchan92","jd_5c5b1b027506a","jd_bbBcqvaTOypK","jd_tOsCHCNttGKx","nick814","15053231812_p","胡万豪","13170927472_p","sishi6957648","jixiebao","E小妖","812142159_m","xiaofangtt2015","dnvjetfqp","jd_4d4def8b59787","jd_47f49f22f1dc3","jd_5eb904f19b553","enihsyou","jd_7191c5fd34202","好东西居家日用专营店","jd_73952cc4c9c67","lihaojingdong0927","jd_57f298a658234","那么德华","jd_56192e53d9dfe","jd_6132a47225b95","jd_4a5222cd0c39b","jd_478e7f3f607de","jd_jrmSCWZlUKhP","jd_famhrlFUolAJ","jd_dmJxLwKUtNhE","gm501356000","jd_5b02e59a88e73","jd_62938bf8a15db","传sir","jd_56fbcb3e15901","apple_tree999","辣小丸子","yangfeng2184","jd_5a7f982d8e1cc","jd_qQaTcUgdITHT","wdJKXFzkDtEeKt","jd_6e3dc69abcdb1","jd_EoXcyDSWPiQc","jackylee_cyc","jd_72733a1cef8b6","wdNuEnDqXUdPPpw","jd_76e053fae488c","Crazy橘子","jd_ykaCRJrHtIed","jcape","jd_44079aa6d9c86","jd_7d201a7c4f965","jd_7da04623a7702","jd_sKAZqijQchmL","jd_6c596937de193","jd_59cd9acc0ba94","jd_6e25c7983a071","jd_4837daa5732d9","jd_nzPJDMNduDaJ","jd_5dc66fe860f11","ycli6966_m","siriustar1989","jd_bDsqmajFCAsu","jd_70cf3ab589cfb","zhanw98","276007498_m","tangx08","jd_5e7c89e69ef2e","jd_4baaf0cf9b1b0","13052356680_p","Shinelion7","431790641-236686","jd_67144fa0d8eb2","jd_48e6bbeaee4e4","jd_6608072e88a09","袁明辉2014","amwogitx","jd_625dd2c42e245","jd_630be0008d063","231671999-756307","jd_6ecbe0138a780","jd_50ef80d8c5710","czb2008","jd_uNpFxNnuTZiA","jd_449a8014db83a","13480528569_p","jd_qYcebqezOAow","jd_491a6cbc036c4","儒雅的放纵","jd_RoAyvukZefZV","qazqaz37","jd_YlUEKCZeBsXR","sanue","jd_63965165d27ac","美炸了的彤彤","sujian19921006","jd_AmcJzWUFNFPR","jd_eLrBkYNnRgrU","jd_4e4a52b58ac9f","jd_aKNyVRJrzZkF","jd_FEsPJNDdunxV","jd_mxtbhneQeFAq","甘霖雨泽","jd_5d3a1dcaed4c4","黎明ic丶","jd_5486c77619699","jd_YboRkOooWnnv","jd_sMkwqPnPQRBF","jd_LnqyAWvYHpjc","飘香的生命在握","u_49cf051bee8ce","jd_616077e7dabc3","wangaxi1231","jd_DGwPtoRfUTkK","15105161554_p","jd_QCQcpaQyIpQG","jd_NmLipTeGAxVr","jd_5e8417ba59bda","jd_64eb01d9e2e50","jd_678763b1f676a","jd_MrEpDsjXpeTz","cn1033463147","jd_78906ae53584f","jd_zIvuBTtebxEx","jd_6d7611a1db965","jd_jrGYinSkCKxY","jd_jczkptcTUwaa","jd_483f44befca26","xiaoluo_lgxt4692","13505618269_p","linuxdemon91","jd_jXtUmNqrcNUh","jd_EZGfVDCQdIpe","jd_HtWGqVcrgGIC","jd_66df33afd45ac","diyili","jd_cpWYeZTwUvZl","saxin","j1578960318","jd_6d81e0e5f6db3","代祖光","jd_xdokZrhKVsgu","jd_7018612c5900f","xl5895","Cooboob","jd_461ae85c55700","jd_589a1c8a29abf","jd_7eee6eb3af141","我是晓杰啊","jd_701f52f8badbb","jd_xYTvsOyLAJvz","jd_6608d15841090","jd_7960625525977","HOHO9614","wdcBnofnQHxRYr","jd_4709fd75c779f","jd_60775bc2bee2f","jd_YYVwSywQikMK","jd_YdIPnOGXSFrG","jd_68131031f3511","szhuatian","jd_gUoOjOApdgEN","海鸥6299","jd_flJeMFniyXNI","东哥不败jsxk","吕大不","jd_GFanmuFvUvKl","jd_EdCtDecjDyGr","jd_IPVZJQNIJsNr","jd_5f5b517857e47","jd_76dae979eaea6","jd_518ba649eaed1","jd_vwJXdGunVWzW","jd_732c97419e61a","jd_PeZoJyoTkihm","jd_wfoJUJaSPoAd","jd_ZTulyDmyFOSD","jd_7b71eb9a91a09","jd_736340cdd7d03","jd_bGnEKBvqOiwY","jd_624a316f54ea1","jd_DCBilnQIiuqv","mimirongtc","1074857377_m","jd_SPOzaCGluWlE","jd_4e6906c9afbe3","jd_60cd1f547f420","jd_41c9e1891058b","松仁花生","jd_5517983dd5215","jd_LKyZmmKmCBUn","mei0222yu","jd_57fb3407ad51a","jd_WEhUfbsDhQfZ","jd_6f21cdab49b20","jd_WoAOXbuynaGI","jd_WsfapgrSYYFY","情书QAQ","jd_693d83f9e86bb","jd_7670caf076dda","18774366963","jd_ytraKvBrxmJD","jd_551bacaf756d9","jd_624f1eeb0d217","jd_53e1593327185","jd_aMckUtvuXgIo","jd_78462e2a7ade3","彭玉荣2013","我说你是小白","jd_6b3c696f424b6","jd_66b9dc882be9d","jd_72db2191ae7be","jd_70af2deb6705e","jd_54a9c2114a8fd","jd_5a2f81a363e79","jd_onTRSjQkuwCV","jd_4e09f702089c6","jd_PPkrWkvaIgDW","jd_4a28cf704cb6a","jd_50f66f065af18","jd_4f6782e573646","jd_54617a59d4c2e","w306480693","a42197111","jd_432cfb9c9ad3b","wdiiwjPUzZaNyk","遇见喔喔哦","jd_70c85e2c5e2bd","jd_cHExiIVTctgI","jd_4e398cad18f58","jd_qUrCAwlJqdxs","jd_NGLxJrJTAhpE","jd_672cb17639c6a","jd_454c2bc3df5b5","jd_JEQDmJjHIDkN","jd_faXRldrfPJvJ","kikido1010","jd_77056c0a7b390","lgz12345654321","jd_kEhskAOCEvJd","jd_qCWjHNfwtUEa","jd_7680b13fb5fe4","jd_4cd365c2b3892","jd_yheWwlhWFCOG","jd_74114a2cb2fd1","wangbiab","jd_5f499e91d1899","Adm01","jd_47a37e9123496","jd_LurmrWyQDwNY","jd_471f7160c5a42","jd_62f90e049f3c6","jd_GIlLMZULoaLr","jd_6c0bf8a6d4b31","jd_5d7750a1a9910","jd_UoTvbVrpUisK","jd_cQpQrTUORMky","jd_65c65cd544e56","jd_41d124487c58b","jd_BOFPbVOiStOi","jd_THIHbIjdwhXU","jd_7284931a4363b","jd_4ea0b3841a49e","jd_gBwVwTvWqEwS","jd_6f7702fb2e166","jd_hooTTNZJufkF","向前m","jd_JaAYtQjvOAQa","jd_574809aeb2b4f","jd_50a6d00113434","jd_53fb2c9be76a4","498677531_m","jd_67b8c01e3cfc0","jd_BLALaLRPnurx","jd_431d4606f0ae2","zsl538","张悦767","jd_7a67615f69fcb","jd_pwuRbAXgMkBe","jd_524447ea6cad8","18021727266_p","wdVwxeuluUPcKM","jd_HbSQLinXjawd","lao_pi911","jd_444e03d628852","jd_64ee41bd274c9","rfgdsewr","jd_490b6f757ab84","jd_rAFcfSUgLXtw","jd_5b7b61981e16c","qian18956105730","jd_7c29c7fa7b7fb","jd_78394b421f912","石砖小路","猎人010","jd_iodhTOfzQEBx","宝贝手给哦","zsl53888","jd_5e922d581e29a","kks0916","jd_sKgOtisqATBc","jd_WOieGCnuxYOS","qhb890929","jd_41eff0da54b1b","gzmcqq","jd_5a18a06d61f23","jd_BxVeQbdvdmhO","2938098867_m","jd_7111844bdb8e1","jd_FkbKQlYZMGvK","mailtomql","jd_jUYeGxxfzbeR","jd_NnPhrkhqXkJM","jd_DAUEBHjdTrId","coolzoro","jd_5ca46f0e5e096","jd_umaHjvmtknkG","jd_aiSIvmfYNQcq","jd_HtxpPDBFfMUQ","jd_476a11f8e4d8a","jd_429abdb58debd","jd_OlhZzNaVmWdW","jd_6591f7b599654","jd_bPcJGuzqJcZD","jd_pNLRYnoJTcIJ","jd_qyqjgTnRaRZU","jd_5d5c043b0f0ba","wdNtQTYusZoJfEZ","jd_7a925f6287b6e","jd_4d3f86f6c16b0","jd_NPEJjrYqvLey","jd_47e268b3400a7","jd_xPTOnsDoWfNW","cn辰落","jd_pPfQCvHUNJmB","15570081435_p","jd_TLNQIoPcbJcj","jd_zpdIzIFwXQai","jd_4246aee75660a","艾雪青儿","hu18119736145","jd_5c4048cb5f8cc","商怡123","9hiaQCPxnm_m","jd_5c1ea879560ea","jd_58700249b6d30","jd_AnoZZLmLoYbq","jd_4b3529fadca1a","jd_54565d86246bb","jd_IAhLRJBMDkNp","jd_nEUJBRcgIBDX","jd_57fdeabef85ea","wdryTNmEGRnwDc","jd_638817c1a1538","jd_YRDBoOkMpViY","jd_5c6fd3c5bdcac","旅刑人","32765223-962647","jd_iHIjuSCnSoDv","jd_6acaa8c03bff2","jd_534f566ec1f58","jd_jFLWxOkFdsDO","jd_VYUkglUOhgud","jd_6ec4d5160e1c8","jd_LKPePLfWjHEE","pplove2","jd_716e7f8582145","6679732-721396","jd_42d86ff03c867","jd_5d0c8deccae9c","jd_WGqGLzXmAghq","jd_59931858138a6","jd_dfKMzXPeqAAh","京豆豆762","yy289877389","jd_4f666a1707933","13189513969_p","jd_5b66026bf103b","慢慢是吃货2","优格的兔子","jd_62247bd1f6aab","jd_7f0f2249c0bf1","jd_41945605e7ac1","kingsmart","jd_70f453f5ba7b1","jd_4638e478b28bd","26340324-182123","jd_704c13ae68864","evenwin","jd_DUEuXcHEqshc","jd_syEjKGWfdVUT","chellou","jd_5a5cc0292867d","jd_DUJWVYfmUEKY","jd_4634eeef44344","jd_7f9073f342705","jd_rlzMpMGnAAbu","jd_wNgSnJIiSgEk","jd_UvuryFfcxKyZ","13731078576_p","jd_IoQEZeyXbZsb","jd_5cd00c5e7e77d","jd_tAJLidVileEL","jd_wvKmBtmaQuCL","jd_48f794f8b19de","jd_6617edfaa9c15","jd_uywFgepGEpDc","jd_HSGxNefMtKhY","jd_uqDnrHjcZcMt","jd_562c35b6bec61","Gkpk102030G","jd_LIkyUilmkpPr","jd_5957f48625c50","jd_4ff26a39a9150","jd_CkWeZjpsIcKC","jd_TfMPiMVIjdKs","jd_vXLbXqvxGiyr","jd_xbITcbdWokid","jd_rXQUhrAcoQzr","jd_tDVyPjMCmPnT","jd_629e73cdfb2db","zhulifengMaMa","jd_68aa2e08e8823","223215361-159160","jd_44c729308e3f3","2368259-49215624","jd_765a0c52cd3d8","18321656898_p","jd_6d0b213c79df9","jd_7db380ff39a4b","jd_579af23812de8","jd_sOqLKTQHKKVr","jd_620d42c0a23f3","jd_56f689e25928b","957714209_m","一根小香蕉","jd_5b3bd99f87fd9","竹子小叶1991","jd_4cc3b3493998f","jd_6d93b3c17f5c2","jd_4aac49f61615e","jd_6d4c56a5b7350","jd_70fa9a586bff5","jd_63e85e97b87ef","jd_MDdTTMAgFjAv","jd_61facbb284c2f","jd_EjNKmQXcduTm","jd_46dd17980947e","jd_TejxImJalqOW","jd_JZklSyFQDnms","jd_533981498214e","wdNucVyxbdSPQON","jd_TPzEGzclpFQv","你是我的OK蹦1996","jd_5e6eba17fb0c3","jd_48595bbcfee7d","chris010101","jd_419d6f26ccc50","jd_67a5c41215e18","jd_5ca27a6522f1c","jd_VqOsqszjruIJ","jd_MyqxHvuMRIrg","zhu359067638","jd_ckIpIvxRrkUQ","jd_76b69b252dfc9","cai15314924124","jd_6adc263d3f028","jd_MomlciXJFOxm","jd_5231186a1eec8","wdWzQTFclwGMUh","jd_GBViFcYmPDUw","jd_ATLLRViOTIsZ","jd_61c265810ee83","凡闻畏fwh","jd_CCeCCCXZnbuS","18502120796_p","jd_RYcnkSXDqrax","xiamile","leomang","jd_6383919d20eb0","jd_RVNLwTzEIzmr","1231386330-463102","jd_ZTxRgzutYoug","13872632424_p","jd_6edc8f65ccbc4","jd_60b81c60a3aca","jd_EiBklIeiLgHw","jd_7b4276afdf2f5","jd_703e7b8dd56c1","jd_gmUagTcagktE","ch12345en","山草妞妞","sychen604","jd_ISouEiTKQTWM","jd_5a07555524705","jd_73d363d98c6e1","5787396_m","jd_QoNVsIxEwAmF","jd_ZNlZJwfLTfwr","jd_699b1a8858d17","jd_AxPPxIgsMEfK","jd_6ca3b24cee80f","jd_VopXxrSyBHAM","jd_7bacf4cebe1fa","jd_772ca6b5a3d27","jd_yFguDwlmALxD","jd_RurdneupuyHF","jd_kZtkGJEKOFoB","jd_nNYyhdgLpeKk","jd_4c83f9472ad93","jd_MXdWBrPIbgWI","jd_QRsmSlpzrXyt","jd_6efef4340fc91","jd_ORIsImpgPgpJ","jd_GDdFfYJGVJWq","jd_4f9e6fa6ad7c4","jd_130-_-","jd_NrmaSxAaQlGX","jd_6e5337b849a60","jd_475eb2364e8e3","jd_69f4e37a16ed4","jd_NfSujlaWYAwW","jd_607fd98fe0881","jd_ggvwBbyyKAnQ","jd_DzqpEgsvpkOQ","csa3726645","jd_pOZWcGvHTuEA","jd_fjupgHNHSmnI","jd_WMXBFizXCyZP","jd_eJnmTHGbxkrd","jd_XBtqFVidzGPK","jd_6b1dc22475018","jd_48a2ec5da1f2f","cda全哥","jd_6b60be107b415","流年HRM592","jd_RebcgbkllmSb","jd_bQsbOWPoNlkf","jd_6662c260916c6","-1184659929","dayanhongyu1","jd_5422162767d18","jd_5ac3fdb721d25","该走的离开了","jd_639fda05b40cf","wdkJHRHrJCmcxP","DANA丹丹","jd_64469b33d7600","jd_6759842a51232","jd_678e885a81cfd","jd_6ffb516eb72f5","jd_owojrNUEbmUn","jd_40d2c2a011820","jd_zxhDkeTIbfiv","wddWAmKDwTUUgL","mikedoing1","jd_dkeGTprBIWVq","jd_sxQTQKiReLZu","wdxJZJtYsmHgGu","jd_GCOCnfobsBon","jd_564164d9ebf61","jd_6dda2b40d32cc","jd_68806a9740009","jd_efKpJdfvQNqb","jd_4b021c25d85dd","107665377-864964","jd_4a426eb4f0e25","jd_5aedab6180931","jd_6a3fb53324553","jd_4fc94ec01a51c","jd_bIsuZJTtFelH","jedrek21","jd_50113d7688bda","jd_7cf8827724ad2","jd_6b9eb6a0c5871","活多一次","jd_407347919205d","jd_QxhrGviImQoD","jd_75a454e0a42ac","jd_7b62acb63f850","wdmJwHXMOrPwMv","jd_586a3bff289c3","jd_HINWqSmMupoY","jd_PylNnnXtkojz","jd_uTbMnaFbomyy","J3Jiii","北京00559","jd_5a07f6653702a","jd_wHVQTQVmMfJA","jd_62a91316307d7","kissboybeyond","CAO847582","jaxwang319","jd_tgsCIccmCfYy","dlgsxzy","jd_uAxqWsqwUXOI","mizhdi","jd_6285bc4422898","jd_lNjBwWjAliuE","jd_680f88fd452d3","jd_6849eedb3e07c","zld369504","jd_SwGrnLiCKdiz","jd_6e0bf5f418f3d","jd_617af0da1efa4","jd_721cde6019492","jd_CgSNoSSyARbQ","jd_6a38a61bd00a7","jd_6005d7bcf59a0","SKT_youzi","jd_7dae074144009","jd_537b9e97ce0d1","RonnieOne","jd_46f9bf4664f22","jd_4fa776f8c4a90","jd_52d40f5a4c0c6","jd_ONsMGphVprtB","jd_RdaQNCjRxUvd","jd_426b3b8fdfd40","jd_AAWseCSsuWRq","jd_MGIfRbnNqPbq","jd_51ddeee310100","jd_4814a7ccb9618","jd_MDzzMJEhVmpT","粤U黑户","jd_7131f93e6b63e","jd_YKeivmloFTMx","jd_CjoCymXIKqCm","jd_717e480f2d196","13438623013","jd_76c616fc7d02b","jd_RgKmrAaoNByG","jd_iKHeKxmzZQbu","steve小淘手","jd_iQBmNeBgbWnv","dongxb1980","jd_qTAGSGbUGWZy","ddhy088","13530877883_p","jd_4fb388398d496","miji1202","jd_7ad1950ec7c98","泼壶大叶茶","JRSD_pGQGd8143","jd_5c88797a5c302","1560501090_m","jd_6c5c806701cac","czlycpf","jd_6ca7993e48d4a","jd_aMSkxswGBTVQ","jd_5a7171307138c","jd_7091b3e972f83","jd_qTJpoGhWrmEV","jd_vJcExboNXjyv","jd_54fcf86a7953c","jd_qUrDuWBldPgg","jd_5b07a1e86baf6","jd_66eb76f368299","15827657832_p","jd_755ed8e077f04","jd_KBYGrEwpeouY","jd_arYiEnhBiDxr","fat32xx","lindanhujunhui","jd_473a872a9c566","wdNRiqfQEtOstZ","q947580181","jd_629bc43c8c037","jd_6e2822e30159a","jd_fuWMSuAYuEys","jd_6e9f46892e570","jd_64d861cc9674c","susu2020a","jd_gtceYcXEHLck","jd_VUplBuKcSMpP","jd_zJYpFIKOBvYC","jd_5cc44b3b522a1","wdKNAXbmOtkeok","jd_49609939bd2c3","雨邪天","13564237216_p","jd_627e9181c96b6","jd_48759ec4c4075","jd_losIAnEQdkPC","jd_UmKwrxDvcvUK","jd_4e2e376d1fe50","jd_7b89ca13c6871","jd_qBAwpHiIBNPV","jd_65a8bce5bc9be","jd_42193689987a0","jd_4f54808a13c78","jd_4b0ca4b08c61a","13466576946","543323001_m","思绪随风2011","jd_67a35b834ac2e","jd_QOkJtEKpYEmT","ludaxia_m","jd_4d32c7e3f64f0","jd_78670d68d2b40","jd_49ee55e2c2019","jd_7e5d192f2dc81","23236740-21190494","nxramadan","13657633785_p","jd_VTARVrBbQKBw","jd_532d47978acc1","jd_77c08c58de2d7","shoppingjd2017","jd_lHTdWzeCQKRo","jd_emFpgYqRCJGp","jd_RDzAqQVBLrFK","jd_5ff02ba9835e7","jd_568f83db69edc","jd_569a0e2d44b4d","jd_IPiJTuBmOwLm","jd_5cf8244cac0de","z378443141","jd_WMiUSUuEZmAT","jd_wnvgZDhYCugp","13535549845_p","jd_70c3415850a0a","jd_kPIHvExkYoEN","xiaowx2000","umena","阳光男孩楠","jd_60736b370a0dc","jd_40068ff6817b2","jd_5b863cf6f8754","jd_7e6b42b66b5cc","jd_ZNbAvOMdCNpO","jd_63b502391d852","我买我寂寞","jd_HthZkAYRxQvA","jd_4ea5d2b47ac71","jd_4f40e5a77712d","jd_4d29f2505d9ac","wangxinlei","徐艳275295","jd_MJBZujfViUvs","jd_4ec03d857ef13","di908","jiannanyj","jd_79dce39ad868f","jd_602e9f01013c7","jd_4dc3b76054401","jd_53e06540f75cc","jd_XJGLoMkwNhPU","jd_48ebca52b2307","jd_5986ee9a6471e","jd_qVbSExTCpwId","jd_4a35ae5defe81","jd_eZuVHClRGDAz","jd_4e2f0c24a8f83","jd_63a3913882fe3","RMSProp","jd_tFoOHgHNELEM","18758196296_p","jd_yUamfEpuojDL","jd_YqsUANvXnynw","jd_isVqSXmbotof","2213531641_m","jd_6a9effd057e99","jd_78c8ee27302ad","1581577-14379854","yizhiyuan66","jd_749f84551696a","jd_UGONWPPBwmxo","jd_7e1686880b88b","jd_6e7cdb79bf671","jd_493c7d898d3ba","szbfbuy","jd_65d36303f68cc","jd_6eb3fb288f71a","jd_zIkalrQYxUhk","wumeng324","浪花陌上","jd_DRhbgpHeYMmg","LiGvran","jd_PTYTUTrLfLYD","p26620891","jd_7bcb4e9a7f526","jd_IAcaTGCFTLIj","jd_48baccad4abd1","jd_629398ddac6f4","jd_5498c8dea0b87","jd_4ece26cae4225","辣椒面面辣","18300779780_p","jd_6cce1ff69969b","jd_45fffa400e876","jd_7b4a4aa14b936","jd_72cceac4bbc8c","wdYFdYspshecDI","jd_FtiSXDfRbeKc","jd_bWSreGKAkrza","jd_4ee9971b07f95","jd_4b638ac3b5917","jd_566101cc735bf","jd_58e75445812c5","jd_45675bf90f259","jd_YJSccQaxHEQE","jd_680b06c5002aa","jd_6df58e7d96019","jd_55c2c2c79d44c","jd_5c4a68007a024","jd_642e2431284ce","jd_68d7b7e8e6ba0","jd_4e0afc28035d7","jd_rSKYsKCGwvDH","13910120227_p","jd_4cd31c34f555e","jd_7f4877839a499","wjb0821","jd_70cd3eddf08d4","jd_OgxxRaRXCnXq","jd_TPXbBNhiMVcH","jd_7ff43bab2473a","jd_5ea6ddb1deabb","jd_76dd9b37c2262","jd_CTZuvFIINTru","jd_4230573cf857c","jd_4cba35cfa8220","小战飞","jd_6d85f1ee64fb9","jd_wFCpSzWMeiZa","jd_aUINqdbemCsG","yihm","jd_6c77f0b8472aa","1041583740-927874","子非鱼032","jd_jyoCvFgWBrlI","jd_7c52cdac6c30e","tiantianwuhan","xyl956680408","jd_UlTVlwAxkGOT","jd_47cd3b0a925f8","jd_hNIGHjlJvlDg","a619957679","jd_7dfdb73359385","jd_TXBHvENVuFej","jd_UKrxIKnsplbY","jd_eWfbwcMKaiii","jd_6430be6b53d3f","jd_xJmZmWFkkMjj","jd_iDOynDpPjWeX","jd_jQfhLkxDsOue","musicfyy","jd_XqKAnvCHHVtx","jd_ZvnQaATuengP","jd_TICBVGVQBqdN","jd_oEGpGAYxjKSx","无法显示110","jd_6b4fe0c9ebde8","jd_759fe3a4b8f55","高冷雪","jd_79a0d26a58d13","jd_665aa4457e088","kekecarol","qi596877948","jd_4d3851121b2ac","jd_68d78a70f505f","jd_4ccfd18c2411a","jd_7416ed33e0d79","jd_63459337aade8","tande_wang","若涵140214","jd_5b844fd97c5dd","jiangyi03061","jd_65b561900e5f1","440603194-132145","jd_7ab2fa849dd74","jd_rZeZXToSxTWI","jd_ZHsKtPlaeEgD","kelanlee","jd_gvcilELAtXbZ","jd_488f12b8adad4","jd_6a903e47a8de4","21412107_m","jd_438a7f90a2993","jd_qDwgzTIhyEET","jd_dKrPNywMtXTv","一个流浪的法国人","名字已经被注册了","jd_6e2e7e0c48f55","jd_RAjRNmScVXou","jd_7b73464ad005a","jd_455cc94d77557","jd_4e14e8863b48c","jd_ZlJyAbTszLrc","zhj_net","jd_4609f385e426e","jd_6af484451180c","jd_6b35bb2f88e60","6090404s","jd_5e6e9c92a8ecb","jd_NvRyViCzNpOH","jd_coqgIhFPgLNU","jd_55070a7539fb6","jd_IEeqakzzMtwd","colder","章祝兴","jd_58b85a9e1ceff","在家也能购物","jd_5415a1ce1247c","jd_4f1005e5d511a","jnbwanghu","jd_6b5937bfbf681","jd_7741126473c5e","wq5011_m","jd_6e713e6ff4af1","jd_46982649be56c","jd_74f9f15aa2cd0","jd_7f2cf590fb7bb","jd_KdKTzYIQaVyl","jd_56904e549a4e5","1937029690_m","jd_5b34eb1c100da","jd_TkhfOdFhNWQB","jd_43384b49b3992","jd_fIOwYzvpXhPz","jd_6a95bb284315c","jd_RVmBqkCCwprr","jd_nmJFCrlrzqTf","18003267919_p","yu3939","jd_bOztsGABwYZs","jd_vHsWJOgWMTgt","jd_tLtHIHEqYlSF","jd_fMOAShtdVjrd","18781942145_p","287288370_m","jd_vSrWZBkOaXtO","jd_vBBohorrjTcY","jd_TsFsxfMzQhSR","jd_5765bcbea8a34","7899451-72684287","jd_522c874a42e29","micalie","287315184-680296","18703895406_p","jd_53f8eeb4841d7","jd_uYpBBvgmceuE","jd_afOIBcLKTnyt","jd_rvTWAMfQLWdE","jd_FgdfqMWMgAAa","jd_50f7526cb41c5","jd_6cd782f6f69d7","jd_4bc2ae3b1993d","jd_4b1707f6757a7","xsana","jd_5a4b5eb0e556b","jd_EfaYhDJCjezk","jd_6da69891f1fc7","jd_5612145791a66","jd_OnzEckXFvuLK","jd_uJCifFBZYFNI","海得1225","jd_XhcwTKaNRshL","jd_53837c67fda03","640981185-147617","jd_mHToNJHBZwNx","jd_ouXnVjbiQemU","jd_HdfaJTMhOPJK","jd_wdBPhbghAspb","jd_656ba1559cc60","jd_5594db586ee82","jd_598fcc3d58c8c","jd_526c71357aa92","馨梦月儿","jd_60f3ccfca024e","jd_TXRqJlXMdbVZ","jd_wYRchgYfOvap","jd_4410859a3ec05","jd_5bf6587c247a7","jd_WkLeBZpxjhTq","364452329-660971","jd_5af5d9b6fe0d9","alisa724775078","jd_CEMDIHVJokiO","jd_sTnaFaDizSAu","jd_vYdYLIjsdodg","13736187997_p","15651769282_p","jd_nLydhRCJoteB","15897550205_p","jd_cLIrXLKEnsdc","jd_uYPYUSVMlMSA","jd_fGijwamVWXho","jd_4a07872755467","jd_ECeqOukfhyFh","ellenczg","a250465805","guoguo8902","shige0","jd_7416983aa5242","wdNmfSTBjBmXkOQ","jd_4287b8e7c0891","淡若烟草","yhdmm100","fzyfym","wangchuang881214","jd_IbSjcElkeyYW","jd_4f50b7cf233be","217585821-125109","张明锌","jd_552f3c585b3ae","jd_6e2b1b55ed668","18200398451_p","nini0621","jd_ngMkBoyHqpkj","jd_7318e82108da7","jd_gOhUHlQJUNRR","jd_UpuwgfLTahVZ","jd_469703cd3a962","ff542654672","jd_oqbmHSuMYdit","18351998068_p","dnqweqh_qew","jd_EloHkktvsItT","wdofkQuKaPePPL","jd_69b592a0c0479","pan00022","jd_59df0bef31d76","jd_5fec8f3ff489f","jd_5038668034448","JD13868769533","JD15356871301","000dfs","jd_totGuZLcZvOq","吴佳桐13","jd_48568d056d285","jd_uPXfWcCQBjZn","qysmallcat","jd_499d80fefc6b9","14655442-865305","wdfOuORfQzEBdB","海绵宝宝428118","jd_771bd5a1020b5","Cral阳光","ikt_mix_m","jd_DuvuTfumHjSF","jd_4b2c37478d4c2","盛视科技有限公司","jd_43abd81654dd1","jd_4d251fa9f6190","童童刘","jd_LGfnHmPaKKuo","yuanyuan5682","jd_56da172dc450b","jd_qZtKUgEoWQfH","jd_7530e248fccae","jd_4fa1227ef2120","wdWawMwVCEHSjs","jd_43564a367f78b","星空437735326","jd_4a6f7a96a8d9c","jd_EGHUaBBtefHN","jd_aGSzxDlkYJOT","jd_4f51916f55c2f","jd_650cc98bd178b","jd_79ed8887ce9f0","jd_4c565c0fd58f5","jd_nnUwXnmGzQXf","465440016-115712","jd_bSDzPaQlRSiG","jd_DehBdDkHYzCM","asbelivelove","jd_IvTXHEYIuHuP","dhbowen3","jd_YqhymcVTotjj","jd_587fe2e4b6eb5","粥粥520112","jd_efIVTuUepiMN","jd_4e0d49f17f90d","jd_545d14a4bb62a","jd_543a8d00c8c70","261013290-10475625","jd_4ba2c98dfbd97","jd_745a000d837e3","跃跃额","jd_7be92b11b7e8f","pet_virtual_friend_胡皋三","pet_virtual_friend_绿茶sama","pet_virtual_friend_Ainio","pet_virtual_friend_乔治桑","pet_virtual_friend_路遇狗与少年","pet_virtual_friend_特兰克斯","pet_virtual_friend_Talon","pet_virtual_friend_1314爱澳","pet_virtual_friend_丁座的真爱粉"]; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; From e9c987ce14f9aab1c85f98fdfe011f8803cbc79e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 20:35:35 +0800 Subject: [PATCH 1161/1259] fix --- jd_818.js | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/jd_818.js b/jd_818.js index 0b3c6a7d..c8fb4c4a 100644 --- a/jd_818.js +++ b/jd_818.js @@ -120,21 +120,25 @@ async function main() { await showMsg() } async function JD818() { - 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() + 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 = { @@ -590,7 +594,7 @@ async function doHelp() { //当天大于9:00才从API里面取收集的助力码 //if (nowTime > new Date(nowTime).setHours(9, 0, 0, 0)) body = await printAPI();//访问收集的互助码 body = await printAPI();//访问收集的互助码 - if (body) { + if (body && body['data']) { // console.log(`printAPI返回助力码数量:${body.replace(/"/g, '').split(',').length}`) // tempCode = tempCode.concat(body.replace(/"/g, '').split(',')) tempCode = [...tempCode, ...body['data']] From 559b149218d7e6616a4ee8c9923792176796c6de Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 21:20:51 +0800 Subject: [PATCH 1162/1259] update --- jd_818.js | 6 +++--- jd_dreamFactory.js | 2 -- jd_small_home.js | 12 +++++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/jd_818.js b/jd_818.js index c8fb4c4a..a6b7e074 100644 --- a/jd_818.js +++ b/jd_818.js @@ -589,7 +589,8 @@ async function doHelp() { } // await updateShareCodes(); // if (!$.updatePkActivityIdRes) await updateShareCodesCDN(); - // tempCode = $.updatePkActivityIdRes.shareCodes; + 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();//访问收集的互助码 @@ -857,10 +858,9 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/LXK9301/updat }) }) } -function updateShareCodesCDN(url = 'https://raw.fastgit.org/LXK9301/updateTeam/master/jd_shareCodes.json') { +function updateShareCodesCDN(url = 'https://gitee.com/lxk0301/updateTeam/raw/master/jd_shareCodes.json') { return new Promise(resolve => { //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json $.get({url}, async (err, resp, data) => { try { if (err) { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index bf596c53..c1ee054b 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1374,8 +1374,6 @@ function shareCodesFormat() { function requireConfig() { return new Promise(async resolve => { await updateTuanIdsCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateFactoryTuanId.json'); - if (!$.tuanIdS) await updateTuanIds(); - if (!$.tuanIdS) await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_updateFactoryTuanId.json'); if ($.tuanIdS && $.tuanIdS.tuanActiveId) { tuanActiveId = $.tuanIdS.tuanActiveId; } diff --git a/jd_small_home.js b/jd_small_home.js index 9709ca81..d847cda3 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -149,11 +149,13 @@ async function doChannelsListTask(taskId, taskType) { } async function helpFriends() { await updateInviteCode(); - if (!$.inviteCodes) await updateInviteCodeCDN(); - if (!$.inviteCodes) await updateInviteCodeCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateSmallHomeInviteCode.json'); - for (let item of $.inviteCodes.inviteCode) { - if (!item) continue - await createAssistUser(item, $.createAssistUserID); + // if (!$.inviteCodes) await updateInviteCodeCDN(); + await updateInviteCodeCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateSmallHomeInviteCode.json'); + if ($.inviteCodes && $.inviteCodes['inviteCode']) { + for (let item of $.inviteCodes.inviteCode) { + if (!item) continue + await createAssistUser(item, $.createAssistUserID); + } } } async function doAllTask() { From f4a82fe79719fcb58c48d902778b49ff1cda2abd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 30 Jan 2021 23:30:56 +0800 Subject: [PATCH 1163/1259] xmSports.js --- backUp/xmSports.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backUp/xmSports.js b/backUp/xmSports.js index a1e3505e..370836c8 100644 --- a/backUp/xmSports.js +++ b/backUp/xmSports.js @@ -73,7 +73,8 @@ async function start() { $.msg($.name, '失败', `Token已失效,请重新获取`) } } else { - $.msg($.name, `失败`, '暂无Token') + $.log('暂无Token') + //$.msg($.name, `失败`, '暂无Token') } $.done() } From 3e2b9e863728902062b6bc30ecd5b6a39250d3a4 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 31 Jan 2021 00:06:45 +0800 Subject: [PATCH 1164/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index db77d7c4..de6101f6 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,9 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENo@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibQ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDc@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a4@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9w', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENo@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibQ@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDc@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a4@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9w', -'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a4@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9w' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd', ] !(async () => { await requireConfig(); @@ -792,6 +791,7 @@ function pkInfo() { if (data.code === 0 && data.data && data.data.bizCode === 0) { console.log(`\n您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}\n注:此pk邀请码每天都变!`) 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 { From 1e2a3ec9f23bc2cbdb3e84d54fde0630fe517910 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 08:49:11 +0800 Subject: [PATCH 1165/1259] update --- jd_nian.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index de6101f6..10229ddf 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,9 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g', + 'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g' ] !(async () => { await requireConfig(); From 39799b8c5a8161a963026b9e295e77f9d1827b62 Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 31 Jan 2021 10:36:30 +0800 Subject: [PATCH 1166/1259] =?UTF-8?q?=E5=B0=8F=E9=B8=BD=E6=9C=89=E7=A4=BC2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_xgyl.js | 345 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 345 insertions(+) create mode 100644 jd_xgyl.js diff --git a/jd_xgyl.js b/jd_xgyl.js new file mode 100644 index 00000000..26538e3f --- /dev/null +++ b/jd_xgyl.js @@ -0,0 +1,345 @@ +/* +小鸽有礼2 +每天抽奖25豆 +活动入口:https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800 +活动时间:2021年1月28日~2021年2月28日 +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js + +已支持IOS双京东账号, Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js +============Quantumultx=============== +[task_local] +#小鸽有礼2 +30 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js, tag=小鸽有礼2 + +===============Surge================= +小鸽有礼2 = type=cron,cronexp="30 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js + +============小火箭========= +小鸽有礼2 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { + 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 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": "1354740864131276800", ...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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"), + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From 2b785e8677ee32a5362d62cf083ba28fe20dd81d Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sun, 31 Jan 2021 10:52:49 +0800 Subject: [PATCH 1167/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=B0=8F=E9=B8=BD=E6=9C=89=E7=A4=BC2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverless.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverless.yml b/serverless.yml index 617c4732..130080ee 100644 --- a/serverless.yml +++ b/serverless.yml @@ -46,12 +46,12 @@ inputs: cronExpression: "0 0 0-16/8,20 * * * *" enable: true argument: jd_joy_reward&jd_joy_steal&jd_necklace&jd_small_home&jd_live - - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #京东汽车 #京东秒秒币 #小鸽有礼 + - timer: #京东全民开红包 #进店领豆 #取关京东店铺商品 #注销京东会员卡 #京东抽奖机 #京东汽车 #京东秒秒币 #小鸽有礼 #小鸽有礼2 parameters: name: redPacket_shop_unsubscribe_unbind_lotteryMachine_car_ms_xg cronExpression: "0 10 0 * * * *" enable: true - argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_car&jd_ms&jd_xg + argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_car&jd_ms&jd_xg&jd_xgyl - timer: #京东天天加速 #天天提鹅 #京东炸年兽 parameters: name: speed_daily_egg_nian From 9d88d8fdfa7c8629cd9d2c8c04296248f33a3caf Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 31 Jan 2021 12:32:58 +0800 Subject: [PATCH 1168/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0iOS=E5=92=8Cdocker?= =?UTF-8?q?=E7=9A=84cron=EF=BC=8C=E6=9B=B4=E6=96=B0=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 33 ++++---- QuantumultX/lxk0301_gallery.json | 11 +-- README.md | 120 ++++++++++++++------------- Surge/lxk0301_Task.sgmodule.sgmodule | 11 +-- docker/crontab_list.sh | 2 + 5 files changed, 93 insertions(+), 84 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index c7ddcef3..90170dae 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车 -cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 - # 京东汽车兑换 cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 +# 京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院 -cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 - # 京东神仙书院答题 cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +# 京东神仙书院 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -121,21 +121,21 @@ cron "10 0,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 - # 京东炸年兽AR cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + +# 京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 @@ -181,6 +181,9 @@ cron "55 23 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 小鸽有礼 cron "5 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js,tag=小鸽有礼 +# 小鸽有礼2 +cron "30 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js, tag=小鸽有礼2 + # 京喜签到 cron "5 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js,tag=京喜签到 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index e54acc3d..820d4d71 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -36,11 +36,11 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true", "10 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", @@ -55,6 +55,7 @@ "55 23 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js, tag=小鸽有礼, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_xg.jpg, enabled=true", + "30 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js, tag=小鸽有礼2, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_xgyl.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "15 17 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js, tag=小米运动, img-url=https://raw.githubusercontent.com/58xinian/icon/master/xmyd.png, enabled=true" ] diff --git a/README.md b/README.md index 52c68c07..eddf1044 100644 --- a/README.md +++ b/README.md @@ -31,65 +31,67 @@ | 序号 | 文件 | 名称 | 活动入口 | | :-: | - | - | - | |1|[jd_5g.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js)|5G狂欢城|暂无| -|2|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| -|3|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| -|4|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| -|5|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| -|6|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|7|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|8|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| -|10|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|11|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|12|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|13|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|14|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|15|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| -|16|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|17|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| -|18|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| -|19|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|20|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|21|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|22|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| -|23|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|24|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|25|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|26|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| -|28|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| -|29|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| -|30|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|31|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| -|32|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| -|33|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| -|34|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| -|35|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| -|36|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| -|37|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|38|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|39|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|40|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|41|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|42|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|43|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|44|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|45|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| -|46|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|47|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|48|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|49|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|50|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|51|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|52|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|53|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|54|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|55|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|56|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|57|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|58|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|59|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|60|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +|2|[jd_818.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js)|京东手机狂欢城|| +|3|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| +|4|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| +|5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| +|6|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| +|7|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| +|8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|9|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|10|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| +|11|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| +|12|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| +|13|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|14|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|15|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|16|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|17|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|18|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| +|19|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|20|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|21|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|22|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|23|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|24|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|25|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|28|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|29|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|30|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|31|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|32|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| +|33|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| +|34|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|35|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| +|36|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|37|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| +|38|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|39|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|40|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|41|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|42|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|43|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|44|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|45|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|46|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| +|47|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|48|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|49|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|50|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|51|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|52|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|53|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|54|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|55|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|56|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|57|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|58|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|59|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|60|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|61|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| +|62|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 2700b95c..91ff92de 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,8 +14,8 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -26,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -46,11 +46,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js @@ -66,6 +66,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js 小鸽有礼 = type=cron,cronexp="5 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js +小鸽有礼2 = type=cron,cronexp="30 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js 京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js 小米运动 = type=cron,cronexp="15 17 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js 小米运动获取Token = type=http-response,pattern=^https:\/\/account\.huami\.com\/v2\/client\/login, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index dc1d174d..c40fe051 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -21,6 +21,8 @@ # 5G狂欢城 0 */6 * * * node /scripts/jd_5g.js >> /scripts/logs/jd_5g.log 2>&1 0 */6 * * * node /scripts/jd_818.js >> /scripts/logs/jd_818.log 2>&1 +# 小鸽有礼2 +34 9 * * * node /scripts/jd_xgyl.js >> /scripts/logs/jd_jd_xgyl.log 2>&1 ##############长期活动############## # 签到 From cea0d56d7aae088a78cf66cf00b3f9eb1c5a9277 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 13:32:14 +0800 Subject: [PATCH 1169/1259] update --- jd_818.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_818.js b/jd_818.js index a6b7e074..104c57fc 100644 --- a/jd_818.js +++ b/jd_818.js @@ -923,7 +923,7 @@ async function showMsg() { $.msg($.name, '活动已结束', `该活动累计获得京豆:${$.jbeanCount}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/LXK9301/jd_scripts`) } 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"}); + $.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) { From 600a2bb5c8da3652ba6a31873d627e531c73dea6 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 13:38:08 +0800 Subject: [PATCH 1170/1259] update --- jd_818.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_818.js b/jd_818.js index 104c57fc..ead6e9c2 100644 --- a/jd_818.js +++ b/jd_818.js @@ -55,7 +55,7 @@ if ($.isNode()) { } const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; -const activeEndTime = '2021/2/5 23:59:59+08:00'; +const activeEndTime = '2021/2/4 23: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 = [] @@ -920,8 +920,8 @@ function TotalBean() { 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}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/LXK9301/jd_scripts`) + $.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"}); } From f1a1ff202961d178beac5f6fb09b95788ec5ba4d Mon Sep 17 00:00:00 2001 From: anonymous Date: Sun, 31 Jan 2021 15:35:02 +0800 Subject: [PATCH 1171/1259] Update readme --- README.md | 4 ++-- update_list.sh | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index eddf1044..2e8d5861 100644 --- a/README.md +++ b/README.md @@ -30,8 +30,8 @@ | 序号 | 文件 | 名称 | 活动入口 | | :-: | - | - | - | -|1|[jd_5g.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js)|5G狂欢城|暂无| -|2|[jd_818.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js)|京东手机狂欢城|| +|1|[jd_5g.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js)|5G狂欢城|[活动地址](https://rdcseason.m.jd.com/)| +|2|[jd_818.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js)|京东手机狂欢城|[活动地址](https://rdcseason.m.jd.com/#/index)| |3|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| |4|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| |5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| diff --git a/update_list.sh b/update_list.sh index 977b8d70..6142965d 100644 --- a/update_list.sh +++ b/update_list.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash ## Author: https://github.com/EvineDeng -## Modified: 2021-01-29 -## Version: v1.0.1 +## Modified: 2021-01-31 +## Version: v1.0.2 ## 网址、路径、文件、标记信息以及表头 WorkDir=$(cd $(dirname $0); pwd) @@ -23,6 +23,7 @@ Sheet=$SheetHead for ((i=0; i<${#JsList[*]}; i++)); do Name=$(grep "new Env" ${JsList[i]} | awk -F "'|\"" '{print $2}') Entry=$(grep -E "活动入口" ${JsList[i]} | awk -F ":|: " '{print $2}') + [[ -z $Entry ]] || [[ $Entry == 暂无 ]] && Entry=$(grep -E "活动地址" ${JsList[i]} | awk -F ":|: " '{print $2}') [[ $Entry == http* ]] && Entry="[活动地址]($Entry)" Raw="$UrlRaw${JsList[i]}" Sheet="$Sheet\n|$(($i + 1))|[${JsList[i]}]($Raw)|$Name|$Entry|" From 1fcf40ebafe05fd7b660ed3e1878212acadcab8e Mon Sep 17 00:00:00 2001 From: LisonFan Date: Sun, 31 Jan 2021 16:17:37 +0800 Subject: [PATCH 1172/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=A0=E8=BF=98?= =?UTF-8?q?=E6=9C=AA=E5=88=B0=E5=85=91=E6=8D=A2=E6=97=B6=E9=97=B4=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E8=84=9A=E6=9C=AC=E5=81=9C=E6=AD=A2=E4=B8=8D=E5=8E=BB?= =?UTF-8?q?=E5=81=9A=E4=BB=BB=E5=8A=A1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jd_immortal.js b/jd_immortal.js index 35572617..8299937e 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -269,6 +269,9 @@ function exchange() { 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(`账号被风控,无法参与活动`) From f6893d5e9179ea77ced4340d01d69f17b6393de4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 16:30:25 +0800 Subject: [PATCH 1173/1259] fix --- jd_818.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_818.js b/jd_818.js index ead6e9c2..67c4573d 100644 --- a/jd_818.js +++ b/jd_818.js @@ -920,7 +920,7 @@ function TotalBean() { 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咱江湖再见); + $.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"}); From 6e04cf5e3987a38b5305b5e52405b40ecdf269f7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 17:27:33 +0800 Subject: [PATCH 1174/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E6=8C=82?= =?UTF-8?q?=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 116 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 110 insertions(+), 6 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index a5498160..f18b5490 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -206,8 +206,8 @@ async function jdCrazyJoy() { $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) } - // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY (没有34级JOY时才会执行) - if(checkHasFullOccupied() && !checkCanMerge() && !checkHas34Level()) { + // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY (且最低等级的JOY小于30级) + if(checkHasFullOccupied() && !checkCanMerge() && finMinJoyLevel() < 30) { const minJoyId = Math.min(...$.joyIds); const boxId = $.joyIds.indexOf(minJoyId); console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minJoyId}的JOY`) @@ -225,6 +225,7 @@ async function jdCrazyJoy() { await $.wait(1000) } } + // await buyJoyLogic() await getJoyList() let obj = {}; $.joyIds.map((vo, idx) => { @@ -239,11 +240,27 @@ async function jdCrazyJoy() { for (let idx in obj) { const vo = obj[idx] if (idx < 34 && vo.length >= 2) { + $.log(`开始合并两只${idx}级joy\n`) await mergeJoy(vo[0], vo[1]) await $.wait(3000) } + if (idx === '34' && vo.length >= 8) { + await getCoin(); + if ($.coin >= 6000000000000000) { + //当存在8个34级JOY,并且剩余金币可合成两只新的34级JOY(全部用30级JOY合成一只34级JOY需:1.66T * 2 * 2 * 2 * 2 = 26.56T = 2.6Q)时,则合并两个34级 + $.log(`开始合并两只${idx}级joy\n`) + await mergeJoy(vo[0], vo[1]) + await $.wait(3000) + } + } + } + await getJoyList() + if ($.joyIds && $.joyIds.length > 0) { + $.log('合并后的JOY分布情况') + $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) + $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) + $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) } - await hourBenefit() await $.wait(1000) await getCoin() @@ -252,7 +269,7 @@ async function jdCrazyJoy() { await $.wait(5000) console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) } - +//查询格子里面是否还有空格 function checkHasFullOccupied() { return !$.joyIds.includes(0); } @@ -262,6 +279,70 @@ function checkHas34Level() { return $.joyIds.includes(34); } +//查找格子里面有几个空格 +function findZeroNum() { + return $.joyIds.filter(i => i === 0).length +} +//查找当前 购买 joyLists 中最低等级的那一个 +function finMinJoyLevel() { + return Math.min(...$.joyIds.filter(s => s)) +} +/** + * 来源:https://elecv2.ml/#算法研究之合并类小游戏的最优购买问题 + * 获取下一个合适的购买等级。(算法二优化版) + * @param {array} joyPrices 商店 joy 价格和等级列表 + * @param {number} start 开始比较的等级。范围1~30,默认:30 + * @param {number} direction 向上比较还是向下比较。0:向下比较,1:向上比较,默认:0 + * @return {number} 返回最终适合购买的等级 + */ +function getBuyid2b(joyPrices, start = 30, direction = 0) { + if (start < 1 || start > 30) { + console.log('start 等级输入不合法') + return 1 + } + let maxL = 30 // 设置最高购买等级 + if (direction) { + // 向上比较 + for (let ind = start - 1; ind < maxL - 1; ind++) { // 商店 joy 等级和序列号相差1,需要减一下 + if (joyPrices[ind].coins * 2 < joyPrices[ind + 1].coins) return joyPrices[ind].joyId + } + return maxL + } else { + // 向下比较 + for (let ind = start - 1; ind > 0; ind--) { + if (joyPrices[ind].coins <= joyPrices[ind - 1].coins * 2) return joyPrices[ind].joyId + } + return 1 + } +} + +function buyJoyLogic() { + new Promise(async resolve => { + let zeroNum = findZeroNum(); + if (zeroNum === 0) { + console.log('格子满了') + } else if (zeroNum === 1) { + await buyJoy(finMinJoyLevel()); + } else { + let buyLevel = 1, joyPrices + console.log('joyPrices', JSON.stringify($.joyPrices)) + if (zeroNum > 2) joyPrices = $.joyPrices; + while (zeroNum--) { + await $.wait(1000) + if (zeroNum >= 2 && joyPrices && joyPrices.length) { + // buyLevel = getBuyid2b(joyPrices, joyPrices.length) // 具体参数可根据个人情况进行调整 + buyLevel = getBuyid2b(joyPrices) // 具体参数可根据个人情况进行调整 + } + if ($.joyPrices) { + //添加判断。避免在获取$.joyPrices失败时,直接买等级1 + await buyJoy(buyLevel) + } + } + } + resolve() + }) +} + function checkCanMerge() { let obj = {}; let canMerge = false; @@ -315,7 +396,8 @@ function getJoyShop() { } else { data = JSON.parse(data); if (data.success && data.data && data.data.shop) { - const shop = data.data.shop.filter(vo => vo.status === 1) || [] + const shop = data.data.shop.filter(vo => vo.status === 1) || []; + $.joyPrices = shop; $.buyJoyLevel = shop.length ? shop[shop.length - 1]['joyId'] : 1;//可购买的最大等级 if ($.isNode() && process.env.BUY_JOY_LEVEL) { $.log(`当前可购买的最高JOY等级为${$.buyJoyLevel}级\n`) @@ -347,7 +429,28 @@ function mergeJoy(x, y) { if (safeGet(data)) { data = JSON.parse(data); if (data.success && data.data.newJoyId) { - console.log(`合并成功,获得${data.data.newJoyId}级Joy`) + if (data.data.newJoyId > 34) { + let level = function (newJoyId) { + switch (newJoyId) { + case 1003: + return '多多JOY' + case 1004: + return '快乐JOY' + case 1005: + return '好物JOY' + case 1006: + return '省钱JOY' + case 1007: + return '咚咚JOY' + default: + return '未知JOY' + } + } + console.log(`合并成功,获得${level(data.data.newJoyId)}级Joy`) + if (level(data.data.newJoyId) === '咚咚JOY' && $.isNode()) await notify.sendNotify($.name, `京东账号${$.index} ${$.nickName}\n合并成功,获得${level(data.data.newJoyId)}级Joy`) + } else { + console.log(`合并成功,获得${data.data.newJoyId}级Joy`) + } } else console.log(`合并失败,错误`) } @@ -374,6 +477,7 @@ function buyJoy(joyId) { if (data.success) { if (data.data.eventInfo) { await openBox(data.data.eventInfo.eventType, data.data.eventInfo.eventRecordId) + $.log('金币不足') $.canBuy = false return } From 8f2eef76ee03d05db18114f6550076ffa7197884 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 18:22:14 +0800 Subject: [PATCH 1175/1259] update --- jd_crazy_joy_coin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index f18b5490..f04d223f 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -247,7 +247,7 @@ async function jdCrazyJoy() { if (idx === '34' && vo.length >= 8) { await getCoin(); if ($.coin >= 6000000000000000) { - //当存在8个34级JOY,并且剩余金币可合成两只新的34级JOY(全部用30级JOY合成一只34级JOY需:1.66T * 2 * 2 * 2 * 2 = 26.56T = 2.6Q)时,则合并两个34级 + //当存在8个34级JOY,并且剩余金币可为后面继续合成两只新的34级JOY(按全部用30级JOY合成一只34级JOY计算需:1.66T * 2 * 2 * 2 * 2 = 26.56T = 2.6Q)时,则此条件下合并两个34级JOY $.log(`开始合并两只${idx}级joy\n`) await mergeJoy(vo[0], vo[1]) await $.wait(3000) From 9f711e8dffd3addfbcf8190ebb8da56c435e5585 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 19:22:03 +0800 Subject: [PATCH 1176/1259] update --- jd_nian.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 10229ddf..8ef5321b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -52,7 +52,8 @@ const inviteCodes = [ const pkInviteCodes = [ 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g', 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g', - 'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g' + 'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g', + 'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBCduDyApZxg5BPuhRfnJvRug' ] !(async () => { await requireConfig(); From d55b0f45cb3302b702554d1ef796603f6393e676 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 21:07:51 +0800 Subject: [PATCH 1177/1259] debug --- jd_dreamFactory.js | 2 ++ lxk0301.boxjs.json | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index c1ee054b..3eb6fa35 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1389,6 +1389,8 @@ function requireConfig() { $.shareCodesArr.push(shareCodes[item]) } }) + } else { + console.log(`惊喜工厂邀请码:${$.getdata('jd_jxFactory')}`) } // console.log(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`); console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index c44d82f4..cb158ab4 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -925,6 +925,29 @@ "https://m.360buyimg.com/babel/jfs/t1/165970/14/3741/2184/600585feE6fb250f8/77db4ca560e006be.png", "https://m.360buyimg.com/babel/jfs/t1/165970/14/3741/2184/600585feE6fb250f8/77db4ca560e006be.png" ] + }, + { + "id": "jd_dreamFactory", + "name": "京喜工厂", + "keys": ["jd_jxFactory"], + "settings": [ + { + "id": "jd_jxFactory", + "name": "好友邀请码 列表", + "val": "", + "type": "textarea", + "autoGrow": true, + "rows": 8, + "desc": "京喜工厂邀请码" + } + ], + "icons": [ + "https://raw.githubusercontent.com/Orz-3/mini/master/jd.png", + "https://github.com/58xinian/icon/raw/master/jdgc.png" + ], + "author": "@lxk0301", + "repo": "https://gitee.com/lxk0301/jd_scripts/tree/master", + "script": "https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js" } ] } From 7ec851992b1d35554fef478a9b99d9bba4f33229 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 21:29:41 +0800 Subject: [PATCH 1178/1259] debug --- jd_dreamFactory.js | 5 +++-- lxk0301.boxjs.json | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 3eb6fa35..c15c9557 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1383,14 +1383,15 @@ function requireConfig() { const shareCodes = $.isNode() ? require('./jdDreamFactoryShareCodes.js') : ''; console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; - if ($.isNode()) { + if (!$.isNode()) { Object.keys(shareCodes).forEach((item) => { if (shareCodes[item]) { $.shareCodesArr.push(shareCodes[item]) } }) } else { - console.log(`惊喜工厂邀请码:${$.getdata('jd_jxFactory')}`) + $.shareCodesArr = $.getdata('jd_jxFactory').split('\n').filter(item => item !== "" && item !== null && item !== undefined); + console.log(`惊喜工厂邀请码:${$.getdata('jd_jxFactory')}`); } // console.log(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`); console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index cb158ab4..8558bc2c 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -934,11 +934,11 @@ { "id": "jd_jxFactory", "name": "好友邀请码 列表", - "val": "", + "val": "V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==\n-OvElMzqeyeGBWazWYjI1Q==", "type": "textarea", "autoGrow": true, "rows": 8, - "desc": "京喜工厂邀请码" + "desc": "京喜工厂邀请码,同一个京东账号的好友邀请码用@隔开,不同京东账号互助码用换行(return按键)隔开" } ], "icons": [ From 82045da7c14266fc1c8753e8c053c0203932e7d3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 21:30:48 +0800 Subject: [PATCH 1179/1259] debug --- lxk0301.boxjs.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 8558bc2c..0c4f8fdd 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -933,8 +933,8 @@ "settings": [ { "id": "jd_jxFactory", - "name": "好友邀请码 列表", - "val": "V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==\n-OvElMzqeyeGBWazWYjI1Q==", + "name": "京喜工厂好友邀请码 列表", + "val": "V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@Bo-jnVs_m9uBvbRzraXcSA==\n\n-OvElMzqeyeGBWazWYjI1Q==", "type": "textarea", "autoGrow": true, "rows": 8, From a803dc5f124317e1664d2633028b37fbd6b52346 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 21:33:15 +0800 Subject: [PATCH 1180/1259] debug --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index c15c9557..5af25d93 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1383,7 +1383,7 @@ function requireConfig() { const shareCodes = $.isNode() ? require('./jdDreamFactoryShareCodes.js') : ''; console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = []; - if (!$.isNode()) { + if ($.isNode()) { Object.keys(shareCodes).forEach((item) => { if (shareCodes[item]) { $.shareCodesArr.push(shareCodes[item]) From 2c8b8935c7271a6aae8245ccbde51baca0ea3634 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 31 Jan 2021 21:40:07 +0800 Subject: [PATCH 1181/1259] =?UTF-8?q?BoxJs=E4=B8=8A=E7=BA=BF=E4=BA=AC?= =?UTF-8?q?=E5=96=9C=E5=B7=A5=E5=8E=82=E7=9A=84=E5=A5=BD=E5=8F=8B=E9=82=80?= =?UTF-8?q?=E8=AF=B7=E7=A0=81=E5=A1=AB=E5=86=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_dreamFactory.js | 2 +- lxk0301.boxjs.json | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 5af25d93..250242b9 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1391,7 +1391,7 @@ function requireConfig() { }) } else { $.shareCodesArr = $.getdata('jd_jxFactory').split('\n').filter(item => item !== "" && item !== null && item !== undefined); - console.log(`惊喜工厂邀请码:${$.getdata('jd_jxFactory')}`); + console.log(`\nBoxJs设置的京喜工厂邀请码:${$.getdata('jd_jxFactory')}\n`); } // console.log(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`); console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); diff --git a/lxk0301.boxjs.json b/lxk0301.boxjs.json index 0c4f8fdd..c60b3d38 100644 --- a/lxk0301.boxjs.json +++ b/lxk0301.boxjs.json @@ -930,6 +930,11 @@ "id": "jd_dreamFactory", "name": "京喜工厂", "keys": ["jd_jxFactory"], + "descs_html": [ + "请在输入框输入跟你互助的京喜工厂的好友互助码", + "同一个京东账号的好友邀请码用@隔开,不同京东账号互助码用换行(return按键)隔开", + "下方输入框给出一个示例,自己使用时删除示例邀请码然后按示例填写即可" + ], "settings": [ { "id": "jd_jxFactory", @@ -942,7 +947,7 @@ } ], "icons": [ - "https://raw.githubusercontent.com/Orz-3/mini/master/jd.png", + "https://raw.githubusercontent.com/58xinian/icon/master/jdgc_mini.png", "https://github.com/58xinian/icon/raw/master/jdgc.png" ], "author": "@lxk0301", From b6053a60ebade537fe7d55b320a8fca48d985d2f Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 00:05:41 +0800 Subject: [PATCH 1182/1259] debug --- jd_nian.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 10229ddf..cc2fbe46 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,9 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENs@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibR@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDd@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g', - 'IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a8@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9g' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENg@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibS@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDe', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENg@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibS@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDe' ] !(async () => { await requireConfig(); From f9796d330203add2c8d8e2fa17c21e211a8a8891 Mon Sep 17 00:00:00 2001 From: Meiam <91270@qq.com> Date: Mon, 1 Feb 2021 00:28:20 +0800 Subject: [PATCH 1183/1259] =?UTF-8?q?update=20jd=5Fcrazy=5Fjoy=5Fcoin.js.?= =?UTF-8?q?=20=E8=A7=A3=E5=86=B3=E6=8E=A5=E5=8F=A3=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E9=80=9F=E5=BA=A6=E8=BF=87=E5=BF=AB=E3=80=82=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=A1=BA=E5=BA=8F=EF=BC=8C=E5=87=8F=E5=B0=91?= =?UTF-8?q?=E4=B8=8D=E5=BF=85=E8=A6=81=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_crazy_joy_coin.js | 50 +++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index f04d223f..66de828b 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -197,8 +197,6 @@ async function jdCrazyJoy() { $.canBuy = true await getJoyList() await $.wait(1000) - await getJoyShop() - await $.wait(1000) if ($.joyIds && $.joyIds.length > 0) { $.log('当前JOY分布情况') $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) @@ -206,27 +204,37 @@ async function jdCrazyJoy() { $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) } + await getJoyShop() + await $.wait(1000) + // 如果格子全部被占有且没有可以合并的JOY,只能回收低级的JOY (且最低等级的JOY小于30级) if(checkHasFullOccupied() && !checkCanMerge() && finMinJoyLevel() < 30) { const minJoyId = Math.min(...$.joyIds); const boxId = $.joyIds.indexOf(minJoyId); console.log(`格子全部被占有且没有可以合并的JOY,回收${boxId + 1}号位等级为${minJoyId}的JOY`) await sellJoy(minJoyId, boxId); + await $.wait(1000) await getJoyList(); + await $.wait(1000) } + await hourBenefit() + await $.wait(1000) + await getCoin() + await $.wait(1000) + for (let i = 0; i < $.joyIds.length; ++i) { if (!$.canBuy) { - $.log(`金币不足,跳过购买`) break } if ($.joyIds[i] === 0) { await buyJoy($.buyJoyLevel) await $.wait(1000) + await getJoyList() + await $.wait(1000) } } - // await buyJoyLogic() - await getJoyList() + let obj = {}; $.joyIds.map((vo, idx) => { if (vo !== 0) { @@ -243,28 +251,32 @@ async function jdCrazyJoy() { $.log(`开始合并两只${idx}级joy\n`) await mergeJoy(vo[0], vo[1]) await $.wait(3000) + await getJoyList() + await $.wait(1000) + if ($.joyIds && $.joyIds.length > 0) { + $.log('合并后的JOY分布情况') + $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) + $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) + $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) + } } if (idx === '34' && vo.length >= 8) { - await getCoin(); if ($.coin >= 6000000000000000) { //当存在8个34级JOY,并且剩余金币可为后面继续合成两只新的34级JOY(按全部用30级JOY合成一只34级JOY计算需:1.66T * 2 * 2 * 2 * 2 = 26.56T = 2.6Q)时,则此条件下合并两个34级JOY $.log(`开始合并两只${idx}级joy\n`) await mergeJoy(vo[0], vo[1]) await $.wait(3000) + await getJoyList() + await $.wait(1000) + if ($.joyIds && $.joyIds.length > 0) { + $.log('合并后的JOY分布情况') + $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) + $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) + $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) + } } } } - await getJoyList() - if ($.joyIds && $.joyIds.length > 0) { - $.log('合并后的JOY分布情况') - $.log(`\n${$.joyIds[0]} ${$.joyIds[1]} ${$.joyIds[2]} ${$.joyIds[3]}`) - $.log(`${$.joyIds[4]} ${$.joyIds[5]} ${$.joyIds[6]} ${$.joyIds[7]}`) - $.log(`${$.joyIds[8]} ${$.joyIds[9]} ${$.joyIds[10]} ${$.joyIds[11]}\n`) - } - await hourBenefit() - await $.wait(1000) - await getCoin() - await $.wait(1000) await getUserBean() await $.wait(5000) console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) @@ -370,6 +382,7 @@ function getJoyList() { } else { if (safeGet(data)) { data = JSON.parse(data); + //console.log(data) if (data.success && data.data.joyIds) { $.joyIds = data.data.joyIds } else @@ -477,6 +490,7 @@ function buyJoy(joyId) { if (data.success) { if (data.data.eventInfo) { await openBox(data.data.eventInfo.eventType, data.data.eventInfo.eventRecordId) + await $.wait(1000) $.log('金币不足') $.canBuy = false return @@ -510,6 +524,7 @@ function sellJoy(joyId, boxId) { if (data.success) { if (data.data.eventInfo) { await openBox(data.data.eventInfo.eventType, data.data.eventInfo.eventRecordId) + await $.wait(1000) $.canBuy = false return } @@ -597,6 +612,7 @@ function getCoin() { } if (data.data && data.data.luckyBoxRecordId) { await openBox('LUCKY_BOX_DROP',data.data.luckyBoxRecordId) + await $.wait(1000) } if (data.data) { $.log(`此次在线收益:获得 ${data.data['coins']} 金币`) From 407887591d2c4d15c58cbd5cf7a4bc80fb7f1945 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 00:39:51 +0800 Subject: [PATCH 1184/1259] =?UTF-8?q?=E6=8A=BD=E5=A5=96=EF=BC=8C=E5=85=A5?= =?UTF-8?q?=E4=BC=9A=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/jd_nian.js b/jd_nian.js index cc2fbe46..766410a6 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -724,6 +724,20 @@ function shopLotteryInfo(shopSign) { 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}已做完`) + } + } } } } @@ -761,6 +775,8 @@ function doShopLottery(shopSign) { 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 { From b6ade5f8dbf657820cbcc329169791b59820e41f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 07:50:13 +0800 Subject: [PATCH 1185/1259] update --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 766410a6..2d35b22e 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENg@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibS@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDe', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENg@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibS@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDe' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENg@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibS@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDe@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_aw@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9Q', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENg@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibS@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDe@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_aw@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9Q' ] !(async () => { await requireConfig(); From 13abc60c02bbe6c800747a5d3dcda5691b599e67 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 09:20:18 +0800 Subject: [PATCH 1186/1259] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=8E=8B=E5=B2=81?= =?UTF-8?q?=E9=92=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 4 + jd_newYearMoney.js | 451 +++++++++++++++++++++++++++++++++++++ jd_newYearMoney_lottery.js | 258 +++++++++++++++++++++ 3 files changed, 713 insertions(+) create mode 100644 jd_newYearMoney.js create mode 100644 jd_newYearMoney_lottery.js diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index c40fe051..168e2e43 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -121,3 +121,7 @@ 5 7 * * * node /scripts/jd_xg.js >> /scripts/logs/jd_xg.log 2>&1 # 京东超级盒子 20 7 * * * node /scripts/jd_super_box.js >> /scripts/logs/jd_super_box.log 2>&1 +# 京东压岁钱 +20 8,12 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 +# 京东压岁钱抢百元卡 +0 9,12,16,20 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js new file mode 100644 index 00000000..7f50c4ad --- /dev/null +++ b/jd_newYearMoney.js @@ -0,0 +1,451 @@ +/* +京东压岁钱 +助力码会一直变,不影响助力 +活动时间: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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true + +================Loon============== +[Script] +cron "20 8,12 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱 + +===============Surge================= +京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js + +============小火箭========= +京东压岁钱 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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; +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); +} +const JD_API_HOST = 'https://api.m.jd.com/client.action'; +const inviteCodes = [ + `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo`, + `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo`, +]; +!(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() + } + } +})() + .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) + } +} + +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(2000) + } +} + +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 + if(info) { + $.total = poolMoney + return + } + console.log(`您的好友助力码为:${inviteId}`) + $.cardList = data.data.result.cardInfos + for(let i=1;i<=6;++i){ + let cards = data.data.result.cardInfos.filter(vo=>vo.cardType===i) + for(let j=0;j { + $.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) => { + $.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(); + } + }) + }) +} +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(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 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('&'); + } + } + $.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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/jd_newYearMoney_lottery.js b/jd_newYearMoney_lottery.js new file mode 100644 index 00000000..4dcd9ffc --- /dev/null +++ b/jd_newYearMoney_lottery.js @@ -0,0 +1,258 @@ +/* +京东压岁钱抢百元卡 +活动时间: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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true + +================Loon============== +[Script] +cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱抢百元卡 + +===============Surge================= +京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js + +============小火箭========= +京东压岁钱抢百元卡 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.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 { + 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); +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From a3bbddde59d5bcdffa9078dd722b6f0915b2b371 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 09:21:26 +0800 Subject: [PATCH 1187/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_newYearMoney_lottery.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_newYearMoney_lottery.js b/jd_newYearMoney_lottery.js index 4dcd9ffc..8b3671b2 100644 --- a/jd_newYearMoney_lottery.js +++ b/jd_newYearMoney_lottery.js @@ -8,17 +8,17 @@ ============Quantumultx=============== [task_local] #京东压岁钱抢百元卡 -0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱抢百元卡 +cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡 ===============Surge================= -京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js +京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js ============小火箭========= -京东压岁钱抢百元卡 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, cronexpr="0 0 9,12,16,20 * * *", timeout=3600, enable=true +京东压岁钱抢百元卡 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, cronexpr="0 0 9,12,16,20 * * *", timeout=3600, enable=true */ const $ = new Env('京东压岁钱抢百元卡'); From 5d4b405e4e3939a9908e22eb440617f5bf1a40d0 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 09:38:40 +0800 Subject: [PATCH 1188/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9docker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 168e2e43..1db6360a 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -124,4 +124,4 @@ # 京东压岁钱 20 8,12 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 # 京东压岁钱抢百元卡 -0 9,12,16,20 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 +0 9,12,16,20 * * * node /scripts/jd_newYearMoney_lottery.js >> /scripts/logs/jd_newYearMoney_lottery.log 2>&1 From 86e92a48d7f1343e13f03d6ef733d8cacedc3c80 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 09:48:35 +0800 Subject: [PATCH 1189/1259] =?UTF-8?q?=E6=8A=8A=E7=9F=AD=E6=9C=9F=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E7=9A=84cron=E8=BF=81=E7=A7=BB=E5=88=B0=E7=9F=AD?= =?UTF-8?q?=E6=9C=9F=E6=B4=BB=E5=8A=A8=E5=8C=BA=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 25 +++++++++++++------------ jd_crazy_joy_coin.js | 2 ++ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 168e2e43..e34141a8 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -18,11 +18,22 @@ 30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 # 京东神仙书院答题(活动时间:2021-1-20至2021-2-5) 5 1 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 -# 5G狂欢城 +# 5G狂欢城(2021-1-30至2021-2-4) 0 */6 * * * node /scripts/jd_5g.js >> /scripts/logs/jd_5g.log 2>&1 0 */6 * * * node /scripts/jd_818.js >> /scripts/logs/jd_818.log 2>&1 -# 小鸽有礼2 +# 小鸽有礼(活动时间:2021年1月15日至2021年2月19日) +5 7 * * * node /scripts/jd_xg.js >> /scripts/logs/jd_xg.log 2>&1 +# 小鸽有礼2(活动时间:2021年1月28日~2021年2月28日) 34 9 * * * node /scripts/jd_xgyl.js >> /scripts/logs/jd_jd_xgyl.log 2>&1 +# 京东手机年终奖(活动时间:2021年1月26日~2021年2月8日) +15 0 * * * node /scripts/jd_festival.js >> /scripts/logs/jd_festival.log 2>&1 +# 京东压岁钱(活动时间:2021-2-1至2021-2-11) +20 8,12 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 +# 京东压岁钱抢百元卡(活动时间:2021-2-1至2021-2-11) +0 9,12,16,20 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 +# 盲盒抽京豆(活动时间:2021年1月6日~2021年2月5日) +1 7 * * * node /scripts/jd_mh.js >> /scripts/logs/jd_mh.log 2>&1 + ##############长期活动############## # 签到 @@ -111,17 +122,7 @@ 27 8 * * * node /scripts/jd_sgmh.js >> /scripts/logs/jd_sgmh.log 2>&1 # 源头好物红包 0 0 * * * node /scripts/jd_coupon.js >> /scripts/logs/jd_coupon.log 2>&1 -# 京东手机年终奖 -15 0 * * * node /scripts/jd_festival.js >> /scripts/logs/jd_festival.log 2>&1 -# 盲盒抽京豆 -1 7 * * * node /scripts/jd_mh.js >> /scripts/logs/jd_mh.log 2>&1 # 京东秒秒币 10 7 * * * node /scripts/jd_ms.js >> /scripts/logs/jd_ms.log 2>&1 -# 小鸽有礼 -5 7 * * * node /scripts/jd_xg.js >> /scripts/logs/jd_xg.log 2>&1 # 京东超级盒子 20 7 * * * node /scripts/jd_super_box.js >> /scripts/logs/jd_super_box.log 2>&1 -# 京东压岁钱 -20 8,12 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 -# 京东压岁钱抢百元卡 -0 9,12,16,20 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index 66de828b..da5decac 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -225,6 +225,7 @@ async function jdCrazyJoy() { for (let i = 0; i < $.joyIds.length; ++i) { if (!$.canBuy) { + $.log(`金币不足,跳过购买`) break } if ($.joyIds[i] === 0) { @@ -261,6 +262,7 @@ async function jdCrazyJoy() { } } if (idx === '34' && vo.length >= 8) { + await getCoin() if ($.coin >= 6000000000000000) { //当存在8个34级JOY,并且剩余金币可为后面继续合成两只新的34级JOY(按全部用30级JOY合成一只34级JOY计算需:1.66T * 2 * 2 * 2 * 2 = 26.56T = 2.6Q)时,则此条件下合并两个34级JOY $.log(`开始合并两只${idx}级joy\n`) From cd493ff6604bea4ab2baf5c2f36678fe9ca462c4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 09:55:47 +0800 Subject: [PATCH 1190/1259] =?UTF-8?q?IOS=E8=AE=A2=E9=98=85=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=AC=E4=B8=9C=E5=8E=8B=E5=B2=81=E9=92=B1=E5=92=8C?= =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=8E=8B=E5=B2=81=E9=92=B1=E6=8A=A2=E7=99=BE?= =?UTF-8?q?=E5=85=83=E5=8D=A1=E8=84=9A=E6=9C=AC,=E5=8E=8B=E5=B2=81?= =?UTF-8?q?=E9=92=B1=E8=84=9A=E6=9C=AC=E4=BA=92=E5=8A=A9=E7=A0=81=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F=E4=B8=BA=20JDNY=5FSHARECODES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 36 ++++++++++++++++------------ QuantumultX/lxk0301_gallery.json | 12 ++++++---- Surge/lxk0301_Task.sgmodule.sgmodule | 12 ++++++---- docker/crontab_list.sh | 4 ++-- githubAction.md | 3 +-- jd_newYearMoney.js | 4 ++-- 6 files changed, 40 insertions(+), 31 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 90170dae..de2bf1ee 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车兑换 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 - # 京东汽车 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 +# 京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院答题 -cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 - # 京东神仙书院 cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 +# 京东神仙书院答题 +cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -118,24 +118,30 @@ cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd # 点点券 cron "10 0,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js,tag=点点券 +# 京东压岁钱 +cron "20 8,12 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱 + +# 京东压岁钱抢百元卡 +cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡 + # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽AR -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR - -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 京东炸年兽🧨 cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 820d4d71..ef39796e 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -35,12 +35,14 @@ "3 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js, tag=京东摇钱树, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyqs.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js, tag=京东秒秒币, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_ms.jpg, enabled=true", "10 0,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 91ff92de..96af389e 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,8 +14,8 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -26,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js +京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -45,12 +45,14 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东摇钱树 = type=cron,cronexp="3 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js 京东秒秒币 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=200,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js 点点券 = type=cron,cronexp="10 0,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js +京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js +京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index e34141a8..b5d86bb2 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -27,12 +27,12 @@ 34 9 * * * node /scripts/jd_xgyl.js >> /scripts/logs/jd_jd_xgyl.log 2>&1 # 京东手机年终奖(活动时间:2021年1月26日~2021年2月8日) 15 0 * * * node /scripts/jd_festival.js >> /scripts/logs/jd_festival.log 2>&1 +# 盲盒抽京豆(活动时间:2021年1月6日~2021年2月5日) +1 7 * * * node /scripts/jd_mh.js >> /scripts/logs/jd_mh.log 2>&1 # 京东压岁钱(活动时间:2021-2-1至2021-2-11) 20 8,12 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 # 京东压岁钱抢百元卡(活动时间:2021-2-1至2021-2-11) 0 9,12,16,20 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 -# 盲盒抽京豆(活动时间:2021年1月6日~2021年2月5日) -1 7 * * * node /scripts/jd_mh.js >> /scripts/logs/jd_mh.log 2>&1 ##############长期活动############## diff --git a/githubAction.md b/githubAction.md index 2036b252..923cd6fa 100644 --- a/githubAction.md +++ b/githubAction.md @@ -51,7 +51,7 @@ | `JDSGMH_SHARECODES` | 闪购盲盒互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDSXSY_SHARECODES` | 京东神仙书院
互助码 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | - +| `JDNY_SHARECODES` | 京东压岁钱
互助码 | 非必须 | 未知/未知 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | ##### 控制脚本功能环境变量 @@ -87,7 +87,6 @@ | `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | | `DREAMFACTORY_FORBID_ACCOUNT`| 京喜工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行京喜工厂脚本,注:输入`0`,代表全部账号不运行京喜工厂脚本 | | `JDFACTORY_FORBID_ACCOUNT`| 东东工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行东东工厂脚本,注:输入`0`,代表全部账号不运行东东工厂脚本 | -| `FIRECRACKERS_NOTITY_BEAN`| 集鞭炮赢京豆
满足兑换 X 个京豆通知开关 | 非必须 | 默认 0 不通知,输入 120 表示满足兑换 120 个京豆时通知 | ##### 互助码的填写规则 diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 7f50c4ad..ddb768e8 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -48,8 +48,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo`, - `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo`, + `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40leY64MXeqIV4A@oMZeXbUcqYgCBeMyZbAl-satYdK21PuqgGHNWJe9ioYocKg7`, + `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40leY64MXeqIV4A@oMZeXbUcqYgCBeMyZbAl-satYdK21PuqgGHNWJe9ioYocKg7`, ]; !(async () => { await requireConfig(); From 57354d5f153ebce14386d0fff9fc29f8229dd1f2 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 09:58:04 +0800 Subject: [PATCH 1191/1259] fix --- docker/crontab_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index b5d86bb2..5df2ca48 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -32,7 +32,7 @@ # 京东压岁钱(活动时间:2021-2-1至2021-2-11) 20 8,12 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 # 京东压岁钱抢百元卡(活动时间:2021-2-1至2021-2-11) -0 9,12,16,20 * * * node /scripts/jd_newYearMoney.js >> /scripts/logs/jd_newYearMoney.log 2>&1 +0 9,12,16,20 * * * node /scripts/jd_newYearMoney_lottery.js >> /scripts/logs/jd_newYearMoney_lottery.log 2>&1 ##############长期活动############## From aeca907bdd04a4c7839ee798c0d51fd63b45be96 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 10:43:34 +0800 Subject: [PATCH 1192/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_818.js | 2 +- jd_blueCoin.js | 16 ++++++++++------ jd_moneyTree.js | 26 +++++++++++++++----------- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/jd_818.js b/jd_818.js index 67c4573d..8cc3ba59 100644 --- a/jd_818.js +++ b/jd_818.js @@ -88,7 +88,7 @@ let helpCode = [] // await main(); } } - // console.log($.temp) + // console.log(JSON.stringify($.temp)) })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') diff --git a/jd_blueCoin.js b/jd_blueCoin.js index d5f7f905..046626c3 100644 --- a/jd_blueCoin.js +++ b/jd_blueCoin.js @@ -81,13 +81,17 @@ const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`; coinToBeans = process.env.MARKET_COIN_TO_BEANS; } } - if (`${coinToBeans}` !== '0') { - await smtgHome();//查询蓝币数量,是否满足兑换的条件 - await PrizeIndex(); - } else { - console.log('查询到您设置的是不兑换京豆选项,现在为您跳过兑换京豆。如需兑换,请去BoxJs设置或者修改脚本coinToBeans\n') + try { + if (`${coinToBeans}` !== '0') { + await smtgHome();//查询蓝币数量,是否满足兑换的条件 + await PrizeIndex(); + } else { + console.log('查询到您设置的是不兑换京豆选项,现在为您跳过兑换京豆。如需兑换,请去BoxJs设置或者修改脚本coinToBeans\n') + } + await msgShow(); + } catch (e) { + $.logErr(e) } - await msgShow(); } } })() diff --git a/jd_moneyTree.js b/jd_moneyTree.js index b24906e3..9f35847c 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -80,18 +80,22 @@ let userInfo = null, taskInfo = [], message = '', subTitle = '', fruitTotal = 0; $.done(); }) async function jd_moneyTree() { - const userRes = await user_info(); - if (!userRes || !userRes.realName) return - await signEveryDay(); - await dayWork(); - await harvest(); - await sell(); - await myWealth(); - await stealFriendFruit() + try { + const userRes = await user_info(); + if (!userRes || !userRes.realName) return + await signEveryDay(); + await dayWork(); + await harvest(); + await sell(); + await myWealth(); + await stealFriendFruit() - $.log(`\n${message}\n`); - if (!jdNotify || jdNotify === 'false') { - $.msg($.name, subTitle, message); + $.log(`\n${message}\n`); + if (!jdNotify || jdNotify === 'false') { + $.msg($.name, subTitle, message); + } + } catch (e) { + $.logErr(e) } } function user_info() { From f12e839c924b07c8195df4b3f5156875daefb1ec Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 10:54:26 +0800 Subject: [PATCH 1193/1259] fix --- jd_dreamFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 250242b9..77a12eac 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1390,7 +1390,7 @@ function requireConfig() { } }) } else { - $.shareCodesArr = $.getdata('jd_jxFactory').split('\n').filter(item => item !== "" && item !== null && item !== undefined); + if ($.getdata('jd_jxFactory')) $.shareCodesArr = $.getdata('jd_jxFactory').split('\n').filter(item => item !== "" && item !== null && item !== undefined); console.log(`\nBoxJs设置的京喜工厂邀请码:${$.getdata('jd_jxFactory')}\n`); } // console.log(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`); From 4ed7575a8f2530f3c02b9d89b6668143b25e4c08 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 11:09:24 +0800 Subject: [PATCH 1194/1259] Update iOS task, docker cron and js list. --- Loon/lxk0301_LoonTask.conf | 30 ++++++++--------- QuantumultX/lxk0301_gallery.json | 10 +++--- README.md | 50 +++++++++++++++------------- Surge/lxk0301_Task.sgmodule.sgmodule | 10 +++--- 4 files changed, 51 insertions(+), 49 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index de2bf1ee..9c2ec9de 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车 -cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 - # 京东汽车兑换 cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 +# 京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院 -cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 - # 京东神仙书院答题 cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +# 京东神仙书院 +cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,21 +127,21 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 - # 京东炸年兽AR cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + +# 京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index ef39796e..815db60c 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,11 +38,11 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/README.md b/README.md index 2e8d5861..6aae3601 100644 --- a/README.md +++ b/README.md @@ -68,30 +68,32 @@ |36|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| |37|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| |38|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|39|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|40|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|41|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|42|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|43|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|44|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|45|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|46|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| -|47|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|48|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|49|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|50|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|51|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|52|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|53|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|54|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|55|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|56|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|57|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|58|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|59|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|60|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|61|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| -|62|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +|39|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| +|40|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| +|41|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|42|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|43|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|44|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|45|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|46|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|47|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|48|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| +|49|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|50|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|51|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|52|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|53|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|54|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|55|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|56|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|57|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|58|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|59|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|60|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|61|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|62|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|63|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| +|64|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 96af389e..958fd1ac 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,8 +14,8 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -26,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,11 +48,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js From 9b7a0062aa441c701b492305e484ced5cb0d1142 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 11:44:32 +0800 Subject: [PATCH 1195/1259] =?UTF-8?q?=E7=94=B1=E4=BA=8E=E5=90=88=E5=B9=B6j?= =?UTF-8?q?oy=E5=90=8E=E4=B8=8D=E6=96=B0=E5=A2=9E=E9=87=91=E5=B8=81,=20?= =?UTF-8?q?=E6=95=85=E8=8E=B7=E5=8F=96=E9=87=91=E5=B8=81=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E7=9A=84=E6=94=BE=E5=88=B0=E8=B4=AD=E4=B9=B0joy=E5=90=8E?= =?UTF-8?q?=E5=8D=B3=E5=8F=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 30 ++++++++++++++-------------- QuantumultX/lxk0301_gallery.json | 10 +++++----- Surge/lxk0301_Task.sgmodule.sgmodule | 10 +++++----- docker/crontab_list.sh | 2 +- jd_crazy_joy_coin.js | 3 ++- jd_immortal.js | 8 ++++---- 6 files changed, 32 insertions(+), 31 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 9c2ec9de..9d5a4238 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车兑换 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 - # 京东汽车 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 +# 京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 +# 京东神仙书院 +cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 + # 京东神仙书院答题 cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 -# 京东神仙书院 -cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 - # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,21 +127,21 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽AR -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR - -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 京东炸年兽🧨 cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 815db60c..674a9ba3 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,11 +38,11 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 958fd1ac..e1a294cf 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,8 +14,8 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -26,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js +京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js -京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,11 +48,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 5df2ca48..595692a3 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -15,7 +15,7 @@ # 京东炸年兽小程序 50 0,1,8 * * * node /scripts/jd_nian_wechat.js >> /scripts/logs/jd_nian_wechat.log 2>&1 # 京东神仙书院(活动时间:2021-1-20至2021-2-5) -30 6 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 +30 6,8,12,22 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 # 京东神仙书院答题(活动时间:2021-1-20至2021-2-5) 5 1 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 # 5G狂欢城(2021-1-30至2021-2-4) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index da5decac..c845e57a 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -233,6 +233,7 @@ async function jdCrazyJoy() { await $.wait(1000) await getJoyList() await $.wait(1000) + await getCoin(); } } @@ -262,7 +263,6 @@ async function jdCrazyJoy() { } } if (idx === '34' && vo.length >= 8) { - await getCoin() if ($.coin >= 6000000000000000) { //当存在8个34级JOY,并且剩余金币可为后面继续合成两只新的34级JOY(按全部用30级JOY合成一只34级JOY计算需:1.66T * 2 * 2 * 2 * 2 = 26.56T = 2.6Q)时,则此条件下合并两个34级JOY $.log(`开始合并两只${idx}级joy\n`) @@ -609,6 +609,7 @@ function getCoin() { } if (data.data && data.data.totalCoinAmount) { $.coin = data.data.totalCoinAmount; + $.log(`当前金币:${$.coin}\n`) } else { $.coin = `获取当前金币数量失败` } diff --git a/jd_immortal.js b/jd_immortal.js index 8299937e..b32aa7fd 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -13,17 +13,17 @@ boxjs IMMORTAL_LATLON ============Quantumultx=============== [task_local] #京东神仙书院 -20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true +20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true ================Loon============== [Script] -cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 +cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 ===============Surge================= -京东神仙书院 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js +京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js ============小火箭========= -京东神仙书院 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, cronexpr="20 8 * * *", timeout=3600, enable=true +京东神仙书院 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, cronexpr="20 8,12,22 * * *", timeout=3600, enable=true */ const $ = new Env('京东神仙书院'); From dae4bda3d1cdf11079d5cab229af9fb94ed67f3a Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 12:43:58 +0800 Subject: [PATCH 1196/1259] =?UTF-8?q?=E5=B0=8F=E5=8F=B7=E9=80=81=E5=8D=A1?= =?UTF-8?q?=E9=A2=86=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_newYearMoney.js | 151 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 133 insertions(+), 18 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 7f50c4ad..717dfcd5 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -31,12 +31,13 @@ let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; +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 = () => {}; + if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { + }; } else { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); @@ -48,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo`, - `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt`, ]; !(async () => { await requireConfig(); @@ -80,6 +81,30 @@ const inviteCodes = [ 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}!`, '') @@ -95,7 +120,7 @@ async function jdNian() { $.total = 0 await getHomeData() await $.wait(2000) - if($.risk) return + if ($.risk) return await getHomeData(true) await helpFriends() } catch (e) { @@ -103,9 +128,15 @@ async function jdNian() { } } +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 (!$.risk) message += `本次运行获得${Math.round($.red * 100) / 100}红包,共计红包${$.total}` if (!jdNotify) { $.msg($.name, '', `${message}`); } else { @@ -120,7 +151,7 @@ async function helpFriends() { for (let code of $.newShareCodes) { if (!code) continue await helpFriend(code) - if(!$.canHelp) return + if (!$.canHelp) return await $.wait(2000) } } @@ -136,16 +167,23 @@ function getHomeData(info = false) { data = JSON.parse(data); if (data && data.data['bizCode'] === 0) { const {inviteId, poolMoney} = data.data.result.userActBaseInfo - if(info) { + $.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}`) - $.cardList = data.data.result.cardInfos - for(let i=1;i<=6;++i){ - let cards = data.data.result.cardInfos.filter(vo=>vo.cardType===i) - for(let j=0;j 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}`) @@ -191,9 +229,10 @@ function lotteryHundredCard() { }) }) } + function showHundredCardInfo(cardNo) { return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_showHundredCardInfo',{cardNo:cardNo}), async (err, resp, data) => { + $.post(taskPostUrl('newyearmoney_showHundredCardInfo', {cardNo: cardNo}), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -215,9 +254,10 @@ function showHundredCardInfo(cardNo) { }) }) } + function receiveHundredCard(cardNo) { return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_receiveHundredCard',{cardNo:cardNo}), async (err, resp, data) => { + $.post(taskPostUrl('newyearmoney_receiveHundredCard', {cardNo: cardNo}), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -239,9 +279,10 @@ function receiveHundredCard(cardNo) { }) }) } + function consumeCard(cardNo) { return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_consumeCard',{"cardNo":cardNo}), async (err, resp, data) => { + $.post(taskPostUrl('newyearmoney_consumeCard', {"cardNo": cardNo}), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -265,9 +306,59 @@ function consumeCard(cardNo) { }) }) } + +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 helpFriend(inviteId) { return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_assist',{inviteId:inviteId}), async (err, resp, data) => { + $.post(taskPostUrl('newyearmoney_assist', {inviteId: inviteId}), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -278,7 +369,7 @@ function helpFriend(inviteId) { console.log(data.data.result.msg) } else { console.log(data.data.bizMsg) - if(data.data.bizCode===-523){ + if (data.data.bizCode === -523) { $.canHelp = false } } @@ -291,6 +382,7 @@ function helpFriend(inviteId) { }) }) } + function readShareCode() { console.log(`开始`) return new Promise(async resolve => { @@ -353,6 +445,28 @@ function requireConfig() { 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) => { @@ -447,5 +561,6 @@ function jsonParse(str) { } } } + // 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)} From f7011245ad15e2bea3b3f311e43cc479a932ac85 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 12:45:39 +0800 Subject: [PATCH 1197/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BB=B6=E8=BF=9F1?= =?UTF-8?q?=E7=A7=92,=E9=81=BF=E5=85=8D=E5=87=BA=E7=8E=B0=E5=90=88?= =?UTF-8?q?=E5=B9=B6=E5=8D=A1=E7=89=87=E5=A4=B1=E8=B4=A5=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_newYearMoney.js | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index ddb768e8..5732e891 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -241,28 +241,30 @@ function receiveHundredCard(cardNo) { } function consumeCard(cardNo) { return new Promise((resolve) => { - $.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}红包`) + setTimeout(() => { + $.post(taskPostUrl('newyearmoney_consumeCard',{"cardNo":cardNo}), async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) } else { - $.risk = true - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` + 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(); } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) + }) + }, 1000) }) } function helpFriend(inviteId) { From b4717746b322251267333032d88d1823a2dd6c96 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 12:46:51 +0800 Subject: [PATCH 1198/1259] merge remote --- jd_newYearMoney.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 5732e891..2dcd6fa3 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -48,8 +48,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40leY64MXeqIV4A@oMZeXbUcqYgCBeMyZbAl-satYdK21PuqgGHNWJe9ioYocKg7`, - `vcZlG6w0w8MoYaRNQO88s64MRrPevSiBlZZmrnhvIYCEMQ@oMZeXe9K8o8BBeMxYrEk_m16ERwOhASbAsCDDExyAjBScoVo@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40leY64MXeqIV4A@oMZeXbUcqYgCBeMyZbAl-satYdK21PuqgGHNWJe9ioYocKg7`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPICgwBY@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40leY64MXeqIV4A@oMZeXbUcqYgCBeMyZbAl-satYdK21PuqgGHNWJe9ioYocKg7`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40leY64MXeqIV4A@oMZeXbUcqYgCBeMyZbAl-satYdK21PuqgGHNWJe9ioYocKg7`, ]; !(async () => { await requireConfig(); From c342a2628b88631a6dda00ddbf02b8729dee0aa5 Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 12:51:26 +0800 Subject: [PATCH 1199/1259] =?UTF-8?q?=E5=B0=8F=E5=8F=B7=E5=90=88=E5=8D=A1?= =?UTF-8?q?=E9=A2=86=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_newYearMoney.js | 96 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 81 insertions(+), 15 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 2dcd6fa3..0a312c6b 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -31,12 +31,13 @@ let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; +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 = () => {}; + if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { + }; } else { let cookiesData = $.getdata('CookiesJD') || "[]"; cookiesData = jsonParse(cookiesData); @@ -80,6 +81,30 @@ const inviteCodes = [ 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}!`, '') @@ -95,7 +120,7 @@ async function jdNian() { $.total = 0 await getHomeData() await $.wait(2000) - if($.risk) return + if ($.risk) return await getHomeData(true) await helpFriends() } catch (e) { @@ -103,9 +128,15 @@ async function jdNian() { } } +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 (!$.risk) message += `本次运行获得${Math.round($.red * 100) / 100}红包,共计红包${$.total}` if (!jdNotify) { $.msg($.name, '', `${message}`); } else { @@ -120,7 +151,7 @@ async function helpFriends() { for (let code of $.newShareCodes) { if (!code) continue await helpFriend(code) - if(!$.canHelp) return + if (!$.canHelp) return await $.wait(2000) } } @@ -136,16 +167,24 @@ function getHomeData(info = false) { data = JSON.parse(data); if (data && data.data['bizCode'] === 0) { const {inviteId, poolMoney} = data.data.result.userActBaseInfo - if(info) { + $.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}`) - $.cardList = data.data.result.cardInfos - for(let i=1;i<=6;++i){ - let cards = data.data.result.cardInfos.filter(vo=>vo.cardType===i) - for(let j=0;j 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}`) @@ -191,9 +230,10 @@ function lotteryHundredCard() { }) }) } + function showHundredCardInfo(cardNo) { return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_showHundredCardInfo',{cardNo:cardNo}), async (err, resp, data) => { + $.post(taskPostUrl('newyearmoney_showHundredCardInfo', {cardNo: cardNo}), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -215,9 +255,10 @@ function showHundredCardInfo(cardNo) { }) }) } + function receiveHundredCard(cardNo) { return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_receiveHundredCard',{cardNo:cardNo}), async (err, resp, data) => { + $.post(taskPostUrl('newyearmoney_receiveHundredCard', {cardNo: cardNo}), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -239,6 +280,7 @@ function receiveHundredCard(cardNo) { }) }) } + function consumeCard(cardNo) { return new Promise((resolve) => { setTimeout(() => { @@ -267,9 +309,10 @@ function consumeCard(cardNo) { }, 1000) }) } + function helpFriend(inviteId) { return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_assist',{inviteId:inviteId}), async (err, resp, data) => { + $.post(taskPostUrl('newyearmoney_assist', {inviteId: inviteId}), async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -280,7 +323,7 @@ function helpFriend(inviteId) { console.log(data.data.result.msg) } else { console.log(data.data.bizMsg) - if(data.data.bizCode===-523){ + if (data.data.bizCode === -523) { $.canHelp = false } } @@ -293,6 +336,7 @@ function helpFriend(inviteId) { }) }) } + function readShareCode() { console.log(`开始`) return new Promise(async resolve => { @@ -355,6 +399,28 @@ function requireConfig() { 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) => { From 8c6bde5df1e0c19420ddabb7434b2299ca3f29ca Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 13:14:08 +0800 Subject: [PATCH 1200/1259] Automatically updated by Evine's NAS --- Loon/lxk0301_LoonTask.conf | 30 ++++++++++++++-------------- QuantumultX/lxk0301_gallery.json | 10 +++++----- Surge/lxk0301_Task.sgmodule.sgmodule | 10 +++++----- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 9d5a4238..173897f6 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车 -cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 - # 京东汽车兑换 cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 +# 京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院 -cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 - # 京东神仙书院答题 cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +# 京东神仙书院 +cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,21 +127,21 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 - # 京东炸年兽AR cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + +# 京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 674a9ba3..0738d7b6 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,11 +38,11 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index e1a294cf..76ec1e6f 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,8 +14,8 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -26,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,11 +48,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js From f7a871013755082e291483f06c301ad4b0f8c3bd Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 13:18:03 +0800 Subject: [PATCH 1201/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_newYearMoney.js | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 0a312c6b..9f8cd418 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -364,6 +364,54 @@ function readShareCode() { 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() { From 68f92cf53bb7b1aef1f7b6f9ea556373d2285f32 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 13:58:01 +0800 Subject: [PATCH 1202/1259] =?UTF-8?q?IOS=E9=80=9A=E7=9F=A5=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=BD=93=E5=89=8D=E4=BA=94=E7=A6=8F=E6=B1=AA=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5,=E4=BE=8B=E5=A6=82=20=E4=BA=94=E7=A6=8F?= =?UTF-8?q?=E6=B1=AA=E6=83=85=E5=86=B5:=E7=9C=81=E9=92=B1JOY(5=E5=8F=AA)?= =?UTF-8?q?=20=E5=A4=9A=E5=A4=9AJOY(10=E5=8F=AA)=20=E5=A5=BD=E7=89=A9JOY(1?= =?UTF-8?q?0=E5=8F=AA)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_cash.js | 2 +- jd_crazy_joy.js | 49 +++++++++++++++++++++++++++++++++++++++++++- jd_crazy_joy_coin.js | 4 ++-- jd_newYearMoney.js | 4 ++-- 4 files changed, 53 insertions(+), 6 deletions(-) diff --git a/jd_cash.js b/jd_cash.js index b58c9220..e69f479c 100644 --- a/jd_cash.js +++ b/jd_cash.js @@ -29,7 +29,7 @@ let cookiesArr = [], cookie = '', message; let helpAuthor = true; const randomCount = $.isNode() ? 20 : 5; const inviteCodes = [ - `-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaO7jMvwh-W_VzyUX0Q@eU9YaurkY69zoj3UniVAgg@eU9YaOnjYK4j-GvWmXIWhA`, + `YFjh6Vll-l3zb9cCf_U@aURoM7PtY_Q@eU9YL5XqGLxSmRSAkwxR@eU9YaO7jMvwh-W_VzyUX0Q@eU9YaurkY69zoj3UniVAgg@eU9YaOnjYK4j-GvWmXIWhA`, `-4msulYas0O2JsRhE-2TA5XZmBQ@eU9Yar_mb_9z92_WmXNG0w@eU9YaO7jMvwh-W_VzyUX0Q@eU9YaurkY69zoj3UniVAgg@eU9YaOnjYK4j-GvWmXIWhA` ] if ($.isNode()) { diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index a2f92c23..876b9d88 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -274,6 +274,7 @@ async function jdCrazyJoy() { console.log(`检测您打开了自动兑换开关,去兑换京豆`) await doApplyJdBean(applyJdBean) } + await getSpecialJoy(); await showMsg(); } async function doTasks() { @@ -607,6 +608,52 @@ function getGrowthReward() { }) }) } +//获取特殊JOY情况 +function getSpecialJoy() { + return new Promise(async resolve => { + const body = { "paramData":{"typeId": 4} }; + $.get(taskUrl('crazyJoy_user_getSpecialJoy', JSON.stringify(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['resultCode'] === '0') { + if (data.data) { + message += '五福汪情况:' + for (let item of data['data']) { + if (item['joyId'] === 1003) { + message += `多多JOY(${item['count']}只) ` + } else if (item['joyId'] === 1004) { + message += `快乐JOY(${item['count']}只) ` + } else if (item['joyId'] === 1005) { + message += `好物JOY(${item['count']}只) ` + } else if (item['joyId'] === 1006) { + message += `省钱JOY(${item['count']}只) ` + } else if (item['joyId'] === 1007) { + message += `东东JOY(${item['count']}只)` + } else { + message += `暂无` + } + } + if (data['data'].length >= 5) { + $.msg($.name, '', `京东账号 ${$.index}${$.nickName}\n恭喜你,已集成五福汪可合成分红JOY了`) + if ($.isNode()) await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `京东账号 ${$.index}${$.nickName}\n恭喜你,已集成五福汪可合成分红JOY了`); + } + } + } + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) +} function obtainAward(eventRecordId) { return new Promise(async resolve => { const body = {"eventType": "GROWTH_REWARD", eventRecordId}; @@ -633,7 +680,7 @@ function obtainAward(eventRecordId) { } function showMsg() { return new Promise(async resolve => { - message += `当前信息:${$.bean}京豆,${$.coin}金币` + message += `\n当前信息:${$.bean}京豆,${$.coin}金币` $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`) resolve() }) diff --git a/jd_crazy_joy_coin.js b/jd_crazy_joy_coin.js index c845e57a..e1d8937f 100644 --- a/jd_crazy_joy_coin.js +++ b/jd_crazy_joy_coin.js @@ -456,13 +456,13 @@ function mergeJoy(x, y) { case 1006: return '省钱JOY' case 1007: - return '咚咚JOY' + return '东东JOY' default: return '未知JOY' } } console.log(`合并成功,获得${level(data.data.newJoyId)}级Joy`) - if (level(data.data.newJoyId) === '咚咚JOY' && $.isNode()) await notify.sendNotify($.name, `京东账号${$.index} ${$.nickName}\n合并成功,获得${level(data.data.newJoyId)}级Joy`) + if (data.data.newJoyId === 1007 && $.isNode()) await notify.sendNotify($.name, `京东账号${$.index} ${$.nickName}\n合并成功,获得${level(data.data.newJoyId)}级Joy`) } else { console.log(`合并成功,获得${data.data.newJoyId}级Joy`) } diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 9f8cd418..24edb57a 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `ucp4UudBqMcbT-J9e_xx-UMQA96VZPICgwBY@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40leY64MXeqIV4A@oMZeXbUcqYgCBeMyZbAl-satYdK21PuqgGHNWJe9ioYocKg7`, - `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40leY64MXeqIV4A@oMZeXbUcqYgCBeMyZbAl-satYdK21PuqgGHNWJe9ioYocKg7`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPICgwBY@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@oMZeX-MZptlSCucyZbF1rd5yz0h4UH_HSfqqFbMlZzbejPBD@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcfydoErpcyMu`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@oMZeX-MZptlSCucyZbF1rd5yz0h4UH_HSfqqFbMlZzbejPBD@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcfydoErpcyMu`, ]; !(async () => { await requireConfig(); From da3190b92e5ba2e0a840c7b8944fee3c143034f5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 14:35:04 +0800 Subject: [PATCH 1203/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B8=AE=E5=8A=A9?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B=EF=BC=8C=E5=87=BA=E7=8E=B0=E7=82=B9=E5=A4=AA?= =?UTF-8?q?=E5=BF=AB=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_newYearMoney.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 24edb57a..c90fcb2b 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -152,7 +152,7 @@ async function helpFriends() { if (!code) continue await helpFriend(code) if (!$.canHelp) return - await $.wait(2000) + await $.wait(3000) } } From 34121b6bf0560fffa21f1ea154459b906c501d75 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 1 Feb 2021 16:50:43 +0800 Subject: [PATCH 1204/1259] update --- jd_newYearMoney.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index c90fcb2b..0d8ac233 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `ucp4UudBqMcbT-J9e_xx-UMQA96VZPICgwBY@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@oMZeX-MZptlSCucyZbF1rd5yz0h4UH_HSfqqFbMlZzbejPBD@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcfydoErpcyMu`, - `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@oMZeX-MZptlSCucyZbF1rd5yz0h4UH_HSfqqFbMlZzbejPBD@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcfydoErpcyMu`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPICgwBY@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@oMZeGJ8Q3ssja5hkb88ysz1myVkiBAsZmXvj1VVm0_HgAmA@udHn3lOfPCqCnVvmgzY8s7L3GtTvpSi9zyMcRoTjqfxLhw`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@oMZeGJ8Q3ssja5hkb88ysz1myVkiBAsZmXvj1VVm0_HgAmA@udHn3lOfPCqCnVvmgzY8s7L3GtTvpSi9zyMcRoTjqfxLhw`, ]; !(async () => { await requireConfig(); From e92b375afc044647bc49196b061e0416f39b567e Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 18:04:18 +0800 Subject: [PATCH 1205/1259] =?UTF-8?q?=E5=A4=A9=E9=99=8D=E7=88=86=E7=AB=B9?= =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E4=BA=92=E5=8A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 179 insertions(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 2d35b22e..ec61ea5b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -29,7 +29,7 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 const randomCount = $.isNode() ? 20 : 5; //IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; +let cookiesArr = [], cookie = '', message, superAssist = []; if ($.isNode()) { Object.keys(jdCookieNode).forEach((item) => { cookiesArr.push(jdCookieNode[item]) @@ -82,6 +82,28 @@ const pkInviteCodes = [ await jdNian() } } + + 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 helpSuper() + } + } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -121,6 +143,8 @@ async function jdNian() { await $.wait(2000) await helpFriends() await $.wait(2000) + await getSpecialGiftDetail() + await $.wait(2000) await getHomeData(true) await showMsg() } catch (e) { @@ -165,6 +189,15 @@ async function helpFriends() { } } +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 @@ -1065,6 +1098,151 @@ function killCoupon(skuId) { }) } +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) { + 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 readShareCode() { console.log(`开始`) return new Promise(async resolve => { From ed6e0ba47141ca54b9d78a7ae559c11099bf76aa Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 1 Feb 2021 20:05:58 +0800 Subject: [PATCH 1206/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index ec61ea5b..46a34b30 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -82,7 +82,7 @@ const pkInviteCodes = [ await jdNian() } } - + if(superAssist.length) for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; From b8819f9cf6500932117f818f3e0d8a293bc73762 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 2 Feb 2021 00:06:23 +0800 Subject: [PATCH 1207/1259] debuge --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 46a34b30..4fdfb884 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENg@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibS@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDe@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_aw@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9Q', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENg@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibS@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDe@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_aw@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9Q' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf' ] !(async () => { await requireConfig(); From 3863c796fea0bbbab221c8e7ddc65b045eb72582 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 07:42:56 +0800 Subject: [PATCH 1208/1259] jd_newYearMoney.js --- jd_newYearMoney.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 0d8ac233..150d8fb7 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `ucp4UudBqMcbT-J9e_xx-UMQA96VZPICgwBY@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@oMZeGJ8Q3ssja5hkb88ysz1myVkiBAsZmXvj1VVm0_HgAmA@udHn3lOfPCqCnVvmgzY8s7L3GtTvpSi9zyMcRoTjqfxLhw`, - `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@oMZeGJ8Q3ssja5hkb88ysz1myVkiBAsZmXvj1VVm0_HgAmA@udHn3lOfPCqCnVvmgzY8s7L3GtTvpSi9zyMcRoTjqfxLhw`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPICgwBY@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@sM1uBLkXpYMbT64xe_w8_kRvuJH61i9EFx9HXw@oMZeXu5Nod1UAbY1ZrB4_Hors4ZLQ_-Owd64xO5a5HY66IcF`, + `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@sM1uBLkXpYMbT64xe_w8_kRvuJH61i9EFx9HXw@oMZeXu5Nod1UAbY1ZrB4_Hors4ZLQ_-Owd64xO5a5HY66IcF`, ]; !(async () => { await requireConfig(); From bd6fe279cc88fe81231d157d8d0fcbe98f08d0aa Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 08:18:11 +0800 Subject: [PATCH 1209/1259] jd_nian.js --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 4fdfb884..732e7a23 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a0 @IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9A', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a0 @IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9A' ] !(async () => { await requireConfig(); From b432d560589fecee61f5d4d778525cf5cab89850 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 2 Feb 2021 09:12:16 +0800 Subject: [PATCH 1210/1259] debug --- jd_newYearMoney.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 150d8fb7..3ecd3f9c 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `ucp4UudBqMcbT-J9e_xx-UMQA96VZPICgwBY@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@sM1uBLkXpYMbT64xe_w8_kRvuJH61i9EFx9HXw@oMZeXu5Nod1UAbY1ZrB4_Hors4ZLQ_-Owd64xO5a5HY66IcF`, - `ucp4UudBqMcbT-J9e_xx-UMQA96VZPMNgwJW@oMZeX7Mco4wGBrBiNLAl-NqgPbNWoqjpA9BIHLl_7Z2uC4Bt@sM1uBLkXpYMbT64xe_w8_kRvuJH61i9EFx9HXw@oMZeXu5Nod1UAbY1ZrB4_Hors4ZLQ_-Owd64xO5a5HY66IcF`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@sM1uBLkXpYMbT64xe_w8_kRvuJH61i9EFx9HXw@oMZeXu5Nod1UAbY1ZrB4_Hors4ZLQ_-Owd64xO5a5HY66IcF`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@sM1uBLkXpYMbT64xe_w8_kRvuJH61i9EFx9HXw@oMZeXu5Nod1UAbY1ZrB4_Hors4ZLQ_-Owd64xO5a5HY66IcF`, ]; !(async () => { await requireConfig(); From d9adcd4023c1eb2eb831f078ce3b9341e87bc914 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 10:10:40 +0800 Subject: [PATCH 1211/1259] fix --- jd_moneyTree.js | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/jd_moneyTree.js b/jd_moneyTree.js index 9f35847c..f434c6e1 100644 --- a/jd_moneyTree.js +++ b/jd_moneyTree.js @@ -336,23 +336,28 @@ function signIndex() { } function signEveryDay() { return new Promise(async (resolve) => { - let signIndexRes = await signIndex(); - if (signIndexRes.resultCode === 0) { - console.log(`每日签到条件查询:${signIndexRes.resultData.data.canSign === 2 ? '可以签到' : '已经签到过了'}`); - if (signIndexRes.resultData && signIndexRes.resultData.data.canSign == 2) { - console.log('准备每日签到') - let signOneRes = await signOne(signIndexRes.resultData.data.signDay); - console.log(`第${signIndexRes.resultData.data.signDay}日签到结果:${JSON.stringify(signOneRes)}`); - if (signIndexRes.resultData.data.signDay === 7) { - let getSignAwardRes = await getSignAward(); - console.log(`店铺券(49-10)领取结果:${JSON.stringify(getSignAwardRes)}`) - if (getSignAwardRes.resultCode === 0 && getSignAwardRes.data.code === 0) { - message += `【7日签到奖励领取】${getSignAwardRes.datamessage}\n` + try { + let signIndexRes = await signIndex(); + if (signIndexRes.resultCode === 0) { + console.log(`每日签到条件查询:${signIndexRes.resultData.data.canSign === 2 ? '可以签到' : '已经签到过了'}`); + if (signIndexRes.resultData && signIndexRes.resultData.data.canSign == 2) { + console.log('准备每日签到') + let signOneRes = await signOne(signIndexRes.resultData.data.signDay); + console.log(`第${signIndexRes.resultData.data.signDay}日签到结果:${JSON.stringify(signOneRes)}`); + if (signIndexRes.resultData.data.signDay === 7) { + let getSignAwardRes = await getSignAward(); + console.log(`店铺券(49-10)领取结果:${JSON.stringify(getSignAwardRes)}`) + if (getSignAwardRes.resultCode === 0 && getSignAwardRes.data.code === 0) { + message += `【7日签到奖励领取】${getSignAwardRes.datamessage}\n` + } } } } + } catch (e) { + $.logErr(e); + } finally { + resolve() } - resolve() }) } function signOne(signDay) { From 95aa7209b73601c79754db0942bfa1e7612dd664 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 10:49:54 +0800 Subject: [PATCH 1212/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 732e7a23..14337863 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -46,8 +46,8 @@ if ($.isNode()) { } 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` + `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs`, + `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs` ]; const pkInviteCodes = [ 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a0 @IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9A', @@ -344,7 +344,7 @@ function getHomeData(info = false) { $.secretp = null return } - console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨`) + console.log(`\n\n当前等级:${$.userInfo.raiseInfo.curMaxLevel}\n当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨\n\n`) if (info) { message += `当前爆竹${$.userInfo.raiseInfo.remainScore}🧨\n` @@ -619,7 +619,7 @@ function getTaskList(body = {}) { if (data.data.bizCode === 0) { if (JSON.stringify(body) === "{}") { $.taskVos = data.data.result.taskVos;//任务列表 - console.log(`您的好友助力码为${data.data.result.inviteId}`) + console.log(`\n\n您的好友助力码为${data.data.result.inviteId}\n\n`) } // $.userInfo = data.data.result.userInfo; } @@ -838,7 +838,7 @@ function pkInfo() { if (safeGet(data)) { data = JSON.parse(data); if (data.code === 0 && data.data && data.data.bizCode === 0) { - console.log(`\n您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}\n注:此pk邀请码每天都变!`) + 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) From e8584faed3aa6c9270523bcd1a02332d3948f3e4 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 11:58:44 +0800 Subject: [PATCH 1213/1259] update --- jd_5g.js | 2 +- jd_818.js | 2 +- jd_bean_home.js | 2 +- jd_dreamFactory.js | 2 +- jd_jdzz.js | 2 +- jd_small_home.js | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/jd_5g.js b/jd_5g.js index bb7f96d0..669b3aa0 100644 --- a/jd_5g.js +++ b/jd_5g.js @@ -746,7 +746,7 @@ function jsonParse(str) { } } } -function updateShareCodes(url = 'https://gitee.com/lxk0301/updateTeam/raw/master/jd_818.json') { +function updateShareCodes(url = 'https://gitee.com/lxk0301/updateTeam/raw/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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0")} diff --git a/jd_818.js b/jd_818.js index 8cc3ba59..972e14d5 100644 --- a/jd_818.js +++ b/jd_818.js @@ -858,7 +858,7 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/LXK9301/updat }) }) } -function updateShareCodesCDN(url = 'https://gitee.com/lxk0301/updateTeam/raw/master/jd_shareCodes.json') { +function updateShareCodesCDN(url = 'https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_shareCodes.json') { return new Promise(resolve => { //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json $.get({url}, async (err, resp, data) => { diff --git a/jd_bean_home.js b/jd_bean_home.js index 11401989..65ba1faf 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -188,7 +188,7 @@ function getAuthorShareCode() { } function getAuthorShareCode2() { return new Promise(resolve => { - $.get({url: "https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateBeanHome.json",headers:{ + $.get({url: "https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_updateBeanHome.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 { diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index 77a12eac..11ea4bce 100644 --- a/jd_dreamFactory.js +++ b/jd_dreamFactory.js @@ -1373,7 +1373,7 @@ function shareCodesFormat() { } function requireConfig() { return new Promise(async resolve => { - await updateTuanIdsCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateFactoryTuanId.json'); + await updateTuanIdsCDN('https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_updateFactoryTuanId.json'); if ($.tuanIdS && $.tuanIdS.tuanActiveId) { tuanActiveId = $.tuanIdS.tuanActiveId; } diff --git a/jd_jdzz.js b/jd_jdzz.js index 22a922e2..4701029c 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -53,7 +53,7 @@ const inviteCodes = [ $.tuanList = [] await requireConfig(); if (helpAuthor) await getAuthorShareCode('https://gitee.com/shylocks/updateTeam/raw/main/jd_zz.json'); - if (helpAuthor) await getAuthorShareCode('https://gitee.com/lxk0301/updateTeam/raw/master/jd_zz.json'); + if (helpAuthor) await getAuthorShareCode('https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_zz.json'); 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; diff --git a/jd_small_home.js b/jd_small_home.js index d847cda3..91f699e6 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -148,9 +148,9 @@ async function doChannelsListTask(taskId, taskType) { } } async function helpFriends() { - await updateInviteCode(); + // await updateInviteCode(); // if (!$.inviteCodes) await updateInviteCodeCDN(); - await updateInviteCodeCDN('https://gitee.com/lxk0301/updateTeam/raw/master/jd_updateSmallHomeInviteCode.json'); + await updateInviteCodeCDN('https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_updateSmallHomeInviteCode.json'); if ($.inviteCodes && $.inviteCodes['inviteCode']) { for (let item of $.inviteCodes.inviteCode) { if (!item) continue From 3df8adf63ec34144ce84108ad36268ea7ed085a6 Mon Sep 17 00:00:00 2001 From: AboutCXJ <290361272@qq.com> Date: Tue, 2 Feb 2021 12:33:39 +0800 Subject: [PATCH 1214/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=88=86=E9=92=9F=E6=95=B0=E5=B8=A6=E6=9C=890=E5=BC=80?= =?UTF-8?q?=E5=A4=B4=E7=9A=84=E5=88=86=E9=92=9F=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?$(($RANDOM=20%=20$current=5Fmin))=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/default_task.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/default_task.sh b/docker/default_task.sh index ee813713..21166632 100644 --- a/docker/default_task.sh +++ b/docker/default_task.sh @@ -98,7 +98,7 @@ echo "删除原有docker_entrypoint.sh任务" sed -ie '/'docker_entrypoint.sh'/d' ${mergedListFile} -current_min=$(date +%M) +current_min=$(date +%-M) echo "当前分钟:${current_min}" #当前分钟大于1,则随机一个小于当前分钟的,否则为59 From 3444595a17de7ba83a3e2e9cd78d6081e9900f6e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 13:50:48 +0800 Subject: [PATCH 1215/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8DResponse=20code=204?= =?UTF-8?q?03=20(Forbidden)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_818.js | 2 +- jd_small_home.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_818.js b/jd_818.js index 972e14d5..bffd4919 100644 --- a/jd_818.js +++ b/jd_818.js @@ -861,7 +861,7 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/LXK9301/updat function updateShareCodesCDN(url = 'https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_shareCodes.json') { return new Promise(resolve => { //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json - $.get({url}, async (err, resp, data) => { + $.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0")}}, async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) diff --git a/jd_small_home.js b/jd_small_home.js index 91f699e6..725c1a4c 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -806,7 +806,7 @@ function updateInviteCode(url = 'https://raw.githubusercontent.com/LXK9301/updat } function updateInviteCodeCDN(url) { return new Promise(async resolve => { - $.get({url}, async (err, resp, data) => { + $.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0")}}, async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) From 0ab05474753a045b1cdbe6c4314b97492fda9a6d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 14:05:41 +0800 Subject: [PATCH 1216/1259] =?UTF-8?q?=E4=BC=98=E5=8C=96,=E5=87=8F=E5=B0=91?= =?UTF-8?q?=E7=BD=91=E7=BB=9C=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_818.js | 2 +- jd_small_home.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_818.js b/jd_818.js index bffd4919..86668068 100644 --- a/jd_818.js +++ b/jd_818.js @@ -65,6 +65,7 @@ let helpCode = [] return; } $.temp = []; + await updateShareCodesCDN(); for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -589,7 +590,6 @@ async function doHelp() { } // await updateShareCodes(); // if (!$.updatePkActivityIdRes) await updateShareCodesCDN(); - await updateShareCodesCDN(); if ($.updatePkActivityIdRes && $.updatePkActivityIdRes['shareCodes']) tempCode = $.updatePkActivityIdRes['shareCodes']; console.log(`是否大于当天九点🕘:${nowTime > new Date(nowTime).setHours(9, 0, 0, 0)}`) //当天大于9:00才从API里面取收集的助力码 diff --git a/jd_small_home.js b/jd_small_home.js index 725c1a4c..cd1b85e1 100644 --- a/jd_small_home.js +++ b/jd_small_home.js @@ -88,6 +88,7 @@ const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; await smallHome(); } } + await updateInviteCodeCDN('https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_updateSmallHomeInviteCode.json'); for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -150,7 +151,6 @@ async function doChannelsListTask(taskId, taskType) { async function helpFriends() { // await updateInviteCode(); // if (!$.inviteCodes) await updateInviteCodeCDN(); - await updateInviteCodeCDN('https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_updateSmallHomeInviteCode.json'); if ($.inviteCodes && $.inviteCodes['inviteCode']) { for (let item of $.inviteCodes.inviteCode) { if (!item) continue From a15fd05efbab74b0df88ee88defc3cf4def3c33c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 16:13:45 +0800 Subject: [PATCH 1217/1259] update --- jd_newYearMoney.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 3ecd3f9c..57cb8cea 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@sM1uBLkXpYMbT64xe_w8_kRvuJH61i9EFx9HXw@oMZeXu5Nod1UAbY1ZrB4_Hors4ZLQ_-Owd64xO5a5HY66IcF`, - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@sM1uBLkXpYMbT64xe_w8_kRvuJH61i9EFx9HXw@oMZeXu5Nod1UAbY1ZrB4_Hors4ZLQ_-Owd64xO5a5HY66IcF`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40lTykg-E5prKsA@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcvyWokWbX2P7`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40lTykg-E5prKsA@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcvyWokWbX2P7`, ]; !(async () => { await requireConfig(); From 9c5c028a9fc50d6d9bacb0f1dfa717e83d2517ab Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 16:20:21 +0800 Subject: [PATCH 1218/1259] update --- jd_newYearMoney.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 57cb8cea..ff8684f6 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40lTykg-E5prKsA@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcvyWokWbX2P7`, - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@IgCqjVzgdTTH1EiF7y7wKtNNekKIwZI_m613kzU40lTykg-E5prKsA@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcvyWokWbX2P7`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcvyWokWbX2P7`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcvyWokWbX2P7`, ]; !(async () => { await requireConfig(); From 8069fec5d4a19b6fc349c283f12d4d9e1bcfa653 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 16:30:16 +0800 Subject: [PATCH 1219/1259] =?UTF-8?q?=E5=A2=9E=E5=A4=A7=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4,=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=E5=A5=BD=E5=8F=8B=E5=87=BA=E7=8E=B0=E7=82=B9?= =?UTF-8?q?=E5=A4=AA=E5=BF=AB=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_newYearMoney.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index ff8684f6..a27ad549 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcvyWokWbX2P7`, - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZcvyWokWbX2P7`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls`, ]; !(async () => { await requireConfig(); @@ -152,7 +152,7 @@ async function helpFriends() { if (!code) continue await helpFriend(code) if (!$.canHelp) return - await $.wait(3000) + await $.wait(4000) } } From 05eaaf912462e862a7ea46f1a44567aca05828e8 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 16:49:25 +0800 Subject: [PATCH 1220/1259] update --- jd_newYearMoney.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index a27ad549..16210dda 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls`, - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls@oMZeXe9Kod0DCrE5M7Z1qcr4t7hsbJF9IrJMdgiso95xHVqC`, + `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls@oMZeXe9Kod0DCrE5M7Z1qcr4t7hsbJF9IrJMdgiso95xHVqC`, ]; !(async () => { await requireConfig(); From 98f8906a75fc532aaf4609fef16dd1141cb7fc6f Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Tue, 2 Feb 2021 17:31:10 +0800 Subject: [PATCH 1221/1259] =?UTF-8?q?=E5=9B=A0=E5=AE=A0=E6=B1=AA=E6=B1=AA?= =?UTF-8?q?=E8=81=9A=E5=AE=9D=E7=9B=86=E6=B4=BB=E5=8A=A8=E5=B7=B2=E4=B8=8B?= =?UTF-8?q?=E7=BA=BF=E5=81=9C=E6=AD=A2=E8=BF=90=E8=90=A5,=E6=95=85?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=AE=A0=E6=B1=AA=E6=B1=AA=E8=81=9A=E5=AE=9D?= =?UTF-8?q?=E7=9B=86=E8=BE=85=E5=8A=A9=E8=84=9A=E6=9C=AC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 33 +++++----- QuantumultX/lxk0301_cookies.conf | 3 - QuantumultX/lxk0301_gallery.json | 10 +-- README.md | 61 +++++++++---------- Surge/lxk0301_Task.sgmodule.sgmodule | 11 ++-- .../jd_petTreasureBox.js | 0 6 files changed, 55 insertions(+), 63 deletions(-) rename jd_petTreasureBox.js => activity/jd_petTreasureBox.js (100%) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 173897f6..50c30d63 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车兑换 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 - # 京东汽车 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 +# 京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院答题 -cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 - # 京东神仙书院 cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 +# 京东神仙书院答题 +cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,27 +127,24 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽AR -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR - -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 京东炸年兽🧨 cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 -# 聚宝盆投狗粮辅助 -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 - # 金融养猪 cron "12 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪 diff --git a/QuantumultX/lxk0301_cookies.conf b/QuantumultX/lxk0301_cookies.conf index 2e648010..517e14b9 100644 --- a/QuantumultX/lxk0301_cookies.conf +++ b/QuantumultX/lxk0301_cookies.conf @@ -12,8 +12,5 @@ https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-hea # 宠汪汪赛跑 ^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/user\/detail\?openId= url script-request-header https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js -# 聚宝盆投狗粮辅助 -^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js - # 小米运动 ^https:\/\/account\.huami\.com\/v2\/client\/login url script-response-body https://gitee.com/lxk0301/jd_scripts/raw/master/backUp/xmSports.js diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 0738d7b6..674a9ba3 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,11 +38,11 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/README.md b/README.md index 6aae3601..a6343027 100644 --- a/README.md +++ b/README.md @@ -37,26 +37,26 @@ |5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| |6|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |7|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|9|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| |10|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |11|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| |12|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|13|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|14|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|13|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|14|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| |15|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| |16|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| |17|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| |18|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| |19|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |20|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|21|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|22|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|21|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|22|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| |23|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |24|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|25|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|26|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|25|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| |28|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| |29|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |30|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| @@ -71,29 +71,28 @@ |39|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| |40|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| |41|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|42|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|43|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|44|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|45|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|46|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|42|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|43|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|44|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|45|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|46|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| |47|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|48|[jd_petTreasureBox.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js)|聚宝盆投狗粮辅助|京东APP我的-更多工具-宠汪汪| -|49|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|50|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|51|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|52|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|53|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|54|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|55|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|56|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|57|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|58|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|59|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|60|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|61|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|62|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|63|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| -|64|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +|48|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|49|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|50|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|51|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|52|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|53|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|54|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|55|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|56|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|57|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|58|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|59|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|60|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|61|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|62|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| +|63|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 76ec1e6f..93c752ac 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,8 +14,8 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -26,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js +京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,13 +48,12 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js -聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_petTreasureBox.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js 京东全民开红包 = type=cron,cronexp=1 1 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js diff --git a/jd_petTreasureBox.js b/activity/jd_petTreasureBox.js similarity index 100% rename from jd_petTreasureBox.js rename to activity/jd_petTreasureBox.js From df6e23adb4857a5c52ae07034846900eecb85434 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 2 Feb 2021 19:26:41 +0800 Subject: [PATCH 1222/1259] Automatically updated by evine's nas --- Loon/lxk0301_LoonTask.conf | 30 ++++++++++++++-------------- QuantumultX/lxk0301_gallery.json | 10 +++++----- README.md | 28 +++++++++++++------------- Surge/lxk0301_Task.sgmodule.sgmodule | 10 +++++----- 4 files changed, 39 insertions(+), 39 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 50c30d63..1c9762ab 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车 -cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 - # 京东汽车兑换 cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 +# 京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院 -cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 - # 京东神仙书院答题 cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +# 京东神仙书院 +cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,21 +127,21 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 - # 京东炸年兽AR cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + +# 京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 674a9ba3..0738d7b6 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,11 +38,11 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/README.md b/README.md index a6343027..6fd677d3 100644 --- a/README.md +++ b/README.md @@ -37,26 +37,26 @@ |5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| |6|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |7|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|8|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|9|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| |10|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |11|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| |12|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|13|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|14|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|13|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|14|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| |15|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| |16|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| |17|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| |18|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| |19|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |20|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|21|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|22|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|21|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|22|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| |23|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |24|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|25|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|26|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|25|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |28|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| |29|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |30|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| @@ -71,11 +71,11 @@ |39|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| |40|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| |41|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|42|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|43|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|44|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|45|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|46|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|42|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|43|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|44|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|45|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|46|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| |47|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| |48|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| |49|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 93c752ac..071797ce 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,8 +14,8 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js @@ -26,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,11 +48,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js From 18e355f24ddd887129250bfc00ecdebc684f71c1 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 2 Feb 2021 19:29:34 +0800 Subject: [PATCH 1223/1259] Automatically updated by evine's nas --- Loon/lxk0301_LoonTask.conf | 38 ++++++++++++++-------------- QuantumultX/lxk0301_gallery.json | 12 ++++----- README.md | 26 +++++++++---------- Surge/lxk0301_Task.sgmodule.sgmodule | 14 +++++----- 4 files changed, 45 insertions(+), 45 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 1c9762ab..248708a7 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -7,6 +7,9 @@ hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com +# 获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js, tag=获取多账号京东Cookie + # 5G狂欢城 cron "0 0,6,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城 @@ -25,12 +28,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车兑换 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 - # 京东汽车 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 +# 京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -49,9 +52,6 @@ cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd # 京喜工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js,tag=京喜工厂 -# 获取多账号京东Cookie -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js, tag=获取多账号京东Cookie - # 京东手机年终奖 cron "15 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院答题 -cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 - # 京东神仙书院 cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 +# 京东神仙书院答题 +cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,14 +127,14 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽AR -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR +# 京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 # 京东炸年兽领爆竹🧨 cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 -# 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 @@ -166,12 +166,12 @@ cron "16 22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # ✈️天天加速 cron "8 0-23/3 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js,tag=京东天天加速 -# 京东超级盒子 -cron "20 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js,tag=京东超级盒子 - # 东东超市 cron "11 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js,tag=东东超市 +# 京东超级盒子 +cron "20 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js,tag=京东超级盒子 + # 赚京豆 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 0738d7b6..12a1755d 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,9 +38,9 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", @@ -51,8 +51,8 @@ "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", "16 22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", - "20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "11 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", + "20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", "55 23 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", diff --git a/README.md b/README.md index 6fd677d3..6954e0e9 100644 --- a/README.md +++ b/README.md @@ -37,26 +37,26 @@ |5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| |6|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |7|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|9|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| |10|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |11|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| |12|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|13|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|14|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|13|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|14|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| |15|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| |16|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| |17|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| |18|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| |19|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |20|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|21|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|22|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|21|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|22|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| |23|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |24|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|25|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|26|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|25|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| |28|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| |29|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |30|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| @@ -71,9 +71,9 @@ |39|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| |40|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| |41|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|42|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|42|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| |43|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|44|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|44|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| |45|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| |46|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| |47|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| @@ -85,8 +85,8 @@ |53|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| |54|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| |55|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|56|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|57|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|56|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|57|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| |58|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| |59|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| |60|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 071797ce..69911be4 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,31 +8,31 @@ # Surge的Task&Cookies脚本模块地址: https://gitee.com/lxk0301/jd_scripts/raw/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js,script-update-interval=0 5G狂欢城 = type=cron,cronexp="0 0,6,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js 京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js -获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js,script-update-interval=0 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js +京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,9 +48,9 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js @@ -61,8 +61,8 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js 东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js 天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js -京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js 东东超市 = type=cron,cronexp="11 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js +京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js 赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js 注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js From a65102c1dbb48507b36f9569cf192281026bdfca Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 2 Feb 2021 19:33:17 +0800 Subject: [PATCH 1224/1259] Automatically updated by evine's nas --- Loon/lxk0301_LoonTask.conf | 38 ++++++++++++++-------------- QuantumultX/lxk0301_gallery.json | 12 ++++----- README.md | 26 +++++++++---------- Surge/lxk0301_Task.sgmodule.sgmodule | 14 +++++----- 4 files changed, 45 insertions(+), 45 deletions(-) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 248708a7..1c9762ab 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -7,9 +7,6 @@ hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# 获取多账号京东Cookie -http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js, tag=获取多账号京东Cookie - # 5G狂欢城 cron "0 0,6,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城 @@ -28,12 +25,12 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车 -cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 - # 京东汽车兑换 cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 +# 京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 @@ -52,6 +49,9 @@ cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd # 京喜工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js,tag=京喜工厂 +# 获取多账号京东Cookie +http-request https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js, tag=获取多账号京东Cookie + # 京东手机年终奖 cron "15 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖 @@ -61,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院 -cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 - # 京东神仙书院答题 cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +# 京东神仙书院 +cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,14 +127,14 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR # 京东炸年兽领爆竹🧨 cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 -# 京东炸年兽AR -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR +# 京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 @@ -166,12 +166,12 @@ cron "16 22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # ✈️天天加速 cron "8 0-23/3 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js,tag=京东天天加速 -# 东东超市 -cron "11 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js,tag=东东超市 - # 京东超级盒子 cron "20 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js,tag=京东超级盒子 +# 东东超市 +cron "11 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js,tag=东东超市 + # 赚京豆 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 12a1755d..0738d7b6 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,8 +8,8 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", @@ -19,12 +19,12 @@ "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,9 +38,9 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", @@ -51,8 +51,8 @@ "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js, tag=进店领豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_shop.png, enabled=true", "16 22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true", "8 0-23/3 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js, tag=京东天天加速, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdjs.png, enabled=true", - "11 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "20 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js, tag=京东超级盒子, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "11 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js, tag=东东超市, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true", "55 23 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true", "55 23 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js, tag=取关京东店铺商品, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", diff --git a/README.md b/README.md index 6954e0e9..6fd677d3 100644 --- a/README.md +++ b/README.md @@ -37,26 +37,26 @@ |5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| |6|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |7|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|8|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|9|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| |10|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |11|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| |12|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|13|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|14|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|13|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|14|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| |15|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| |16|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| |17|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| |18|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| |19|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| |20|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|21|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|22|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|21|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|22|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| |23|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| |24|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|25|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|26|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|25|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |28|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| |29|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| |30|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| @@ -71,9 +71,9 @@ |39|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| |40|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| |41|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|42|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|42|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| |43|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|44|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| +|44|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| |45|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| |46|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| |47|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| @@ -85,8 +85,8 @@ |53|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| |54|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| |55|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|56|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|57|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|56|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|57|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| |58|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| |59|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| |60|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 69911be4..071797ce 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,31 +8,31 @@ # Surge的Task&Cookies脚本模块地址: https://gitee.com/lxk0301/jd_scripts/raw/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] -获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js,script-update-interval=0 5G狂欢城 = type=cron,cronexp="0 0,6,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js 京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js 源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js +获取多账号京东Cookie = type=http-request,pattern=^https:\/\/wq\.jd\.com\/user_new\/info\/GetJDUserInfoUnion,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/JD_extra_cookie.js,script-update-interval=0 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,9 +48,9 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js @@ -61,8 +61,8 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 进店领豆 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js 东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js 天天加速 = type=cron,cronexp="8 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js -东东超市 = type=cron,cronexp="11 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js 京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js +东东超市 = type=cron,cronexp="11 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js 赚京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js 注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js 取关京东店铺商品 = type=cron,cronexp="55 23 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js From 5e492224730742150fada7142925069d6588f491 Mon Sep 17 00:00:00 2001 From: anonymous Date: Tue, 2 Feb 2021 22:14:04 +0800 Subject: [PATCH 1225/1259] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=A9?= =?UTF-8?q?=E9=99=8D=E7=88=86=E7=AB=B9=E4=B8=8D=E9=A2=86=E5=A5=96=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 732e7a23..4b570825 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -1170,7 +1170,8 @@ function getSpecialGiftInfo() { } else { data = JSON.parse(data); if (data && data.data['bizCode'] === 0) { - console.log(`领奖成功,获得${data.data.result.score}爆竹🧨`) + await collectSpecialFinalScore() + // console.log(`领奖成功,获得${data.data.result.score}爆竹🧨`) }else{ console.log(data.data.bizMsg) } @@ -1243,6 +1244,53 @@ function collectSpecialScore(taskId, itemId, actionType = null, inviteId = null, }) } +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 readShareCode() { console.log(`开始`) return new Promise(async resolve => { From c278d3f8960382a5e4b759acf5b359b6ae79a976 Mon Sep 17 00:00:00 2001 From: shizihang <1067138354@qq.com> Date: Tue, 2 Feb 2021 23:14:47 +0800 Subject: [PATCH 1226/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E7=AE=80=E5=8D=95=E8=8E=B7=E5=8F=96UA=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/githubAction.md b/githubAction.md index 923cd6fa..bdf49fcf 100644 --- a/githubAction.md +++ b/githubAction.md @@ -11,7 +11,7 @@ | Name | 归属 | 属性 | 默认值 | 说明 | | :-------------: | :---------: | :----: | :----: | ------------------------------------------------------------ | | `JD_DEBUG` | 脚本打印log | 非必须 | true | 运行脚本时,是否显示log,默认显示。改成false表示不显示,注重隐私的人可以在设置secret -> `Name:JD_DEBUG,Value:false` | -| `JD_USER_AGENT` | 京东 | 非必须 | | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。如需使用此功能建议填写京东APP的UA | +| `JD_USER_AGENT` | 京东 | 非必须 | | 自定义此库里京东系列脚本的UserAgent,不懂不知不会UserAgent的请不要随意填写内容。如需使用此功能建议填写京东APP的UA,在京东聊天界面发送 https://www.ip138.com/useragent/ ,打开网址即可获得 | ##### 推送通知环境变量(目前提供`微信server酱`、`pushplus(推送加)`、`iOS Bark APP`、`telegram机器人`、`钉钉机器人`、`企业微信机器人`、`iGot`、`QQ酷推`等通知方式) @@ -84,7 +84,7 @@ | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂
心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,
如不提供则会兑换当前所选商品 | | `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账号间使用`&`或换行分开。 | | `JD_IMMORTAL_LATLON` | 京东神仙书院
地理位置变量 | 非必须 | 京东神仙书院地理位置,示例格式:{"lat":33.1, "lng":118.1} | -| `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | +| `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,在微信聊天界面发送 https://www.ip138.com/useragent/ ,打开网址即可获得,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | | `DREAMFACTORY_FORBID_ACCOUNT`| 京喜工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行京喜工厂脚本,注:输入`0`,代表全部账号不运行京喜工厂脚本 | | `JDFACTORY_FORBID_ACCOUNT`| 东东工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行东东工厂脚本,注:输入`0`,代表全部账号不运行东东工厂脚本 | From fd4f37eda307b09d16d5c59089ee18d83d66e570 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 3 Feb 2021 00:57:13 +0800 Subject: [PATCH 1227/1259] debug --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 974411ab..3bd9bf0d 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a0 @IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9A', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohENk@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibT@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDf@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_a0 @IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_9A' + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEN4@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibU@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDY', + 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEN4@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibU@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDY' ] !(async () => { await requireConfig(); From fab7d6e405cce91856d1045564fcb4938bc7e94a Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 3 Feb 2021 01:08:20 +0800 Subject: [PATCH 1228/1259] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A2=98=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal_answer.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jd_immortal_answer.js b/jd_immortal_answer.js index 50fea157..9f20328a 100644 --- a/jd_immortal_answer.js +++ b/jd_immortal_answer.js @@ -51,7 +51,8 @@ const JD_API_HOST = 'https://api.m.jd.com/client.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":"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":"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"}] + $.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]; From 75019a9dc4ec89a6fea328aad019f76fb7006a88 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 3 Feb 2021 08:38:54 +0800 Subject: [PATCH 1229/1259] update --- jd_nian.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 3bd9bf0d..230c609f 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -50,8 +50,8 @@ const inviteCodes = [ `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs` ]; const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEN4@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibU@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDY', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEN4@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibU@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDY' + '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' ] !(async () => { await requireConfig(); From d1423c9ad23d93123e34ac65b276c40847a5ff3e Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 3 Feb 2021 09:45:53 +0800 Subject: [PATCH 1230/1259] =?UTF-8?q?feat:=20=E5=B9=B4=E5=85=BD=E6=BB=A1?= =?UTF-8?q?=E7=BA=A7=E5=90=8E=E4=B8=8D=E5=86=8D=E5=81=9A=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 3bd9bf0d..5c469ed8 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -46,8 +46,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs`, - `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs` + `cgxZbDnLLbvT4kKFa2r4itMpof2y7_o@cgxZdTXtILLevwyYCwz65yWwCE8lGkr3bUNrT0h7kLPi4wxXS762i1R7_A0@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs`, + `cgxZbDnLLbvT4kKFa2r4itMpof2y7_o@cgxZdTXtILLevwyYCwz65yWwCE8lGkr3bUNrT0h7kLPi4wxXS762i1R7_A0@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs` ]; const pkInviteCodes = [ 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEN4@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibU@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDY', @@ -114,6 +114,7 @@ const pkInviteCodes = [ async function jdNian() { try { + $.full = false await getHomeData() if (!$.secretp) return let hour = new Date().getUTCHours() @@ -131,6 +132,7 @@ async function jdNian() { if ($.hasGroup) await pkInfo() await helpFriendsPK() } + if($.full) return await $.wait(2000) await killCouponList() await $.wait(2000) @@ -344,7 +346,12 @@ function getHomeData(info = false) { $.secretp = null return } - console.log(`\n\n当前等级:${$.userInfo.raiseInfo.curMaxLevel}\n当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨\n\n`) + 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` From 549e0aebaeab074824bd7c67f62924ae235d44df Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 3 Feb 2021 09:49:39 +0800 Subject: [PATCH 1231/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=98=B5=E7=A7=B0=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_fruit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_fruit.js b/jd_fruit.js index 55b32c2f..e8c2423c 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -117,7 +117,7 @@ async function jdFruit() { await predictionFruit();//预测水果成熟时间 } else { console.log(`初始化农场数据异常, 请登录京东 app查看农场0元水果功能是否正常,农场初始化数据: ${JSON.stringify($.farmInfo)}`); - message = `【京东账号${$.index}】 ${$.nickName || $.UserName}\n【数据异常】请手动登录京东app查看此账号${$.name}是否正常`; + message = `【数据异常】请手动登录京东app查看此账号${$.name}是否正常`; } } catch (e) { console.log(`任务执行异常,请检查执行日志 ‼️‼️`); From 17c116f81b489862b8317c97ca20eddee3d816a5 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 3 Feb 2021 11:03:12 +0800 Subject: [PATCH 1232/1259] =?UTF-8?q?cookie=E5=A4=B1=E6=95=88=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=20iOS=E7=AB=AF=E4=B8=8D=E8=BF=9B=E8=A1=8C=E6=B8=85?= =?UTF-8?q?=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_firecrackers.js | 2 -- jd_bookshop.js | 2 -- jd_coupon.js | 2 -- jd_family.js | 4 +--- jd_festival.js | 2 -- jd_mh.js | 2 -- jd_ms.js | 2 -- jd_nian.js | 4 ++-- jd_super_box.js | 2 -- jd_xg.js | 2 -- 10 files changed, 3 insertions(+), 21 deletions(-) diff --git a/activity/jd_firecrackers.js b/activity/jd_firecrackers.js index c258b5ef..4264898f 100644 --- a/activity/jd_firecrackers.js +++ b/activity/jd_firecrackers.js @@ -69,8 +69,6 @@ if ($.isNode()) { $.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`); - } else { - $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 } continue } diff --git a/jd_bookshop.js b/jd_bookshop.js index 417391d8..7500d6f5 100644 --- a/jd_bookshop.js +++ b/jd_bookshop.js @@ -71,8 +71,6 @@ if ($.isNode()) { $.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 } diff --git a/jd_coupon.js b/jd_coupon.js index e26a0508..ff97e6ef 100644 --- a/jd_coupon.js +++ b/jd_coupon.js @@ -66,8 +66,6 @@ const JD_API_HOST = 'https://api.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 } diff --git a/jd_family.js b/jd_family.js index 73334a37..3fb2109b 100644 --- a/jd_family.js +++ b/jd_family.js @@ -58,8 +58,6 @@ if ($.isNode()) { $.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`); - } else { - $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 } continue } @@ -176,7 +174,7 @@ function doTask(taskId) { } function taskUrl(function_id, body = '') { - body = `activeid=${$.info.activeId}&token=${$.info.actToken}&sceneval=2&shareid=&_=${new Date().getTime()}&callback=query&${body}` + body = `activeid=${$.info.activeId}&token=${$.info.actToken}&sceneval=2&shareid=&t=${Date.now()}&_=${new Date().getTime()}&callback=query&${body}` return { url: `https://wq.jd.com/activep3/family/${function_id}?${body}`, headers: { diff --git a/jd_festival.js b/jd_festival.js index 4ad4428a..76eb950d 100644 --- a/jd_festival.js +++ b/jd_festival.js @@ -73,8 +73,6 @@ const JD_API_HOST = 'https://shopping-festival.m.jd.com/sf/'; 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 } diff --git a/jd_mh.js b/jd_mh.js index 4a3f9beb..08e0e6e2 100644 --- a/jd_mh.js +++ b/jd_mh.js @@ -70,8 +70,6 @@ if ($.isNode()) { $.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 } diff --git a/jd_ms.js b/jd_ms.js index 9a2ccdcb..342097bc 100644 --- a/jd_ms.js +++ b/jd_ms.js @@ -70,8 +70,6 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; 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 } diff --git a/jd_nian.js b/jd_nian.js index 3fdf28b4..d9423d4b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -46,8 +46,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `cgxZbDnLLbvT4kKFa2r4itMpof2y7_o@cgxZdTXtILLevwyYCwz65yWwCE8lGkr3bUNrT0h7kLPi4wxXS762i1R7_A0@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs`, - `cgxZbDnLLbvT4kKFa2r4itMpof2y7_o@cgxZdTXtILLevwyYCwz65yWwCE8lGkr3bUNrT0h7kLPi4wxXS762i1R7_A0@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs` + `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', diff --git a/jd_super_box.js b/jd_super_box.js index bf79a519..ef531d44 100644 --- a/jd_super_box.js +++ b/jd_super_box.js @@ -79,8 +79,6 @@ const JD_API_HOST = 'https://api.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 } diff --git a/jd_xg.js b/jd_xg.js index 0ecf38ee..cb325b6e 100644 --- a/jd_xg.js +++ b/jd_xg.js @@ -71,8 +71,6 @@ if ($.isNode()) { $.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 } From 2b47c04957223f34497714e8eaf667c01ccc0822 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 3 Feb 2021 11:14:03 +0800 Subject: [PATCH 1233/1259] debug --- jd_newYearMoney.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index 16210dda..b159fc46 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls@oMZeXe9Kod0DCrE5M7Z1qcr4t7hsbJF9IrJMdgiso95xHVqC`, - `oMZeX-5M9YkGAOtiP7Rz_yglorV31MmxRvuK5Itar4d2t7V2@oMZeXbBAqIJUAbA3ZrZ2rsve9AyA3Kq-6R23UrqYSIOwFRDm@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls@oMZeXe9Kod0DCrE5M7Z1qcr4t7hsbJF9IrJMdgiso95xHVqC`, + `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls@oMZeXe9Kod0DCrE5M7Z1qcr4t7hsbJF9IrJMdgiso95xHVqC`, + `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls@oMZeXe9Kod0DCrE5M7Z1qcr4t7hsbJF9IrJMdgiso95xHVqC`, ]; !(async () => { await requireConfig(); From 1f6ead59e4f79961265e690ad8acf6bce6694fdb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 3 Feb 2021 12:28:48 +0800 Subject: [PATCH 1234/1259] update --- jd_newYearMoney.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index b159fc46..f1e0808a 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls@oMZeXe9Kod0DCrE5M7Z1qcr4t7hsbJF9IrJMdgiso95xHVqC`, - `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@vcZZM4U-2s49fLxMRfA8s9Ob_ZkZ7O0QtnrKtPOtbZhSjA@oMZeXOZOoY9eUOFiZrFxrKwAOXx25LYPCj8I_sDK6tbv4jls@oMZeXe9Kod0DCrE5M7Z1qcr4t7hsbJF9IrJMdgiso95xHVqC`, + `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@oMZeX-MZptlSCucyZbF1rd5yz0h4UH_HSfqqF7QrYDympT7f@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZc_uTp0BUSKWp`, + `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@oMZeX-MZptlSCucyZbF1rd5yz0h4UH_HSfqqF7QrYDympT7f@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZc_uTp0BUSKWp`, ]; !(async () => { await requireConfig(); @@ -322,7 +322,7 @@ function helpFriend(inviteId) { if (data && data.data['bizCode'] === 0) { console.log(data.data.result.msg) } else { - console.log(data.data.bizMsg) + console.log(`helpFriends ${data.data.bizMsg}`) if (data.data.bizCode === -523) { $.canHelp = false } From 5180d696814622eccc31eb63b5ba57e2065bbd98 Mon Sep 17 00:00:00 2001 From: zhangweilai Date: Wed, 3 Feb 2021 13:36:21 +0800 Subject: [PATCH 1235/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9docker-compose=20?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E6=83=85=E5=86=B5=E4=B8=8B=20=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E5=86=9C=E5=9C=BA=E4=BA=92=E5=8A=A9=E7=A0=81=E7=9A=84?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githubAction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index 923cd6fa..aa20520d 100644 --- a/githubAction.md +++ b/githubAction.md @@ -47,7 +47,7 @@ | `JDJOY_SHARECODES` | 疯狂的JOY互助码 | 非必须 | 6/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `BOOKSHOP_SHARECODES` | 京东书店互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JD_CASH_SHARECODES` | 签到领现金互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | -| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 注意:京喜农场 种植种子发生变化的时候,互助码也会变!!
每个账号 shareCode 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"}',多账单间使用`&`或换行分开。详细说明参见[#Pr202](https://github.com/LXK9301/jd_scripts/pull/202) | +| `JXNC_SHARECODES` | 京喜农场互助码 | 非必须 | / | 注意:京喜农场 种植种子发生变化的时候,互助码也会变!!
每个账号 shareCode 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"smp":"22bdadsfaadsfadse8a","active":"jdnc_1_btorange210113_2","joinnum":"1"}',多账单间使用`&`或换行分开。详细说明参见[#Pr202](https://github.com/LXK9301/jd_scripts/pull/202) 如果使用`docker-compose` 部署就不需要在互助码两端加单引号。详细参见Issues[#I35AG8](https://gitee.com/lxk0301/jd_scripts/issues/I35AG8)| | `JDSGMH_SHARECODES` | 闪购盲盒互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDNIAN_SHARECODES` | 炸年兽互助码 | 非必须 | 10/ | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | | `JDSXSY_SHARECODES` | 京东神仙书院
互助码 | 非必须 | 20/5 | 填写规则和上面类似,或见下方[互助码的填写规则](#互助码的填写规则) | From 51c6907f06df1d6dfc5f05e184561dc474974088 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 3 Feb 2021 14:27:24 +0800 Subject: [PATCH 1236/1259] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=EF=BC=8C=E6=BA=90=E5=A4=B4=E5=A5=BD=E7=89=A9?= =?UTF-8?q?=E7=BA=A2=E5=8C=85=20jd=5Fcoupon.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 33 +++++---- QuantumultX/lxk0301_gallery.json | 11 ++- README.md | 97 +++++++++++++-------------- Surge/lxk0301_Task.sgmodule.sgmodule | 11 ++- jd_coupon.js => activity/jd_coupon.js | 0 docker/crontab_list.sh | 2 - 6 files changed, 73 insertions(+), 81 deletions(-) rename jd_coupon.js => activity/jd_coupon.js (100%) diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 1c9762ab..9f41bdce 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,21 +25,18 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车兑换 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 - # 京东汽车 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 +# 京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 # 摇京豆 cron "5 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js,tag=摇京豆 -# 源头好物红包 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包 - # crazyJoy任务 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js,tag=crazyJoy任务 @@ -61,27 +58,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院答题 -cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 - # 京东神仙书院 cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 +# 京东神仙书院答题 +cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,21 +124,21 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽AR -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR - -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 京东炸年兽🧨 cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 +# 京东炸年兽AR +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 0738d7b6..629c79d1 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,23 +8,22 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true", "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,11 +37,11 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/README.md b/README.md index 6fd677d3..88c24c8f 100644 --- a/README.md +++ b/README.md @@ -37,62 +37,61 @@ |5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| |6|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |7|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|9|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| |10|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |11|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|12|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| +|12|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| |13|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|14|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|15|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|16|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| -|17|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|18|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| -|19|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| -|20|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|14|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|15|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|16|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|17|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| +|18|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|19|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|20|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| |21|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|22|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|23|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| -|24|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|22|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|23|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|24|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| |25|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| |26|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|28|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| -|29|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| -|30|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| -|31|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|32|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| -|33|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| -|34|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| -|35|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| -|36|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| -|37|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| -|38|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|39|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| -|40|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| -|41|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|27|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|28|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|29|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|30|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|31|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| +|32|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| +|33|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|34|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| +|35|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|36|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| +|37|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|38|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| +|39|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| +|40|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|41|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| |42|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|43|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|44|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|45|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|46|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|47|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|48|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|49|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|50|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|51|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|52|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|53|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|54|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|55|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|56|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|57|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|58|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|59|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|60|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|61|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|62|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| -|63|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +|43|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|44|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|45|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|46|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|47|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|48|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|49|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|50|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|51|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|52|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|53|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|54|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|55|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|56|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|57|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|58|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|59|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|60|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|61|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| +|62|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 071797ce..1d64d6a3 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,11 +14,10 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js -源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js @@ -26,13 +25,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js +京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,11 +47,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js diff --git a/jd_coupon.js b/activity/jd_coupon.js similarity index 100% rename from jd_coupon.js rename to activity/jd_coupon.js diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index 595692a3..b4255211 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -120,8 +120,6 @@ # */20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1 # 闪购盲盒 27 8 * * * node /scripts/jd_sgmh.js >> /scripts/logs/jd_sgmh.log 2>&1 -# 源头好物红包 -0 0 * * * node /scripts/jd_coupon.js >> /scripts/logs/jd_coupon.log 2>&1 # 京东秒秒币 10 7 * * * node /scripts/jd_ms.js >> /scripts/logs/jd_ms.log 2>&1 # 京东超级盒子 From 92ce48a52f384ae49cb71abb60df8b4f7cedbed8 Mon Sep 17 00:00:00 2001 From: anonymous Date: Wed, 3 Feb 2021 14:33:18 +0800 Subject: [PATCH 1237/1259] Automatically updated by evine's nas --- Loon/lxk0301_LoonTask.conf | 33 ++-- QuantumultX/lxk0301_gallery.json | 11 +- README.md | 97 +++++----- Surge/lxk0301_Task.sgmodule.sgmodule | 11 +- activity/jd_coupon.js | 266 --------------------------- 5 files changed, 79 insertions(+), 339 deletions(-) delete mode 100644 activity/jd_coupon.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 9f41bdce..1c9762ab 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -25,18 +25,21 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车 -cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 - # 京东汽车兑换 cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 +# 京东汽车 +cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 # 摇京豆 cron "5 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js,tag=摇京豆 +# 源头好物红包 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包 + # crazyJoy任务 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js,tag=crazyJoy任务 @@ -58,27 +61,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院 -cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 - # 京东神仙书院答题 cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 +# 京东神仙书院 +cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -124,21 +127,21 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽🧨 -cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 - # 京东炸年兽AR cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR +# 京东炸年兽领爆竹🧨 +cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 + +# 京东炸年兽🧨 +cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 + # 京东炸年兽签到任务🧨 cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 # 京东炸年兽小程序🧨 cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 629c79d1..0738d7b6 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -8,22 +8,23 @@ "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true", "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -37,11 +38,11 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", + "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", + "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/README.md b/README.md index 88c24c8f..6fd677d3 100644 --- a/README.md +++ b/README.md @@ -37,61 +37,62 @@ |5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| |6|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| |7|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|8|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|9|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| |10|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| |11|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|12|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|12|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| |13|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|14|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|15|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| -|16|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|17|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| -|18|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| -|19|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|20|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|14|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|15|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|16|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|17|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|18|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| +|19|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|20|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| |21|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|22|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| -|23|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|24|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|22|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|23|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|24|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| |25|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| |26|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| -|28|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| -|29|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| -|30|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|31|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| -|32|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| -|33|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| -|34|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| -|35|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| -|36|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| -|37|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|38|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| -|39|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| -|40|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|41|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|27|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|28|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|29|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|30|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|31|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|32|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| +|33|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| +|34|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|35|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| +|36|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|37|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| +|38|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|39|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| +|40|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| +|41|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| |42|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|43|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|44|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|45|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|46|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|47|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|48|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|49|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|50|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|51|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|52|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|53|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|54|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|55|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|56|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|57|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|58|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|59|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|60|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|61|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| -|62|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +|43|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| +|44|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|45|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| +|46|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| +|47|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|48|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|49|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|50|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|51|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|52|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|53|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|54|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|55|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|56|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|57|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|58|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|59|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|60|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|61|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|62|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| +|63|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 1d64d6a3..071797ce 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -14,10 +14,11 @@ 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js +京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js +源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js @@ -25,13 +26,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js +京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -47,11 +48,11 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js +京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js +京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js 京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js 京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js diff --git a/activity/jd_coupon.js b/activity/jd_coupon.js deleted file mode 100644 index ff97e6ef..00000000 --- a/activity/jd_coupon.js +++ /dev/null @@ -1,266 +0,0 @@ -/* -源头好物红包 -活动时间:未知 -更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包 - -===============Surge================= -源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js - -============小火箭========= -源头好物红包 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { - 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); -} -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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)} From 918440135ad1df44b07da5fdcc6f7c62e68b1549 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 3 Feb 2021 15:39:51 +0800 Subject: [PATCH 1238/1259] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=AF=E5=85=91?= =?UTF-8?q?=E6=8D=A2=E7=BA=A2=E5=8C=85=E6=97=B6=E7=9A=84=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jd_nian.js b/jd_nian.js index d9423d4b..0a9a0733 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -53,6 +53,8 @@ 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]) { @@ -104,6 +106,14 @@ const pkInviteCodes = [ await helpSuper() } } + if ((nowTimes.getHours() < 20 && nowTimes.getHours() >= 10) && 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`) + } + 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}!`, '') From 54154de88a524e561586d111ba3cfe96f46e770c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 3 Feb 2021 17:45:53 +0800 Subject: [PATCH 1239/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=B9=B4=E5=85=BD?= =?UTF-8?q?=E6=B4=BB=E5=8A=A82.4=E6=97=A5=E5=8F=AF=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E7=BA=A2=E5=8C=85=E6=97=B6=E7=9A=84=E9=80=9A=E7=9F=A5=E9=A2=91?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 0a9a0733..71a7f94b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -107,11 +107,13 @@ const openUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20% } } if ((nowTimes.getHours() < 20 && nowTimes.getHours() >= 10) && 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`) + if (nowTimes.getHours() === 10 || nowTimes.getHours() === 19) { + $.msg($.name, '', '队伍红包已可兑换\n点击弹窗直达兑换页面', { 'open-url' : openUrl}); + if ($.isNode()) await notify.sendNotify($.name, `队伍红包已可兑换\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 (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`) } })() From 22414f57cfb7a92c7e1ba8c978f555374d97b364 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Wed, 3 Feb 2021 17:49:13 +0800 Subject: [PATCH 1240/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=B9=B4=E5=85=BD?= =?UTF-8?q?=E6=B4=BB=E5=8A=A82.4=E6=97=A5=E5=8F=AF=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E7=BA=A2=E5=8C=85=E6=97=B6=E7=9A=84=E9=80=9A=E7=9F=A5=E9=A2=91?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_coupon.js | 266 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 266 insertions(+) create mode 100644 activity/jd_coupon.js diff --git a/activity/jd_coupon.js b/activity/jd_coupon.js new file mode 100644 index 00000000..ff97e6ef --- /dev/null +++ b/activity/jd_coupon.js @@ -0,0 +1,266 @@ +/* +源头好物红包 +活动时间:未知 +更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/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=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包 + +===============Surge================= +源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js + +============小火箭========= +源头好物红包 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { + 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); +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From 6b83cb08df5630924685471b41a1c24ce4b57a99 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 4 Feb 2021 08:23:06 +0800 Subject: [PATCH 1241/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E8=BF=87=E6=9C=9F=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverless.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/serverless.yml b/serverless.yml index 130080ee..1118063c 100644 --- a/serverless.yml +++ b/serverless.yml @@ -16,12 +16,12 @@ inputs: memorySize: 128 # 内存大小,单位MB timeout: 900 # 超时时间,单位秒 events: # 触发器 - - timer: #签到 #源头好物红包 #京东超级盒子 + - timer: #签到 #京东超级盒子 parameters: - name: beansign_coupon_superbox + name: beansign_superbox cronExpression: "0 0 0 * * * *" enable: true - argument: jd_bean_sign&jd_coupon&jd_super_box + argument: jd_bean_sign&jd_super_box - timer: #东东超市兑换奖品 #摇京豆 #京东汽车兑换 parameters: name: blueCoin_clublottery_carexchange @@ -34,12 +34,12 @@ inputs: cronExpression: "0 5 6-18/6,8 * * * *" enable: true argument: jd_fruit&jd_pet&jd_bookshop&jd_jxnc - - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 #京东炸年兽领爆竹 + - timer: # 宠汪汪喂食# 宠汪汪# 摇钱树# 京东种豆得豆# 京喜工厂 #东东工厂 parameters: - name: feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory_nC + name: feedPets_joy_moneyTree_plantBean_dreamFactory_jdfactory cronExpression: "0 3 */1 * * * *" enable: true - argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory&jd_nianCollect + argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗 #点点券 #东东小窝 #京东直播18豆 parameters: name: joyreward_joysteal_necklace_smallhome_live @@ -54,7 +54,7 @@ inputs: argument: jd_redPacket&jd_shop&jd_unsubscribe&jd_unbind&jd_lotteryMachine&jd_car&jd_ms&jd_xg&jd_xgyl - timer: #京东天天加速 #天天提鹅 #京东炸年兽 parameters: - name: speed_daily_egg_nian + name: speed_dailyegg_nian cronExpression: "0 8 */3 * * * *" enable: true argument: jd_speed&jd_daily_egg&jd_nian @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal&jd_immortal_answer&jd_mh - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东炸年兽AR #京东炸年兽小程序 #京东手机年终奖 + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东手机年终奖 parameters: name: pigPet_syj_kd_jdzz_cash_sign_niansign_nianar_nianwechat_fes cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_nian_ar&jd_nian_wechat&jd_festival + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_festival environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From a3a9ae3e8336f25046d76f60ae034cd1a08470fd Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 08:24:44 +0800 Subject: [PATCH 1242/1259] update --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 71a7f94b..9d425f40 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -109,7 +109,7 @@ const openUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20% if ((nowTimes.getHours() < 20 && nowTimes.getHours() >= 10) && nowTimes.getDate() === 4) { if (nowTimes.getHours() === 10 || nowTimes.getHours() === 19) { $.msg($.name, '', '队伍红包已可兑换\n点击弹窗直达兑换页面', { 'open-url' : openUrl}); - if ($.isNode()) await notify.sendNotify($.name, `队伍红包已可兑换\n兑换地址: https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html`) + 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) { From b1b40ae87921705ad4518f60b6d969ae613a9db6 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 4 Feb 2021 08:28:19 +0800 Subject: [PATCH 1243/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_5g.js => activity/jd_5g.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_5g.js => activity/jd_5g.js (100%) diff --git a/jd_5g.js b/activity/jd_5g.js similarity index 100% rename from jd_5g.js rename to activity/jd_5g.js From 0dc30c7792f8e1aaeef304959eadaf00e8f4f4f8 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 4 Feb 2021 08:29:41 +0800 Subject: [PATCH 1244/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nianCollect.js => activity/jd_nianCollect.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jd_nianCollect.js => activity/jd_nianCollect.js (100%) diff --git a/jd_nianCollect.js b/activity/jd_nianCollect.js similarity index 100% rename from jd_nianCollect.js rename to activity/jd_nianCollect.js From ce974dc6d845e776ab52fbaecc7dc352c8c3a042 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 09:15:29 +0800 Subject: [PATCH 1245/1259] update --- jd_818.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_818.js b/jd_818.js index 86668068..d79b5d3a 100644 --- a/jd_818.js +++ b/jd_818.js @@ -55,7 +55,7 @@ if ($.isNode()) { } const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; -const activeEndTime = '2021/2/4 23:59:59+08:00'; +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 = [] From fc345580f73a5b959af0b69ebcf55755d906beeb Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 4 Feb 2021 09:24:45 +0800 Subject: [PATCH 1246/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E8=BF=87=E6=9C=9F=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverless.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serverless.yml b/serverless.yml index 1118063c..b886b13f 100644 --- a/serverless.yml +++ b/serverless.yml @@ -40,7 +40,7 @@ inputs: cronExpression: "0 3 */1 * * * *" enable: true argument: jd_joy_feedPets&jd_joy&jd_moneyTree&jd_plantBean&jd_dreamFactory&jd_jdfactory - - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗 #点点券 #东东小窝 #京东直播18豆 + - timer: #宠汪汪积分兑换奖品 #宠汪汪偷好友积分与狗粮 #点点券 #东东小窝 #京东直播18豆 parameters: name: joyreward_joysteal_necklace_smallhome_live cronExpression: "0 0 0-16/8,20 * * * *" @@ -70,12 +70,12 @@ inputs: cronExpression: "0 30 7 * * * *" enable: true argument: jd_bean_change&jd_crazy_joy&jd_rankingList&jd_bean_home&jd_sgmh&jd_nh&jd_immortal&jd_immortal_answer&jd_mh - - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东炸年兽签到任务 #京东手机年终奖 + - timer: #金融养猪 #十元街 #京东快递 #京东赚赚 #签到领现金 #京喜签到 #京东手机年终奖 parameters: - name: pigPet_syj_kd_jdzz_cash_sign_niansign_nianar_nianwechat_fes + name: pigPet_syj_kd_jdzz_cash_sign_festival cronExpression: "0 3 1 * * * *" enable: true - argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_nian_sign&jd_festival + argument: jd_pigPet&jd_syj&jd_kd&jd_jdzz&jd_cash&jx_sign&jd_festival environment: # 环境变量 variables: # 环境变量对象 AAA: BBB # 不要删除,用来格式化对齐追加的变量的 From 62ccc0d3e30a4b37248abb379ede9253f6247b5d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 09:24:47 +0800 Subject: [PATCH 1247/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=AC,=E6=9B=B4=E6=96=B0IOS?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 36 +- QuantumultX/lxk0301_gallery.json | 12 +- README.md | 118 +++--- Surge/lxk0301_Task.sgmodule.sgmodule | 12 +- jd_newYearMoney.js | 4 +- jd_nian_ar.js | 522 --------------------------- jd_nian_sign.js | 508 -------------------------- jd_nian_wechat.js | 336 ----------------- 8 files changed, 73 insertions(+), 1475 deletions(-) delete mode 100644 jd_nian_ar.js delete mode 100644 jd_nian_sign.js delete mode 100644 jd_nian_wechat.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 1c9762ab..5174d400 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -7,9 +7,6 @@ hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# 5G狂欢城 -cron "0 0,6,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城 - # 京东手机狂欢城 cron "0 0-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城 @@ -25,21 +22,18 @@ cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/j # 口袋书店 cron "1 8,12,18 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js,tag=口袋书店 -# 京东汽车兑换 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 - # 京东汽车 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车 +# 京东汽车兑换 +cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换 + # 签到领现金 cron "2 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js,tag=签到领现金 # 摇京豆 cron "5 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js,tag=摇京豆 -# 源头好物红包 -cron "0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包 - # crazyJoy任务 cron "10 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js,tag=crazyJoy任务 @@ -61,27 +55,27 @@ cron "5 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/maste # 获取互助码 cron "20 13 * * 6" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码 -# 京东神仙书院答题 -cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 - # 京东神仙书院 cron "20 8,12,22 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院 +# 京东神仙书院答题 +cron "20 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js,tag=京东神仙书院答题 + # 东东工厂 cron "10 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js,tag=东东工厂 # 京东赚赚 cron "10 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js,tag=京东赚赚 +# 宠汪汪 +cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 + # 宠汪汪🐕喂食 cron "15 0-23/1 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js,tag=京东宠汪汪喂食 # 宠汪汪强制为别人助力 http-request ^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js, requires-body=true, timeout=3600, tag=宠汪汪强制为别人助力 -# 宠汪汪 -cron "15 0-23/2 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js,tag=京东宠汪汪 - # 宠汪汪积分兑换奖品 cron "0 0-16/8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js,tag=宠汪汪积分兑换奖品 @@ -127,21 +121,9 @@ cron "0 0 9,12,16,20 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw # 京东年货节 cron "1 7 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js,tag=京东年货节 -# 京东炸年兽AR -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR - -# 京东炸年兽领爆竹🧨 -cron "50 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js,tag=京东收🧨 - # 京东炸年兽🧨 cron "0 9,12,20,21 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js,tag=京东炸年兽🧨 -# 京东炸年兽签到任务🧨 -cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 - -# 京东炸年兽小程序🧨 -cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 - # 东东萌宠 cron "15 6-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js,tag=东东萌宠 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 0738d7b6..0927fc85 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -2,29 +2,27 @@ "name": "LXK9301 task gallery", "description": "https://gitee.com/lxk0301/jd_scripts/tree/master", "task": [ - "0 0,6,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js, tag=5G狂欢城, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城, enabled=true", "2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", "1 8,12,18 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js, tag=口袋书店, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", + "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js, tag=京东汽车兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true", "2 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js, tag=签到领现金, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "5 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js, tag=摇京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true", - "0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js, tag=crazyJoy任务, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_crazy_joy.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true", "15 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js, tag=京东手机年终奖, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_festival2.jpg, enabled=true", "5 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true", "20 13 * * 6 https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js, tag=获取互助码, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "20 8,12,22 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", + "20 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js, tag=东东工厂, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_factory.png, enabled=true", "10 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js, tag=京东赚赚, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzz.png, enabled=true", - "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 0-23/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js, tag=京东宠汪汪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", + "15 0-23/1 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js, tag=京东宠汪汪喂食, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-16/8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js, tag=宠汪汪积分兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "15 10 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js, tag=宠汪汪邀请助力与赛跑助力, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", "0 0-10/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js, tag=宠汪汪偷好友积分与狗粮, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdcww.png, enabled=true", @@ -38,11 +36,7 @@ "20 8,12 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "0 0 9,12,16,20 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "1 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", - "0 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js, tag=京东收🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nianCollect.png, enabled=true", "0 9,12,20,21 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js, tag=京东炸年兽🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "30 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", - "50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true", "15 6-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js, tag=东东萌宠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdmc.png, enabled=true", "12 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js, tag=京东金融养猪猪, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyz.png, enabled=true", "1 7-21/2 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true", diff --git a/README.md b/README.md index 6fd677d3..6096b7fb 100644 --- a/README.md +++ b/README.md @@ -30,69 +30,63 @@ | 序号 | 文件 | 名称 | 活动入口 | | :-: | - | - | - | -|1|[jd_5g.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js)|5G狂欢城|[活动地址](https://rdcseason.m.jd.com/)| -|2|[jd_818.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js)|京东手机狂欢城|[活动地址](https://rdcseason.m.jd.com/#/index)| -|3|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| -|4|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| -|5|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| -|6|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| -|7|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| +|1|[jd_818.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js)|京东手机狂欢城|[活动地址](https://rdcseason.m.jd.com/#/index)| +|2|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| +|3|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| +|4|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| +|5|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| +|6|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| +|7|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| |8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|10|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| -|11|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|12|[jd_coupon.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js)|源头好物红包|[活动地址](https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19)| -|13|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|14|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|15|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|16|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| -|17|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|18|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| -|19|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| -|20|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|21|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|22|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|23|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| -|24|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|25|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|26|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|28|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| -|29|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| -|30|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| -|31|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|32|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| -|33|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| -|34|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| -|35|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| -|36|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| -|37|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| -|38|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|39|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| -|40|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| -|41|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|42|[jd_nian_ar.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js)|京东炸年兽AR|京东app首页浮动窗口| -|43|[jd_nianCollect.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js)|京东炸年兽领爆竹🧨|京东app首页浮动窗口| -|44|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|45|[jd_nian_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js)|京东炸年兽签到任务🧨|京东app左侧浮动窗口| -|46|[jd_nian_wechat.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js)|京东炸年兽小程序🧨|京东小程序-炸年兽| -|47|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|48|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|49|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|50|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|51|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|52|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|53|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|54|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|55|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|56|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|57|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|58|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|59|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|60|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|61|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|62|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| -|63|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +|9|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| +|10|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| +|11|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|12|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|13|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|14|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|15|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|16|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| +|17|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|18|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|19|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|20|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|21|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|22|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|23|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|24|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|25|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|28|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|29|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|30|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| +|31|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| +|32|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|33|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| +|34|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|35|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| +|36|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|37|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| +|38|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| +|39|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|40|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|41|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|42|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|43|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|44|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|45|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|46|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|47|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|48|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|49|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|50|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|51|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|52|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|53|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|54|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|55|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|56|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| +|57|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 071797ce..9fa430b2 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,17 +8,15 @@ # Surge的Task&Cookies脚本模块地址: https://gitee.com/lxk0301/jd_scripts/raw/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] -5G狂欢城 = type=cron,cronexp="0 0,6,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_5g.js 京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js 口袋书店 = type=cron,cronexp="1 8,12,18 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js -京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js +京东汽车兑换 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js 签到领现金 = type=cron,cronexp="2 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js 摇京豆 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js -源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_coupon.js crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js 天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js 京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js @@ -26,13 +24,13 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东手机年终奖 = type=cron,cronexp="15 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js 东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js 获取互助码 = type=cron,cronexp="20 13 * * 6",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js -京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js +京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js 东东工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js 京东赚赚 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js +京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 京东宠汪汪喂食 = type=cron,cronexp="15 0-23/1 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js 宠汪汪强制为别人助力= type=http-request,pattern=^https:\/\/draw\.jdfcloud\.com\/\/pet\/enterRoom\/h5\?invitePin=.*(&inviteSource=task_invite&shareSource=\w+&inviteTimeStamp=\d+&openId=\w+)?&reqSource=weapp|^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/pet\/helpFriend\?friendPin,requires-body=1,max-size=0,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js -京东宠汪汪 = type=cron,cronexp="15 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js 宠汪汪积分兑换奖品 = type=cron,cronexp="0 0-16/8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js 宠汪汪邀请助力与赛跑助力 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js 宠汪汪助力更新Token = type=http-response,pattern=^https:\/\/draw\.jdfcloud\.com(\/mirror)?\/\/api\/user\/addUser\?code=, requires-body=1, max-size=0, script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js @@ -48,11 +46,7 @@ crazyJoy任务 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,scrip 京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js 京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js 京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js -京东收🧨 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nianCollect.js 京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js -京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js -京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js 东东萌宠 = type=cron,cronexp="15 6-18/6 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js 京东金融养猪猪 = type=cron,cronexp="12 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js 京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js diff --git a/jd_newYearMoney.js b/jd_newYearMoney.js index f1e0808a..35055fac 100644 --- a/jd_newYearMoney.js +++ b/jd_newYearMoney.js @@ -49,8 +49,8 @@ if ($.isNode()) { } const JD_API_HOST = 'https://api.m.jd.com/client.action'; const inviteCodes = [ - `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@oMZeX-MZptlSCucyZbF1rd5yz0h4UH_HSfqqF7QrYDympT7f@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZc_uTp0BUSKWp`, - `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@oMZeX-MZptlSCucyZbF1rd5yz0h4UH_HSfqqF7QrYDympT7f@oMZeXeAepdgCULEwYuYjqyz95kfX8nlv4zJZc_uTp0BUSKWp`, + `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@oMZeX-dLpI4GBbQ4MeEh-mLaN0pNaFW85rZz9kjjY0uKXwji@oMZeBpUa-OMfXqN7XsoDs72Ivv7MCd7_ja5b-bxVY_ljJbM`, + `oMZeX-5ApYlXBuJgZbQl9nz5w0N3aiNVN4vfW0E2iJUAZdeZ@oMZeX-QZ9ItQC-MxM-Z0-HsOvnKUc3ZatNy6ab93_eazUVG0@oMZeX-dLpI4GBbQ4MeEh-mLaN0pNaFW85rZz9kjjY0uKXwji@oMZeBpUa-OMfXqN7XsoDs72Ivv7MCd7_ja5b-bxVY_ljJbM`, ]; !(async () => { await requireConfig(); diff --git a/jd_nian_ar.js b/jd_nian_ar.js deleted file mode 100644 index b890a3ff..00000000 --- a/jd_nian_ar.js +++ /dev/null @@ -1,522 +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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true - -================Loon============== -[Script] -cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR - -===============Surge================= -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js - -============小火箭========= -京东炸年兽AR = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { - 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); -} -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", - '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", - '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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/jd_nian_sign.js b/jd_nian_sign.js deleted file mode 100644 index 3578efed..00000000 --- a/jd_nian_sign.js +++ /dev/null @@ -1,508 +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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true - -================Loon============== -[Script] -cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 - -===============Surge================= -京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js - -============小火箭========= -京东炸年兽签到任务🧨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { - 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); -} -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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/jd_nian_wechat.js b/jd_nian_wechat.js deleted file mode 100644 index 985e6d2f..00000000 --- a/jd_nian_wechat.js +++ /dev/null @@ -1,336 +0,0 @@ -/* -京东炸年兽小程序🧨 -强烈推荐使用自定义的小程序UA防止黑号 -活动时间:2021-1-18至2021-2-11 -暂不加入品牌会员 -活动入口: 京东小程序-炸年兽 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东炸年兽小程序🧨 -50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true - -================Loon============== -[Script] -cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 - -===============Surge================= -京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js - -============小火箭========= -京东炸年兽小程序🧨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { - 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); -} -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } -} - -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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") - } - } - $.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 - } - $.nickName = data['base'].nickname; - } 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)} From 45a4c3c3c2626a60538e219a01a5888c28393f68 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 09:25:50 +0800 Subject: [PATCH 1248/1259] =?UTF-8?q?docker=E5=8E=BB=E6=8E=89=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E6=B4=BB=E5=8A=A8=E8=84=9A=E6=9C=ACcron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/crontab_list.sh | 9 --------- 1 file changed, 9 deletions(-) diff --git a/docker/crontab_list.sh b/docker/crontab_list.sh index b4255211..cd053727 100644 --- a/docker/crontab_list.sh +++ b/docker/crontab_list.sh @@ -6,20 +6,11 @@ 10 8 * * * node /scripts/jd_nh.js >> /scripts/logs/jd_nh.log 2>&1 # 京东炸年兽集爆竹(活动时间:2021-1-18至2021-2-11)怕有遗漏故多运行几次 0 * * * * node /scripts/jd_nian.js >> /scripts/logs/jd_nian.log 2>&1 -# 专门收集每秒产生的爆竹(1小时运行一次) -30 * * * * node /scripts/jd_nianCollect.js >> /scripts/logs/jd_nianCollect.log 2>&1 -# 京东炸年兽签到任务🧨 -50 0,1 * * * node /scripts/jd_nian_sign.js >> /scripts/logs/jd_nian_sign.log 2>&1 -# 京东炸年兽AR -50 0,1,8 * * * node /scripts/jd_nian_ar.js >> /scripts/logs/jd_nian_ar.log 2>&1 -# 京东炸年兽小程序 -50 0,1,8 * * * node /scripts/jd_nian_wechat.js >> /scripts/logs/jd_nian_wechat.log 2>&1 # 京东神仙书院(活动时间:2021-1-20至2021-2-5) 30 6,8,12,22 * * * node /scripts/jd_immortal.js >> /scripts/logs/jd_immortal.log 2>&1 # 京东神仙书院答题(活动时间:2021-1-20至2021-2-5) 5 1 * * * node /scripts/jd_immortal_answer.js >> /scripts/logs/jd_immortal_answer.log 2>&1 # 5G狂欢城(2021-1-30至2021-2-4) -0 */6 * * * node /scripts/jd_5g.js >> /scripts/logs/jd_5g.log 2>&1 0 */6 * * * node /scripts/jd_818.js >> /scripts/logs/jd_818.log 2>&1 # 小鸽有礼(活动时间:2021年1月15日至2021年2月19日) 5 7 * * * node /scripts/jd_xg.js >> /scripts/logs/jd_xg.log 2>&1 From a046e5df2e2ca76249fec7d68f7108a02fa911bf Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 09:31:50 +0800 Subject: [PATCH 1249/1259] =?UTF-8?q?=E5=8E=BB=E6=8E=89pk=E4=BA=92?= =?UTF-8?q?=E5=8A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_nian.js | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/jd_nian.js b/jd_nian.js index 9d425f40..0b2cbbcc 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -129,21 +129,22 @@ async function jdNian() { $.full = false await getHomeData() if (!$.secretp) return - 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() - } + // 注释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() From 522fa8309842779ceee92713bc2de4a5333f5b06 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 09:46:50 +0800 Subject: [PATCH 1250/1259] update --- jd_nian.js | 1 - 1 file changed, 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 0b2cbbcc..18b8228b 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -94,7 +94,6 @@ const openUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20% $.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"}); From 4e6d6711aa7bf432f053afc7888cea7848a46642 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 10:04:08 +0800 Subject: [PATCH 1251/1259] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=83=A8=E5=88=86?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E9=80=9A=E7=9F=A5=E9=A2=91=E7=8E=87=EF=BC=8C?= =?UTF-8?q?=20=E8=BF=90=E8=A1=8C=E6=97=A0=E4=BA=AC=E8=B1=86=E4=B8=8D?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_jdzz.js | 10 +++++++--- jd_necklace.js | 2 +- jd_sgmh.js | 3 ++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/jd_jdzz.js b/jd_jdzz.js index 4701029c..d6b78c55 100644 --- a/jd_jdzz.js +++ b/jd_jdzz.js @@ -135,10 +135,14 @@ async function jdWish() { function showMsg() { return new Promise(async resolve => { message += `本次获得${parseInt($.totalBeanNum) - $.nowBean}京豆,${parseInt($.totalNum) - $.nowNum}金币\n` - message += `累计获得${$.totalBeanNum}京豆,${$.totalNum}金币\n` - $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); + message += `累计获得${$.totalBeanNum}京豆,${$.totalNum}金币\n可兑换${$.totalNum / 10000}元无门槛红包` + if (parseInt($.totalBeanNum) - $.nowBean > 0) { + $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); + } else { + $.log(message) + } // 云端大于10元无门槛红包时进行通知推送 - if ($.isNode() && $.totalScore >= 10000) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n当前金币:${$.totalScore}个\n可兑换无门槛红包:${parseInt($.totalNum) / 1000}元\n`,) + if ($.isNode() && $.totalNum >= 100000) await notify.sendNotify(`${$.name} - 京东账号${$.index} - ${$.nickName}`, `京东账号${$.index} ${$.nickName}\n当前金币:${$.totalNum}个\n可兑换无门槛红包:${parseInt($.totalNum) / 10000}元\n`,) resolve(); }) } diff --git a/jd_necklace.js b/jd_necklace.js index 75702267..f0123f47 100644 --- a/jd_necklace.js +++ b/jd_necklace.js @@ -96,7 +96,7 @@ async function jd_necklace() { function showMsg() { return new Promise(async resolve => { let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); - if (nowTimes.getHours() >= 20) { + if (nowTimes.getHours() >= 20 && $.totalScore >= 10000) { $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击弹窗即可去兑换(注:此红包具有时效性)`, { 'open-url': openUrl}); } // 云端大于10元无门槛红包时进行通知推送 diff --git a/jd_sgmh.js b/jd_sgmh.js index f87f8531..de98502c 100644 --- a/jd_sgmh.js +++ b/jd_sgmh.js @@ -262,7 +262,8 @@ function interact_template_getLotteryResult(taskId,timeout = 0) { function showMsg() { message += `任务已完成,本次运行获得京豆${$.beans}` return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + if ($.beans) $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); + $.log(`【京东账号${$.index}】${$.nickName}\n${message}`); resolve() }) } From c09188debffb376d39a68a18bfc2a5c17a336d9d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 10:25:25 +0800 Subject: [PATCH 1252/1259] update --- jd_nian.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_nian.js b/jd_nian.js index 18b8228b..7ed21761 100644 --- a/jd_nian.js +++ b/jd_nian.js @@ -106,7 +106,7 @@ const openUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20% } } if ((nowTimes.getHours() < 20 && nowTimes.getHours() >= 10) && nowTimes.getDate() === 4) { - if (nowTimes.getHours() === 10 || nowTimes.getHours() === 19) { + 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`) } From 519166c3c0b0932358a071927c1e0257c6df73a0 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 10:26:49 +0800 Subject: [PATCH 1253/1259] update --- githubAction.md | 1 - 1 file changed, 1 deletion(-) diff --git a/githubAction.md b/githubAction.md index b2e75cd5..8e53c96e 100644 --- a/githubAction.md +++ b/githubAction.md @@ -84,7 +84,6 @@ | `FACTORAY_WANTPRODUCT_NAME` | 东东工厂
心仪商品 | 非必须 | 提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换,
如不提供则会兑换当前所选商品 | | `JXNCTOKENS` | 京喜农场TOKEN | 非必须 | 每个账号 token 是一个 json,json 需要用单引号包裹且是一行字符串,
否则设置环境变量时会出错,示例:'{"farm_jstoken":"749a90f871adsfads8ffda7bf3b1576760",
"timestamp":"1610165423873",
"phoneid":"42c7e3dadfadsfdsaac-18f0e4f4a0cf"}',多账号间使用`&`或换行分开。 | | `JD_IMMORTAL_LATLON` | 京东神仙书院
地理位置变量 | 非必须 | 京东神仙书院地理位置,示例格式:{"lat":33.1, "lng":118.1} | -| `JD_WECHAT_USER_AGENT` | 京东炸年兽
小程序
自定义UA | 非必须 | 强烈推荐使用自定义的小程序UA防止黑号,在微信聊天界面发送 https://www.ip138.com/useragent/ ,打开网址即可获得,UA示例:
Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15A148 MicroMessenger/7.0.20(0x17001320) NetType/WIFI Language/zh_CN | | `DREAMFACTORY_FORBID_ACCOUNT`| 京喜工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行京喜工厂脚本,注:输入`0`,代表全部账号不运行京喜工厂脚本 | | `JDFACTORY_FORBID_ACCOUNT`| 东东工厂
控制哪个京东账号不运行此脚本 | 非必须 | 输入`1`代表第一个京东账号不运行,多个使用`&`连接,例:`1&3`代表账号1和账号3不运行东东工厂脚本,注:输入`0`,代表全部账号不运行东东工厂脚本 | From c8c1be3806b66559d6eb4a018d7fd676484a4729 Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Thu, 4 Feb 2021 10:59:32 +0800 Subject: [PATCH 1254/1259] =?UTF-8?q?=E4=BA=91=E5=87=BD=E6=95=B0=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E8=BF=87=E6=9C=9F=E7=9A=84secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index d84b8d3f..4bee5651 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -89,7 +89,6 @@ jobs: if [ $FACTORAY_WANTPRODUCT_NAME ]; then sed -i "/variables/a\ FACTORAY_WANTPRODUCT_NAME: $FACTORAY_WANTPRODUCT_NAME" serverless.yml; fi; if [ $JXNCTOKENS ]; then sed -i "/variables/a\ JXNCTOKENS: $JXNCTOKENS" serverless.yml; fi; if [ $JD_IMMORTAL_LATLON ]; then sed -i "/variables/a\ JD_IMMORTAL_LATLON: $JD_IMMORTAL_LATLON" serverless.yml; fi; - if [ $JD_WECHAT_USER_AGENT ]; then sed -i "/variables/a\ JD_WECHAT_USER_AGENT: $JD_WECHAT_USER_AGENT" serverless.yml; fi; if [ $DREAMFACTORY_FORBID_ACCOUNT ]; then sed -i "/variables/a\ DREAMFACTORY_FORBID_ACCOUNT: $DREAMFACTORY_FORBID_ACCOUNT" serverless.yml; fi; if [ $JDFACTORY_FORBID_ACCOUNT ]; then sed -i "/variables/a\ JDFACTORY_FORBID_ACCOUNT: $JDFACTORY_FORBID_ACCOUNT" serverless.yml; fi; cat serverless.yml @@ -158,7 +157,6 @@ jobs: FACTORAY_WANTPRODUCT_NAME: ${{ secrets.FACTORAY_WANTPRODUCT_NAME}} JXNCTOKENS: ${{ secrets.JXNCTOKENS}} JD_IMMORTAL_LATLON: ${{ secrets.JD_IMMORTAL_LATLON}} - JD_WECHAT_USER_AGENT: ${{ secrets.JD_WECHAT_USER_AGENT}} DREAMFACTORY_FORBID_ACCOUNT: ${{ secrets.DREAMFACTORY_FORBID_ACCOUNT}} JDFACTORY_FORBID_ACCOUNT: ${{ secrets.JDFACTORY_FORBID_ACCOUNT}} From 2ebf4888407da46983e4409f009157d522c21bac Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 11:07:23 +0800 Subject: [PATCH 1255/1259] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=A4=B1=E6=95=88?= =?UTF-8?q?=E7=9A=84=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- activity/jd_nian_ar.js | 522 +++++++++++++++++++++++++++++++++++++ activity/jd_nian_sign.js | 508 ++++++++++++++++++++++++++++++++++++ activity/jd_nian_wechat.js | 336 ++++++++++++++++++++++++ 3 files changed, 1366 insertions(+) create mode 100644 activity/jd_nian_ar.js create mode 100644 activity/jd_nian_sign.js create mode 100644 activity/jd_nian_wechat.js diff --git a/activity/jd_nian_ar.js b/activity/jd_nian_ar.js new file mode 100644 index 00000000..b890a3ff --- /dev/null +++ b/activity/jd_nian_ar.js @@ -0,0 +1,522 @@ +/* +京东炸年兽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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js, tag=京东炸年兽AR, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true + +================Loon============== +[Script] +cron "0 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js,tag=京东炸年兽AR + +===============Surge================= +京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_ar.js + +============小火箭========= +京东炸年兽AR = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { + 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); +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0", + '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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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 new file mode 100644 index 00000000..3578efed --- /dev/null +++ b/activity/jd_nian_sign.js @@ -0,0 +1,508 @@ +/* +京东炸年兽签到任务🧨 +活动时间: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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js, tag=京东炸年兽签到任务🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true + +================Loon============== +[Script] +cron "30 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js,tag=京东炸年兽签到任务🧨 + +===============Surge================= +京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_sign.js + +============小火箭========= +京东炸年兽签到任务🧨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { + 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); +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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 new file mode 100644 index 00000000..985e6d2f --- /dev/null +++ b/activity/jd_nian_wechat.js @@ -0,0 +1,336 @@ +/* +京东炸年兽小程序🧨 +强烈推荐使用自定义的小程序UA防止黑号 +活动时间:2021-1-18至2021-2-11 +暂不加入品牌会员 +活动入口: 京东小程序-炸年兽 +已支持IOS双京东账号,Node.js支持N个京东账号 +脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js +============Quantumultx=============== +[task_local] +#京东炸年兽小程序🧨 +50 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js, tag=京东炸年兽小程序🧨, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/main/Icon/lxk0301/jd_nian.png, enabled=true + +================Loon============== +[Script] +cron "50 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js,tag=京东炸年兽小程序🧨 + +===============Surge================= +京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian_wechat.js + +============小火箭========= +京东炸年兽小程序🧨 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { + 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); +} +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } +} + +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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") + } + } + $.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 + } + $.nickName = data['base'].nickname; + } 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)} From 8a160e12f1a0a570a5dab98cac11e5669f49c0f7 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 12:25:50 +0800 Subject: [PATCH 1256/1259] =?UTF-8?q?=E6=B7=BB=E5=8A=A0docker2=E4=B8=8D?= =?UTF-8?q?=E5=86=8D=E7=BB=B4=E6=8A=A4=E7=9A=84=E8=AF=B4=E6=98=8E=EF=BC=8C?= =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=87=E6=9C=9F=E8=84=9A=E6=9C=AC(?= =?UTF-8?q?=E7=8B=82=E6=AC=A2=E5=9F=8E=20jd=5F818.js),iOS=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E4=B9=9F=E8=BF=9B=E8=A1=8C=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loon/lxk0301_LoonTask.conf | 3 - QuantumultX/lxk0301_gallery.json | 1 - README.md | 114 ++-- Surge/lxk0301_Task.sgmodule.sgmodule | 1 - activity/jd_818.js | 68 +- jd_818.js | 941 --------------------------- 6 files changed, 93 insertions(+), 1035 deletions(-) delete mode 100644 jd_818.js diff --git a/Loon/lxk0301_LoonTask.conf b/Loon/lxk0301_LoonTask.conf index 5174d400..5c756640 100644 --- a/Loon/lxk0301_LoonTask.conf +++ b/Loon/lxk0301_LoonTask.conf @@ -7,9 +7,6 @@ hostname = api.m.jd.com, wq.jd.com, draw.jdfcloud.com, jdjoy.jd.com, account.huami.com -# 京东手机狂欢城 -cron "0 0-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城 - # 京豆变动通知 cron "2 9 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知 diff --git a/QuantumultX/lxk0301_gallery.json b/QuantumultX/lxk0301_gallery.json index 0927fc85..9bcbc418 100644 --- a/QuantumultX/lxk0301_gallery.json +++ b/QuantumultX/lxk0301_gallery.json @@ -2,7 +2,6 @@ "name": "LXK9301 task gallery", "description": "https://gitee.com/lxk0301/jd_scripts/tree/master", "task": [ - "0 0-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城, enabled=true", "2 9 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js, tag=京豆变动通知, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true", "10 7 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js, tag=领京豆额外奖励, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_bean_home.png, enabled=true", "0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true", diff --git a/README.md b/README.md index 6096b7fb..6791ad23 100644 --- a/README.md +++ b/README.md @@ -30,63 +30,62 @@ | 序号 | 文件 | 名称 | 活动入口 | | :-: | - | - | - | -|1|[jd_818.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js)|京东手机狂欢城|[活动地址](https://rdcseason.m.jd.com/#/index)| -|2|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| -|3|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| -|4|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| -|5|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| -|6|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| -|7|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| -|8|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| -|9|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| -|10|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| -|11|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| -|12|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| -|13|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| -|14|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| -|15|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| -|16|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| -|17|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| -|18|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| -|19|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| -|20|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| -|21|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| -|22|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| -|23|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| -|24|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| -|25|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| -|26|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| -|27|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| -|28|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| -|29|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| -|30|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| -|31|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| -|32|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| -|33|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| -|34|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| -|35|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| -|36|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| -|37|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| -|38|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| -|39|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| -|40|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| -|41|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| -|42|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| -|43|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| -|44|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| -|45|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| -|46|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| -|47|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| -|48|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| -|49|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| -|50|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| -|51|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| -|52|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| -|53|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| -|54|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| -|55|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| -|56|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| -|57|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| +|1|[jd_bean_change.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js)|京豆变动通知|| +|2|[jd_bean_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js)|领京豆额外奖励|京东APP首页-领京豆| +|3|[jd_bean_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_sign.js)|京豆签到|各处的签到汇总| +|4|[jd_blueCoin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js)|东东超市兑换奖品|京东APP我的-更多工具-东东超市| +|5|[jd_bookshop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bookshop.js)|口袋书店|京东app首页-京东图书-右侧口袋书店| +|6|[jd_car.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car.js)|京东汽车|京东APP首页-京东汽车-屏幕右中部,车主福利| +|7|[jd_car_exchange.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_car_exchange.js)|京东汽车兑换|京东APP首页-京东汽车-屏幕右中部,车主福利| +|8|[jd_cash.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_cash.js)|签到领现金|京东APP搜索领现金进入| +|9|[jd_club_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_club_lottery.js)|摇京豆|京东APP首页-领京豆-摇京豆| +|10|[jd_crazy_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy.js)|crazyJoy任务|京东APP我的-更多工具-疯狂的JOY| +|11|[jd_crazy_joy_coin.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_crazy_joy_coin.js)|crazyJoy挂机|京东APP我的-更多工具-疯狂的JOY| +|12|[jd_daily_egg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_daily_egg.js)|天天提鹅|京东金融-天天提鹅| +|13|[jd_dreamFactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_dreamFactory.js)|京喜工厂|京东APP-游戏与互动-查看更多-京喜工厂| +|14|[jd_family.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_family.js)|京东家庭号|玩一玩-家庭号| +|15|[jd_festival.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_festival.js)|京东手机年终奖|[活动地址](https://shopping-festival.m.jd.com)| +|16|[jd_fruit.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_fruit.js)|东东农场|京东APP我的-更多工具-东东农场| +|17|[jd_get_share_code.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_get_share_code.js)|获取互助码|我的->游戏与互动->查看更多开启`| +|18|[jd_immortal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal.js)|京东神仙书院|京东APP我的-神仙书院| +|19|[jd_immortal_answer.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_immortal_answer.js)|京东神仙书院答题|京东APP我的-神仙书院| +|20|[jd_jdfactory.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdfactory.js)|东东工厂|京东APP首页-数码电器-东东工厂| +|21|[jd_jdzz.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jdzz.js)|京东赚赚|京东赚赚小程序| +|22|[jd_joy.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy.js)|宠汪汪|京东APP我的-更多工具-宠汪汪| +|23|[jd_joy_feedPets.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_feedPets.js)|宠汪汪🐕喂食|京东APP我的-更多工具-宠汪汪| +|24|[jd_joy_help.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_help.js)|宠汪汪强制为别人助力|京东APP我的-更多工具-宠汪汪| +|25|[jd_joy_reward.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_reward.js)|宠汪汪积分兑换奖品|京东APP我的-更多工具-宠汪汪| +|26|[jd_joy_run.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_run.js)|宠汪汪赛跑|京东APP我的-更多工具-宠汪汪| +|27|[jd_joy_steal.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_joy_steal.js)|宠汪汪偷好友积分与狗粮|京东APP我的-更多工具-宠汪汪| +|28|[jd_jxnc.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_jxnc.js)|京喜农场|京喜APP我的-京喜农场| +|29|[jd_kd.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_kd.js)|京东快递签到|[活动地址](https://jingcai-h5.jd.com/#/)| +|30|[jd_live.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_live.js)|京东直播|京东APP首页-京东直播| +|31|[jd_lotteryMachine.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_lotteryMachine.js)|京东抽奖机|京东APP中各种抽奖活动的汇总| +|32|[jd_mh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_mh.js)|盲盒抽京豆|[活动地址](https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd)| +|33|[jd_moneyTree.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_moneyTree.js)|京东摇钱树|京东APP我的-更多工具-摇钱树| +|34|[jd_ms.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_ms.js)|京东秒秒币|京东app-京东秒杀-签到领红包| +|35|[jd_necklace.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_necklace.js)|点点券|京东APP-领券中心/券后9.9-领点点券| +|36|[jd_newYearMoney.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney.js)|京东压岁钱|京东APP我的-压岁钱| +|37|[jd_newYearMoney_lottery.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_newYearMoney_lottery.js)|京东压岁钱抢百元卡|京东APP我的-压岁钱| +|38|[jd_nh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nh.js)|京东年货节|[活动地址](https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301)| +|39|[jd_nian.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_nian.js)|京东炸年兽🧨|京东app首页浮动窗口| +|40|[jd_pet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pet.js)|东东萌宠|京东APP我的-更多工具-东东萌宠| +|41|[jd_pigPet.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_pigPet.js)|金融养猪|京东金融养猪猪| +|42|[jd_plantBean.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_plantBean.js)|京东种豆得豆|京东APP我的-更多工具-种豆得豆| +|43|[jd_rankingList.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_rankingList.js)|京东排行榜|京东APP首页-更多频道-排行榜-悬浮按钮| +|44|[jd_redPacket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_redPacket.js)|京东全民开红包|京东APP首页-领券-锦鲤红包| +|45|[jd_sgmh.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js)|闪购盲盒|京东APP首页-闪购-闪购盲盒| +|46|[jd_shop.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_shop.js)|进店领豆|京东APP首页-领京豆-进店领豆| +|47|[jd_small_home.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_small_home.js)|东东小窝|京东APP我的-游戏与更多-东东小窝| +|48|[jd_speed.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_speed.js)|✈️天天加速|京东APP我的-更多工具-天天加速| +|49|[jd_super_box.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_super_box.js)|京东超级盒子|[活动地址](https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7==)| +|50|[jd_superMarket.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_superMarket.js)|东东超市|京东APP首页-京东超市-底部东东超市| +|51|[jd_syj.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_syj.js)|赚京豆|赚京豆(微信小程序)-赚京豆-签到领京豆| +|52|[jd_unbind.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unbind.js)|注销京东会员卡|| +|53|[jd_unsubscribe.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_unsubscribe.js)|取关京东店铺和商品|| +|54|[jd_xg.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xg.js)|小鸽有礼|[活动地址](https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0)| +|55|[jd_xgyl.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jd_xgyl.js)|小鸽有礼2|[活动地址](https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354740864131276800)| +|56|[jx_sign.js](https://gitee.com/lxk0301/jd_scripts/raw/master/jx_sign.js)|京喜签到|| @@ -124,6 +123,7 @@ ### 2. Docker2 - 请见 [这里](https://hub.docker.com/r/evinedeng/jd) +- 2020.2.4日 20点,删除docker hub上的镜像,此后Docker2不再维护 ### 3. iOS代理软件(QuantumultX, Surge, Loon, 小火箭) diff --git a/Surge/lxk0301_Task.sgmodule.sgmodule b/Surge/lxk0301_Task.sgmodule.sgmodule index 9fa430b2..7811ce64 100644 --- a/Surge/lxk0301_Task.sgmodule.sgmodule +++ b/Surge/lxk0301_Task.sgmodule.sgmodule @@ -8,7 +8,6 @@ # Surge的Task&Cookies脚本模块地址: https://gitee.com/lxk0301/jd_scripts/raw/master/Surge/lxk0301_Task.sgmodule.sgmodule [Script] -京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js 京豆变动通知 = type=cron,cronexp=2 9 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_change.js 领京豆额外奖励 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_bean_home.js 东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js diff --git a/activity/jd_818.js b/activity/jd_818.js index 9f6a84a9..c3670082 100644 --- a/activity/jd_818.js +++ b/activity/jd_818.js @@ -19,15 +19,15 @@ 支持京东双账号 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -// quantumultx +===================quantumultx================ [task_local] #京东手机狂欢城 -1 0-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城, enabled=true -// Loon +0 0-18/6 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城, enabled=true +=====================Loon================ [Script] -cron "1 0-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js,tag=京东手机狂欢城 -// Surge -京东手机狂欢城 = type=cron,cronexp=1 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js +cron "0 0-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城 +====================Surge================ +京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js */ const $ = new Env('京东手机狂欢城'); @@ -55,9 +55,9 @@ if ($.isNode()) { } const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; -const activeEndTime = '2021/2/5 23:59:59+08:00'; +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/20/`; +const printUrl = `http://jd.turinglabs.net/api/v2/jd/5g/read/30/`; let helpCode = [] !(async () => { if (!cookiesArr[0]) { @@ -65,6 +65,7 @@ let helpCode = [] return; } $.temp = []; + await updateShareCodesCDN(); for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -88,7 +89,7 @@ let helpCode = [] // await main(); } } - // console.log($.temp) + // console.log(JSON.stringify($.temp)) })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -120,21 +121,25 @@ async function main() { await showMsg() } async function JD818() { - 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() + 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 = { @@ -585,12 +590,12 @@ async function doHelp() { } // await updateShareCodes(); // if (!$.updatePkActivityIdRes) await updateShareCodesCDN(); - // tempCode = $.updatePkActivityIdRes.shareCodes; + 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) { + if (body && body['data']) { // console.log(`printAPI返回助力码数量:${body.replace(/"/g, '').split(',').length}`) // tempCode = tempCode.concat(body.replace(/"/g, '').split(',')) tempCode = [...tempCode, ...body['data']] @@ -853,11 +858,10 @@ function updateShareCodes(url = 'https://raw.githubusercontent.com/LXK9301/updat }) }) } -function updateShareCodesCDN(url = 'https://raw.fastgit.org/LXK9301/updateTeam/master/jd_shareCodes.json') { +function updateShareCodesCDN(url = 'https://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_shareCodes.json') { return new Promise(resolve => { //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json - $.get({url}, async (err, resp, data) => { + $.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0")}}, async (err, resp, data) => { try { if (err) { console.log(`${JSON.stringify(err)}`) @@ -916,10 +920,10 @@ function TotalBean() { 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}个\niOS用户请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\nhttps://github.com/LXK9301/jd_scripts`, {"open-url": "https://github.com/LXK9301/jd_scripts"}); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\ngithub action用户请删除.github/workflows/jd_818.yml文件\n如果帮助到您可以点下🌟STAR鼓励我一下,谢谢\n咱江湖再见\n https://github.com/LXK9301/jd_scripts`) + $.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"}); + $.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) { diff --git a/jd_818.js b/jd_818.js deleted file mode 100644 index d79b5d3a..00000000 --- a/jd_818.js +++ /dev/null @@ -1,941 +0,0 @@ -/* - * @Author: LXK9301 https://github.com/LXK9301 - * @Date: 2020-11-03 09:25:47 - * @Last Modified by: LXK9301 - * @Last Modified time: 2020-11-23 12:27:07 - */ -/* -京东手机狂欢城活动,每日可获得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 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城, enabled=true -=====================Loon================ -[Script] -cron "0 0-18/6 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_818.js, tag=京东手机狂欢城 -====================Surge================ -京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/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 { - 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); - 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/LXK9301/updateTeam/master/jd_shareCodes.json') { - return new Promise(resolve => { - //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json - //https://raw.githubusercontent.com/LXK9301/updateTeam/master/jd_shareCodes.json - $.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://gitee.com/lxk0301/updateTeam/raw/master/shareCodes/jd_shareCodes.json') { - return new Promise(resolve => { - //https://cdn.jsdelivr.net/gh/LXK9301/updateTeam@master/jd_shareCodes.json - $.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0")}}, 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 - } - $.nickName = data['base'].nickname; - } 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)} From df051090c37095dfed71a6c0684080e506becd04 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 12:43:48 +0800 Subject: [PATCH 1257/1259] update --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 6791ad23..474f22ce 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +### 说明 + +2020.2.4日 20点,删除docker hub上的镜像,此后Docker2不再维护 + ## 特别声明: * 本仓库发布的Script项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断. From 0af69386d8ae3a3da1e0481d2c413f2a11469746 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 15:39:19 +0800 Subject: [PATCH 1258/1259] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E5=AD=97?= =?UTF-8?q?=E6=98=8E=E8=AF=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jdDreamFactoryShareCodes.js | 2 +- jdFactoryShareCodes.js | 2 +- jdFruitShareCodes.js | 2 +- jdJxncTokens.js | 2 +- jdPetShareCodes.js | 2 +- jdPlantBeanShareCodes.js | 2 +- jd_fruit.js | 2 +- jd_plantBean.js | 4 ++-- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/jdDreamFactoryShareCodes.js b/jdDreamFactoryShareCodes.js index b658af2e..d55878fe 100644 --- a/jdDreamFactoryShareCodes.js +++ b/jdDreamFactoryShareCodes.js @@ -22,7 +22,7 @@ if (process.env.DREAM_FACTORY_SHARE_CODES) { shareCodes = process.env.DREAM_FACTORY_SHARE_CODES.split(); } } else if (process.env.DREAM_FACTORY_SHARE_CODES) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) + console.log(`由于您环境变量(DREAM_FACTORY_SHARE_CODES)里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) } for (let i = 0; i < shareCodes.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); diff --git a/jdFactoryShareCodes.js b/jdFactoryShareCodes.js index 0c673c9a..7a949fbe 100644 --- a/jdFactoryShareCodes.js +++ b/jdFactoryShareCodes.js @@ -22,7 +22,7 @@ if (process.env.DDFACTORY_SHARECODES) { shareCodes = process.env.DDFACTORY_SHARECODES.split(); } } else if (process.env.DDFACTORY_SHARECODES) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) + console.log(`由于您环境变量(DDFACTORY_SHARECODES)里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) } for (let i = 0; i < shareCodes.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); diff --git a/jdFruitShareCodes.js b/jdFruitShareCodes.js index 15076525..4a278b70 100644 --- a/jdFruitShareCodes.js +++ b/jdFruitShareCodes.js @@ -22,7 +22,7 @@ if (process.env.FRUITSHARECODES) { FruitShareCodes = process.env.FRUITSHARECODES.split(); } } else if (process.env.JD_COOKIE) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) + console.log(`由于您环境变量(FRUITSHARECODES)里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) } for (let i = 0; i < FruitShareCodes.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); diff --git a/jdJxncTokens.js b/jdJxncTokens.js index 69857d86..0a2a43c6 100644 --- a/jdJxncTokens.js +++ b/jdJxncTokens.js @@ -21,7 +21,7 @@ if (process.env.JXNCTOKENS) { JxncTokens = process.env.JXNCTOKENS.split(); } } else if (process.env.JD_COOKIE) { - console.log(`由于您secret里面未提供 tokens,当种植 APP 种子时,将不能正常进行任务,请提供 token 或 种植非 APP 种子!`) + console.log(`由于您环境变量里面未提供 tokens,当种植 APP 种子时,将不能正常进行任务,请提供 token 或 种植非 APP 种子!`) } for (let i = 0; i < JxncTokens.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); diff --git a/jdPetShareCodes.js b/jdPetShareCodes.js index 5b0907cc..c1e668e7 100644 --- a/jdPetShareCodes.js +++ b/jdPetShareCodes.js @@ -22,7 +22,7 @@ if (process.env.PETSHARECODES) { PetShareCodes = process.env.PETSHARECODES.split(); } } else if (process.env.JD_COOKIE) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) + console.log(`由于您环境变量(PETSHARECODES)里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) } for (let i = 0; i < PetShareCodes.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); diff --git a/jdPlantBeanShareCodes.js b/jdPlantBeanShareCodes.js index 19623e4c..81c5c0cb 100644 --- a/jdPlantBeanShareCodes.js +++ b/jdPlantBeanShareCodes.js @@ -22,7 +22,7 @@ if (process.env.PLANT_BEAN_SHARECODES) { PlantBeanShareCodes = process.env.PLANT_BEAN_SHARECODES.split(); } } else if (process.env.JD_COOKIE) { - console.log(`由于您secret里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) + console.log(`由于您环境变量(PLANT_BEAN_SHARECODES)里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`) } for (let i = 0; i < PlantBeanShareCodes.length; i++) { const index = (i + 1 === 1) ? '' : (i + 1); diff --git a/jd_fruit.js b/jd_fruit.js index e8c2423c..9fecc166 100644 --- a/jd_fruit.js +++ b/jd_fruit.js @@ -30,7 +30,7 @@ let cookiesArr = [], cookie = '', jdFruitShareArr = [], isBox = false, notify, n //下面给出两个账号的填写示例(iOS只支持2个京东账号) let shareCodes = [ // 这个列表填入你要助力的好友的shareCode //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 - '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a@b9d287c974cc498d94112f1b064cf934', + '0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a@b9d287c974cc498d94112f1b064cf934@23b49f5a106b4d61b2ea505d5a4e1056', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3@2673c3777d4443829b2a635059953a28@d2d5d435675544679413cb9145577e0f', ] diff --git a/jd_plantBean.js b/jd_plantBean.js index 7c55c7fc..a184b60e 100644 --- a/jd_plantBean.js +++ b/jd_plantBean.js @@ -35,9 +35,9 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action'; //下面给出两个账号的填写示例(iOS只支持2个京东账号) let shareCodes = [ // IOS本地脚本用户这个列表填入你要助力的好友的shareCode //账号一的好友shareCode,不同好友的shareCode中间用@符号隔开 - '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba@e7lhibzb3zek32e72n4xesxmgc2m76eju62zk3y', + '66j4yt3ebl5ierjljoszp7e4izzbzaqhi5k2unz2afwlyqsgnasq@olmijoxgmjutyrsovl2xalt2tbtfmg6sqldcb3q@e7lhibzb3zek27amgsvywffxx7hxgtzstrk2lba@e7lhibzb3zek32e72n4xesxmgc2m76eju62zk3y@l4ex6vx6yynovp6l5zmgzx4nssii54ewecu36gi', //账号二的好友shareCode,不同好友的shareCode中间用@符号隔开 - 'olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziyvnsb2r54jq34s64sc4it3jlfnejwmtmsuadax2i@eeexxudqtlampbpvmceutaaht5tcftvr6kohuny@e7lhibzb3zek27gfeceqb6wwm45gshcaroxg5ka', + 'olmijoxgmjutyx55upqaqxrblt7f3h26dgj2riy@mlrdw3aw26j3wgzjipsxgonaoyr2evrdsifsziyvnsb2r54jq34s64sc4it3jlfnejwmtmsuadax2i@eeexxudqtlampbpvmceutaaht5tcftvr6kohuny@e7lhibzb3zek27gfeceqb6wwm45gshcaroxg5ka@e7lhibzb3zek3xxnrskw4mpzstihpk3f7fqziiy', ] let currentRoundId = null;//本期活动id let lastRoundId = null;//上期id From 5b0aa47a6610922f368575d2e29c467185337370 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 4 Feb 2021 16:43:20 +0800 Subject: [PATCH 1259/1259] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- getJDCookie.js | 1 + jd_crazy_joy.js | 32 ++++++++++++++++++-------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/getJDCookie.js b/getJDCookie.js index 70b99bfb..f948e55e 100644 --- a/getJDCookie.js +++ b/getJDCookie.js @@ -61,6 +61,7 @@ function generateQrcode() { 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.log(`\n\n注:如扫描不到,请使用工具(例如在线二维码工具:https://cli.im)手动生成如下url二维码\n\n${url}\n\n`); } } catch (e) { $.logErr(e, resp) diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 876b9d88..55b0766a 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -622,21 +622,25 @@ function getSpecialJoy() { data = JSON.parse(data); if (data['resultCode'] === '0') { if (data.data) { - message += '五福汪情况:' - for (let item of data['data']) { - if (item['joyId'] === 1003) { - message += `多多JOY(${item['count']}只) ` - } else if (item['joyId'] === 1004) { - message += `快乐JOY(${item['count']}只) ` - } else if (item['joyId'] === 1005) { - message += `好物JOY(${item['count']}只) ` - } else if (item['joyId'] === 1006) { - message += `省钱JOY(${item['count']}只) ` - } else if (item['joyId'] === 1007) { - message += `东东JOY(${item['count']}只)` - } else { - message += `暂无` + message += '五福汪:' + if (data['data'] && data['data'].length > 0) { + for (let item of data['data']) { + if (item['joyId'] === 1003) { + message += `多多JOY(${item['count']}只) ` + } else if (item['joyId'] === 1004) { + message += `快乐JOY(${item['count']}只) ` + } else if (item['joyId'] === 1005) { + message += `好物JOY(${item['count']}只) ` + } else if (item['joyId'] === 1006) { + message += `省钱JOY(${item['count']}只) ` + } else if (item['joyId'] === 1007) { + message += `东东JOY(${item['count']}只)` + } else { + message += `暂无` + } } + } else { + message += `暂无`; } if (data['data'].length >= 5) { $.msg($.name, '', `京东账号 ${$.index}${$.nickName}\n恭喜你,已集成五福汪可合成分红JOY了`)