项目 API 文档(益选营业额系统)

基础地址:http://<服务器或域名>:<PORT>(默认 57778) | 本地时区:Asia/Shanghai

认证

公共字段

GET /api/metrics

指标看板:今日/昨日/前日、本周、上周、本月;达到截止时间且今日已定版时显示金额。

{
  "shop_name": "益选便利店",
  "server_now": "2025-12-09T13:14:40+08:00",
  "cutoff_hour": 13,
  "cutoff_time": "13:18",
  "today": { "date": "2025-12-09", "weekday": "周二", "amount": null },
  "yesterday": { "date": "2025-12-08", "amount": 3629.76 },
  "day_before": { "date": "2025-12-07", "amount": 2408.70 },
  "this_week": { "start": "2025-12-08", "end": "2025-12-08", "total": 3629.76 },
  "last_week": { "start": "2025-12-01", "end": "2025-12-07", "total": 4211.79 },
  "this_month": { "start": "2025-12-01", "end": "2025-12-08", "total": 7841.55 }
}

GET /api/series7

最近 N 天序列(默认 7,范围 7~90)。未到截止或今日未定版时,截止到昨日;未定版日期按区间估算并标记 estimated=true

[ { "date": "2025-12-06", "amount": 1803.09, "estimated": false }, ... ]

GET /api/revenue

历史营业额查询(仅定版数据)。参数:days 默认 30。

GET /api/audit

审计日志。参数:days 默认 30。

GET /api/health

健康检查。

GET /api/export

导出 CSV(仅定版)。

GET /

看板入口(静态)。

GET /admin

管理入口(静态)。

PUT /api/admin/turnover

修正某日营业额(置为定版并推送)。头:X-Admin-Token

{ "date":"YYYY-MM-DD", "amount":1234.56, "reason":"调整入账", "actor":"admin" }

POST /api/admin/test_push

试发飞书(卡片→帖子→文本)。头:X-Admin-Token

{ "date":"YYYY-MM-DD", "amount":1234.56, "reason":"manual_test" }

POST /api/admin/import

批量导入 CSV(两列:date,amount)。头:X-Admin-TokenContent-Type: text/csv

GET /api/admin/logs

读取 app.log 最近 N 行。参数:lines;头:X-Admin-Token

POST /api/admin/reload_cutoff

在线重载截止时间(更新 APScheduler 的每日触发任务并立即执行一次结算检查)。头:X-Admin-Token

GET /api/events

SSE 心跳事件(每 30 秒;在每小时第 0/1 分触发强制刷新与结算检查)。

打印为 PDF