From 2c6b6eb1a5ebf58e1b1b0ef7c87d730172f77f23 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 01/37] =?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 9d02d02..27e713c 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 c1f847c086e0b5e34babd93efae8243f32ddbd00 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 02/37] =?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 d525d30..d40db1b 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 44b63ec34339f8a1bddab6c6a4b02f9b62c6f1eb 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 03/37] =?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 27e713c..c6ea1ea 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 9241ec1fefd80655863412b1c46a0a60044b1d4d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 15:24:44 +0800 Subject: [PATCH 04/37] update --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a8ffa8b..3b50818 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ /node_modules/ /.idea -/index.js /.history /box.dat /CookieSet.json +/jdCookie.js From e7b60367ca3099aea243118957f610ff9d085615 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 16:32:57 +0800 Subject: [PATCH 05/37] =?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 c6ea1ea..a6bb4ba 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 d40db1b..0b13ca1 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 a7afb5b..7c1260c 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 f4f55b6ff52982c9bbdc1462887f4e9fe901c081 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 16:57:50 +0800 Subject: [PATCH 06/37] 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 2367201..0aa942c 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 308b418..767c34c 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 fc6ac51c0c104de1e3c553ebbf095bcd4d6b2a14 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 07/37] =?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 523c821..fc78f9e 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 1717ee773dd6e117395887943b23184aa0c7090a Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 17:33:54 +0800 Subject: [PATCH 08/37] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=98=BE=E7=A4=BA=20?= =?UTF-8?q?=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 523c821..3f78bf1 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 7e23a8fd8911d9cb95c0fb898b4a478798181174 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 18:57:41 +0800 Subject: [PATCH 09/37] 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 a20fb2e..b510c31 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 c371e27e2a7a9547f4f82568799dbb379a50da29 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Thu, 3 Dec 2020 19:11:33 +0800 Subject: [PATCH 10/37] 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 b510c31..20a2e2c 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 6435999b801fd6513e75b4876988749298e74236 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 08:11:27 +0800 Subject: [PATCH 11/37] 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 20a2e2c..ac9f32b 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 b82892707f7b2967bc40e76268105352cbf756e3 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 08:27:37 +0800 Subject: [PATCH 12/37] 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 ac9f32b..f8e5adc 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 5e381c5cec4912a4c225a7e83805e7ed8b138a58 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 10:19:46 +0800 Subject: [PATCH 13/37] fix bug --- jd_jdfactory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jd_jdfactory.js b/jd_jdfactory.js index cd86a35..865bf0a 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 98c82d4eb952284463b42868074cefca6838e72e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 11:54:35 +0800 Subject: [PATCH 14/37] =?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 f8e5adc..0226fb0 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 865bf0a..b6ee71f 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 1c8bc41ed710436ff7de041e9db9e75a0c623e5e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 15:07:31 +0800 Subject: [PATCH 15/37] =?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 0226fb0..b528e22 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 8b6484c2d9ab53a298756b01aa03c308af65ff08 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 15:31:55 +0800 Subject: [PATCH 16/37] =?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 b528e22..6dee0bd 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 43053fe790a0098e2b62b3bfd741fd801f3fc840 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 18:55:31 +0800 Subject: [PATCH 17/37] 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 6dee0bd..cf247cc 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 e991d08..eb8c098 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 c915c26cd80cb8aafed51d930952c24ea0738acb Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Fri, 4 Dec 2020 19:02:45 +0800 Subject: [PATCH 18/37] update --- jd_dreamFactory.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/jd_dreamFactory.js b/jd_dreamFactory.js index cf247cc..6aed2ae 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 e9451ffba8db150782f5d4fa163b9377721f454d Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 13:54:20 +0800 Subject: [PATCH 19/37] update --- jd_818.js | 2 +- jd_dreamFactory.js | 2 +- jd_small_home.js | 2 +- jd_superMarket.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jd_818.js b/jd_818.js index ae635a2..5212741 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 6aed2ae..77011e8 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 eb8c098..1484fb8 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 { diff --git a/jd_superMarket.js b/jd_superMarket.js index 7bd28a0..d72916e 100644 --- a/jd_superMarket.js +++ b/jd_superMarket.js @@ -724,7 +724,7 @@ function updatePkActivityId(url = 'https://raw.githubusercontent.com/lxk0301/upd }) }) } -function updatePkActivityIdCDN(url = 'https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateTeam.json') { +function updatePkActivityIdCDN(url = 'https://raw.fastgit.org/lxk0301/updateTeam/master/jd_updateTeam.json') { return new Promise(resolve => { //https://cdn.jsdelivr.net/gh/lxk0301/updateTeam@master/jd_updateTeam.json //https://raw.githubusercontent.com/lxk0301/updateTeam/master/jd_updateTeam.json From 417985c2bb20c8962bf0ebaa258171d90f9c7904 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 14:16:18 +0800 Subject: [PATCH 20/37] =?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 77011e8..e44f89c 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 9ff7052bb40ed561c6b267d46cc6d757675857ef Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 14:46:18 +0800 Subject: [PATCH 21/37] =?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 1d00731..acc3bd2 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 7df3fff..d52d288 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 c0fafe9..534ade1 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 81aa844..eb3edd6 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 0b7289ac47737517474dacf95a8a891b2b9a6d1e Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 19:58:01 +0800 Subject: [PATCH 22/37] =?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 e44f89c..ad456c5 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 ed40bf6a16fb160e14b414d8d1554d557f2707f1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 20:20:27 +0800 Subject: [PATCH 23/37] =?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 ad456c5..46d2e19 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 c5fdbe1c708032052f5bc99bbdc53d59664245a9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 20:55:24 +0800 Subject: [PATCH 24/37] =?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 46d2e19..ba46627 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 ddf6628806660e3ff4e940e203fb9ca4b709f6c1 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sat, 5 Dec 2020 21:21:54 +0800 Subject: [PATCH 25/37] 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 ba46627..8047f6b 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 d52d288..e834b74 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 4b4c1480e9cd27557af4913f1595d466f61874df Mon Sep 17 00:00:00 2001 From: DoveBoy <393366046@qq.com> Date: Sat, 5 Dec 2020 22:38:35 +0800 Subject: [PATCH 26/37] =?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 18b7973..245675f 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 bfee426f6c5c303ea7a8bd7cd972c376974b8077 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 6 Dec 2020 14:03:31 +0800 Subject: [PATCH 27/37] =?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 8047f6b..e2e1eb5 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 452a1d6..3b15d13 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 71bf00c..24f2ce8 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 dac66151442644b08e02100c6bdcfec10497c3fc Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 6 Dec 2020 16:05:17 +0800 Subject: [PATCH 28/37] =?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 e2e1eb5..1b13aa9 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 0395b983fe47df4b75ee841eacaabac98fc5c831 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 6 Dec 2020 22:34:12 +0800 Subject: [PATCH 29/37] =?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 b6ee71f..a0198b7 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 e834b74..ec392ea 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 be4a0c28c489f22c1fc90002749222843856d960 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Sun, 6 Dec 2020 22:57:09 +0800 Subject: [PATCH 30/37] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E4=B8=9C=E4=B8=9C?= =?UTF-8?q?=E5=B7=A5=E5=8E=82=E8=84=9A=E6=9C=AC=20=E6=AF=8F=E6=97=A510-13?= =?UTF-8?q?=E7=82=B9=E5=B7=A1=E5=8E=82=E4=BB=BB=E5=8A=A1=E6=9C=AA=E5=81=9A?= =?UTF-8?q?=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 a0198b7..7f48bca 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 c916d869e5098b802d4c554a777022ca83df18db Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 09:27:24 +0800 Subject: [PATCH 31/37] =?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 1b13aa9..ccb4640 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 a81132848902ad5db814af1e74b6f7d5be90b249 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 09:46:35 +0800 Subject: [PATCH 32/37] =?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 114c1e2..b0f4eee 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 7f48bca..ba9d5c3 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 9c1542f..7e71281 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 5a14323..00760e2 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 f5d0eeae8d5bbb87ebeeb2c7f1167ecd1fba7141 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 09:52:45 +0800 Subject: [PATCH 33/37] update --- jd_plantBean.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jd_plantBean.js b/jd_plantBean.js index 00760e2..1640b5f 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 147b37237805241b535abfaa7e86b9612c3274b9 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 11:11:01 +0800 Subject: [PATCH 34/37] =?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 08ba75d..0000000 --- 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 7f1716d..651f830 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 43b6efc37025f4e3755e92697956b5edc747250b Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 11:22:22 +0800 Subject: [PATCH 35/37] =?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 7b3bdf9..4ba9d49 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 651f830..4ae1007 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 6719bcb6720dfc552c7fea6b896fff21d956e592 Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 11:30:05 +0800 Subject: [PATCH 36/37] =?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 a6bb4ba..951f131 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 0b13ca1..b41b19c 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 dea22daabd6fd4b441b2e9df3450d3ff88e8ea3c Mon Sep 17 00:00:00 2001 From: lxk0301 <778732665@qq.com> Date: Mon, 7 Dec 2020 11:49:03 +0800 Subject: [PATCH 37/37] =?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 4ba9d49..446e24c 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 4ae1007..a225c3c 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() }) }