1
1
const $ = new Env ( 'WPS' )
2
2
$ . VAL_signhomeurl = $ . getdata ( 'chavy_signhomeurl_wps' )
3
3
$ . VAL_signhomeheader = $ . getdata ( 'chavy_signhomeheader_wps' )
4
+ $ . CFG_inviteWaitTime = $ . getdata ( 'CFG_wps_inviteTime' ) * 1 || 2000 // 每次并发间隔时间 (毫秒)
4
5
5
6
! ( async ( ) => {
6
- $ . log ( '' , `🔔 ${ $ . name } , 开始!` , '' )
7
7
await loginapp ( )
8
8
await signapp ( )
9
9
await getquestion ( )
@@ -16,12 +16,8 @@ $.VAL_signhomeheader = $.getdata('chavy_signhomeheader_wps')
16
16
await getSignreward ( )
17
17
await showmsg ( )
18
18
} ) ( )
19
- . catch ( ( e ) => {
20
- $ . log ( '' , `❌ ${ $ . name } , 失败! 原因: ${ e } !` , '' )
21
- } )
22
- . finally ( ( ) => {
23
- $ . msg ( $ . name , $ . subt , $ . desc . join ( '\n' ) ) , $ . log ( '' , `🔔 ${ $ . name } , 结束!` , '' ) , $ . done ( )
24
- } )
19
+ . catch ( ( e ) => $ . logErr ( e ) )
20
+ . finally ( ( ) => $ . done ( ) )
25
21
26
22
// 登录 App
27
23
function loginapp ( ) {
@@ -262,7 +258,7 @@ function getUserInfo() {
262
258
} )
263
259
}
264
260
265
- function invite ( ) {
261
+ async function invite ( ) {
266
262
const sids = [
267
263
'V02S2UBSfNlvEprMOn70qP3jHPDqiZU00a7ef4a800341c7c3b' ,
268
264
'V02StVuaNcoKrZ3BuvJQ1FcFS_xnG2k00af250d4002664c02f' ,
@@ -280,30 +276,27 @@ function invite() {
280
276
'V02SC1mOHS0RiUBxeoA8NTliH2h2NGc00a803c35002693584d'
281
277
]
282
278
$ . invites = [ ]
283
- const inviteActs = [ ]
284
- $ . log ( '' , '开始邀请: ' )
279
+ $ . log ( '' , `开始邀请(间隔 ${ $ . CFG_inviteWaitTime } 毫秒): ` )
285
280
for ( let sidIdx = 0 ; sidIdx < sids . length ; sidIdx ++ ) {
286
- inviteActs . push (
287
- new Promise ( ( resove ) => {
288
- const body = `invite_userid=${ $ . userinfo . data . userid } `
289
- const url = { url : 'http://zt.wps.cn/2018/clock_in/api/invite' , body, headers : { sid : sids [ sidIdx ] } }
290
- $ . post ( url , ( error , response , data ) => {
291
- try {
292
- if ( error ) throw new Error ( error )
293
- const _data = JSON . parse ( data )
294
- const _invite = { _raw : _data , inviteIdx : sidIdx , isSuc : _data . result === 'ok' }
295
- $ . invites . push ( _invite )
296
- $ . log ( ` 邀请第 ${ _invite . inviteIdx + 1 } 个用户: ${ _invite . isSuc ? '成功!' : '失败!' } ` )
297
- } catch ( e ) {
298
- $ . log ( `❗️ ${ $ . name } , 执行失败!` , ` error = ${ error || e } ` , `response = ${ JSON . stringify ( response ) } ` , `data = ${ data } ` , '' )
299
- } finally {
300
- resove ( )
301
- }
302
- } )
281
+ await new Promise ( ( resove ) => {
282
+ const body = `invite_userid=${ $ . userinfo . data . userid } `
283
+ const url = { url : 'http://zt.wps.cn/2018/clock_in/api/invite' , body, headers : { sid : sids [ sidIdx ] } }
284
+ $ . post ( url , ( error , response , data ) => {
285
+ try {
286
+ if ( error ) throw new Error ( error )
287
+ const _data = JSON . parse ( data )
288
+ const _invite = { _raw : _data , inviteIdx : sidIdx , isSuc : _data . result === 'ok' }
289
+ $ . invites . push ( _invite )
290
+ $ . log ( ` 邀请第 ${ _invite . inviteIdx + 1 } 个用户: ${ _invite . isSuc ? '成功!' : '失败!' } ` )
291
+ } catch ( e ) {
292
+ $ . log ( `❗️ ${ $ . name } , 执行失败!` , ` error = ${ error || e } ` , `response = ${ JSON . stringify ( response ) } ` , `data = ${ data } ` , '' )
293
+ } finally {
294
+ resove ( )
295
+ }
303
296
} )
304
- )
297
+ } )
298
+ await $ . wait ( $ . CFG_inviteWaitTime )
305
299
}
306
- return Promise . all ( inviteActs )
307
300
}
308
301
309
302
function showmsg ( ) {
@@ -356,9 +349,10 @@ function showmsg() {
356
349
$ . desc . push ( ` ${ rstatus } ${ r . reward_name } ` )
357
350
} )
358
351
}
352
+ $ . msg ( $ . name , $ . subt , $ . desc . join ( '\n' ) )
359
353
resove ( )
360
354
} )
361
355
}
362
356
363
357
// prettier-ignore
364
- function Env ( t , e ) { class s { constructor ( t ) { this . env = t } send ( t , e = "GET" ) { t = "string" == typeof t ?{ url :t } :t ; let s = this . get ; return "POST" === e && ( s = this . post ) , new Promise ( ( e , i ) => { s . call ( this , t , ( t , s , r ) => { t ?i ( t ) :e ( s ) } ) } ) } get ( t ) { return this . send . call ( this . env , t ) } post ( t ) { return this . send . call ( this . env , t , "POST" ) } } return new class { constructor ( t , e ) { this . name = t , this . http = new s ( this ) , this . data = null , this . dataFile = "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 ) }
358
+ function Env ( t , e ) { class s { constructor ( t ) { this . env = t } send ( t , e = "GET" ) { t = "string" == typeof t ?{ url :t } :t ; let s = this . get ; return "POST" === e && ( s = this . post ) , new Promise ( ( e , i ) => { s . call ( this , t , ( t , s , r ) => { t ?i ( t ) :e ( s ) } ) } ) } get ( t ) { return this . send . call ( this . env , t ) } post ( t ) { return this . send . call ( this . env , t , "POST" ) } } return new class { constructor ( t , e ) { this . name = t , this . http = new s ( this ) , this . data = null , this . dataFile = "box.dat" , this . logs = [ ] , this . isMute = ! 1 , this . isNeedRewrite = ! 1 , this . logSeparator = "\n" , this . startTime = ( new Date ) . getTime ( ) , Object . assign ( this , e ) , this . log ( "" , `🔔${ this . name } , 开始!` ) } isNode ( ) { return "undefined" != typeof module && ! ! module . exports } isQuanX ( ) { return "undefined" != typeof $task } isSurge ( ) { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon ( ) { return "undefined" != typeof $loon } toObj ( t , e = null ) { try { return JSON . parse ( t ) } catch { return e } } toStr ( t , e = null ) { try { return JSON . stringify ( t ) } catch { return e } } getjson ( t , e ) { let s = e ; const i = this . getdata ( t ) ; if ( i ) try { s = JSON . parse ( this . getdata ( t ) ) } catch { } return s } setjson ( t , e ) { try { return this . setdata ( JSON . stringify ( t ) , e ) } catch { return ! 1 } } getScript ( t ) { return new Promise ( e => { this . get ( { url :t } , ( t , s , i ) => e ( i ) ) } ) } runScript ( t , e ) { return new Promise ( s => { let i = this . getdata ( "@chavy_boxjs_userCfgs.httpapi" ) ; i = i ?i . replace ( / \n / g, "" ) . trim ( ) :i ; let r = this . getdata ( "@chavy_boxjs_userCfgs.httpapi_timeout" ) ; r = r ?1 * r :20 , r = e && e . timeout ?e . timeout :r ; const [ o , h ] = i . split ( "@" ) , a = { url :`http://${ h } /v1/scripting/evaluate` , body :{ script_text :t , mock_type :"cron" , timeout :r } , headers :{ "X-Key" :o , Accept :"*/*" } } ; this . post ( a , ( t , e , i ) => s ( i ) ) } ) . catch ( t => this . logErr ( t ) ) } loaddata ( ) { if ( ! this . isNode ( ) ) return { } ; { this . fs = this . fs ?this . fs :require ( "fs" ) , this . path = this . path ?this . path :require ( "path" ) ; const t = this . path . resolve ( this . dataFile ) , e = this . path . resolve ( process . cwd ( ) , this . dataFile ) , s = this . fs . existsSync ( t ) , i = ! s && this . fs . existsSync ( e ) ; if ( ! s && ! i ) return { } ; { const i = s ?t :e ; try { return JSON . parse ( this . fs . readFileSync ( i ) ) } catch ( t ) { return { } } } } } writedata ( ) { if ( this . isNode ( ) ) { this . fs = this . fs ?this . fs :require ( "fs" ) , this . path = this . path ?this . path :require ( "path" ) ; const t = this . path . resolve ( this . dataFile ) , e = this . path . resolve ( process . cwd ( ) , this . dataFile ) , s = this . fs . existsSync ( t ) , i = ! s && this . fs . existsSync ( e ) , r = JSON . stringify ( this . data ) ; s ?this . fs . writeFileSync ( t , r ) :i ?this . fs . writeFileSync ( e , r ) :this . fs . writeFileSync ( t , r ) } } lodash_get ( t , e , s ) { const i = e . replace ( / \[ ( \d + ) \] / g, ".$1" ) . split ( "." ) ; let r = t ; for ( const t of i ) if ( r = Object ( r ) [ t ] , void 0 === r ) return s ; return r } lodash_set ( t , e , s ) { return Object ( t ) !== t ?t :( Array . isArray ( e ) || ( e = e . toString ( ) . match ( / [ ^ . [ \] ] + / g) || [ ] ) , e . slice ( 0 , - 1 ) . reduce ( ( t , s , i ) => Object ( t [ s ] ) === t [ s ] ?t [ s ] :t [ s ] = Math . abs ( e [ i + 1 ] ) >> 0 == + e [ i + 1 ] ?[ ] :{ } , t ) [ e [ e . length - 1 ] ] = s , t ) } getdata ( t ) { let e = this . getval ( t ) ; if ( / ^ @ / . test ( t ) ) { const [ , s , i ] = / ^ @ ( .* ?) \. ( .* ?) $ / . exec ( t ) , r = s ?this . getval ( s ) :"" ; if ( r ) try { const t = JSON . parse ( r ) ; e = t ?this . lodash_get ( t , i , "" ) :e } catch ( t ) { e = "" } } return e } setdata ( t , e ) { let s = ! 1 ; if ( / ^ @ / . test ( e ) ) { const [ , i , r ] = / ^ @ ( .* ?) \. ( .* ?) $ / . exec ( e ) , o = this . getval ( i ) , h = i ?"null" === o ?null :o || "{}" :"{}" ; try { const e = JSON . parse ( h ) ; this . lodash_set ( e , r , t ) , s = this . setval ( JSON . stringify ( e ) , i ) } catch ( e ) { const o = { } ; this . lodash_set ( o , r , t ) , s = this . setval ( JSON . stringify ( o ) , i ) } } else s = this . setval ( t , e ) ; return s } getval ( t ) { return this . isSurge ( ) || this . isLoon ( ) ?$persistentStore . read ( t ) :this . isQuanX ( ) ?$prefs . valueForKey ( t ) :this . isNode ( ) ?( this . data = this . loaddata ( ) , this . data [ t ] ) :this . data && this . data [ t ] || null } setval ( t , e ) { return this . isSurge ( ) || this . isLoon ( ) ?$persistentStore . write ( t , e ) :this . isQuanX ( ) ?$prefs . setValueForKey ( t , e ) :this . isNode ( ) ?( this . data = this . loaddata ( ) , this . data [ e ] = t , this . writedata ( ) , ! 0 ) :this . data && this . data [ e ] || null } initGotEnv ( t ) { this . got = this . got ?this . got :require ( "got" ) , this . cktough = this . cktough ?this . cktough :require ( "tough-cookie" ) , this . ckjar = this . ckjar ?this . ckjar :new this . cktough . CookieJar , t && ( t . headers = t . headers ?t . headers :{ } , void 0 === t . headers . Cookie && void 0 === t . cookieJar && ( t . cookieJar = this . ckjar ) ) } get ( t , e = ( ( ) => { } ) ) { t . headers && ( delete t . headers [ "Content-Type" ] , delete t . headers [ "Content-Length" ] ) , this . isSurge ( ) || this . isLoon ( ) ?( this . isSurge ( ) && this . isNeedRewrite && ( t . headers = t . headers || { } , Object . assign ( t . headers , { "X-Surge-Skip-Scripting" :! 1 } ) ) , $httpClient . get ( t , ( t , s , i ) => { ! t && s && ( s . body = i , s . statusCode = s . status ) , e ( t , s , i ) } ) ) :this . isQuanX ( ) ?( this . isNeedRewrite && ( t . opts = t . opts || { } , Object . assign ( t . opts , { hints :! 1 } ) ) , $task . fetch ( t ) . then ( t => { const { statusCode :s , statusCode :i , headers :r , body :o } = t ; e ( null , { status :s , statusCode :i , headers :r , body :o } , o ) } , t => e ( t ) ) ) :this . isNode ( ) && ( this . initGotEnv ( t ) , this . got ( t ) . on ( "redirect" , ( t , e ) => { try { if ( t . headers [ "set-cookie" ] ) { const s = t . headers [ "set-cookie" ] . map ( this . cktough . Cookie . parse ) . toString ( ) ; s && this . ckjar . setCookieSync ( s , null ) , e . cookieJar = this . ckjar } } catch ( t ) { this . logErr ( t ) } } ) . then ( t => { const { statusCode :s , statusCode :i , headers :r , body :o } = t ; e ( null , { status :s , statusCode :i , headers :r , body :o } , o ) } , t => { const { message :s , response :i } = t ; e ( s , i , i && i . body ) } ) ) } post ( t , e = ( ( ) => { } ) ) { const s = t . method ?t . method . toLocaleLowerCase ( ) :"post" ; if ( t . body && t . headers && ! t . headers [ "Content-Type" ] && ( t . headers [ "Content-Type" ] = "application/x-www-form-urlencoded" ) , t . headers && delete t . headers [ "Content-Length" ] , this . isSurge ( ) || this . isLoon ( ) ) this . isSurge ( ) && this . isNeedRewrite && ( t . headers = t . headers || { } , Object . assign ( t . headers , { "X-Surge-Skip-Scripting" :! 1 } ) ) , $httpClient [ s ] ( t , ( t , s , i ) => { ! t && s && ( s . body = i , s . statusCode = s . status ) , e ( t , s , i ) } ) ; else if ( this . isQuanX ( ) ) t . method = s , this . isNeedRewrite && ( t . opts = t . opts || { } , Object . assign ( t . opts , { hints :! 1 } ) ) , $task . fetch ( t ) . then ( t => { const { statusCode :s , statusCode :i , headers :r , body :o } = t ; e ( null , { status :s , statusCode :i , headers :r , body :o } , o ) } , t => e ( t ) ) ; else if ( this . isNode ( ) ) { this . initGotEnv ( t ) ; const { url :i , ...r } = t ; this . got [ s ] ( i , r ) . then ( t => { const { statusCode :s , statusCode :i , headers :r , body :o } = t ; e ( null , { status :s , statusCode :i , headers :r , body :o } , o ) } , t => { const { message :s , response :i } = t ; e ( s , i , i && i . body ) } ) } } time ( t , e = null ) { const s = e ?new Date ( e ) :new Date ; let i = { "M+" :s . getMonth ( ) + 1 , "d+" :s . getDate ( ) , "H+" :s . getHours ( ) , "m+" :s . getMinutes ( ) , "s+" :s . getSeconds ( ) , "q+" :Math . floor ( ( s . getMonth ( ) + 3 ) / 3 ) , S :s . getMilliseconds ( ) } ; / ( y + ) / . test ( t ) && ( t = t . replace ( RegExp . $1 , ( s . getFullYear ( ) + "" ) . substr ( 4 - RegExp . $1 . length ) ) ) ; for ( let e in i ) new RegExp ( "(" + e + ")" ) . test ( t ) && ( t = t . replace ( RegExp . $1 , 1 == RegExp . $1 . length ?i [ e ] :( "00" + i [ e ] ) . substr ( ( "" + i [ e ] ) . length ) ) ) ; return t } msg ( e = t , s = "" , i = "" , r ) { const o = t => { if ( ! t ) return t ; if ( "string" == typeof t ) return this . isLoon ( ) ?t :this . isQuanX ( ) ?{ "open-url" :t } :this . isSurge ( ) ?{ url :t } :void 0 ; if ( "object" == typeof t ) { if ( this . isLoon ( ) ) { let e = t . openUrl || t . url || t [ "open-url" ] , s = t . mediaUrl || t [ "media-url" ] ; return { openUrl :e , mediaUrl :s } } if ( this . isQuanX ( ) ) { let e = t [ "open-url" ] || t . url || t . openUrl , s = t [ "media-url" ] || t . mediaUrl ; return { "open-url" :e , "media-url" :s } } if ( this . isSurge ( ) ) { let e = t . url || t . openUrl || t [ "open-url" ] ; return { url :e } } } } ; if ( this . isMute || ( this . isSurge ( ) || this . isLoon ( ) ?$notification . post ( e , s , i , o ( r ) ) :this . isQuanX ( ) && $notify ( e , s , i , o ( r ) ) ) , ! this . isMuteLog ) { let t = [ "" , "==============📣系统通知📣==============" ] ; t . push ( e ) , s && t . push ( s ) , i && t . push ( i ) , console . log ( t . join ( "\n" ) ) , this . logs = this . logs . concat ( t ) } } log ( ...t ) { t . length > 0 && ( this . logs = [ ...this . logs , ...t ] ) , console . log ( t . join ( this . logSeparator ) ) } logErr ( t , e ) { const s = ! this . isSurge ( ) && ! this . isQuanX ( ) && ! this . isLoon ( ) ; s ?this . log ( "" , `❗️${ this . name } , 错误!` , t . stack ) :this . log ( "" , `❗️${ this . name } , 错误!` , t ) } wait ( t ) { return new Promise ( e => setTimeout ( e , t ) ) } done ( t = { } ) { const e = ( new Date ) . getTime ( ) , s = ( e - this . startTime ) / 1e3 ; this . log ( "" , `🔔${ this . name } , 结束! 🕛 ${ s } 秒` ) , this . log ( ) , ( this . isSurge ( ) || this . isQuanX ( ) || this . isLoon ( ) ) && $done ( t ) } } ( t , e ) }
0 commit comments