PushToZhaoShang/README.md
2025-12-07 21:04:24 +08:00

55 lines
2.3 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.

# 自动化营业额数据推送与展示系统
## 快速部署Docker
- 1准备环境变量不要提交真实口令到仓库
- 复制 `.env.example``.env` 并填写 `ADMIN_TOKEN`
- 2启动服务
```bash
docker-compose up -d
```
- 3访问入口
- 浏览器打开 `http://<服务器IP或域名>:57778`
## 腾讯云环境优化
- 使用腾讯云 PyPI 镜像Dockerfile 已设置 `pip -i https://mirrors.cloud.tencent.com/pypi/simple`
- 设置时区为 `Asia/Shanghai`Dockerfile 安装并配置 `tzdata`
- 数据持久化:`docker-compose.yml` 将宿主机 `./data` 映射为容器 `/app/data`,数据库路径 `sqlite:///data/data.db`
## 功能概览
- 每日 23:00服务器本地时区自动生成并定版当日营业额
- 修正接口:支持按日期修正金额,前端即时一致更新;修正过程不直接在前端展示
- 审计与日志:所有生成/修正写入审计表,兼容追加到 `app.log`
- 看板:今日/昨日/前日、本周(周一~昨日)、上周(周一~周日)、本月
- 折线图:最近 7 天、本月、上月、最近 90 天;支持缩放、导出图片/CSV
## 项目结构
```
.
├── backend/ # Flask API + APScheduler
├── frontend/ # 单页 HTMLTailwind+Chart.js
├── data/ # SQLite 数据卷(自动创建/挂载)
├── Dockerfile # 生产镜像(已适配腾讯云)
├── docker-compose.yml # 一键部署
├── .env.example # 环境变量示例(不要提交真实 .env
└── README.md
```
## 环境变量
- `DATABASE_URL`:数据库连接字符串(默认 `sqlite:///data/data.db`
- `ADMIN_TOKEN`:管理修正口令;修正时在请求头加入 `X-Admin-Token`
- `TZ`:容器时区(默认 `Asia/Shanghai`
- `PORT`:应用监听端口(默认 `5000`,示例已改为 `57778`
## 修正接口示例
```bash
curl -X PUT http://localhost:5000/api/admin/turnover \
-H "Content-Type: application/json" \
-H "X-Admin-Token: $ADMIN_TOKEN" \
-d '{"date":"2025-12-06","amount":3123.45,"reason":"调整入账"}'
```
## 生产建议
- 建议使用反向代理Nginx暴露 `5000` 端口,并开启 gzip
- 建议通过 `docker-compose``restart: unless-stopped` 保持服务稳定
- 如需外部数据库,设置 `DATABASE_URL`(例如 PostgreSQL并移除数据卷映射