(step, payload)
| 4300 | // ============================================================ |
| 4301 | |
| 4302 | async function handleStepData(step, payload) { |
| 4303 | if (typeof messageRouter !== 'undefined' && messageRouter?.handleStepData) { |
| 4304 | return messageRouter.handleStepData(step, payload); |
| 4305 | } |
| 4306 | |
| 4307 | switch (step) { |
| 4308 | case 1: { |
| 4309 | const updates = {}; |
| 4310 | if (payload.oauthUrl) { |
| 4311 | updates.oauthUrl = payload.oauthUrl; |
| 4312 | broadcastDataUpdate({ oauthUrl: payload.oauthUrl }); |
| 4313 | } |
| 4314 | if (payload.sub2apiSessionId !== undefined) updates.sub2apiSessionId = payload.sub2apiSessionId || null; |
| 4315 | if (payload.sub2apiOAuthState !== undefined) updates.sub2apiOAuthState = payload.sub2apiOAuthState || null; |
| 4316 | if (payload.sub2apiGroupId !== undefined) updates.sub2apiGroupId = payload.sub2apiGroupId || null; |
| 4317 | if (payload.sub2apiDraftName !== undefined) updates.sub2apiDraftName = payload.sub2apiDraftName || null; |
| 4318 | if (Object.keys(updates).length) { |
| 4319 | await setState(updates); |
| 4320 | } |
| 4321 | break; |
| 4322 | } |
| 4323 | case 2: |
| 4324 | if (payload.email) await setEmailState(payload.email); |
| 4325 | if (payload.skippedPasswordStep) { |
| 4326 | const latestState = await getState(); |
| 4327 | const step3Status = latestState.stepStatuses?.[3]; |
| 4328 | if (step3Status !== 'running' && step3Status !== 'completed' && step3Status !== 'manual_completed') { |
| 4329 | await setStepStatus(3, 'skipped'); |
| 4330 | await addLog('步骤 2:提交邮箱后页面直接进入邮箱验证码页,已自动跳过步骤 3。', 'warn'); |
| 4331 | } |
| 4332 | } |
| 4333 | break; |
| 4334 | case 3: |
| 4335 | if (payload.email) await setEmailState(payload.email); |
| 4336 | if (payload.signupVerificationRequestedAt) { |
| 4337 | await setState({ signupVerificationRequestedAt: payload.signupVerificationRequestedAt }); |
| 4338 | } |
| 4339 | if (payload.loginVerificationRequestedAt) { |
| 4340 | await setState({ loginVerificationRequestedAt: payload.loginVerificationRequestedAt }); |
| 4341 | } |
| 4342 | break; |
| 4343 | case 6: |
| 4344 | if (payload.loginVerificationRequestedAt) { |
| 4345 | await setState({ loginVerificationRequestedAt: payload.loginVerificationRequestedAt }); |
| 4346 | } |
| 4347 | break; |
| 4348 | case 4: |
| 4349 | await setState({ |
| 4350 | lastEmailTimestamp: payload.emailTimestamp || null, |
| 4351 | signupVerificationRequestedAt: null, |
| 4352 | }); |
| 4353 | break; |
| 4354 | case 7: |
| 4355 | await setState({ |
| 4356 | lastEmailTimestamp: payload.emailTimestamp || null, |
| 4357 | loginVerificationRequestedAt: null, |
| 4358 | }); |
| 4359 | break; |
no test coverage detected