From a25034a0e316ae8d705039887bc1eec4090e1144 Mon Sep 17 00:00:00 2001 From: "daivid.alves" Date: Thu, 23 Jan 2025 17:42:31 -0300 Subject: [PATCH] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=2014=20|=20Conclus=C3=A7?= =?UTF-8?q?=C3=A3o=20do=20Modulo=20de=20Constru=C3=A7=C3=A3o=20e=20a=20Cri?= =?UTF-8?q?a=C3=A7=C3=A3o=20do=20Modulo=20de=20Autentica=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ambiente_Usuario.html | 12 +- .../Funcao/Controlador_telas.js | 404 ------------------ .../Painel/Estrutura/Estrutura.js | 0 .../Painel/Estrutura/Html_estrutura.js | 0 .../Login/Modulo_Autenticacao/Funcao/login.js | 346 --------------- js/page/Modulo_Autenticacao/Funcao/login.js | 116 +++++ .../Funcao/segurancaWind.js} | 7 +- .../Funcao/segurancainput.js | 70 +++ .../Modulo_Autenticacao/Painel/Repostas.js | 167 ++++++++ .../Funcao/Config/Ambiente}/Ambientes_Root.js | 0 .../Funcao/Config}/config.js | 0 .../Funcao/Config}/construtor_config.js | 0 .../Funcao/Estrutura}/Autencacao.js | 0 .../Funcao/Estrutura/Controlador_telas.js | 209 +++++++++ .../Funcao/Estrutura_Primaria_modelo.js | 0 .../Funcao/Estrutura_primaria.js | 0 .../Modulo_Construcao/Funcao/Reacao_menu.js | 0 .../Painel/Config/Ambiente}/Ambientes.js | 0 .../Config/Ambiente}/AmbientesAlertas.js | 0 .../Config/Ambiente}/AmbientesRelatorio.js | 0 .../Config/Ambiente}/estrutura_Ambientes.js | 0 .../Dashbord}/Monitoramento_Root copy.js | 0 .../Painel/Estrutura/Estrutura.js | 35 ++ .../Painel/Estrutura}/Html_erro.js | 0 .../Painel/Estrutura/Html_estrutura.js | 200 +++++++++ .../Painel/Estrutura}/Painel_Erro.js | 1 + .../Painel/Estrutura}/load.js | 0 .../Painel/Home/Autencacao.js | 15 + .../Painel/Home/Func_Home.js | 0 .../Painel/Home/Html_Home.js | 0 .../Painel}/Home/RelatorioCeu.js | 0 .../Estrutura_Secundaria_Monitor.js | 0 .../Painel/Monitoramento/Func_Moni.js | 0 .../Painel/Monitoramento/Html_Moni.js | 0 .../Painel/Monitoramento}/monitorCeu.js | 0 .../Service/Contrutor_Serviços.js | 0 .../{Ambiente => }/Service/Datas_service.js | 0 .../Service/List/Gerador_XML_Telefonia.js | 0 js/page/{Ambiente => }/Service/List/teste.js | 0 login.html | 8 +- 40 files changed, 829 insertions(+), 761 deletions(-) delete mode 100644 js/page/Ambiente/Estrutura/Modulo_Construcao/Funcao/Controlador_telas.js delete mode 100644 js/page/Ambiente/Estrutura/Modulo_Construcao/Painel/Estrutura/Estrutura.js delete mode 100644 js/page/Ambiente/Estrutura/Modulo_Construcao/Painel/Estrutura/Html_estrutura.js delete mode 100644 js/page/Login/Modulo_Autenticacao/Funcao/login.js create mode 100644 js/page/Modulo_Autenticacao/Funcao/login.js rename js/page/{Login/Modulo_Segurança/Funcao/seguranca.js => Modulo_Autenticacao/Funcao/segurancaWind.js} (77%) create mode 100644 js/page/Modulo_Autenticacao/Funcao/segurancainput.js create mode 100644 js/page/Modulo_Autenticacao/Painel/Repostas.js rename js/page/{Ambiente/Config/Estrutural_config/Modulo_Construcao/Funcao => Modulo_Construcao/Funcao/Config/Ambiente}/Ambientes_Root.js (100%) rename js/page/{Ambiente/Config/Estrutural_config/Modulo_Construcao/Funcao => Modulo_Construcao/Funcao/Config}/config.js (100%) rename js/page/{Ambiente/Config/Estrutural_config/Modulo_Construcao/Funcao => Modulo_Construcao/Funcao/Config}/construtor_config.js (100%) rename js/page/{Ambiente/Estrutura/Modulo_Construcao/Funcao => Modulo_Construcao/Funcao/Estrutura}/Autencacao.js (100%) create mode 100644 js/page/Modulo_Construcao/Funcao/Estrutura/Controlador_telas.js rename js/page/{Ambiente/Estrutura => }/Modulo_Construcao/Funcao/Estrutura_Primaria_modelo.js (100%) rename js/page/{Ambiente/Estrutura => }/Modulo_Construcao/Funcao/Estrutura_primaria.js (100%) rename js/page/{Ambiente/Estrutura => }/Modulo_Construcao/Funcao/Reacao_menu.js (100%) rename js/page/{Ambiente/Config/Estrutural_config/Modulo_Construcao/Funcao => Modulo_Construcao/Painel/Config/Ambiente}/Ambientes.js (100%) rename js/page/{Ambiente/Config/Estrutural_config/Modulo_Construcao/Funcao => Modulo_Construcao/Painel/Config/Ambiente}/AmbientesAlertas.js (100%) rename js/page/{Ambiente/Config/Estrutural_config/Modulo_Construcao/Funcao => Modulo_Construcao/Painel/Config/Ambiente}/AmbientesRelatorio.js (100%) rename js/page/{Ambiente/Config/Estrutural_config/Modulo_Construcao/Funcao => Modulo_Construcao/Painel/Config/Ambiente}/estrutura_Ambientes.js (100%) rename js/page/{Ambiente/Config/Estrutural_config/Modulo_Construcao/Funcao => Modulo_Construcao/Painel/Config/Dashbord}/Monitoramento_Root copy.js (100%) create mode 100644 js/page/Modulo_Construcao/Painel/Estrutura/Estrutura.js rename js/page/{Ambiente/Estrutura/Modulo_Construcao/Painel/Erro => Modulo_Construcao/Painel/Estrutura}/Html_erro.js (100%) create mode 100644 js/page/Modulo_Construcao/Painel/Estrutura/Html_estrutura.js rename js/page/{Ambiente/Estrutura/Modulo_Construcao/Painel/Erro => Modulo_Construcao/Painel/Estrutura}/Painel_Erro.js (98%) rename js/page/{Ambiente/Estrutura/Modulo_Construcao/Painel => Modulo_Construcao/Painel/Estrutura}/load.js (100%) create mode 100644 js/page/Modulo_Construcao/Painel/Home/Autencacao.js rename js/page/{Ambiente/Estrutura => }/Modulo_Construcao/Painel/Home/Func_Home.js (100%) rename js/page/{Ambiente/Estrutura => }/Modulo_Construcao/Painel/Home/Html_Home.js (100%) rename js/page/{Ambiente => Modulo_Construcao/Painel}/Home/RelatorioCeu.js (100%) rename js/page/{Ambiente/Monitoramento/Modulo_Construcao/Funcao => Modulo_Construcao/Painel/Monitoramento}/Estrutura_Secundaria_Monitor.js (100%) rename js/page/{Ambiente/Estrutura => }/Modulo_Construcao/Painel/Monitoramento/Func_Moni.js (100%) rename js/page/{Ambiente/Estrutura => }/Modulo_Construcao/Painel/Monitoramento/Html_Moni.js (100%) rename js/page/{Ambiente/Monitoramento/Modulo_Construcao/Funcao => Modulo_Construcao/Painel/Monitoramento}/monitorCeu.js (100%) rename js/page/{Ambiente => }/Service/Contrutor_Serviços.js (100%) rename js/page/{Ambiente => }/Service/Datas_service.js (100%) rename js/page/{Ambiente => }/Service/List/Gerador_XML_Telefonia.js (100%) rename js/page/{Ambiente => }/Service/List/teste.js (100%) diff --git a/Ambiente_Usuario.html b/Ambiente_Usuario.html index 5741b04..9ac8c57 100644 --- a/Ambiente_Usuario.html +++ b/Ambiente_Usuario.html @@ -11,13 +11,11 @@ - - - - - - + + + + @@ -44,7 +42,7 @@
- + diff --git a/js/page/Ambiente/Estrutura/Modulo_Construcao/Funcao/Controlador_telas.js b/js/page/Ambiente/Estrutura/Modulo_Construcao/Funcao/Controlador_telas.js deleted file mode 100644 index 8949d72..0000000 --- a/js/page/Ambiente/Estrutura/Modulo_Construcao/Funcao/Controlador_telas.js +++ /dev/null @@ -1,404 +0,0 @@ -// Função para carregar e exibir as imagens protegidas - - - -async function criarBlocos() { - - try { - - - - const { response, apiUrl } = await Autenticao(); // Recebe o objeto com response e apiUrl - const data = await response.json(); // Faz o parse do JSON retornado - - // Agora acessa as propriedades do objeto - const nomeCompleto = data.usuario.nome; // Nome completo do usuário - - const Empresa = data.empresa.nome; - const ImagemUser = `${apiUrl}${data.usuario.img_perfil}`; - //const ImagemUser2 = `${apiUrl}${data.usuario.img_perfil}`; - const logoEmpresa = `${apiUrl}${data.empresa.logo}`; - - // Exibe as imagens protegidas usando os URLs retornados pela API - loadImage(ImagemUser, 'profileImage'); - //loadImage(ImagemUser2, 'profileImage'); // Imagem de perfil do usuário - loadImage(logoEmpresa, 'companyLogo'); // Logo da empresa - - // Acessando o primeiro objeto do array retornado - console.log(data); - console.log(nomeCompleto); - console.log(Empresa); - console.log('Link da imagem de perfil -' + ImagemUser); - console.log('Link da Logo -' + logoEmpresa); - - EstruturaEsqueleto(); - - function EstruturaEsqueleto() { - - //constante que controla o estilo css que está estilizando todo o ambiente do usuário. - const estilos = document.getElementById('conexao'); - estilos.href = './Css/page/Ambiente/Estrutura/estrutura.css'; - const construtor_primario = document.getElementById('entrada_1'); - - //Estrutura Html que será apresentada sobre a tela - construtor_primario.innerHTML = InterfaceAmbiente(); - Interatividade(); - - function InterfaceAmbiente() { - return ` - - -
- -
- -
- - - -
- -
- - - -
- -
- -
- - - -
- -
- - `; - } - - - function Interatividade() { - - var botao = document.getElementById('id_ajuste'); - var cabecario = document.querySelector('.capitulo_1'); - var tela = document.querySelector('.capitulo_2'); - var menu = document.querySelector('.menu_lateral'); - - if (botao) { - botao.addEventListener('click', function () { - console.log('Botão clicado!'); - if (menu) menu.classList.toggle('expansao'); - if (cabecario) cabecario.classList.toggle('expansao'); - if (tela) tela.classList.toggle('expansao'); - }); - } else { - console.error('Botão não encontrado!'); - } - - - /*if (Permissoes.visuMonitor) { - const script2 = document.createElement('script'); - script2.src = './js/page/Ambiente/Monitoramento/Modulo_Construcao/Funcao/Estrutura_Secundaria_Monitor.js'; - script2.setAttribute // Acessando a propriedade corretamente - document.body.appendChild(script2); - }*/ - - // Adiciona o listener de clique após a construção do HTML - - - - - } - - function ApresentarTelas() { } - - - - } - - - - } catch (error) { - - await CasodeErro(); - console.error('Erro ao criar blocos:', error); - - - } -} - -// Função para carregar uma imagem protegida com token JWT e exibi-la - -async function loadImage(url, imgElementClass) { - try { - const token = getAuthToken(); - console.log('Token:', token); - console.log('URL da imagem:', url); - - const response = await fetch(url, { - method: 'GET', - headers: { - 'x-access-token': token ? token : '' - } - }); - - if (!response.ok) { - throw new Error('Erro ao carregar a imagem: ' + response.statusText); - } - - const blob = await response.blob(); - const imageUrl = URL.createObjectURL(blob); - - // Seleciona todos os elementos com a classe - const imgElements = document.getElementsByClassName(imgElementClass); - if (imgElements.length > 0) { - for (let i = 0; i < imgElements.length; i++) { - imgElements[i].src = imageUrl; - } - } else { - console.warn('Nenhum elemento encontrado com a classe:', imgElementClass); - } - - return imageUrl; // Retorna a URL da imagem carregada - } catch (error) { - console.error('Erro ao carregar a imagem:', error); - console.log('Classe do elemento:', imgElementClass); - return null; // Retorna null em caso de erro - } -} -// Função para carregar a imagem de fundo -async function loadBackgroundAndUpdateStyle() { - try { - const apiUrl = await getApiUrl(); - const token = getAuthToken(); - const response = await fetch(`${apiUrl}/mounting`, { - method: 'GET', - headers: { - 'x-access-token': token ? token : '' - } - }); - - if (!response.ok) { - throw new Error('Erro ao carregar os dados: ' + response.statusText); - } - - const data = await response.json(); - const imagemFun = `${apiUrl}${data.usuario.img_fundo}`; - - const fundoResponse = await fetch(imagemFun, { - method: 'GET', - headers: { - 'x-access-token': token ? token : '' - } - }); - - if (!fundoResponse.ok) { - throw new Error('Erro ao carregar a imagem de fundo: ' + fundoResponse.statusText); - } - - const blob = await fundoResponse.blob(); - const fundoUserUrl = URL.createObjectURL(blob); - - const fundouser = document.getElementById('fundouser'); - fundouser.innerHTML = - '.seguimentacao_2 .coluna_1 {' + - 'width: 100%;' + - 'height: 30vh;' + - 'display: flex;' + - 'flex-direction: row;' + - 'background-image: url("' + fundoUserUrl + '");' + - 'background-position: center;' - 'background-position: center;' + - 'background-size: cover;' + - 'overflow: hidden;' + - 'transition: 1s ease;' + - '}'; - - - - - console.log('Imagem de fundo carregada e estilo aplicado com sucesso.'); - } catch (error) { - console.error('Erro ao carregar a imagem de fundo:', error); - } -} - - -// Aguarda o carregamento completo do DOM -document.addEventListener('DOMContentLoaded', async () => { - setTimeout(async () => { - await criarBlocos(); - await loadBackgroundAndUpdateStyle(); - setTimeout(localStorage.setItem('Carregou', 'true'), 500) // Salva um valor no localStorage - }, 3000); // Executa as funções 3 segundos após o carregamento do DOM -}); - diff --git a/js/page/Ambiente/Estrutura/Modulo_Construcao/Painel/Estrutura/Estrutura.js b/js/page/Ambiente/Estrutura/Modulo_Construcao/Painel/Estrutura/Estrutura.js deleted file mode 100644 index e69de29..0000000 diff --git a/js/page/Ambiente/Estrutura/Modulo_Construcao/Painel/Estrutura/Html_estrutura.js b/js/page/Ambiente/Estrutura/Modulo_Construcao/Painel/Estrutura/Html_estrutura.js deleted file mode 100644 index e69de29..0000000 diff --git a/js/page/Login/Modulo_Autenticacao/Funcao/login.js b/js/page/Login/Modulo_Autenticacao/Funcao/login.js deleted file mode 100644 index 3dff101..0000000 --- a/js/page/Login/Modulo_Autenticacao/Funcao/login.js +++ /dev/null @@ -1,346 +0,0 @@ -//Base de comunicação do front end com o back end -abertura- -// Função para obter a URL base do servidor -async function getApiUrl() { - try { - //solicitação do arquivo config_url.php - const response = await fetch('../../../Sites/Site_ItGuys/php/config_url.php'); - //Aplicação de um if caso a resposta do php seja oposta ao ok - if (!response.ok) { - throw new Error('Network response was not ok'); - } - const data = await response.json(); - return data.apiUrl; // Retorna a URL base - } catch (error) { - console.error('Error fetching API URL:', error); - throw error; - } -} -// fechamento - -//conexões com fatores do front end, e a determinação de uma pequena ação para quando os dois inputs estiverem vazios -abertura- -//Acapitação das ids do formulário -document.getElementById("formLogin").addEventListener("submit", async function (event) { - event.preventDefault(); - - // Previne o comportamento padrão do formulário - // Obtém os elementos do DOM correspondentes ao nome de usuário, senha e mensagem de erro - const usernameElement = document.getElementById("username");//dominio - const passwordElement = document.getElementById("password"); //senha - const errorMessageElement = document.getElementById("errorMessage"); //painel que apresntação de erro padrão - const erro5003 = document.getElementById("erro_503"); //pop up de erro 500 - const erro5004 = document.getElementById("erro_504"); //pop de desvio de scripts. - - // Limpa qualquer mensagem de erro anterior e bordas de campo - errorMessageElement.innerHTML = ''; - erro5003.innerHTML = ''; - erro5004.innerHTML = ''; - usernameElement.style.borderColor = ''; - passwordElement.style.borderColor = ''; - - // Verifica se os elementos do nome de usuário e senha existem - if (!usernameElement || !passwordElement) { - console.error('Username or password element not found'); - return; - } - - // Obtém os valores inseridos pelo usuário nos campos de nome de usuário e senha - const username = usernameElement.value.trim();//usuário - const password = passwordElement.value.trim();//senha - - // Verifica se os campos estão preenchidos - if (!username || !password) { - errorMessageElement.innerHTML = `

Preencha ambos os campos

`;//mensagem de erro padrão - - usernameElement.style.borderColor = 'red';//corpo do input usuario em vermelho. - passwordElement.style.borderColor = 'red';//corpo do input senha em vermelho. - - errorMessageElement.style.height = '10vh';//Altura do bloco de apresentação - errorMessageElement.style.opacity = '1';//Opacidade do bloco de apresentação - errorMessageElement.style.transition = '1s ease';//transição - - setTimeout(() => {//Aplicação de tempo para retirar os efeitos - - errorMessageElement.style.height = '0vh'; // Reduz o tamanho do bloco para Oculta a mensagem - usernameElement.style.borderColor = '#1478cf'; //volta a cor do inptu, de usuário ao seu padrão - passwordElement.style.borderColor = '#1478cf'; - //volta a cor do inptu, de senha ao seu padrão - errorMessageElement.style.opacity = '0'; // define a opacidade do painel de erro a zero - errorMessageElement.style.transition = '1s ease'; // define uma tansição suave para tudo isso. - }, 5000); //definie um time de 5 segundos, contados em milesegundos 5.000 - - return; - } - - //Fechamento - - - //Camada de segurança -abertura- - - // Função para escapar caracteres HTML, resumidamente ele pega o paramentro definido e subistitui todas as letras já definidas nela pelos termos descritos em "" para assim quebrar com quaisquer entrada de script dentro dos inputs. - function escapeHTML(str) { - return str - .replace(/&/g, "&") - .replace(//g, ">") - .replace(/"/g, """) - .replace(/'/g, "'") - .replace(/V/g, "'") - .replace(/C/g, "'") - .replace(/a/g, "'") - .replace(/i/g, "'") - .replace(/o/g, "'") - .replace(/u/g, "'") - .replace(/b/g, "'") - .replace(/c/g, "'") - .replace(/l/g, "'") - .replace(/d/g, "'") - .replace(/e/g, "'") - .replace(/t/g, "'") - .replace(/1/g, "'") - .replace(/2/g, "'") - .replace(/3/g, "'") - .replace(/4/g, "'") - .replace(/5/g, "'") - .replace(/6/g, "'") - .replace(/7/g, "'") - .replace(/8/g, "'") - .replace(/9/g, "'"); - - } - - - // Aqui ele armazena em constantes os termos relacionandos a funções sqls, e funções de scripts para serem redirecionadas. - const containsScript = / - + + + + + + \ No newline at end of file