1.0.8 • Published 8 months ago

publisoft-modules v1.0.8

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

publisoft-modules

Gerenciamento de impressão para dispositivos SUNMI usando React Native.

Este pacote oferece suporte para gerenciar impressoras SUNMI em aplicativos React Native, incluindo impressão de texto, impressão de imagens em Base64 e verificação do status da impressora.


Recursos

  • Imprima texto diretamente na impressora SUNMI.
  • Imprima imagens codificadas em Base64.
  • Verifique o status da impressora SUNMI em tempo real.
  • Fácil integração com projetos React Native.

Instalação

  1. Instale o pacote no seu projeto React Native:

    npm install publisoft-modules
  2. Certifique-se de que as dependências necessárias estão instaladas:

    • React: ^18.0.0
    • React Native: ^0.70.0

Configurações Necessárias

1. Configuração no android/build.gradle

Adicione a seguinte configuração ao bloco repositories:

flatDir {
    dirs project(':publisoft-modules').file('libs')
}

Exemplo completo:

buildscript {
    ext {
        buildToolsVersion = "35.0.0"
        minSdkVersion = 24
        compileSdkVersion = 35
        targetSdkVersion = 34
        kotlinVersion = "1.9.24"
        ndkVersion = "26.1.10909125"
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath('com.android.tools.build:gradle')
        classpath('com.facebook.react:react-native-gradle-plugin')
        classpath('org.jetbrains.kotlin:kotlin-gradle-plugin')
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://www.jitpack.io' }
        flatDir {
            dirs project(':publisoft-modules').file('libs')
        }
    }
}

2. Configuração no android/settings.gradle

Inclua o seguinte:

include ':publisoft-modules'
project(':publisoft-modules').projectDir = new File(rootProject.projectDir, '../node_modules/publisoft-modules/android')

Exemplo completo:

pluginManagement {
    includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile().toString())
}

plugins { id("com.facebook.react.settings") }

rootProject.name = 'quickfoods'

include ':app'
include ':publisoft-modules'

project(':publisoft-modules').projectDir = new File(rootProject.projectDir, '../node_modules/publisoft-modules/android')

3. Configuração no android/app/build.gradle

Adicione a dependência do módulo ao bloco dependencies:

implementation project(':publisoft-modules')

Exemplo completo:

android {
    namespace 'br.com.publisoft.quickfoods'
    compileSdk rootProject.ext.compileSdkVersion

    defaultConfig {
        applicationId "br.com.publisoft.quickfoods"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0.0"
    }

    buildTypes {
        debug {
            signingConfig signingConfigs.debug
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation("com.facebook.react:react-android")
    implementation project(':publisoft-modules')
}

Uso

Importando o Módulo

Você pode importar as funções diretamente:

import { printText, printBase64Image, printerStatus } from 'publisoft-modules';

Exemplos de Uso

1. Imprimir Texto

import { printText } from 'publisoft-modules';

const handlePrintText = async () => {
    try {
        await printText('Olá, Mundo!');
        console.log('Texto impresso com sucesso!');
    } catch (error) {
        console.error('Erro ao imprimir texto:', error);
    }
};

2. Imprimir Imagem em Base64

import { printBase64Image } from 'publisoft-modules';

const base64Image = '...'; // Substitua pela string Base64 da imagem

const handlePrintImage = async () => {
    try {
        await printBase64Image(base64Image);
        console.log('Imagem impressa com sucesso!');
    } catch (error) {
        console.error('Erro ao imprimir imagem:', error);
    }
};

3. Verificar Status da Impressora

import { printerStatus } from 'publisoft-modules';

const handlePrinterStatus = async () => {
    try {
        const status = await printerStatus();
        console.log('Status da impressora:', status);
    } catch (error) {
        console.error('Erro ao obter status da impressora:', error);
    }
};

API

Funções Disponíveis

printText(text: string): Promise<string>

Imprime um texto simples na impressora SUNMI.

  • Parâmetros:
    • text: O texto a ser impresso.
  • Retorno:
    • Resolve com uma mensagem de sucesso.
    • Rejeita com um erro em caso de falha.

printBase64Image(base64String: string): Promise<string>

Imprime uma imagem codificada em Base64.

  • Parâmetros:
    • base64String: A string Base64 da imagem a ser impressa.
  • Retorno:
    • Resolve com uma mensagem de sucesso.
    • Rejeita com um erro em caso de falha.

printerStatus(): Promise<string>

Verifica o status atual da impressora SUNMI.

  • Retorno:
    • Resolve com o status da impressora (por exemplo, "Pronto", "Sem papel").
    • Rejeita com um erro em caso de falha.

Compatibilidade

  • Node.js: >=16.0.0
  • React: ^18.0.0
  • React Native: ^0.70.0

Aqui está uma sessão atualizada para o README explicando como clonar e iniciar o repositório:


Como Clonar e Iniciar o Repositório

Siga as etapas abaixo para clonar este repositório e configurar o ambiente para desenvolvimento:

1. Clonar o Repositório

Use o comando abaixo para clonar o repositório para o seu ambiente local:

git clone https://publisoft-edoc@dev.azure.com/publisoft-edoc/publisoft-developer/_git/publisoft-modules

Substitua seu-usuario pelo nome do seu usuário no GitHub.

2. Acesse o Diretório do Projeto

Navegue até o diretório clonado:

cd publisoft-modules

3. Instalar Dependências

Certifique-se de que você tenha o Node.js e o npm instalados em sua máquina. Em seguida, instale as dependências necessárias:

npm install

4. Compilar o Pacote

Para compilar o pacote e gerar a versão que será usada nos projetos:

npm run build

O comando acima irá gerar os arquivos de saída na pasta lib.

Se você encontrar problemas ao iniciar o projeto, verifique se o ambiente está configurado corretamente (Java, Android SDK, etc.) e consulte a documentação oficial do React Native.


Licença

Este projeto está licenciado sob a licença ISC. Veja o arquivo LICENSE para mais informações.


Autor do Projeto

Douglas Domiciano
GitHub | LinkedIn

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago