receipt-printer/README.md

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