printer_info.dart 739 B

1234567891011121314151617181920212223242526272829303132
  1. // ignore: depend_on_referenced_packages
  2. import 'package:android_usb_printer/android_usb_printer.dart';
  3. class PrinterInfo {
  4. final String? ip;
  5. final UsbDeviceInfo? usbDevice;
  6. PrinterInfo({
  7. this.ip,
  8. this.usbDevice,
  9. });
  10. String get name {
  11. if (ip != null) {
  12. return '网口打印机: $ip';
  13. } else {
  14. return 'usb打印机:${usbDevice!.productName}-${usbDevice!.vId}-${usbDevice!.pId}-${usbDevice!.sId}';
  15. }
  16. }
  17. bool get isNetPrinter => ip != null;
  18. bool get isUsbPrinter => usbDevice != null;
  19. factory PrinterInfo.fromUsbDevice(UsbDeviceInfo usbDeviceInfo) {
  20. return PrinterInfo(usbDevice: usbDeviceInfo);
  21. }
  22. factory PrinterInfo.fromIp(String ip) {
  23. return PrinterInfo(ip: ip);
  24. }
  25. }