# aliyun-aps-sync 用于抓取阿里云伙伴中心里的 `我的客户`、`订单查询`、`账单查询`,并把结果和本地上一次同步结果做增量对比。 ## 功能 - 首次 `login` 用浏览器手动登录,后续复用本地登录态。 - `sync` 会同步 3 个模块的数据。 - 同步后会生成: - `data/current/*.json` 当前全量 - `data/history//*.json` 每次快照 - `data/delta//*.json` 增量变化 - `data/runs/*.json` 每次任务汇总 - `schedule` 支持常驻进程方式按 cron 表达式每天自动同步。 ## 安装 ```bash cd /Users/qiangredhad/aliyun-aps-sync npm install cp .env.example .env ``` ## 配置 `.env` 里最重要的时间范围: - `ALIYUN_APS_ORDER_START_DATE`: 订单查询的起始日期,会按月滚动抓取直到今天。 - `ALIYUN_APS_INCREMENTAL_ORDER_START_DATE`: 订单/订单详情在增量模式下的指定起始日期;留空时仍默认只查昨天。 - `ALIYUN_APS_BILL_START_MONTH`: 账单查询的起始佣金月份,会按月滚动抓取直到当前月。 ## 使用 1. 首次登录并保存会话 ```bash npm run login ``` 2. 手动执行一次同步 ```bash npm run sync ``` 如果需要在增量模式下让订单和订单详情从指定日期开始补抓,可以配置: ```bash ALIYUN_APS_INCREMENTAL_ORDER_START_DATE=2026-01-01 ``` 或临时执行: ```bash npm run sync -- --incremental-order-start-date=2026-01-01 ``` 3. 常驻定时同步 ```bash npm run schedule ``` 默认 cron 是每天早上 6 点,可在 `.env` 里改 `ALIYUN_APS_CRON`。 ## 注意 - 脚本现在基于页面表格 DOM 抓取,如果阿里云伙伴中心页面结构改版,需要调整 `src/sync.js` 里的表格和筛选器选择逻辑。 - 订单和账单的日期输入框是通过页面已有日期值自动识别的,所以首次跑之前建议先在页面确认默认筛选存在。 - 如果登录态过期,重新执行 `npm run login` 即可。