1.5 KiB
1.5 KiB
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
快速开始
# 安装依赖
bun install
# 配置打印机
bun run config
# 启动服务
bun run start
# 打开配置页面
open http://localhost:3000
API 示例
# 打印模板
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