import 'dart:io'; import '../server/protocol.dart'; import 'cups_backend.dart'; /// 打印后端抽象:Windows 走 HiTi PavoApi 直打(分层 BITMAP);macOS 走系统 CUPS 队列。 abstract class PrintBackend { /// 后端名:pavo / cups / mock(暴露给日志) String get name; Future getStatus(); Future printOneCard(PrintRequest request); } /// manifest 里的后端名按操作系统报,与是否 mock 无关(对齐 C# 版行为)。 String osBackendName() => Platform.isWindows ? 'pavo' : 'cups'; /// 创建当前操作系统的真实打印后端(非 mock)。 PrintBackend createOsBackend({void Function(String line)? onLog}) { if (Platform.isWindows) { // Phase 3:PavoApi ffi 直打(待 Windows 实机联调) throw UnsupportedError('Windows PavoApi 后端尚未实现(Phase 3)'); } return CupsPrintBackend(onLog: onLog); }