11/*
22京东抽奖机
3- 更新时间:2020-11-05 16:06
4- 脚本说明:
3+ 更新时间:2020-11-06 13:12
4+ 脚本说明:四个抽奖活动,【东东抽奖机】【新店福利】【东东福利屋】【东东生活】,点通知只能跳转一个,入口在京东APP玩一玩里面可以看到
55脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
66// quantumultx
77[task_local]
@@ -18,7 +18,10 @@ const $ = new Env('京东抽奖机');
1818const jdCookieNode = $ . isNode ( ) ? require ( './jdCookie.js' ) : '' ;
1919const STRSPLIT = "|" ;
2020const needSum = false ; //是否需要显示汇总
21- $ . isMuteLog = true //是否显示出参详情
21+ const printDetail = false ; //是否显示出参详情
22+ const appIdArr = [ '1EFRQxQ' , '1EFRQxA' , '1EFRQxw' , '1EFRQyw' ]
23+ const shareCodeArr = [ 'P04z54XCjVXmYaW5m9cZ2f433tIlGBj3JnLHD0' , 'P04z54XCjVXmIaW5m9cZ2f433tIlGWEga-IO2o' , 'P04z54XCjVXm4aW5m9cZ2f433tIlINrBDzgMdY' , 'P04z54XCjVXl4aW5m9cZ2f433tIlHQIDDSzFzg' ]
24+ //const funPrefixArr = ['interact_template','interact_template','wfh']
2225//IOS等用户直接用NobyDa的jd cookie
2326let cookiesArr = [ ] , cookie = '' ;
2427if ( $ . isNode ( ) ) {
@@ -48,8 +51,14 @@ const JD_API_HOST = `https://api.m.jd.com/client.action`;
4851 $ . msg ( $ . name , `【提示】京东账号${ i + 1 } cookie已过期!请先获取cookie\n直接使用NobyDa的京东签到获取` , 'https://bean.m.jd.com/' , { "open-url" : "https://bean.m.jd.com/" } ) ;
4952 continue ;
5053 }
51- await interact_template_getHomeData ( ) ;
52- await interact_template_getLotteryResult ( ) ;
54+ for ( let j in appIdArr ) {
55+ appId = appIdArr [ j ]
56+ shareCode = shareCodeArr [ j ]
57+ //funPrefix = funPrefixArr[j]
58+ if ( parseInt ( j ) ) console . log ( `\n开始第${ parseInt ( j ) + 1 } 个抽奖活动` )
59+ await interact_template_getHomeData ( ) ;
60+ await interact_template_getLotteryResult ( ) ;
61+ }
5362 await msgShow ( ) ;
5463 }
5564 }
@@ -103,13 +112,14 @@ function interact_template_getHomeData(timeout = 0) {
103112 'Accept-Encoding' : `gzip, deflate, br` ,
104113 'Accept-Language' : `zh-cn`
105114 } ,
106- body : `functionId=interact_template_getHomeData &body={"appId":"1EFRQxQ ","taskToken":""}&client=wh5&clientVersion=1.0.0`
115+ body : `functionId=${ appId === '1EFRQxw' ? 'wfh' : 'interact_template' } _getHomeData &body={"appId":"${ appId } ","taskToken":""}&client=wh5&clientVersion=1.0.0`
107116 }
108117 $ . post ( url , async ( err , resp , data ) => {
109118 try {
110- if ( ! $ . isMuteLog ) console . log ( data ) ;
119+ if ( printDetail ) console . log ( data ) ;
111120 data = JSON . parse ( data ) ;
112-
121+ scorePerLottery = data . data . result . userInfo . scorePerLottery || data . data . result . userInfo . lotteryMinusScore
122+ //console.log(scorePerLottery)
113123 for ( let i = 0 ; i < data . data . result . taskVos . length ; i ++ ) {
114124 console . log ( "\n" + data . data . result . taskVos [ i ] . taskType + '-' + data . data . result . taskVos [ i ] . taskName + '-' + ( data . data . result . taskVos [ i ] . status === 1 ? `已完成${ data . data . result . taskVos [ i ] . times } -未完成${ data . data . result . taskVos [ i ] . maxTimes } ` : "全部已完成" ) )
115125 //签到
@@ -120,7 +130,8 @@ function interact_template_getHomeData(timeout = 0) {
120130 continue
121131 }
122132 if ( data . data . result . taskVos [ i ] . taskType === 14 ) { //'data.data.result.taskVos[i].assistTaskDetailVo.taskToken'
123- await harmony_collectScore ( 'P04z54XCjVXmYaW5m9cZ2f433tIlGBj3JnLHD0' , data . data . result . taskVos [ i ] . taskId ) ;
133+ console . log ( '您的助力码:' + data . data . result . taskVos [ i ] . assistTaskDetailVo . taskToken )
134+ await harmony_collectScore ( shareCode , data . data . result . taskVos [ i ] . taskId ) ;
124135 continue
125136 }
126137 let list = data . data . result . taskVos [ i ] . productInfoVos || data . data . result . taskVos [ i ] . followShopVo || data . data . result . taskVos [ i ] . shoppingActivityVos || data . data . result . taskVos [ i ] . browseShopVo
@@ -159,16 +170,17 @@ function harmony_collectScore(taskToken,taskId,timeout = 0) {
159170 'Cookie' : cookie ,
160171 'Connection' : `keep-alive` ,
161172 'Accept' : `application/json, text/plain, */*` ,
162- 'Referer' : `https://h5.m.jd.com/babelDiy/Zeus/2WBcKYkn8viyxv7MoKKgfzmu7Dss/index.html?inviteId=P04z54XCjVXmYaW5m9cZ2f433tIlGBj3JnLHD0 ` , //?inviteId=P225KkcRx4b8lbWJU72wvZZcwCjVXmYaS5jQ P225KkcRx4b8lbWJU72wvZZcwCjVXmYaS5jQ
173+ 'Referer' : `https://h5.m.jd.com/babelDiy/Zeus/2WBcKYkn8viyxv7MoKKgfzmu7Dss/index.html` , //?inviteId=P225KkcRx4b8lbWJU72wvZZcwCjVXmYaS5jQ P225KkcRx4b8lbWJU72wvZZcwCjVXmYaS5jQ?inviteId=${shareCode}
163174 'Host' : `api.m.jd.com` ,
164175 'Accept-Encoding' : `gzip, deflate, br` ,
165176 'Accept-Language' : `zh-cn`
166177 } ,
167- body : `functionId=harmony_collectScore &body={"appId":"1EFRQxQ ","taskToken":"${ taskToken } ","taskId":${ taskId } ,"actionType":0}&client=wh5&clientVersion=1.0.0`
178+ body : `functionId=${ appId === '1EFRQxw' ? 'wfh' : 'harmony' } _collectScore &body={"appId":"${ appId } ","taskToken":"${ taskToken } ","taskId":${ taskId } ,"actionType":0}&client=wh5&clientVersion=1.0.0`
168179 }
180+ //console.log(url)
169181 $ . post ( url , async ( err , resp , data ) => {
170182 try {
171- if ( ! $ . isMuteLog ) console . log ( data ) ;
183+ if ( printDetail ) console . log ( data ) ;
172184 data = JSON . parse ( data ) ;
173185 console . log ( data . data . bizMsg )
174186 } catch ( e ) {
@@ -196,20 +208,20 @@ function interact_template_getLotteryResult(timeout = 0) {
196208 'Accept-Encoding' : `gzip, deflate, br` ,
197209 'Accept-Language' : `zh-cn`
198210 } ,
199- body : `functionId=interact_template_getLotteryResult &body={"appId":"1EFRQxQ "}&client=wh5&clientVersion=1.0.0`
211+ body : `functionId=${ appId === '1EFRQxw' ? 'wfh' : 'interact_template' } _getLotteryResult &body={"appId":"${ appId } "}&client=wh5&clientVersion=1.0.0`
200212 }
201213 $ . post ( url , async ( err , resp , data ) => {
202214 try {
203- if ( ! $ . isMuteLog ) console . log ( data ) ;
215+ if ( printDetail ) console . log ( data ) ;
204216 if ( ! timeout ) console . log ( '\n开始抽奖' )
205217 data = JSON . parse ( data ) ;
206218 if ( data . data . bizCode === 0 ) {
207219 merge . jdBeans . success ++ ;
208- if ( data . data . result . userAwardsCacheDto . jBeanAwardVo && data . data . result . userAwardsCacheDto . jBeanAwardVo . prizeName === "京豆" ) {
209- console . log ( data . data . result . userAwardsCacheDto . jBeanAwardVo . prizeName + ' :' + data . data . result . userAwardsCacheDto . jBeanAwardVo . quantity )
220+ if ( data . data . result . userAwardsCacheDto . jBeanAwardVo && data . data . result . userAwardsCacheDto . jBeanAwardVo . prizeName . match ( / 京 豆 / ) ) {
221+ console . log ( '京豆 :' + data . data . result . userAwardsCacheDto . jBeanAwardVo . quantity )
210222 merge . jdBeans . prizeCount += parseInt ( data . data . result . userAwardsCacheDto . jBeanAwardVo . quantity )
211223 }
212- if ( parseInt ( data . data . result . userScore ) >= 400 ) {
224+ if ( parseInt ( data . data . result . userScore ) >= scorePerLottery ) {
213225 await interact_template_getLotteryResult ( 1000 )
214226 }
215227 } else {
0 commit comments