交易服务收敛为仅 rakuten:移除 rakuma 登录态与下单入口

trading 不再管理 ラクマ 的购物车购买、支付与订单监控。删除 auth_site /
auth_session / login_runner / models.AuthSite 中的 rakuma 分支与常量、
account.yaml.example 的 rakuma 段,并清理相关测试。scraping 侧的
ラクマ 抓取 API(/api/rakuma/*)保留不动。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-28 11:50:07 +08:00
co-authored by Claude Opus 4.6
parent 6247d68fb5
commit 65e3ed31f8
13 changed files with 63 additions and 121 deletions
+7 -6
View File
@@ -176,15 +176,16 @@ def default_account_for(site: str, accounts_by_site: dict[str, list[Account]]) -
async def _is_logged_in(page, site: str) -> bool:
"""访问 profile.login_url 看落地是否被踢到 SSO
- rakuten:未登录会被重定向到 login.account.rakuten.com 或 /login 路径
- rakuma:未登录会被重定向到 /users/sign_in
`site` 目前恒为 `"rakuten"`:未登录会被重定向到 login.account.rakuten.com
或 /login 路径;登录后停在 my.rakuten.co.jp。保留 site 参数形态是为了与
SiteAuthProfile 共用签名,方便未来加站点。
"""
profile = auth_site.profile(site)
await page.goto(profile.login_url, wait_until="domcontentloaded", timeout=60_000)
final_url = page.url
if site == "rakuten":
return "login.account.rakuten.com" not in final_url and "/login" not in final_url
return auth_site.RAKUMA_SIGN_IN_PATH not in final_url
if site != "rakuten":
raise ValueError(f"未知站点:{site}")
return "login.account.rakuten.com" not in final_url and "/login" not in final_url
# ---- 自动填表(启发式选择器)----
@@ -380,7 +381,7 @@ async def cli_main(argv: list[str] | None = None) -> int:
"""
import argparse
parser = argparse.ArgumentParser(description="按 account.yaml 自动登录乐天/ラクマ")
parser = argparse.ArgumentParser(description="按 account.yaml 自动登录乐天市场")
parser.add_argument(
"--site",
choices=[*auth_site.SITES, "all"],