Executando verificação de segurança...
19

Superando Desafios com o iFood e Impressoras Locais!

Boas, pessoal!
Compartilhando com vocês aqui uma situação comum na vida de um resolvedor de problemas!

Tenho alguns clientes que usam o iFood para vender seus produtos, e uma das maiores necessidades deles é imprimir os cupons com os detalhes dos pedidos para os clientes. Para isso, o iFood oferece um programa chamado Gestor de Pedidos, que possui uma extensão específica para comunicar a versão web ou desktop do gestor com uma impressora local. Até aí, tudo bem, certo? 🤔

O problema é que essa extensão do iFood frequentemente apresenta erros e, pior ainda, só funciona em Windows e em sistemas de 64 bits! 😱 Muitos dos meus clientes usam máquinas antigas de 32 bits ou sistemas operacionais diferentes do Windows. Foi então que decidi agir!

💡 Minha Solução:

  • Decompilei a extensão para obter os arquivos Asar.
  • Tornei o código aberto e mais fácil de identificar e resolver problemas, tornando assim a extensão compatível com Linux, Windows e outros sistemas, seja 32 ou 64 bits.
  • Também desenvolvi uma versão em Python com o mesmo propósito!

Seguem os repositórios das versões de código javascript e python:
https://github.com/cleitonleonel/Impressora_GP_iFood
https://github.com/cleitonleonel/Impressora_GP_PyFood

Agora, meus clientes podem imprimir os cupons dos pedidos de forma eficiente, independente do sistema operacional ou da arquitetura da máquina que utilizam.

Se você também enfrenta esse problema ou conhece alguém que esteja passando por isso, fique à vontade para tentar essa solução ou compartilhar! Vamos juntos superar as limitações tecnológicas e tornar a vida dos nossos clientes mais fácil.

Carregando publicação patrocinada...
2
2

Claro!!!

A extensão é um arquivo .exe e isso as vezes causa um espanto, mas basta descompactar normalmente com um arquivo compactado qualquer, aqui uso linux talvez no windows tenha alguma dificuldade em descompactar o .exe, no linux só clico em descompactar e ele extrai os arquivos, existe uma pasta com nome "$PLUGINSDIR" e nessa pastas existe um arquivo zipado e quando descompactado nos dá mais algumas pastas e arquivos, dentro de uma dessas pastas, mais precisamente a "resources", teremos o app.asar .

Arquivo Asar

Basta ter node e npm instalados, e com npm instale o pacote asar.
npm install -g asar

Após isso navegue até seu arquivo asar e o descompacte.
asar extract app.asar destino

Como deve ter visto não é bem um "decompilar" tá mais para "descomplicar" ou extrair kkk, mas muita gente não sabe que isso é tão simples quanto possível.

3

Olha aí, que interessante. Eu sou um velho dessa área, em uma época, numa galáxia muito distante, havia uma terra sem lei com algumas línguas gerais, uma delas era o Clipper e a gente usava o Valkirie para decompilar alguns programas e as vezes, se o programa não tinha muitas bibliotecas de terceiros, conseguíamos ver o código fonte. Obrigado pela gentileza e parabéns por compartilhar.

2

Conheço o clipper, na verdade o seu descendente Harbour, tem muita gente que ainda usa, que o diga o pessoal do Clipper Online e por incrível que pareça é uma lang interessante de fácil entendimento e compila muito fácil, até para raspberry eu compilei o sistema.
Tenho alguns prgs aqui kkkk, o programa da empresa aqui ainda roda em clipper via putty, acredita?
Melinux

2

Incrível como uma linguagem pode ir tão longe ainda hoje. Isso me faz pensar sobre quando a moda começa a passar por cima da real necessidade das pessoas. Tá aí o exemplo, não é orientado a objeto, não usa Framework da moda, mas está funcionando perfeitamente.

2
1
1

Valeu man, o intuito é exatamente esse, ajudar a quem tiver esse mesmo problema em específico e também induzir aos amigos resolvedores de problemas a buscar maneiras criativas de solucionar os problemas dos clientes.

1
2

Não foi muito bem uma ideia, foi mais uma necessidade, sempre tento ajudar pessoas.
Obs:
Em um outro post interpretei mal suas ponderações e creio ter sido um pouco intolerante contigo e com outro membro, visto que o post não agregava em nada e que de fato o público aqui é outro, acabei optando por remover o post, pois se não for para ajudar não faz sentido manter.
Sendo assim gostaria de me retratar, e que esse post sim, seja útil para alguém mais.

2