feat:打印优化
This commit is contained in:
1 parent
22c4d4b9b9
commit
383ea2ad4b
32 files changed
+1879
-154
No files matched your search
@@ -131,6 +131,25 @@ abstract class SyncPrintTool {
|
||||
existing.status == PrintStatus.ERROR &&
|
||||
incomingVersion > existing.retryVersion;
|
||||
|
||||
/// 服务端打印方式与终端固定图片打印不一致时,上报 IMAGE 纠偏配置。
|
||||
///
|
||||
/// 纠偏失败只记日志:打印链路本身不受影响,下一次补拉会再次尝试。
|
||||
static Future<void> _healPrintModeIfNeeded(SysSetting setting) async {
|
||||
if (!AppSettingTool.needsPrintModeHeal(setting)) return;
|
||||
final hardId = setting.serviceId;
|
||||
if (hardId == null || hardId.isEmpty) return;
|
||||
try {
|
||||
await HardApi.reportPrinterInfo(
|
||||
hardId: hardId,
|
||||
request:
|
||||
const PrinterInfoReportRequest(printMode: PrinterOutputMode.image),
|
||||
);
|
||||
logger.i('|$_tag|服务端打印方式已纠偏为图片打印|printer:|${setting.printerHardId}|');
|
||||
} catch (error, stack) {
|
||||
logger.w('|$_tag|图片打印方式纠偏上报失败error:|$error|stack:$stack|');
|
||||
}
|
||||
}
|
||||
|
||||
/// 在登录、MQTT 重连、应用恢复和周期检查时补拉当前业务终端代理的待办。
|
||||
static Future<void> pullPendingTasks() async {
|
||||
if (_isPulling || !AppNetworkTool.isAutoNetwork()) {
|
||||
@@ -144,6 +163,8 @@ abstract class SyncPrintTool {
|
||||
await HardApi.getPrinterBinding(),
|
||||
);
|
||||
if (setting.printerHardId == null) return;
|
||||
// 终端固定图片打印;服务端若被误配为指令打印,这里上报纠偏让其跳过指令流生成。
|
||||
unawaited(_healPrintModeIfNeeded(setting));
|
||||
final tasks = await HardApi.getPrinterTasks();
|
||||
for (final task in tasks) {
|
||||
if (task.historyId == null ||
|
||||
|
||||
Reference in new issue
Block a user