Files
crypto_monitor/docs/账户流水.md
T
2026-08-10 09:51:45 +08:00

72 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 账户流水(三所统一)
从**交易所 API**拉取资金账户与交易账户账单,在实例内展示。
不使用程序本地 `transfer_logs` 作为主数据源。
## 能力概览
| 项 | 说明 |
|----|------|
| 导航 | 「账户流水」Tab;默认关闭,在 **系统设置 → 导航显示** 打开 |
| Tab | **资金账户** / **交易账户** |
| 分页 | 每页 10 条,时间倒序 |
| 时间窗 | 跟随顶栏 UTC **预设**(与列表 `list_window` 一致) |
| 同步 | 后台约 **120s** 拉一次交易所;完成后 **SSE** 推版本,前端自动刷新 |
| 币种 | USDTOKX 另含 **USDC** |
| 三所 | Binance / OKX / Gate 同一套 UI 与路由 |
## 使用
1. 系统设置 → 导航显示 → 勾选「账户流水」→ 保存
2. 顶栏选预设时间并点「应用」
3. 打开「账户流水」,切换资金/交易 Tab;可点「立即同步」
## API
| 路由 | 说明 |
|------|------|
| `GET /api/account_ledger?account=funding\|trading&page=1` | 按当前 session 时间窗分页查询缓存 |
| `GET /api/account_ledger/stream` | SSE`event: ledger`,载荷含 `ledger_version` |
| `POST /api/account_ledger/refresh` | 手动触发同步(有冷却,默认 30s) |
均需登录(与实例其他 API 相同)。
## 交易所数据源
| 所 | 资金账户 | 交易账户 |
|----|----------|----------|
| Gate | spot `account_book`USDT | USDT 永续 `account_book` |
| OKX | `asset/bills`USDT+USDC | `account/bills` + `bills-archive`USDT+USDC |
| Binance | 充提 + `fetch_transfers`USDT | U 本位 `fapi` incomeUSDT |
后台默认回看 **90 天**`ACCOUNT_LEDGER_LOOKBACK_DAYS`),写入本地 SQLite 缓存后再按顶栏时间窗过滤展示。
「全部 / 近 6 月」等超出回看窗口的部分,仅能看到缓存内数据。
## 环境变量(可选)
| 变量 | 默认 | 说明 |
|------|------|------|
| `ACCOUNT_LEDGER_POLL_SEC` | `120` | 后台轮询秒数 |
| `ACCOUNT_LEDGER_LOOKBACK_DAYS` | `90` | 拉取与手动同步上限天数 |
| `ACCOUNT_LEDGER_MANUAL_COOLDOWN_SEC` | `30` | 手动同步冷却 |
| `ACCOUNT_LEDGER_SSE_HEARTBEAT_SEC` | `25` | SSE 心跳 |
## 代码位置
```
lib/account_ledger/ # DB / 同步 / SSE / 注册 / 面板
lib/exchange/*_ledger_lib.py # 三所拉取适配
lib/common/static/account_ledger.js
```
三所 `app.py` 调用:`install_account_ledger(..., exchange_key=...)`
## 审计摘要(2026-08-10
- 路由均 `@login_required`;SSE 仅推版本号,不含账单正文
- SQL 参数化;`account` 白名单;币种服务端固定
- 前端表格字段 `escapeHtml`
- **已修复**:手动同步强制套用 lookback 上限 + 冷却,避免滥用刷交易所 API
详见同目录旁注或 PR 说明;安全复查子代理结论:修复后无未关闭的中高危项。