feat(core): 支持已注册账号自动登录流程

- 在 Account 模型添加 source 字段区分账号来源
- 注册引擎检测到已注册账号时自动切换到登录流程
- 已注册账号跳过密码设置和账户创建步骤
- 优化注册表单响应解析逻辑
This commit is contained in:
cnlimiter
2026-03-15 10:24:16 +08:00
parent 01613dc9c7
commit 529094fe10
3 changed files with 10 additions and 1 deletions

View File

@@ -66,6 +66,12 @@ OPENAI_API_ENDPOINTS = {
"select_workspace": "https://auth.openai.com/api/accounts/workspace/select",
}
# OpenAI 页面类型(用于判断账号状态)
OPENAI_PAGE_TYPES = {
"EMAIL_OTP_VERIFICATION": "email_otp_verification", # 已注册账号,需要 OTP 验证
"PASSWORD_REGISTRATION": "password", # 新账号,需要设置密码
}
# ============================================================================
# 邮箱服务相关常量
# ============================================================================

View File

@@ -30,7 +30,8 @@ def create_account(
proxy_used: Optional[str] = None,
expires_at: Optional['datetime'] = None,
extra_data: Optional[Dict[str, Any]] = None,
status: Optional[str] = None
status: Optional[str] = None,
source: Optional[str] = None
) -> Account:
"""创建新账户"""
db_account = Account(
@@ -49,6 +50,7 @@ def create_account(
expires_at=expires_at,
extra_data=extra_data or {},
status=status or 'active',
source=source or 'register',
registered_at=datetime.utcnow()
)
db.add(db_account)

View File

@@ -94,6 +94,7 @@ class DatabaseSessionManager:
# (表名, 列名, 列类型)
("accounts", "cpa_uploaded", "BOOLEAN DEFAULT 0"),
("accounts", "cpa_uploaded_at", "DATETIME"),
("accounts", "source", "VARCHAR(20) DEFAULT 'register'"),
]
with self.engine.connect() as conn: