Meio&Mensagem
`;
}
async function setCookie(cookieName, cookieValue, cookieDays) {
const url = 'https://www.meioemensagem.com.br/wp-admin/admin-ajax.php';
const action = 'set_cookie';
const cookieDomain = '.meioemensagem.com.br';
try {
const response = await fetch(url, {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({
action: action,
cookie_name: cookieName,
cookie_value: cookieValue,
cookie_domain: cookieDomain,
}),
});
if (!response.ok) {
throw new Error('Network response was not ok');
}
console.log('Cookie set successfully!');
} catch (error) {
console.log('Error setting cookie:', error);
}
}
async function getCookie(cookieName) {
const url = '/wp-admin/admin-ajax.php';
const action = 'get_cookie';
try {
const response = await fetch(url, {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({ action, cookie_name: cookieName }),
});
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
return data.success ? data.data : null;
} catch (error) {
console.error('Error getting cookie', error);
return null;
}
}
async function deleteCookie(name) {
try {
const response = await fetch('https://www.meioemensagem.com.br/wp-admin/admin-ajax.php', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
action: 'delete_cookie',
cookie_name: name
})
});
if (!response.ok) {
throw new Error('Network response was not ok');
}
console.log('Cookie deleted successfully!');
} catch (error) {
console.error('Error deleting cookie:', error);
}
}
async function getLinksData(token) {
const url = '/wp-admin/admin-ajax.php';
const action = 'get_mmid_data';
try {
const response = await fetch(url, {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({ action, token }),
});
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
if (data.success) {
return data.data;
} else {
throw new Error(data.data.message || 'Unknown error occurred');
}
} catch (error) {
console.error('Error fetching user data', error);
throw error;
}
}
async function getUserData(token) {
const url = '/wp-admin/admin-ajax.php';
const action = 'get_user_data';
try {
const response = await fetch(url, {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({ action, token }),
});
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
if (data.success) {
if (data.data.id) {
const userData = {
'event': 'login',
'user_id': data.data.id,
'cargo': data.data.cargo,
'area_atuacao': data.data.areaAtuacao,
'segmento_empresa': data.data.segmentoEmpresa
};
dataLayer.push(userData);
const userDataCookie = JSON.stringify(userData)
await setCookie('_user', userDataCookie, 7);
}
return data.data.assinatura;
} else {
throw new Error(data.data.message || 'Unknown error occurred');
}
} catch (error) {
console.error('Error fetching user data', error);
throw error;
}
}
async function addTokenToDomainLinks() {
// Check if the tokens have already been added
if (!document.body.classList.contains("tokens-added")) {
let domainLinks = document.querySelectorAll(".domain");
let token = "";
// Check if the token is not empty
if (token.trim() !== "") {
domainLinks.forEach(function(link) {
var currentHref = link.getAttribute("href");
var separator = currentHref.includes("?") ? "&" : "?";
link.setAttribute("href", currentHref + separator + "token=" + token);
});
// Add a class to indicate that tokens have been added
document.body.classList.add("tokens-added");
}
}
}
async function refreshMenu() {
const fullUrl = window.location.href;
const currentUrl = fullUrl.split('?')[0];
const token = await getCookie('_token');
try {
const response = await fetch('https://www.meioemensagem.com.br/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
action: 'load_content',
current_url: currentUrl,
token: token,
type: 'ajax-legacy',
})
});
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.text();
document.getElementById('boxLogin').innerHTML = data;
document.getElementById('boxLoginMobile').innerHTML = data;
addTokenToDomainLinks();
} catch (error) {
console.log('Error loading content', error);
}
}
async function sendLogout() {
try {
const response = await fetch('https://www.meioemensagem.com.br/wp-admin/admin-ajax.php', {
method: 'POST',
body: new URLSearchParams({
action: 'user_logout',
}),
});
//console.log(response);
} catch (error) {
console.error('Error sending logout signal:', error);
}
}
async function logout(event) {
event.preventDefault();
console.log('logout');
try {
localStorage.removeItem("_token");
localStorage.removeItem("_status");
await sendLogout();
const deleteCookies = async () => {
const cookies = ["_token", "_refresh_token", "_status", "_user", "wordpress_", "wordpress"];
await Promise.all(cookies.map(cookie => deleteCookie(cookie)));
window.dispatchEvent(new Event('cookieDeleted'));
};
await deleteCookies();
await refreshMenu();
} catch (error) {
console.error('Error during logout:', error);
}
}