fix: enhance step 7 login identifier resolution and add tests for phone/email handling

This commit is contained in:
QLHazyCoder
2026-05-08 10:31:20 +08:00
parent b56bde0c2e
commit 83c5a6237c
4 changed files with 219 additions and 42 deletions
+3 -3
View File
@@ -5202,9 +5202,9 @@ async function step6OpenLoginEntry(payload, snapshot) {
const visibleStep = Math.floor(Number(payload?.visibleStep) || 0) || 7;
const currentSnapshot = normalizeStep6Snapshot(snapshot || inspectLoginAuthState());
const preferPhoneLogin = String(payload?.loginIdentifierType || '').trim() === 'phone' || (!payload?.email && payload?.phoneNumber);
const trigger = preferPhoneLogin
? (currentSnapshot.phoneEntryTrigger || findLoginPhoneEntryTrigger())
: (currentSnapshot.loginEntryTrigger || findLoginEntryTrigger());
const genericEntryTrigger = currentSnapshot.loginEntryTrigger || findLoginEntryTrigger();
const phoneEntryTrigger = currentSnapshot.phoneEntryTrigger || findLoginPhoneEntryTrigger();
const trigger = genericEntryTrigger || (preferPhoneLogin ? phoneEntryTrigger : null);
if (!trigger || !isActionEnabled(trigger)) {
return createStep6RecoverableResult('missing_login_entry_trigger', currentSnapshot, {
message: preferPhoneLogin