const LANG_TYPE = 'lang_type'; function getOperatingSystem() { const userAgent = window.navigator.userAgent; const platform = window.navigator.platform; if (/Mac/.test(platform)) { return 'MacOS'; } else if (/Win/.test(platform)) { return 'Windows'; } else if (/Linux/.test(platform)) { return 'Linux'; } else if (/iPhone/.test(userAgent) || /iPad/.test(userAgent) || /iPod/.test(userAgent)) { return 'iOS'; } else if (/Android/.test(userAgent)) { return 'Android'; } else if (/HarmonyOS/.test(userAgent)) { return 'HarmonyOS'; } else { return 'HarmonyOS'; } } function getQueryParam(param) { const urlObj = new URL(window.location.href); const params = new URLSearchParams(urlObj.search); return params.get(param); } function buildFullPath(url, origin) { if (!url) return origin; if (url.includes("https://") || url.includes("http://")) return url; return `${origin}${url}` } function reportTlog(params) { const url = "https://na-community.playerinfinite.com/api/gpts_community.report_svr.ReportSvr/ReportStatInfo"; const { reportEvent, ext_content, resetParams } = params; const lang = getQueryParam(LANG_TYPE) || 'en'; const realUrl = buildFullPath(url, location.origin); const data = { action: reportEvent, ext_content: ext_content ? JSON.stringify(ext_content) : undefined, sub_action: resetParams.sub_action, original_game_id: resetParams.original_game_id, } fetch(realUrl, { method: 'POST', mode: 'cors', cache: 'no-cache', credentials: 'same-origin', headers: { 'Content-Type': 'application/json', 'X-Language': lang, 'X-Gameid': 29080, 'X-Source': 'pc_web', 'X-Areaid': '' }, redirect: 'follow', referrerPolicy: 'no-referrer', body: JSON.stringify(data), keepalive: true }) } function reportPageShow(reportEvent, page_index) { const data = { reportEvent: reportEvent || "ua_download_page_show", ext_content: { url: window.location.href, refer_url: document.referrer, client_type: getOperatingSystem(), page_index }, resetParams: { original_game_id: "29157", sub_action: "cm_vshow", } }; reportTlog(data); } function reportButtonClick(reportEvent, page_index) { const data = { reportEvent: reportEvent || "ua_pc_download", ext_content: { url: window.location.href, refer_url: document.referrer, client_type: getOperatingSystem(), page_index }, resetParams: { original_game_id: "29157", sub_action: "cm_click", } }; reportTlog(data); }