add: 取消打印

This commit is contained in:
歪脖子 2023-11-25 13:55:51 +08:00
parent b946b65373
commit 9e13ce02b1
6 changed files with 33 additions and 10 deletions

View File

@ -35,7 +35,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
integration_test: 13825b8a9334a850581300559b8839134b124670
jc_printer: c4a2906ddae176e1e82fbf52f337a6b6dfc95f99
jc_printer: 98d27e989a3129f784669a21dd5883eec26ba102
Protobuf: 351e9022fe13a6e2af00e9aefc22077cb88520f8
reactive_ble_mobile: 9ce6723d37ccf701dbffd202d487f23f5de03b4c
SwiftProtobuf: bcfd2bc231cf9ae552cdc7c4e877bd3b41fe57b1

View File

@ -106,7 +106,7 @@ class _HomePageState extends State<HomePage> {
_count = int.tryParse(_countInput.value.text) ?? 0;
final content = _contentInput.value.text.trim();
if (content.isEmpty || _count <= 0) return;
_printer.setTotalPrints(1);
_printer.setTotalPrints(_count);
await _printer.initDrawingBoard(
width: labelWidth,
height: labelHeight,

View File

@ -46,8 +46,10 @@
[self getLabelData:result];
} else if ([@"startJob" isEqualToString:call.method]) {
[self startJob:call.arguments result:result];
} else if ([@"endJob" isEqualToString:call.method]) {
[self endJob:result];
} else if ([@"cancelJob" isEqualToString:call.method]) {
[self cancelJob:result];
} else if ([@"endPrint" isEqualToString:call.method]) {
[self endPrint:result];
} else if ([@"commit" isEqualToString:call.method]) {
[self commit:call.arguments result:result];
} else {
@ -149,11 +151,17 @@
}];
}
- (void)endJob:(FlutterResult)result {
- (void)endPrint:(FlutterResult)result {
[JCAPI endPrint:^(BOOL isSuccess) {
result(@(isSuccess));
}];
}
- (void)cancelJob:(FlutterResult)result {
[JCAPI cancelJob:^(BOOL isSuccess) {
result(@(isSuccess));
}];
}
#endif
#pragma mark - FlutterStreamHandler

View File

@ -227,5 +227,9 @@ class JcPrinter {
return _printer.commit(data: data, count: count);
}
Future<bool> endPrint() async => _printer.endJob();
///
Future<bool> cancelPrint() async => _printer.cancelJob();
///
Future<bool> endPrint() async => _printer.endPrint();
}

View File

@ -153,7 +153,13 @@ class MethodChannelJcPrinter extends JcPrinterPlatform {
}
@override
Future<bool> endJob() async {
Future<bool> cancelJob() async {
final result = await method.invokeMethod<bool>('cancelJob');
return result ?? false;
}
@override
Future<bool> endPrint() async {
final result = await method.invokeMethod<bool>('endJob');
return result ?? false;
}

View File

@ -181,7 +181,7 @@ abstract class JcPrinterPlatform extends PlatformInterface {
int rotate = 0,
int codeType = 20,
int textPosition = 0,
}) {
}) {
throw UnimplementedError('drawLabelBarcode() has not been implemented.');
}
@ -202,8 +202,13 @@ abstract class JcPrinterPlatform extends PlatformInterface {
throw UnimplementedError('startJob() has not been implemented.');
}
///
Future<bool> endJob() async {
///
Future<bool> cancelJob() async {
throw UnimplementedError('endJob() has not been implemented.');
}
///
Future<bool> endPrint() async {
throw UnimplementedError('endJob() has not been implemented.');
}