68 lines
1.5 KiB
Markdown
68 lines
1.5 KiB
Markdown
# 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
|