# Receipt Printer - 80mm 小票打印系统 基于 WiFi ESC/POS 的 80mm 小票打印系统,支持可视化模板配置和 REST API 调用。 ## 核心特性 - 🎨 **可视化模板配置** - Web 界面实时编辑和预览 - 📝 **YAML/JSON 模板** - 声明式排版配置 - 🔌 **REST API** - 通过 HTTP 调用打印 - 📐 **自动 Schema 提取** - 从模板变量自动生成数据契约 - 🖨️ **WiFi ESC/POS** - 支持主流 80mm 热敏打印机 ## 技术栈 - **后端**: Bun + Hono (轻量高性能) - **模板引擎**: 自研 YAML → ESC/POS 转换器 - **前端**: 原生 HTML/JS (轻量化) - **打印机协议**: ESC/POS over TCP ## 项目结构 ``` ├── docs/ # 设计文档 ├── templates/ # 模板文件 ├── src/ # 源码 │ ├── server.ts # HTTP 服务 │ ├── printer.ts # 打印机驱动 │ ├── template.ts # 模板引擎 │ └── static/ # Web 界面 └── README.md ``` ## 快速开始 ```bash # 安装依赖 bun install # 配置打印机 bun run config # 启动服务 bun run start # 打开配置页面 open http://localhost:3000 ``` ## API 示例 ```bash # 打印模板 curl -X POST http://localhost:3000/api/print/daily-todo \ -H "Content-Type: application/json" \ -d '{ "data": { "date": "2025-02-12", "tasks": [ {"status": "☐", "title": "修复 Bug #123"} ] } }' ``` ## 许可证 MIT