chore: update version to 1.4.3, enhance printing service, and add MyTcpSocket module
This commit is contained in:
@@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user