chore: update version to 1.4.3, enhance printing service, and add MyTcpSocket module

This commit is contained in:
2025-05-27 19:31:27 +03:00
parent ba39bef3b9
commit 3b860a6d97
10 changed files with 102 additions and 68 deletions

View File

@@ -1,5 +1,5 @@
import TcpSocket from "react-native-tcp-socket";
import * as SecureStore from 'expo-secure-store';
import {myTcpSocket} from "../connectors/myTcpSocket";
class PrintingService {
private static instance: PrintingService | null = null;
@@ -27,36 +27,14 @@ class PrintingService {
// const images = await convertPdfToBitmaps(pdf);
// const codes = await this.generateZplCodes(images);
const codes = pdf.labels;
try {
const result = await myTcpSocket.writeToSocket(printerIp, 9100, codes);
} catch (error) {
console.error("Error printing label:", error);
await Promise.reject(error)
}
await Promise.resolve()
return new Promise<void>((resolve, reject) => {
// Create and connect the socket
const client = TcpSocket.createConnection({host: printerIp, port: 9100}, () => {
// Write each ZPL chunk
codes.forEach((code, idx) => {
console.log(`Printing ${idx}`);
client.write(code);
});
client.end();
});
// Reject on socket error
client.on("error", (err) => {
console.error("Socket error:", err);
reject(err);
});
// Resolve when the socket fully closes
client.on("close", (hadError) => {
if (hadError) {
// close after an error will have already rejected
return;
}
console.log("Connection closed");
resolve();
});
});
}
@@ -78,7 +56,6 @@ class PrintingService {
public getPrinter(baseMarketplace: number): string {
if (baseMarketplace == 2) return 'ozon';
return "wildberries";
}
}