Servidor Node para comunicação com impressoras locais a partir do Gestor de Pedidos
O objetivo desse projeto se deu pelo fato de que o gestor de pedidos disponibilizado para download não cobre sistemas linux bem como o app de impressão oficial, diante disso resolvi implementar algo de forma prática e funcional e é o que temos aqui. Este projeto requer node 12, versões superiores não funcionarão, use nvm.
Para instalar o Node Version Manager (NVM), execute o seguinte comando no seu terminal:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bashDepois de instalar o NVM, feche e abra novamente o terminal ou recarregue o arquivo de configuração do shell:
source ~/.bashrc
# ou
source ~/.zshrcVerifique se o NVM foi instalado corretamente executando o comando:
nvm --versionCom o NVM instalado, você pode instalar a versão 12 do Node.js com o seguinte comando:
nvm install 12Depois de instalar a versão desejada do Node.js, defina-a como a versão ativa no seu terminal:
nvm use 12Verifique se a versão correta do Node.js está sendo usada:
node -vAgora você está pronto para usar o Node.js versão 12 no seu ambiente de desenvolvimento!
git clone https://github.com/cleitonleonel/Impressora_GP_iFood.gitcd Impressora_GP_iFood
npm install
node server.jsAgora o servidor tenta selecionar a impressora automaticamente para reduzir configuração manual.
Ordem de resolução no POST /print:
- Usa a impressora enviada no payload (se existir no sistema).
- Usa a impressora padrão do sistema (CUPS).
- Usa a primeira impressora disponível na lista.
Também foi adicionado o campo defaultPrinter no endpoint GET /printers.
Se você quiser fixar uma impressora sem alterar código, pode iniciar o servidor com:
PRINTER_NAME="NOME_DA_IMPRESSORA" node server.jslpstat -p -d
lpoptions -d NOME_DA_IMPRESSORAAssim o sistema usa automaticamente a impressora padrão do seu Linux para impressão dos pedidos.
Se esse projeto deixar você ficar à vontade para fazer uma doação =), pode ser R $ 0,50 hahahaha. Para isso, basta ler o qrcode abaixo, ele foi gerado com meu outro projeto chamado Pypix arquivo de amostra.
Cleiton Leonel Creton ==> cleiton.leonel@gmail.com
