顺心站点支持双账号(双归属地)下载与融合

- main_router: 顺心在同一窗口开两个标签页登录两个归属地账号;就绪轮询、
  初始弹窗、菜单 [1][2]、自动化测试均改为按 page 列表处理
- site_shunxin: download 入口改为接收 page 列表;新增 shunxin_belonging
  读归属地、shunxin_merge_final 融合两账号数据;impl 加 out_tag 参数化
  各账号产物文件名;两账号同归属地时去重校验中止以防数据翻倍
- expected_undelivered: 零改动(融合后产物仍为同名文件)
- 更新 CLAUDE.md / README.md 文档说明

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Misaka
2026-07-15 22:36:58 +08:00
parent 75abbdf14c
commit 55e9e9e931
4 changed files with 230 additions and 55 deletions

View File

@@ -101,9 +101,10 @@ python main_router.py
程序会:
1. 用 Playwright 打开 4 个网页站点(韵达若配了凭据会尝试自动登录,其余手动登录);
1. 用 Playwright 打开网页站点(**顺心为双账号**:同一窗口开两个标签页,分别登录两个
不同归属地账号;韵达若配了凭据会尝试自动登录,其余手动登录);
2. 以调试模式启动安能 Electron 应用(动态空闲端口),**需在应用内手动登录**
3. **轮询各站点登录就绪状态**——全部登录完成后自动进入主菜单;
3. **轮询各站点登录就绪状态**——全部登录完成后自动进入主菜单(顺心需两个标签页都进主页)
4. 弹出主菜单,按编号选择任务。
主菜单:
@@ -140,6 +141,10 @@ python main_router.py
站点的 `xxx_reset` 回到初始态 → 重试,**最多 3 次(含首次)**;每次失败都重置
(含最终放弃那次),确保环境不残留脏状态。
> **顺心是双账号特例**:同一窗口开两个标签页(两个归属地账号),`shunxin_download`
> 接收 page 列表,内部读各账号归属地 → 去重校验 → 顺序下载 → `pd.concat` 融合成
> 统一的 `顺心-{应到/实到}货物数据.xlsx`,比对层无感(仍读同名文件)。
> 安能是 Electron由 CDP远程调试端口驱动而非 Playwright page。其重置**不用
> `Page.reload`**——reload 会让已开的业务 webContents 失去引用、变成无法清理的僵尸,
> 故改用"走 tab 条 X 关 tab + 收起菜单"。