# TTCStatusPanel **Repository Path**: sushile/ttc-status-panel ## Basic Information - **Project Name**: TTCStatusPanel - **Description**: TTC 机台状态显示面板 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-19 - **Last Updated**: 2025-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 机器状态监控系统 - FastAPI版本 基于FastAPI框架的现代化机器状态监控系统,提供实时的机器状态监控和数据管理功能。 ## 🚀 项目特性 ### 技术栈升级 - **框架升级**: 从Flask迁移到FastAPI,提供更好的性能和现代化的API设计 - **异步支持**: 全面支持异步操作,提高并发处理能力 - **类型提示**: 完整的类型注解,提供更好的代码提示和错误检查 - **自动文档**: 自动生成的API文档 (Swagger UI) - **模块化设计**: 清晰的代码结构,便于维护和扩展 ### 功能特性 - 🖥️ **实时监控**: 实时显示机器运行状态 - 📊 **数据统计**: 提供详细的机器状态统计信息 - 🔄 **状态管理**: 支持机器状态的查看和更新 - 💾 **数据持久化**: 本地JSON文件和数据库双重数据存储 - 🖼️ **桌面应用**: 支持PyWebView桌面应用模式 - 📱 **响应式UI**: 现代化的Web界面,支持多设备访问 ## 📁 项目结构 ``` ttc-status-panel/ ├── main.py # FastAPI主应用文件 ├── client_fastapi.py # 桌面应用客户端 ├── config.py # 配置文件 ├── database.py # 数据库操作模块 ├── machine_states.py # 机器状态管理模块 ├── build_exe.py # 打包脚本 ├── start_dev.py # 开发启动脚本 ├── requirements.txt # 依赖包列表 ├── kb.json # 机器状态数据文件 ├── venv/ # 虚拟环境目录 ├── static/ # 静态资源文件 │ ├── bootstrap.css │ ├── bootstrap.js │ ├── chart.js │ └── jquery-3.5.1.slim.min.js ├── templates/ # HTML模板文件 │ ├── index.html │ ├── about.html │ ├── header.html │ ├── footer.html │ └── navbar.html └── README.md # 项目说明文档 ``` ## 🛠️ 安装和使用 ### 环境要求 - Python 3.8+ - Windows 操作系统 - SQL Server 数据库访问权限 ### 快速开始 1. **克隆项目** ```bash git clone cd ttc-status-panel ``` 2. **创建虚拟环境** ```bash python -m venv venv venv\Scripts\activate ``` 3. **安装依赖** ```bash pip install -r requirements.txt ``` 4. **启动应用** **方式一: 使用开发脚本** ```bash python start_dev.py ``` **方式二: 直接启动Web服务器** ```bash python main.py ``` **方式三: 启动桌面应用** ```bash python client_fastapi.py ``` 5. **访问应用** - Web界面: http://127.0.0.1:8000 - API文档: http://127.0.0.1:8000/docs - 交互式API: http://127.0.0.1:8000/redoc ## 📦 打包为exe文件 项目提供了自动化的打包脚本,可以将应用打包为独立的exe文件: ```bash # 确保在虚拟环境中 venv\Scripts\activate # 运行打包脚本 python build_exe.py ``` 打包完成后,exe文件将生成在 `dist/` 目录中。 ### 打包优化 - ✅ 只包含必要的依赖,减小文件大小 - ✅ 排除不需要的模块 (tkinter, matplotlib等) - ✅ 使用UPX压缩减小文件体积 - ✅ 包含所有必要的资源文件 - ✅ 设置应用图标和窗口属性 ## 🔧 配置说明 ### 数据库配置 在 `config.py` 文件中修改数据库连接信息: ```python DB_CONFIG = { 'server': '192.168.1.234', 'database': 'JingWeie_Wovenlabel', 'username': 'sa', 'password': 'JingWei888', 'port': '7788' } ``` ### 应用配置 可以在 `config.py` 中调整应用的各项配置: ```python APP_CONFIG = { 'title': '机器状态监控系统', 'host': '127.0.0.1', 'port': 8000, 'debug': False } ``` ## 📊 API接口 ### 主要接口 - `GET /` - 主页面 - `GET /about` - 关于页面 - `GET /machine_data` - 获取机器数据 - `POST /machine_data` - 获取机器数据 (POST方式) - `POST /update_states` - 更新机器状态 - `GET /docs` - API文档 (Swagger UI) - `GET /redoc` - API文档 (ReDoc) ### 数据格式 **机器状态更新** ```json [ { "MachineID": "11", "State": "开机" }, { "MachineID": "12", "State": "停机" } ] ``` ## 🔄 从Flask迁移的改进 ### 性能提升 - **异步处理**: 支持异步数据库操作和文件I/O - **更快的响应**: FastAPI的高性能特性 - **并发支持**: 更好的并发请求处理能力 ### 代码质量 - **类型安全**: 完整的类型注解 - **模块化**: 清晰的代码分离和组织 - **错误处理**: 更好的异常处理机制 - **配置管理**: 集中的配置文件管理 ### 开发体验 - **自动文档**: 无需手动维护API文档 - **数据验证**: 自动的请求/响应数据验证 - **开发工具**: 便捷的开发和调试工具 - **热重载**: 开发时的自动重载功能 ## 🐛 故障排除 ### 常见问题 1. **数据库连接失败** - 检查数据库服务器是否可访问 - 验证数据库配置信息 - 确认网络连接正常 2. **依赖安装失败** - 确保使用正确的Python版本 - 检查网络连接 - 尝试使用国内镜像源 3. **打包失败** - 确保所有依赖已正确安装 - 检查虚拟环境是否激活 - 查看错误日志定位问题 4. **端口占用** - 检查8000端口是否被其他程序占用 - 在config.py中修改端口号 ## 📝 更新日志 ### v2.0.0 (当前版本) - ✅ 迁移到FastAPI框架 - ✅ 实现异步数据库操作 - ✅ 添加类型注解和数据验证 - ✅ 模块化代码结构 - ✅ 自动化打包脚本 - ✅ 改进的错误处理 - ✅ 现代化的开发工具 ### v1.0.0 (Flask版本) - ✅ 基础的机器状态监控功能 - ✅ Flask Web框架 - ✅ 数据库集成 - ✅ 桌面应用支持 ## 🤝 贡献 欢迎提交Issue和Pull Request来改进这个项目! ## 📄 许可证 本项目采用MIT许可证,详见LICENSE文件。