# 订单日报系统 - 部署文档 ## 项目简介 订单日报系统是一个基于 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/ # 日志文件 ```