@@ -11,6 +11,7 @@ $.VAL_signwxheader = $.getdata('chavy_signwxheader_wps')
1111 await getquestion ( )
1212 await answerwx ( )
1313 await signwx ( )
14+ await signupwx ( )
1415 await getUserInfo ( )
1516 await invite ( )
1617 await getSigninfo ( )
@@ -31,6 +32,11 @@ function loginapp() {
3132 try {
3233 if ( error ) throw new Error ( error )
3334 $ . homeinfo = JSON . parse ( data )
35+ if ( $ . homeinfo . result === 'ok' ) {
36+ const headers = JSON . parse ( $ . VAL_signhomeheader )
37+ const [ m , sid ] = headers . Cookie . match ( / w p s _ s i d = ( .* ?) ( ; | , | $ ) / ) || [ ]
38+ $ . VAL_signwxheader = JSON . stringify ( { sid } )
39+ }
3440 } catch ( e ) {
3541 $ . log ( `❗️ ${ $ . name } , 执行失败!` , ` error = ${ error || e } ` , `response = ${ JSON . stringify ( response ) } ` , `data = ${ data } ` , '' )
3642 } finally {
@@ -49,7 +55,6 @@ function signapp() {
4955 url . headers [ 'Origin' ] = 'https://zt.wps.cn'
5056 url . headers [ 'Connection' ] = 'keep-alive'
5157 url . headers [ 'Host' ] = 'zt.wps.cn'
52- url . headers [ 'Content-Length' ] = '0'
5358 url . headers [ 'Referer' ] = 'https://zt.wps.cn/static/2019/docer_check_in_ios/dist/?position=member_ios'
5459 url . headers [ 'Accept-Language' ] = 'zh-cn'
5560 url . headers [ 'X-Requested-With' ] = 'XMLHttpRequest'
@@ -120,7 +125,7 @@ function getquestion() {
120125// 回答问题
121126function answerquestion ( optIdx ) {
122127 return new Promise ( ( resove ) => {
123- const body = JSON . stringify ( { answer : optIdx } )
128+ const body = ` answer= ${ optIdx } `
124129 const url = { url : 'https://zt.wps.cn/2018/clock_in/api/answer?member=wps' , body, headers : JSON . parse ( $ . VAL_signwxheader ) }
125130 $ . post ( url , ( error , response , data ) => {
126131 try {
@@ -145,8 +150,31 @@ function signwx() {
145150 const _data = JSON . parse ( data )
146151 $ . signwx = {
147152 _raw : _data ,
148- isSuc : _data . result === 'ok' || ( _data . result === 'error' && _data . msg === '已打卡' ) ,
153+ isSuc : _data . result === 'ok' || ( _data . result === 'error' && '已打卡' === _data . msg ) ,
149154 isRepeat : _data . result === 'error' && _data . msg === '已打卡' ,
155+ isSignupNeed : _data . result === 'error' && _data . msg === '前一天未报名' ,
156+ msg : _data . msg
157+ }
158+ } catch ( e ) {
159+ $ . log ( `❗️ ${ $ . name } , 执行失败!` , ` error = ${ error || e } ` , `response = ${ JSON . stringify ( response ) } ` , `data = ${ data } ` , '' )
160+ } finally {
161+ resove ( )
162+ }
163+ } )
164+ } )
165+ }
166+
167+ function signupwx ( ) {
168+ if ( ! $ . signwx . isSignupNeed ) return null
169+ return new Promise ( ( resove ) => {
170+ const url = { url : 'http://zt.wps.cn/2018/clock_in/api/sign_up' , headers : JSON . parse ( $ . VAL_signwxheader ) }
171+ $ . get ( url , ( error , response , data ) => {
172+ try {
173+ if ( error ) throw new Error ( error )
174+ const _data = JSON . parse ( data )
175+ $ . signupwx = {
176+ _raw : _data ,
177+ isSuc : _data . result === 'ok' ,
150178 msg : _data . msg
151179 }
152180 } catch ( e ) {
@@ -209,8 +237,7 @@ function getSignreward() {
209237// 获取用户信息
210238function getUserInfo ( ) {
211239 return new Promise ( ( resove ) => {
212- const headers = { sid : JSON . parse ( $ . VAL_signwxheader ) . sid }
213- const url = { url : 'https://vip.wps.cn/userinfo' , headers }
240+ const url = { url : 'https://vip.wps.cn/userinfo' , headers : JSON . parse ( $ . VAL_signwxheader ) }
214241 $ . get ( url , ( error , response , data ) => {
215242 try {
216243 if ( error ) throw new Error ( error )
@@ -247,9 +274,8 @@ function invite() {
247274 for ( let sidIdx = 0 ; sidIdx < sids . length ; sidIdx ++ ) {
248275 inviteActs . push (
249276 new Promise ( ( resove ) => {
250- const headers = { sid : sids [ sidIdx ] }
251277 const body = `invite_userid=${ $ . userinfo . data . userid } `
252- const url = { url : 'http://zt.wps.cn/2018/clock_in/api/invite' , body, headers }
278+ const url = { url : 'http://zt.wps.cn/2018/clock_in/api/invite' , body, headers : JSON . parse ( $ . VAL_signwxheader ) }
253279 $ . post ( url , ( error , response , data ) => {
254280 try {
255281 if ( error ) throw new Error ( error )
@@ -284,8 +310,13 @@ function showmsg() {
284310 $ . subt += ', '
285311 if ( $ . signwx . isSuc && ! $ . signwx . isRepeat ) $ . subt += `打卡: 成功`
286312 else if ( $ . signwx . isSuc && $ . signwx . isRepeat ) $ . subt += `打卡: 重复`
313+ else if ( ! $ . signwx . isSuc && $ . signwx . isSignupNeed && $ . signupwx . isSuc ) $ . subt += `打卡: 报名成功`
314+ else if ( ! $ . signwx . isSuc && $ . signwx . isSignupNeed && ! $ . signupwx . isSuc ) $ . subt += `打卡: 报名失败`
287315 else $ . subt += `打卡: 失败`
288316 $ . desc . push ( `打卡: ${ $ . signwx . msg } ` )
317+ if ( $ . signwx . isSignupNeed ) {
318+ $ . desc . push ( `报名: ${ $ . signupwx . isSuc ? '成功' : `失败! 原因: ${ $ . signupwx . msg } ` } ` )
319+ }
289320 $ . desc . push ( `问题: ${ $ . question . title } ` )
290321 $ . desc . push ( `答案: ${ $ . answer . optionIdx + 1 } .${ $ . question . options [ $ . answer . optionIdx ] } ` )
291322 }
0 commit comments