# 打印机下发管理系统 **Repository Path**: undder/distribution-system ## Basic Information - **Project Name**: 打印机下发管理系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-05 - **Last Updated**: 2025-12-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 打印机管理系统 基于 Spring Boot 3.3.5 + SQLite 的桌面端打印机管理应用。 ## 项目特点 - ✅ **无需联网**:本地通信,无需网络连接 - ✅ **轻量级**:使用 SQLite,无需 MySQL/Redis - ✅ **一键启动**:直接安装直接使用,无需复杂配置 - ✅ **简洁高效**:去除登录和权限管理,简化操作流程 - ✅ **EXE 打包**:可打包成 Windows EXE 可执行文件 - ✅ **多种连接**:支持 TCP 和串口设备连接 - ✅ **自动解析**:自动轮询并解析 XML 文件 - ✅ **数据管理**:Flyway 数据库版本控制 ## 核心功能 ### 1. 打印机管理 - 配置打印机 IP、端口号 - 实时显示打印机在线状态 - 支持多台打印机管理 ### 2. XML 文件处理 - 动态配置 XML 文件路径 - 自动轮询(每 2 秒)检测文件变更 - 解析 XML 文件(以 @ 分隔符)获取: - 批次信息 - 客户信息 - 规格信息 - 探伤信息 - 支持手动编辑并保存到文件 - 支持多路径选择和管理 ### 3. 设备连接 - TCP 连接打印机 - 串口连接设备 - 设备状态监控 ### 4. 数据管理 - 列表分页显示内容信息和添加时间 - 详情查看每个字段 - 编辑并保存内容 - 批量删除支持 ### 5. 指令下发 - 下发包含多个变量的指令到打印机 - 显示下发状态(成功/失败) ### 6. 通讯日志 - 查看和打印机之间的通讯日志 - 支持按时间、方向、状态筛选 ## 技术栈 ### 后端 - Spring Boot 3.3.5 - Java 17 - SQLite 3.45.3 - MyBatis 3.0.3 - Flyway 9.22.3(数据库版本控制) - Netty 4.1.114(TCP 通信) - jSerialComm 2.10.4(串口通信) - Caffeine 3.1.8(缓存) ### 前端(可选) - Electron(桌面应用框架) - Vue 3(UI 框架) ### 通信协议 - TCP(Netty 服务器,端口 9999) - Stdio(与 Electron 集成) ## 快速开始 ### 编译运行 ```bash # 克隆项目 git clone # 编译打包 mvn clean package -DskipTests # 运行 java -jar ruoyi-admin/target/ruoyi-admin.jar ``` ### 打包成 EXE ```bash # Windows package-exe.bat # Linux/Mac ./package-exe.sh ``` ### 配置说明 主要配置文件:`ruoyi-admin/src/main/resources/application.yml` ```yaml # Stdio 模式开关(用于 Electron 集成) stdio: enabled: false # 默认关闭,使用 TCP 模式 # TCP 服务端口 netty: port: 9999 # Flyway 数据库迁移 spring: flyway: enabled: true locations: classpath:db/migration ``` ### 数据存储位置 所有数据统一存储在用户主目录: - **Windows**: `C:\Users\你的用户名\.printer-system\` - **Linux**: `/home/你的用户名/.printer-system/` - **MacOS**: `/Users/你的用户名/.printer-system/` 包含: - `printer-data.db` - SQLite 数据库 - `logs/` - 系统日志 - `upload/` - 上传文件 - `xml/` - XML 文件处理 ## 项目结构 ``` distribution_system/ ├── ruoyi-admin/ # 主应用模块 │ ├── src/main/java/com/ruoyi/tcp/ # TCP 业务处理器 │ └── src/main/resources/ │ ├── application.yml # 主配置文件 │ └── db/migration/ # Flyway 迁移脚本 ├── ruoyi-system/ # 业务模块 │ ├── domain/ # 实体类 │ ├── mapper/ # MyBatis Mapper │ └── service/ # 业务服务 ├── ruoyi-framework/ # 框架核心 ├── ruoyi-common/ # 通用工具 └── launch4j-config.xml # EXE 打包配置 ``` ## API 接口 系统通过 TCP/Stdio 提供 RESTful 风格的 JSON API: ### 请求格式 ```json { "id": "request-id", "path": "/printer/list", "body": "{\"printerName\":\"HP\"}" } ``` ### 响应格式 ```json { "id": "request-id", "code": 200, "message": "成功", "data": {} } ``` 详细 API 文档请参考 [DEPLOYMENT.md](DEPLOYMENT.md) ## 部署 详细部署说明请查看 [DEPLOYMENT.md](DEPLOYMENT.md) ## 待完善功能 - [ ] XML 解析逻辑(等待用户提供 XML 格式) - [ ] Electron 前端界面 - [ ] 完整的安装包制作 ## 开发计划 基于若依框架改造,保持轻量级单体应用架构,不支持微服务。 ## 许可证 本项目基于 [若依 RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) 项目改造。