1.0.4 • Published 1 year ago

react-native-suno-escpos-printer v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

react-native-suno-escpos-printer

React Native Suno EscPos Printer

Installation

npm install react-native-suno-escpos-printer

Usage

import { PermissionsAndroid, PermissionStatus, Platform, Alert } from 'react-native';
import { NetPrinter, BluetoothPrinter } from 'react-native-suno-escpos-printer';

// ...

const printLan = async () => {
  if (Platform.OS === 'android') {
      const grantedWriteStorage: PermissionStatus =
        await PermissionsAndroid.request(
          'android.permission.WRITE_EXTERNAL_STORAGE',
          {
            title: 'Yêu cầu quyền ghi dữ liệu',
            message:
              'Cho phép ứng dụng Suno F&B truy xuất ghi dữ liệu để in hóa đơn?',
            buttonNegative: 'Đóng',
            buttonPositive: 'Đồng ý',
          }
        );
      const grantedReadStorage: PermissionStatus =
        await PermissionsAndroid.request(
          'android.permission.READ_EXTERNAL_STORAGE',
          {
            title: 'Yêu cầu quyền đọc dữ liệu',
            message:
              'Cho phép ứng dụng Suno F&B truy xuất đọc dữ liệu để in hóa đơn?',
            buttonNegative: 'Đóng',
            buttonPositive: 'Đồng ý',
          }
        );
      if (
        grantedReadStorage === 'granted' &&
        grantedWriteStorage === 'granted'
      ) {
        try {
          const printer = new NetPrinter();
          await printer.initialize();
          await printer.connect('192.168.1.87', 9100);
          await printer.printText('Print text !!!');
          await printer.close();
        } catch (e) {
          console.log('Print error =>', e);
        }
      }
    } else if (Platform.OS === 'ios') {
      try {
        const printer = new NetPrinter();
        await printer.initialize();
        await printer.connect('192.168.1.87', 9100);
        await printer.printText(
          'Print text. Print text. Print text. Print text. Print text !!!'
        );
        await printer.close();
      } catch (e) {
        console.log('Print error =>', e);
      }
    }
};
const findBluetooth = async () => {
  const bluetoothPrinter = new BluetoothPrinter();
  if (Platform.OS === 'android') {
    await bluetoothPrinter.initialize();
    const isSupport = await bluetoothPrinter.isSupport();
    if (isSupport) {
      const isEnabled = await bluetoothPrinter.isEnable();
      if (isEnabled) {
        const list = await bluetoothPrinter.getDeviceList();
        console.log(list);
      } else {
        Alert.alert('Thiết bị chưa bật Bluetooth.');
      }
    } else {
      Alert.alert('Thiết bị chưa hỗ trợ Bluetooth.');
    }
  }
};
const printBluetooth = async () => {
  const bluetoothPrinter = new BluetoothPrinter();
  await bluetoothPrinter.initialize();
  await bluetoothPrinter.connect('0F:02:17:61:5B:58');
  await bluetoothPrinter.printText('Print text !!!');
};

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with create-react-native-library