Files
ylt_diy/部署文档.md
2026-07-21 16:56:40 +08:00

240 lines
4.9 KiB
Markdown
Raw Permalink 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.

# 订单日报系统 - 部署文档
## 项目简介
订单日报系统是一个基于 Flask 的 Web 应用,用于自动生成充电订单的日报报表。
## 技术栈
- **后端**: Python 3.10+ + Flask 3.0 + Waitress
- **数据库**: Apache Doris (MySQL 兼容)
- **前端**: 原生 HTML/CSS/JavaScript
---
## 一、环境准备
### 1. 安装 Python
- 下载地址https://www.python.org/downloads/
- 版本要求Python 3.10 及以上
- **重要:安装时勾选 "Add Python to PATH
### 2. 拉取代码
```bash
# 从国内仓库拉取(推荐,速度快)
git clone http://www.yelite.cn:27825/huhao/ylt_diy.git
# 或从 GitHub 拉取
git clone https://github.com/huhaoslm-boop/ylt_diy.git
cd ylt_diy
```
### 3. 配置正式环境
复制正式环境配置文件:
```bash
copy .env.prod .env
```
根据实际情况修改 `.env` 文件中的配置:
```env
# 服务监听地址
DEPLOY_RUN_HOST=0.0.0.0
# 服务监听端口
DEPLOY_RUN_PORT=5002
# 数据库配置
DB_HOST=192.168.10.250
DB_PORT=9030
DB_USER=root
DB_PASSWORD=DsideaL147258369
DB_NAME=yltcharge
# 日志级别DEBUG/INFO/WARNING/ERROR
LOG_LEVEL=INFO
```
---
## 二、启动服务
### 方式一:直接启动(测试用)
双击 `启动.bat`,或命令行执行:
```bat
启动.bat
```
脚本会自动完成:
1. 读取 `.env` 配置
2. 检查 Python 环境
3. 创建虚拟环境(`.venv`
4. 安装依赖
5. 启动服务
启动成功后访问http://localhost:5002
### 方式二:注册为 Windows 服务(推荐生产环境)
使用 NSSM 工具将应用注册为 Windows 服务,实现开机自动启动。
#### 1. 下载 NSSM
- 下载地址https://nssm.cc/download
- 解压后把 `nssm.exe` 放到项目根目录
#### 2. 安装服务
双击 `服务管理.bat`,选择:
```
1 - 安装服务
2 - 启动服务
```
服务名称:`YltDailyReport`
#### 3. 其他操作
```
3 - 停止服务
4 - 重启服务
5 - 删除服务
0 - 退出
```
---
## 三、默认账号
```
用户名admin
密 码123586
```
登录后可在右上角点击"修改密码"修改默认密码。
---
## 四、代码更新
### 更新步骤
```bash
# 进入项目目录
cd ylt_diy
# 拉取最新代码
git pull
# 重启服务
# (如果是服务模式:服务管理.bat → 4 重启服务
# 如果是直接启动:关闭窗口重新打开启动.bat
```
---
## 五、双仓库配置说明
### 当前配置
| 操作 | 仓库地址 |
|------|--------|
| 拉取fetch | https://github.com/huhaoslm-boop/ylt_diy.git |
| 推送push | 同时推送到 GitHub 和 yelite.cn |
### 查看当前配置
```bash
git remote -v
```
### 配置双仓库推送(已配置好的可跳过)
```bash
# 设置两个 push 地址
git remote set-url --push origin https://github.com/huhaoslm-boop/ylt_diy.git
git remote set-url --add --push origin http://www.yelite.cn:27825/huhao/ylt_diy.git
```
### 修改默认拉取源(可选:改为从国内仓库拉取
```bash
# 修改 fetch 地址为 yelite.cn
git remote set-url origin http://www.yelite.cn:27825/huhao/ylt_diy.git
# 再加回两个 push 地址
git remote set-url --add --push origin https://github.com/huhaoslm-boop/ylt_diy.git
git remote set-url --add --push origin http://www.yelite.cn:27825/huhao/ylt_diy.git
```
---
## 六、常见问题
### 1. 端口被占用
修改 `.env` 文件中的 `DEPLOY_RUN_PORT` 为其他端口。
### 2. 数据库连接失败
检查 `.env` 中的数据库配置是否正确。
### 3. 报表生成失败
查看日志文件:`logs/app.log`
### 4. 忘记管理员密码
在数据库中执行:
```sql
-- 重置密码为 123586
UPDATE t_daily_report_admin
SET password = MD5('123586'), token = NULL, token_expire = NULL
WHERE username = 'admin';
```
### 5. 服务无法启动
以命令行手动运行查看错误:
```bash
.venv\Scripts\python.exe run_prod.py
```
---
## 七、项目结构
```
ylt_diy/
├── app.py # Flask 主应用
├── run_prod.py # 生产环境启动入口
├── 启动.bat # 一键启动脚本
├── 服务管理.bat # Windows服务管理脚本
├── .env.prod # 正式环境配置模板
├── requirements.txt # Python依赖
├── lib/
│ ├── db.py # 数据库配置
│ ├── db_init.py # 数据库初始化
│ ├── logger.py # 日志模块
│ ├── report_generator.py # 日报生成核心逻辑
│ ├── sum_data_collector.py # 求和数据采集
│ ├── field_mapping.py # 字段映射
│ └── api/ # API 模块
├── templates/
│ └── index.html # 主页面
├── public/
│ ├── static/ # 静态资源
│ └── reports/ # 生成的报表
└── logs/ # 日志文件
```