@linvix-sistemas/react-native-tectoysunmisdk
TypeScript icon, indicating that this package has built-in type declarations

1.0.26 • Public • Published

@linvix-sistemas/react-native-tectoysunmisdk

Wrapper para comunicação com a SDK da Sunmi/Tectoy para React Native.

Atenção

Este pacote foi desenvolvido para facilitar a integração com o SDK da Sunmi/Tectoy para comunicar com os produtos/equipamentos da empresa.

Verifique a documentação da Sunmi para maior endentimento das funções e possíveis implementações adicionais.

Esta biblioteca não está completa com todos os recursos disponíveis da sunmi/tectoy, caso você consiga implementar novas funções, contribua com o pacote e torne ele mais útil para todos os que utilizam.


Testado nos equipamentos

D2S Combo - Possuí gaveta

T2 Mini - Sem leitor câmera integrada

T2s - Impressora 80mm (48col)

L2s - Coletor de dados SEM teclado físico

L2K - Coletor de dados COM teclado físico


Instalação

npm install @linvix-sistemas/react-native-tectoysunmisdk
yarn add @linvix-sistemas/react-native-tectoysunmisdk

Uso

import NativeModuleTectToySunmiSDK, { TectoyLCDFuncaoEnum, TectoyLCDMultiTextoType } from '@linvix-sistemas/react-native-tectoysunmisdk';

Veja a pasta example para verificar como utilizar.



Metódos - Impressora

Lista de métodos expostos para utlização com a impressora.

ObterStatus - StatusImpressoraType

// Lembre-se de que o status da impressora pode variar dependendo do dispositivo utilizado pela tectoy, sempre verifique o manual.
await NativeModuleTectToySunmiSDK.impressora.ObterStatus();

ImprimirTexto

await NativeModuleTectToySunmiSDK.impressora.ImprimirTexto(texto: string);

ImprimirRaw

Pode ser utilizado para enviar bytes gerados no lado do react-native diretamente para a impressora. Olhar documentação ESC/POS ou alguma lib que possúa geração de comandos ESC/POS.

// palavra: teste
const bytes = [0x54, 0x45, 0x53, 0x54, 0x45];
await NativeModuleTectToySunmiSDK.impressora.ImprimirRAW(bytes);

ImprimirQRCode - ImprimirQRCodeType

await NativeModuleTectToySunmiSDK.impressora.ImprimirQRCode(data: ImprimirQRCodeType);

AvancarLinha

await NativeModuleTectToySunmiSDK.impressora.AvancarLinha(numero_linhas = 5);

Avancar3Linhas

await NativeModuleTectToySunmiSDK.impressora.Avancar3Linhas();

Metódos - LCD

Lista de métodos expostos para utlização com o LCD.

ControlarLCD - TectoyLCDFuncaoEnum

// Função utilizada para controlar o display lcd disponível em algúns modelos da tectoy/sunmi.
// TectoyLCDFuncaoEnum.INICIALIZAR
// TectoyLCDFuncaoEnum.LIGAR_LCD
// TectoyLCDFuncaoEnum.DESLIGAR_LCD
// TectoyLCDFuncaoEnum.LIMPAR_TELA
await NativeModuleTectToySunmiSDK.lcd.ControlarLCD(funcao: TectoyLCDFuncaoEnum);

EnviarTexto

await NativeModuleTectToySunmiSDK.lcd.EnviarTexto(texto: string);

EnviarTextos

await NativeModuleTectToySunmiSDK.lcd.EnviarTextos(data: TectoyLCDMultiTextoType);

Metódos - Lampada (K2/K2 MINI)

Lista de métodos expostos para utlização com o LED.

// Função utilizada para controlar o LED superior nos dispotivos K2 e K2 Mini.
// TectoyLampStatusEnum.LIGAR
// TectoyLampStatusEnum.DESLIGAR
//
// TectoyLampLedEnum.LED_1
// TectoyLampLedEnum.LED_2
// TectoyLampLedEnum.LED_3
// TectoyLampLedEnum.LED_4
// TectoyLampLedEnum.LED_5
// TectoyLampLedEnum.LED_6
await NativeModuleTectToySunmiSDK.lampada.ControlarLampada(status: TectoyLampStatusEnum, led: TectoyLampLedEnum);

ControlarLampadaLoop - TectoyLampStatusEnum | TectoyLampLedEnum

// Função utilizada para controlar o LED superior nos dispotivos K2 e K2 Mini.
// TectoyLampStatusEnum.LIGAR
// TectoyLampStatusEnum.DESLIGAR
//
// TectoyLampLedEnum.LED_1
// TectoyLampLedEnum.LED_2
// TectoyLampLedEnum.LED_3
// TectoyLampLedEnum.LED_4
// TectoyLampLedEnum.LED_5
// TectoyLampLedEnum.LED_6
await NativeModuleTectToySunmiSDK.lampada.ControlarLampadaLoop(status: TectoyLampStatusEnum, onTime: number, offTime: number, led: TectoyLampLedEnum);

Desligar

await NativeModuleTectToySunmiSDK.lampada.Desligar();

Metódos - Gavega

Lista de métodos expostos para utlização com a gaveta.

AbrirGaveta

await NativeModuleTectToySunmiSDK.gaveta.AbrirGaveta();

Métodos - Scanner

Métodos para interação com leitor de código de barras

onBarcodeRead (broadcast)

Este método é um "listener" ou seja, ele aguarda que o evento ocorra, e dispara a função de callback quando o evento acontece.

useEffect(() => {
   // Em dispositivos que possúem leitor de código de barras ou o suporte via USB.
   // Ex: D2Mini, D2SCombo, T2s com leitor USB externo (precisa configurar broadcast).
   // Para funcionar a leitura do código, precisa configurar o dispositivo para fazer broadcast dos dados e desabilitar TextInput para saída de texto.
   //
   // L2s/L2ks também funciona aqui com leitura de código de barras.
   //
   // Importante chamar cleanup para remover o listener da função quando quiser parar de receber o código de barras lido.
   //
  const cleanup = NativeModuleTectToySunmiSDK.scanner.onBarcodeRead((ev) => {
    console.log(ev);
  });
  
  return () => cleanup();
}, []);

Métodos - Utilidades

Métodos auxiliares que podem ser úteis.

FecharApp

await NativeModuleTectToySunmiSDK.utils.FecharApp();

Reiniciar Dispositivo

await NativeModuleTectToySunmiSDK.utils.ReiniciarDispositivo(motivo: string);

Modo Full Screen

await NativeModuleTectToySunmiSDK.utils.ModoFullScreen(ativar: boolean = true);

Contribuindo

Fique a vontade para fazer contribuições no projeto, ele é um projeto que a Linvix Sistemas está utilizando em seus projetos e achou conveniente disponibilizar para a comunidade.

License

MIT

Package Sidebar

Install

npm i @linvix-sistemas/react-native-tectoysunmisdk

Weekly Downloads

9

Version

1.0.26

License

MIT

Unpacked Size

1.45 MB

Total Files

182

Last publish

Collaborators

  • cristiano-linvix