|
|
|
@ -3,50 +3,51 @@ const my_domain = "osina.ositcom.com";
|
|
|
|
|
const visitorsSocketUrl = `${visitors_ws_scheme}://${my_domain}/ws/osichat/visitors/`;
|
|
|
|
|
|
|
|
|
|
// Function to fetch client IP and country from the API
|
|
|
|
|
function fetchClientData() {
|
|
|
|
|
return fetch('https://osina.ositcom.com/get-client-ip/')
|
|
|
|
|
.then(response => response.json())
|
|
|
|
|
.then(data => ({
|
|
|
|
|
client_ip: data.ip,
|
|
|
|
|
client_country: data.country
|
|
|
|
|
}))
|
|
|
|
|
.catch(error => {
|
|
|
|
|
console.error('Error fetching client data:', error);
|
|
|
|
|
return {
|
|
|
|
|
client_ip: 'Unknown',
|
|
|
|
|
client_country: 'Unknown'
|
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
|
function fetchClientData() {
|
|
|
|
|
return fetch('https://osina.ositcom.com/get-client-ip/')
|
|
|
|
|
.then(response => response.json())
|
|
|
|
|
.then(data => ({
|
|
|
|
|
client_ip: data.ip,
|
|
|
|
|
client_country: data.country
|
|
|
|
|
}))
|
|
|
|
|
.catch(error => {
|
|
|
|
|
console.error('Error fetching client data:', error);
|
|
|
|
|
return {
|
|
|
|
|
client_ip: 'Unknown',
|
|
|
|
|
client_country: 'Unknown'
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function initializeWebSocket() {
|
|
|
|
|
const referrer = document.referrer;
|
|
|
|
|
|
|
|
|
|
fetchClientData().then(({ client_ip, client_country }) => {
|
|
|
|
|
const visitorsSocket = new WebSocket(visitorsSocketUrl);
|
|
|
|
|
|
|
|
|
|
visitorsSocket.onopen = () => {
|
|
|
|
|
console.log('WebSocket connection to visitors established');
|
|
|
|
|
|
|
|
|
|
const event_message = {
|
|
|
|
|
'event_type': 'new_visitor',
|
|
|
|
|
'referrer': referrer,
|
|
|
|
|
'url': window.location.href,
|
|
|
|
|
'client_ip': client_ip,
|
|
|
|
|
'client_country': client_country
|
|
|
|
|
};
|
|
|
|
|
visitorsSocket.send(JSON.stringify(event_message));
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function initializeWebSocket() {
|
|
|
|
|
const referrer = document.referrer;
|
|
|
|
|
|
|
|
|
|
// Fetch client data and then initialize WebSocket
|
|
|
|
|
fetchClientData().then(({ client_ip, client_country }) => {
|
|
|
|
|
const visitorsSocket = new WebSocket(visitorsSocketUrl);
|
|
|
|
|
|
|
|
|
|
visitorsSocket.onopen = () => {
|
|
|
|
|
console.log('WebSocket connection to visitors established');
|
|
|
|
|
|
|
|
|
|
const event_message = {
|
|
|
|
|
'event_type': 'new_visitor',
|
|
|
|
|
'referrer': referrer,
|
|
|
|
|
'url': window.location.href,
|
|
|
|
|
'client_ip': client_ip,
|
|
|
|
|
'client_country': client_country
|
|
|
|
|
visitorsSocket.onclose = () => {
|
|
|
|
|
console.log('WebSocket connection to visitors closed');
|
|
|
|
|
};
|
|
|
|
|
visitorsSocket.send(JSON.stringify(event_message));
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
visitorsSocket.onclose = () => {
|
|
|
|
|
console.log('WebSocket connection to visitors closed');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
visitorsSocket.onerror = (error) => {
|
|
|
|
|
console.error('WebSocket error:', error);
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
visitorsSocket.onerror = (error) => {
|
|
|
|
|
console.error('WebSocket error:', error);
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
initializeWebSocket();
|
|
|
|
|
initializeWebSocket();
|
|
|
|
|
});
|
|
|
|
|