Para abrir links em um navegador externo mantendo o envio de parâmetros de contexto (como a Coligada), a instituição deve seguir os passos abaixo:
No arquivo Menu.xml, a tag <ExternalURL> deve apontar para o diretório de customização do servidor: No servidor, acesse a pasta Educamobile\Custom e crie um arquivo chamado index.html. Este arquivo será responsável por capturar os dados da sessão e redirecionar o usuário. O script abaixo deve ser inserido no arquivo index.html. Ele realiza a ponte entre o TOTVS Educa Mobile e a sua aplicação externa: | HTML |
|---|
// 1. Captura os parâmetros da URL atual (como o host)
const
params = new URLSearchParams(window.location.search);
const
host = params.get('h');
// 2. Define a URL de destino desejada (incluindo a tag para abrir no navegador)
const
urlDestino = "https://www.totvs.com/? openInbrowseropenInBrowser";
// 3. Consulta a API do Educa Mobile para recuperar os dados da sessão do usuário
const
xhr = new XMLHttpRequest();
xhr.open('GET',
'http://ENDERECO_SERVIDOR/EducaMobile/EduSessao/GetSession');
xhr.responseType
= 'json';
xhr.onload = function () {
if { if (xhr.status === 200) {
{ // Concatena a URL de destino com os dados de contexto (ex: CodColigada)
const urlFinal = const urlFinal = `${urlDestino}&codcoligada=${xhr.response.Contexto.CodColigada}`;
// Verifica se o acesso é via aplicativo Meu eduCONNECT
if eduCONNECT if (window.NavigationChannel) {
// Comando para o app abrir o navegador externo nativo
{ // Para o caso do app window.NavigationChannel.postMessage(urlFinal);
} else {
// Abertura padrão para navegadores web
} else { // Para o caso do TOTVS Educa Mobile window.open(urlFinal,
'_blank');
}
}
};
} } }; xhr.send();
Image Added
Disponibilizamos abaixo um arquivo de exemplo para que a instituição possa realizar o download e a customização, seguindo o padrão estabelecido.
|