- Implement zto_actual_download via the 到件扫描监控 menu with 子单
number-type filter, reusing the common download flow
- Extract the export-task poll/verify/download/merge steps into
_zto_poll_and_download_tasks so both ZTO flows share it
- Tighten task time-match window from 120s to 60s and add a
refresh-and-recheck loop when expected tasks are missing or pending
- Drop unused _ensure_menu_expanded helper
- Update menu [6] label since actual-arrival is now implemented
Co-Authored-By: Claude <noreply@anthropic.com>
- Add site_zto.py: ZTO expected-arrival data download with menu
navigation, export polling, and Excel merge
- Wire ZTO into main_router: site URL, login detection, menu items
[5]/[6], and a global offline Left Anti-Join compare entry [9]
- Read config.yaml debug flags to launch only the target site for
focused debugging; guard each site init and route handler behind
site-loaded checks via is_site_ready()
- Expand config.example.yaml with documented debug, baishi, and zto
config keys
Co-Authored-By: Claude <noreply@anthropic.com>