jansenfelipe / cnpj-gratis

Com esse pacote você poderá consultar, gratuitamente, CNPJ diretamente no site da receita
https://jansenfelipe.github.io/phpgratis/
162 stars 81 forks source link

Qual a ordem das coisas? #43

Open marcellopato opened 2 years ago

marcellopato commented 2 years ago

Opa, tudo bem?

Eu acho que não estou sabendo como montar o fluxo corretamente, podem me ajudar?

  1. Montei uma função do VueJS para ir buscar o Cookie e o Captcha:
            axios.post("/montaBuscaCNPJ", {
                cnpj: app.cnpj
            })
            .then(function(response) {
                app.captcha = response.data.captchaBase64
                console.log(response);
            });
        }

    Essa rota manda para o EmpresaController@montaBuscaCNPJ assim:

    public function montaBuscaCNPJ(Request $request)
    {
        $params = CnpjGratis::getParams($request->cnpj);
        return $params;
    }

O retorno do captcha devolvo para a tag de imagem assim: <img :src="captcha" /><br />

Mas aí já começa o problema pois a tag não parece conter a source corretamente, como podem ver abaixo:

<img src="iVBORw0KGgoAAAANSUhEUgAAALQAAAAyCAYAAAD1JPH3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABbCSURBVHhe3Z1ZzGVTFsc/lCGUeR6izETMFCJmMYTELKYyljFlJmalUaYYIyXaPJRERVNaFNqQaDwISQfxgKSTIv3Am4d+8NAPp+9v1/e/1l3f2mfvc79bQ/c/WanvnrOHtdf+r7XX3ufcW2NrrrnmP8fGxpr/N5k6deq/t9tuu0XItGnT/nXIIYf847TTTvs7MmvWrIVPP/30S5Kmaf40GaGN3377bY699uGHH861fcycOfNv6n/69OnfSa9I95JoXGpPfdj+h5Wff/75ge++++5hf33evHnP+WvR9Vy5yQp6MUb+je5LevYZa6ZMmRIablnITjvt1Bx66KET5MQTT2zuvPPOJKeffnrTI2jz2muvNZ988klfeqRqvv766+aLL77ojW0x+Ky233rrrfGro8OLL76Y2r7//vvHrwzi999/H9AP8K/+Fr7//vtUBh01To1d+tfIaqutNmCvp556aqBvD68L46GeBfVpm3sW/nqu3CjAPKKXndsIYzNmzPgYo//000/N888/37zzzjuJKDIoCm600Ubp3xpZeeWVm7333rs544wzUhsiXc6gwyAyOnj//ff7esioEETXmNxRg3Ghy6JFi8avDAKich957733mh9//DFNDtIVTCa2xHloD9IyR71Vtj/GNll11VWbffbZpzn55JNTfWzz7LPPDujCODxpmEPqP/bYY+NXFsNfz5VbGmAekkP1/iZUN/Pnz28uvfTSgcE888wzzRFHHNEn4y+//NK8+eabzQMPPNCccMIJSfltttmm2WSTTdLfNWKjBwYoeRx906/+1ueIEDgmxmTCpTOA3JCZ+8sSd911V7LxkoIILwfC1nvssUc4D17WWWedVP78889PdQkOsjF28zYF/nqu3NIAuqJ3n9AA7ySiCJG3CihNAzYyPfjgg30Dbb311ikaYChruJyQahxzzDGpTQjIxGAgRWP+Jpogy8Jgo0CbPUcBP3/YSbaaO3du39bMDeStDUQ4BXNz2223NU8++WSam+UVfULDcA0gl2tCqhKZIOCcOXOaTz/9NH3+9ttvm88//7yfI+LBN998c7VBN9xww2avvfZK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">
  1. A ideia aqui é fazer o usuário digitar o conteúdo dessa imagem do captcha e mandar para outro método no EmpresaController assim:
public function buscaCNPJ(Request $request)
    {
        $dadosEmpresa = CnpjGratis::consulta(
            $request->cnpj,
            $request->captchaBase64,
            $request->cookie
        );
        dd($dadosEmpresa);
    }

E alimentar a função VueJS com o response.data para preencher todos os campos do formulário com os dados da empresa.

Porém, não estou conseguindo. Podem me ajudar?

luanlazzarin commented 2 years ago

Opa, experimenta a tag img assim:

<img :src="'data:image/png;base64, '+captcha" />

marcellopato commented 2 years ago

Thank's man @luanlazzarin! Funcionou perfeitamente. Agora o usuário tem a imagem captcha para ver e digitar em outro campo, para eu poder enviar para o próximo método, certo? Muito obrigado!