Skip to content

feat(session): GUI 车道余尾收口——登录态配对(interactiveLogin)+ 多程表单驱动 - #668

Merged
Danceiny merged 1 commit into
mainfrom
feat/gui-login-pairing
Oct 15, 2026
Merged

Danceiny merged 1 commit into
mainfrom
feat/gui-login-pairing

Conversation

@Danceiny

Copy link
Copy Markdown
Owner

为什么

rc.32 发布后 founder 指出余尾不能只记档了事——本 PR 把 #661/#663/#664 的三条余尾真正做完。

交付

1. 登录态配对(#661 行程明细 / #664 酒店真实价)

  • `gotry_session_search ui=gui interactiveLogin=true`(flight+hotel):登录墙命中(机票 needUserLogin 探测 / 酒店 passport 跳转)时,窗口导航携程官方登录页并等待用户本人在窗口内完成登录——只轮询票据 cookie 的名字(值即弃),gotry 永不经手密码/验证码/cookie 值(红线不变,与 gotry_session_login 同语义)。
  • 登录成功 → 同窗自动重驾表单 → 返回登录态真实数据(`anonymous:false`,证据链注明「用户本人已在本窗口官方页登录」);超时 → 结构化 needs-login 判语。
  • live 实证:机票超时路径(20s 短等待)全链过——表单→probe→官方登录页→轮询→needs-login;登录后 hit 路径由离线契约锁定(假 driver 三路:配对成功/超时/未授权保持匿名)。

2. 多程表单驱动(#663)

  • 工具面 `legs` JSON(2–3 段,严格形状闸:段数/城市非空/YMD/日期递增,仅 ui=gui)。
  • 四项 live 校准定稿:①行惰性物化(第 N 行城市框在前一行填完后才出现,占位符为空→定位器接受无占位符输入);②同行 y 对齐(±60px,标签第 N 次出现);③跨月日期走面板下月箭头(`in-date-picker iconf-right`,playwright 真实点击);④该构建搜索按钮仅 `role=button name=搜索` 命中(几何/叶子/色块三策全 miss,截图实证)。
  • live 实证:两段 香港→迪拜(11-13)→上海(11-15) 真实执行,返回 84 个有价日日历,trip=multi 证据链正确。

3. train/dida 真解收口(#664)

  • train:12306 公开查询桥道已覆盖(无登录、无验证码墙),GUI 道无增量——按真实解关闭。
  • dida:门户线需要时复用同一登录配对模式(员工本人在窗口登录→嗅探 SearchRealTime)。

验证

  • 本树:tsc 干净;session-tests 262/0(新增 §N:登录配对三路 + 多程规划/安全闸);flyai/effect 套件绿;i18n 91 对绿。
  • live:多程 84 有价日 hit;配对超时 needs-login;readback 硬闸全程兜底(城市/日期错位零搜索点击)。

为什么:创始人指出余尾不能只记档。登录态配对(interactiveLogin):登录墙命中时窗口停
官方登录页等用户本人登录(cookie 只读名字),成功后同窗重驾拿登录态数据——红线不动
(gotry 永不经手凭据);live 实证超时路径 needs-login 判语,登录 hit 路径离线契约锁定。
多程(legs 2–3 段):行惰性物化/同行 y 对齐/翻月箭头/role=button 搜索按钮四项 live
校准;两段香港→迪拜→上海 live 实证 84 有价日日历。train=公开桥道已覆盖(真解),
dida 同配对模式待门户线需要时复用。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant