function UserService(tokenService,httpService, routerService){ this.tokenService = tokenService; this.httpService = httpService; this.routerService = routerService; this.init(); } UserService.prototype = { init : function(){ console.log('Usuario logado? '+ this.isLogged()); //!this.isLogged() && this.goToLogin(); }, goToLogin : function(){ var loginPage = '/ServicosSebrae/login.jsp'; if ( window.location.pathname != loginPage ) { //this.routerService.navigate(loginPage); } }, setToken : function(token){ this.tokenService.setToken(token); }, isLogged : function(){ return this.tokenService.hasToken(); }, login : function(data){ var tipoVisualizacao = $("#tipoVisualizacao").val(); var redirectTo = $("#redirectTo").val(); var urlToLogin = localStorage.getItem('storeUrlToLogin'); var self = this; var loading = FLUIGC.loading(window, { textMessage : "

Conectando...

" }); loading.show(); var cpf = data['cpf']; self.httpService .post('/ServicosSebrae/api/users/login',data) .then(function(data, textStatus, jqXHR){ console.log('then'); console.log('data',data); console.log('textStatus',textStatus); console.log('jqXHR',jqXHR); loading.hide(); if (data['x-access-token'] == "LOGIN-ERROR"){ FluigUtils.sendToast('Ocorreu um erro ao consultar seu login, por favor verifique seu CPF e SENHA','danger'); }else if(data['x-access-token'] == "ERRO-SERVICO-SAS"){ FluigUtils.sendToast('Erro na comunicação com o sistema SaS. Entre em contato com o administrador!','danger'); }else if(data['x-access-token'] == "USUARIO-NAO-CADASTRADO-SAS"){ FluigUtils.createConfirm({ message: 'Para ter acesso aos serviços dispobilizados pelo Sebrae-GO, precisamos que realize seu cadastro.

Vamos fazer isso agora?', title:'Primeiro Acesso?', labelYes: 'Sim', labelNo: 'Não' }).then(function(result){ if ( result ) self.routerService.navigate('/ServicosSebrae/cadastro.jsp?cpf='+cpf.replace(/[^0-9]/g,'')+'&tipoVisualizacao='+tipoVisualizacao+'&redirectTo='+redirectTo); }); }else if(data['x-access-token'] == "USUARIO-NAO-CADASTRADO-FLUIG"){ FluigUtils.sendToast('Ocorreu um erro ao consultar seu login, enviamos um email para ('+data['email']+') de confirmação, por favor acesse o link enviado.','danger'); }else{ // FluigUtils.createConfirm({ // message: 'É importante manter as informações de cadastro atualizadas! Gostaria de atualizar?', // title: 'Informações de Cadastro', // labelYes: 'Sim', // labelNo: 'Não' // }).then(function(result){ self.setToken(data['x-access-token']); var token = self.tokenService.getToken(); var tokenDecoded = self.tokenService.getTokenDecoded(); // console.log(tokenDecoded); // if ( result ) { // self.routerService.navigate('/ServicosSebrae/cadastro.jsp?tipoVisualizacao='+tipoVisualizacao+'&redirectTo='+redirectTo+'&token='+token); // } else { //self.routerService.navigate('/ServicosSebrae/page-wrapper/index.jsp?page=inicio'); var urlToRedirect = localStorage.getItem('urlToRedirect'); var urlToLogin = localStorage.getItem('storeUrlToLogin'); var promise = Promise.resolve(); if ( urlToRedirect && urlToLogin ) { redirectTo = urlToRedirect; promise = self.httpService .get(location.origin+urlToLogin+'?token='+token); } promise .then(function(){ var jsonUser = JSON.parse(tokenDecoded.iss); var cpf = jsonUser.cpf; var senha = jsonUser.senha; self.routerService.navigate("/ServicosSebrae/Login?login="+cpf+"&senha="+senha+"&tipoVisualizacao="+tipoVisualizacao+'&redirectTo='+redirectTo+'&token='+token+'&urlToLogin='+urlToLogin); }) // } // }); } }) .catch(function(jqXHR){ console.log('jqXHR',jqXHR); loading.hide(); self.tokenService.removeToken(); if ( jqXHR.status == 401 ) { self.tokenService.removeToken(); FluigUtils.createConfirm({ message: 'Usuário não encontrado. Para acessar os Serviços do Sebrae, é necessário realizar um cadastro.Você gostaria de se cadastrar?', title: 'Acesso aos Portais do Sebrae', labelYes: 'Sim', labelNo: 'Não' }).then(function(result){ if ( result ) { self.routerService.navigate('/ServicosSebrae/cadastro.jsp?tipoVisualizacao='+tipoVisualizacao+'&redirectTo='+redirectTo+'&token='+token+'&urlToLogin='+urlToLogin); } }); } else { FluigUtils.sendToast('Ocorreu um erro ao consultar seu login, por favor verifique seu CPF e SENHA','danger'); } }); }, logout : function(){ this.tokenService.removeToken(); this.goToLogin(); }, verificaCPFSaS : function(data){ var tipoVisualizacao = $("#tipoVisualizacao").val(); var cpf = data.cpf; var self = this; var loading = FLUIGC.loading(window, { textMessage : "

Conectando...

" }); loading.show(); return self.httpService .post('/ServicosSebrae/api/users/verificaCPFSaS',data) .then(function(data, textStatus, jqXHR){ console.log('then'); console.log('data',data); console.log('textStatus',textStatus); console.log('jqXHR',jqXHR); loading.hide(); if (data['x-access-token'] == "NAO-EXISTE-SAS"){ self.routerService.navigate('/ServicosSebrae/cadastro.jsp?cpf='+cpf.replace(/[^0-9]/g,'')+'&tipoVisualizacao='+tipoVisualizacao); }else if (data['x-access-token'] == "USUARIO-NAO-CADASTRADO-FLUIG"){ var email = data['email']; var msg = 'Enviamos um email para '+email+'.
Por favor, acesse o link em seu email para confirmar seus dados
'; FluigUtils.createAlert({ message: msg, title: 'Verificamos que seus dados precisam ser confirmados', label: 'OK' }); }else if (data['x-access-token'] == "EMAIL-NAO-ENCONTRADO-NO-SAS"){ FluigUtils.sendToast('Verificamos que você possui cadastro no Sistema de Atendimento do SEBRAE Goiás, mas não tem registro de e-mail válido. Entre em contato com a nossa central de atendimento para atualização segura dos seus dados cadastrais, e posteriormente acesse a operação desejada no portal de serviços. Telefone: 0800 570 0800','danger'); } else if (data["x-access-token"] == 'EXISTE-SAS') { FluigUtils.sendToast('Verificamos que você possui cadastro no Portal, caso não se lembre da sua senha clique no botão de Clique aqui','danger'); } }) .catch(function(jqXHR){ loading.hide(); console.log('jqXHR',jqXHR); }); }, primeiroAcesso : function(data){ var tipoVisualizacao = $("#tipoVisualizacao").val(); var self = this; self.httpService .post('/ServicosSebrae/api/users/primeiroAcesso',data) .then(function(data, textStatus, jqXHR){ console.log('then'); console.log('data',data); console.log('textStatus',textStatus); console.log('jqXHR',jqXHR); if (data['x-access-token'] == "LOGIN-ERROR"){ FluigUtils.sendToast('Ocorreu um erro ao consultar seu login, por favor verifique seu CPF e SENHA','danger'); }else{ //Estamos com o token criado, então chamamos a pagina de cadastro //para que o usuário realize o vinculo de PJ self.setToken(data['x-access-token']); var tokenDecoded = self.tokenService.getTokenDecoded(); console.log(tokenDecoded); var jsonUser = JSON.parse(tokenDecoded.iss); var cpf = jsonUser.cpf; var senha = jsonUser.senha; self.routerService.navigate('/ServicosSebrae/cadastro.jsp?tipoVisualizacao='+tipoVisualizacao); } }).catch(function(jqXHR){ console.log("Deu erro"); }); }, getTokenFromSession:function(){ return this.httpService.get('/ServicosSebrae/api/users/token'); }, loginCPFAmei : function(data){ var tipoVisualizacao = ""; var redirectTo = "";//$("#redirectTo").val(); var urlToLogin = "";//localStorage.getItem('storeUrlToLogin'); self.httpService .post('/ServicosSebrae/api/users/loginCPFAmei',data) .then(function(data, textStatus, jqXHR){ console.log('then'); console.log('data',data); console.log('textStatus',textStatus); console.log('jqXHR',jqXHR); if (data['x-access-token'] == "LOGIN-ERROR"){ FluigUtils.sendToast('Ocorreu um erro ao consultar seu login, por favor verifique seu CPF e SENHA','danger'); }else if(data['x-access-token'] == "ERRO-SERVICO-SAS"){ FluigUtils.sendToast('Erro na comunicação com o sistema SaS. Entre em contato com o administrador!','danger'); }else if(data['x-access-token'] == "USUARIO-NAO-CADASTRADO-SAS"){ FluigUtils.createConfirm({ message: 'Para ter acesso aos serviços dispobilizados pelo Sebrae-GO, precisamos que realize seu cadastro.

Vamos fazer isso agora?', title:'Primeiro Acesso?', labelYes: 'Sim', labelNo: 'Não' }).then(function(result){ if ( result ) self.routerService.navigate('/ServicosSebrae/cadastro.jsp?cpf='+cpf.replace(/[^0-9]/g,'')+'&tipoVisualizacao='+tipoVisualizacao+'&redirectTo='+redirectTo); }); }else if(data['x-access-token'] == "USUARIO-NAO-CADASTRADO-FLUIG"){ FluigUtils.sendToast('Ocorreu um erro ao consultar seu login, enviamos um email para ('+data['email']+') de confirmação, por favor acesse o link enviado.','danger'); }else{ // FluigUtils.createConfirm({ // message: 'É importante manter as informações de cadastro atualizadas! Gostaria de atualizar?', // title: 'Informações de Cadastro', // labelYes: 'Sim', // labelNo: 'Não' // }).then(function(result){ self.setToken(data['x-access-token']); var token = self.tokenService.getToken(); var tokenDecoded = self.tokenService.getTokenDecoded(); // console.log(tokenDecoded); // if ( result ) { // self.routerService.navigate('/ServicosSebrae/cadastro.jsp?tipoVisualizacao='+tipoVisualizacao+'&redirectTo='+redirectTo+'&token='+token); // } else { //self.routerService.navigate('/ServicosSebrae/page-wrapper/index.jsp?page=inicio'); var urlToRedirect = localStorage.getItem('urlToRedirect'); var urlToLogin = localStorage.getItem('storeUrlToLogin'); var promise = Promise.resolve(); if ( urlToRedirect && urlToLogin ) { redirectTo = urlToRedirect; promise = self.httpService .get(location.origin+urlToLogin+'?token='+token); } promise .then(function(){ var jsonUser = JSON.parse(tokenDecoded.iss); var cpf = jsonUser.cpf; var senha = jsonUser.senha; self.routerService.navigate("/ServicosSebrae/Login?login="+cpf+"&senha="+senha+"&tipoVisualizacao="+tipoVisualizacao+'&redirectTo='+redirectTo+'&token='+token+'&urlToLogin='+urlToLogin); }) // } // }); } }) .catch(function(jqXHR){ console.log('jqXHR',jqXHR); self.tokenService.removeToken(); if ( jqXHR.status == 401 ) { self.tokenService.removeToken(); FluigUtils.createConfirm({ message: 'Usuário não encontrado. Para acessar os Serviços do Sebrae, é necessário realizar um cadastro.Você gostaria de se cadastrar?', title: 'Acesso aos Portais do Sebrae', labelYes: 'Sim', labelNo: 'Não' }).then(function(result){ if ( result ) { self.routerService.navigate('/ServicosSebrae/cadastro.jsp?tipoVisualizacao='+tipoVisualizacao+'&redirectTo='+redirectTo+'&token='+token+'&urlToLogin='+urlToLogin); } }); } else { FluigUtils.sendToast('Ocorreu um erro ao consultar seu login, por favor verifique seu CPF e SENHA','danger'); } }); } } UserService.createInstance = function(){ var tokenService = new TokenService(); var routerService = new RouterService(); var httpService = HttpService.createInstance(tokenService); return new UserService(tokenService,httpService,routerService); }