项目初始化

This commit is contained in:
ray
2026-04-13 18:09:52 +08:00
commit aa67b0e37e
22 changed files with 2959 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
# aliyun-aps-sync
用于抓取阿里云伙伴中心里的 `我的客户``订单查询``账单查询`,并把结果和本地上一次同步结果做增量对比。
## 功能
- 首次 `login` 用浏览器手动登录,后续复用本地登录态。
- `sync` 会同步 3 个模块的数据。
- 同步后会生成:
- `data/current/*.json` 当前全量
- `data/history/<dataset>/*.json` 每次快照
- `data/delta/<dataset>/*.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_BILL_START_MONTH`: 账单查询的起始佣金月份,会按月滚动抓取直到当前月。
## 使用
1. 首次登录并保存会话
```bash
npm run login
```
2. 手动执行一次同步
```bash
npm run sync
```
3. 常驻定时同步
```bash
npm run schedule
```
默认 cron 是每天早上 6 点,可在 `.env` 里改 `ALIYUN_APS_CRON`
## 注意
- 脚本现在基于页面表格 DOM 抓取,如果阿里云伙伴中心页面结构改版,需要调整 `src/sync.js` 里的表格和筛选器选择逻辑。
- 订单和账单的日期输入框是通过页面已有日期值自动识别的,所以首次跑之前建议先在页面确认默认筛选存在。
- 如果登录态过期,重新执行 `npm run login` 即可。