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

4.9 KiB
Raw Permalink Blame History

订单日报系统 - 部署文档

项目简介

订单日报系统是一个基于 Flask 的 Web 应用,用于自动生成充电订单的日报报表。

技术栈

  • 后端: Python 3.10+ + Flask 3.0 + Waitress
  • 数据库: Apache Doris (MySQL 兼容)
  • 前端: 原生 HTML/CSS/JavaScript

一、环境准备

1. 安装 Python

2. 拉取代码

# 从国内仓库拉取(推荐,速度快)
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. 配置正式环境

复制正式环境配置文件:

copy .env.prod .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

脚本会自动完成:

  1. 读取 .env 配置
  2. 检查 Python 环境
  3. 创建虚拟环境(.venv
  4. 安装依赖
  5. 启动服务

启动成功后访问:http://localhost:5002

方式二:注册为 Windows 服务(推荐生产环境)

使用 NSSM 工具将应用注册为 Windows 服务,实现开机自动启动。

1. 下载 NSSM

2. 安装服务

双击 服务管理.bat,选择:

1 - 安装服务
2 - 启动服务

服务名称:YltDailyReport

3. 其他操作

3 - 停止服务
4 - 重启服务
5 - 删除服务
0 - 退出

三、默认账号

用户名admin
密  码123586

登录后可在右上角点击"修改密码"修改默认密码。


四、代码更新

更新步骤

# 进入项目目录
cd ylt_diy

# 拉取最新代码
git pull

# 重启服务
# (如果是服务模式:服务管理.bat → 4 重启服务
# 如果是直接启动:关闭窗口重新打开启动.bat

五、双仓库配置说明

当前配置

操作 仓库地址
拉取fetch https://github.com/huhaoslm-boop/ylt_diy.git
推送push 同时推送到 GitHub 和 yelite.cn

查看当前配置

git remote -v

配置双仓库推送(已配置好的可跳过)

# 设置两个 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

修改默认拉取源(可选:改为从国内仓库拉取

# 修改 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. 忘记管理员密码

在数据库中执行:

-- 重置密码为 123586
UPDATE t_daily_report_admin 
SET password = MD5('123586'), token = NULL, token_expire = NULL 
WHERE username = 'admin';

5. 服务无法启动

以命令行手动运行查看错误:

.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/                     # 日志文件