\n \n \n \n ","\n import jsonp from 'jsonp';\nimport axios from 'axios';\nimport * as utils from '@/utils';\n\nconst objToAjaxParams = (data) => {\n let txtArr = [];\n for (let key in data) {\n txtArr.push(`${key}=${data[key]}`);\n }\n txtArr.push('callback');\n return txtArr.join('&');\n};\n\nexport const getJSON = (url, data = {}) => {\n return new Promise((resolve) => {\n jsonp(\n url,\n {\n param: objToAjaxParams({\n ...data,\n cid: utils.getUrlParams('cid'),\n scid: utils.getUrlParams('scid'),\n }),\n prefix: 'jsonpCallback',\n },\n (err, res) => {\n resolve(res);\n },\n );\n });\n};\n\nexport const get = (url, data) => {\n return new Promise((resolve) => {\n axios\n .get(url, {\n params: data || {},\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n resolve(res.data);\n });\n });\n};\n\nexport const post = (url, data, responseType = 'json') => {\n return new Promise((resolve) => {\n axios({\n method: 'post',\n url,\n data: data,\n responseType,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n resolve(res.data || {});\n });\n });\n};\n","import jsonp from 'jsonp';\n import parser from 'ua-parser-js';\n import * as _ from 'lodash-es';\n import Fingerprint2 from 'fingerprintjs2';\n import excmd5 from \"md5\";\n import * as request from \"@/api/request\";\n\n export const md5 = excmd5;\n\n export const getUrlParams = (name) => {\n var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');\n var r = window.location.search.substr(1).match(reg);\n if (r != null) return decodeURIComponent(r[2]);\n return '';\n };\n \n export const getMainHost = () => {\n if (window.location.hostname == 'localhost') {\n return '37games.com';\n }\n let hostArr = window.location.hostname.split('.');\n let mainArr = hostArr.slice(-2);\n return mainArr.join('.');\n };\n \n export const getCurYear = () => {\n return `${new Date().getFullYear()}`;\n };\n \n export const sdk = (action, params) => {\n if (!action) return;\n try {\n if (params !== void 0) {\n window.sdkCtrl[action](params);\n } else {\n window.sdkCtrl[action]();\n }\n } catch (error) {\n try {\n window.webkit.messageHandlers.callSDKMethodWithParameters.postMessage({\n method: action,\n params,\n });\n } catch (error) {}\n }\n };\n \n export const sleep = async (second) => {\n return new Promise((resolve) => {\n setTimeout(resolve, second * 1000);\n });\n };\n \n // 这个库一共可以识别console, mobile, tablet, smarttv, wearable, embedded,其中桌面是undefined。\n export const isMobileType = () => {\n let info = parser();\n if (info) {\n if (info.device.type == undefined) return false;\n if (info.device.type == 'tablet' || info.device.type == 'smarttv') {\n return window.innerHeight > window.innerWidth;\n }\n }\n return true;\n };\n \n export const getDeviceInfo = () => {\n return parser();\n };\n \n export const getUrlParamObj = (ignoreKeyArr) => {\n let search = window.location.search.substr(1);\n let res = {};\n let keyArr = search.split('&');\n for (let i in keyArr) {\n let arr = keyArr[i].split('=');\n if (ignoreKeyArr?.length && _.isArray(ignoreKeyArr)) {\n let _i = ignoreKeyArr.findIndex((item) => item == arr[0]);\n if (~_i) continue;\n }\n res[arr[0]] = arr[1];\n }\n \n return res;\n };\n \n export const getSystemLanguage = function () {\n let res =\n navigator.language ||\n navigator.userLanguage ||\n navigator.browerLanguage ||\n navigator.systemLanguage;\n if (res.indexOf('-') > -1) {\n const langArr = res.split('-');\n res = langArr[0] === 'zh' ? langArr[1] : langArr[0];\n }\n return res.toLowerCase();\n };\n \n const createFingerPrint = async (data = {}) => {\n return new Promise((resolve) => {\n Fingerprint2.get((components) => {\n // 参数只有回调函数时,默认浏览器指纹依据所有配置信息进行生成\n let values = components.map((component) => component.value) // 配置的值的数组\n for (let i in data) {\n values.push(data[i])\n }\n const murmur = Fingerprint2.x64hash128(values.join(''), 31) // 生成浏览器指纹\n resolve(murmur)\n })\n })\n }\n \n export const getFingerPrint = async (data = {}) => {\n let local = ''\n try {\n local = window.localStorage.getItem('finger_id_2')\n } catch (error) {}\n if (!local) {\n if (!Object.keys(data).length) {\n let res = await request.getJSON('//gstore.endomainname.com/test_ip')\n if (res.result == 1) {\n data = res.data\n }\n }\n local = await createFingerPrint(data)\n try {\n window.localStorage.setItem('finger_id_2', local)\n } catch (error) {}\n }\n return local\n }\n \n // 旧版通用的判断设备逻辑\n export const getDeviceOld = () => {\n var userAgent = window.navigator.userAgent;\n var ua = userAgent.toLowerCase();\n var platform = {\n isAndroid: function () {\n return ua.indexOf('android') > -1;\n },\n isIOS: function () {\n var NPlatform = navigator.platform;\n return (\n ua.indexOf('iphone') > -1 ||\n /iPad|iPhone|iPod/gi.test(NPlatform) ||\n (NPlatform === 'MacIntel' &&\n navigator.maxTouchPoints > 1 &&\n !window.MSStream)\n );\n },\n isWinPhone: function () {\n return !!navigator.userAgent.match(/Windows Phone/i);\n },\n isIpad: function () {\n return ua.indexOf('ipad') > -1;\n },\n isPhone: function () {\n return (\n this.isAndroid() || this.isIOS() || this.isWinPhone() || this.isIpad()\n );\n },\n };\n return platform;\n };\n\n export const systemType = ()=>{\n let _p = getDeviceOld();\n return _p.isIOS()|| _p.isIpad() ?\"ios\":_p.isAndroid()||_p.isWinPhone()?\"android\":\"pc\";\n }\n\n export const getGapi = (shost) => {\n return `${getMainHost() == 'gm99.com' ? '' : 'g'}${shost}.${getMainHost()}`;\n };\n\n export const setCookie = (name, value, days, safe) => {\n let date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n let expires = 'expires=' + date.toGMTString();\n let safeTxt = \"Secure; SameSite=None;\";\n if(safe){\n safeTxt = \"\";\n }\n document.cookie = `${name}=${value};${expires};path=/;${safeTxt}domain=.${getMainHost()}`;\n };\n\n export const getCookie = (name) => {\n let arr;\n let reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');\n if ((arr = document.cookie.match(reg))) return arr[2];\n return '';\n };\n\n export const randomNumber = (min, max) => {\n const randomBuffer = new Uint32Array(1);\n window.crypto.getRandomValues(randomBuffer);\n const number = randomBuffer[0] / (0xffffffff + 1);\n return Math.floor(number * (max - min) + min);\n };\n\n export const updateLinkParams = (link, obj) => {\n try {\n let url = new URL(link);\n for (let k in obj) {\n url.searchParams.set(k, String(obj[k]));\n }\n return url.href;\n } catch (error) {\n return String(link);\n }\n };\n // 活动及储值页的常用域名,用于替换链接中的域名\n export const mainLinkArr = [\n \"pay\",\n \"gabres\",\n \"gevents\",\n \"auto-page\",\n \"auto-page-preview\",\n ];\n // 二级域名包含活动及储值页的常用域名时标记为需要替换域名的链接\n export const checkMainLink = (link) => {\n let hostArr = link.split(\".\");\n if (hostArr.length < 2) return false;\n let linkHost = hostArr[0];\n if (linkHost.indexOf(\"//\") > -1) {\n linkHost = linkHost.split(\"//\")[1];\n }\n return mainLinkArr.includes(linkHost);\n };\n // 获取最终跳转的链接\n export const getTargetLink = (link) => {\n if (checkMainLink(link)) {\n // 替换link中的mainHost为当前域名中的mainHost\n let hostArr = link.split(\".\");\n hostArr[1] = window.location.hostname.split(\".\")[1];\n return hostArr.join(\".\");\n }\n return link;\n };\n\n // 这些都是新旧版本的兼容代码\nexport const getUrlParms = getUrlParams;\nexport const getJSON = request.getJSON;\n\n \n \n ","import { ref } from \"vue\";\n import * as utils from \"@/utils/index\";\n export default () => {\n const languageList = [\"zh-CN\",\"zh-TW\",\"en-US\",\"ja-JP\",\"ko-KR\",\"th-TH\",\"vi-VN\",\"de-DE\",\"fr-FR\",\"ru-RU\",\"es-ES\",\"pt-PT\",\"it-IT\",\"tr-TR\",\"pl-PL\",\"id-ID\",\"ar-SA\"];\n const pageInfo = {\"default\":{\"title\":\"\",\"ico\":\"\"},\"zh-CN\":{\"title\":\"\",\"ico\":\"\"},\"en-US\":{\"title\":\"OTP\",\"ico\":\"\"},\"zh-TW\":{\"title\":\"\",\"ico\":\"\"},\"vi-VN\":{\"title\":\"\",\"ico\":\"\"},\"th-TH\":{\"title\":\"\",\"ico\":\"\"},\"ko-KR\":{\"title\":\"\",\"ico\":\"\"},\"tr-TR\":{\"title\":\"\",\"ico\":\"\"},\"ja-JP\":{\"title\":\"\",\"ico\":\"\"},\"fr-FR\":{\"title\":\"\",\"ico\":\"\"},\"de-DE\":{\"title\":\"\",\"ico\":\"\"},\"pt-PT\":{\"title\":\"\",\"ico\":\"\"},\"es-ES\":{\"title\":\"\",\"ico\":\"\"},\"ru-RU\":{\"title\":\"\",\"ico\":\"\"},\"it-IT\":{\"title\":\"\",\"ico\":\"\"},\"pl-PL\":{\"title\":\"\",\"ico\":\"\"},\"ar-SA\":{\"title\":\"\",\"ico\":\"\"},\"id-ID\":{\"title\":\"\",\"ico\":\"\"}};\n\n const languageTxt = {\"zh-CN\":{\"tokenTip\":\"使用动态令牌保护您的账号安全\",\"tokenIntro1\":\"(1)动态令牌自刷新起120s内有效,可用于保护您的帐号安全。\",\"tokenIntro2\":\"(2)官方人员不会要求您提供动态令牌,请注意不要泄漏您的动态令牌给其他人。\",\"tokenKey\":\"动态令牌\",\"howToGetToken\":\"如何获取我的动态令牌?\",\"getStep2\":\"Step2:点击动态令牌\",\"getStep3\":\"Step3:复制并输入您的UID和动态令牌\"},\"zh-TW\":{\"tokenTip\":\"使用動態驗證保護您的帳號安全\",\"tokenIntro1\":\"(1)動態驗證自刷新起120秒內有效,可用於保護您的帳號安全。\",\"tokenIntro2\":\"(2)官方人員不會要求您提供動態驗證,請注意不要洩漏您的動態驗證給其他人。\",\"tokenKey\":\"動態驗證\",\"howToGetToken\":\"如何獲取我的動態驗證?\",\"getStep2\":\"Step2:點擊動態驗證\",\"getStep3\":\"Step3:複製並輸入您的UID和動態驗證\"},\"en-US\":{\"tokenTip\":\"Protect Your Account With OTP Verification\",\"tokenIntro1\":\"1. One-time passwords expire in 120 seconds. Use them wisely to keep your account safe and secure.\",\"tokenIntro2\":\"2. Staff won't ask for your one-time password. Please never share or give out your password.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"How to get my one-time password?\",\"getStep2\":\"Step 2: Tap OTP\",\"getStep3\":\"Step 3: Copy and enter your UID and one-time password\"},\"ja-JP\":{\"tokenTip\":\"動的トークンでアカウントを守る\",\"tokenIntro1\":\"(1)アカウントを保護するため、動的トークンは更新後60秒以内に使用しないと無効になります。\",\"tokenIntro2\":\"(2)公式スタッフが動的トークンを要求することは一切ありませんので、動的トークンを他人に漏らさないように注意してください。\",\"tokenKey\":\"動的トークン\",\"howToGetToken\":\"動的トークンの獲得方法\",\"getStep2\":\"Step2:動的トークンをタップ\",\"getStep3\":\"Step3:コピーしたUIDと動的トークンを入力\"},\"ko-KR\":{\"tokenTip\":\"OTP로 계정을 안전하게 지키자\",\"tokenIntro1\":\"1. 유저님의 계정을 안전하게 지키기 위해 OTP 번호는 갱신 후 120초간 유효합니다.\",\"tokenIntro2\":\"2. 운영진은 어떠한 경우에도 유저님께 OTP 번호를 요구하지 않습니다. OTP 번호를 다른 사람에게 알려주지 마시기 바랍니다.\",\"tokenKey\":\"OTP 번호\",\"howToGetToken\":\"OTP 획득 방법\",\"getStep2\":\"Step2:OTP를 터치합니다.\",\"getStep3\":\"Step3:UID를 복사하고 OTP를 입력합니다.\"},\"th-TH\":{\"tokenTip\":\"ใช้ OTP ปกป้องความปลอดภัยบัญชีของคุณ\",\"tokenIntro1\":\"(1) รหัส OTP มีอายุการใช้งาน 120 วินาที สามารถคุ้มครองความปลอดภัยให้บัญชีของคุณได้\",\"tokenIntro2\":\"(2) ทีมงานจะไม่ขอรับรหัส OTP จากคุณ และโปรดอย่าเปิดเผยให้ผู้อื่นทราบ\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"สามารถรับ OTP ได้จาก?\",\"getStep2\":\"Step2 : เลือก OTP\",\"getStep3\":\"Step3 : คัดลอก พร้อมป้อน UID และ OTP ของคุณ\"},\"vi-VN\":{\"tokenTip\":\"Sử dụng mã OTP để bảo vệ tài khoản của bạn\",\"tokenIntro1\":\"+ Mã OTP chỉ có thể sử dụng một lần và sẽ mất hiệu lực trong 120s.\",\"tokenIntro2\":\"+ Tuyết đối không cung cấp Mã OTP cho bất kỳ ai\",\"tokenKey\":\"Mã OTP\",\"howToGetToken\":\"Cách nhận mã OTP?\",\"getStep2\":\"Step2: Nhấp vào mã OTP\",\"getStep3\":\"Step3: Sao chép và nhập UID và mã OTP\"},\"de-DE\":{\"tokenTip\":\"Schütze dein Konto mit Einmalpasswort-Verifizierung.\",\"tokenIntro1\":\"1. Einmalpasswörter laufen in 60 Sekunden ab. Verwende sie mit Bedacht, um dein Konto sicher zu halten.\",\"tokenIntro2\":\"2. Die Mitarbeiter von werden dich nicht nach deinem Einmalpasswort fragen. Bitte teile oder gib dein Passwort niemals weiter.\",\"tokenKey\":\"Einmalpasswort\",\"howToGetToken\":\"Wie erhalte ich mein Einmalpasswort?\",\"getStep2\":\"Schritt 2: Tippe auf Einmalpasswort.\",\"getStep3\":\"Schritt 3: Kopiere und gib deine UID und das Einmalpasswort ein.\"},\"fr-FR\":{\"tokenTip\":\"Protégez votre compte avec la vérification OTP\",\"tokenIntro1\":\"1. Les mots de passe à usage unique expirent dans 60 secondes. Utilisez-les à bon escient pour préserver la sécurité de votre compte.\",\"tokenIntro2\":\"2. Le personnel de ne vous demandera pas votre mot de passe à usage unique. Veuillez ne jamais partager ou donner votre mot de passe.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"Comment obtenir mon mot de passe à usage unique ?\",\"getStep2\":\"Étape 2 : Appuyez sur OTP\",\"getStep3\":\"Étape 3 : Copiez et entrez votre UID et votre mot de passe à usage unique\"},\"ru-RU\":{\"tokenTip\":\"Защитите свою учетную запись с помощью верификации через одноразовый пароль\",\"tokenIntro1\":\"1. Одноразовый пароль действителен в течение 60 секунд после получения. Используйте его с умом и защитите свою учетную запись.\",\"tokenIntro2\":\"2. Сотрудники никогда не будут запрашивать у вас одноразовый пароль. Пожалуйста, ни с кем не делитесь своим паролем.\",\"tokenKey\":\"Одноразовый Пароль\",\"howToGetToken\":\"Как получить одноразовый пароль?\",\"getStep2\":\"Шаг 2: Нажмите «Одноразовый Пароль»\",\"getStep3\":\"Шаг 3: Скопируйте и введите свой ID пользователя и одноразовый пароль\"},\"es-ES\":{\"tokenTip\":\"Protege tu cuenta con la verificación OTP\",\"tokenIntro1\":\"1. Las contraseñas de un solo uso caducan en 60 segundos. Úsalas con cuidado para mantener tu cuenta segura y protegida.\",\"tokenIntro2\":\"2. El equipo de nunca te pedirá tu contraseña de un solo uso. No compartas tu contraseña con nadie.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"¿Cómo consigo mi contraseña de un solo uso (OTP)?\",\"getStep2\":\"Paso 2: Toca la opción \\\"OTP\\\"\",\"getStep3\":\"Paso 3: Copia tu ID de usuario y la contraseña de un solo uso e ingrésalos\"},\"pt-PT\":{\"tokenTip\":\"Protect Your Account With OTP Verification\",\"tokenIntro1\":\"1. One-time passwords expire in 60 seconds. Use them wisely to keep your account safe and secure.\",\"tokenIntro2\":\"2. Staff won't ask for your one-time password. Please never share or give out your password.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"How to get my one-time password?\",\"getStep2\":\"Step 2: Tap OTP\",\"getStep3\":\"Step 3: Copy and enter your UID and one-time password\"},\"it-IT\":{\"tokenTip\":\"Proteggi il tuo account con la Verifica OTP\",\"tokenIntro1\":\"1. Le password monouso scadono tra 60 secondi. Usale con saggezza per mantenere il tuo account sicuro e protetto.\",\"tokenIntro2\":\"2. Lo staff di non ti chiederà la tua password monouso. Si prega di non condividere o fornire mai la password.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"Come ottenere la mia password monouso (OTP)?\",\"getStep2\":\"Passaggio 2: Tocca OTP\",\"getStep3\":\"Passaggio 3: copia e inserisci il tuo UID e la password monouso (OTP)\"},\"tr-TR\":{\"tokenTip\":\"OTP Doğrulaması ile Hesabınızı Koruyun\",\"tokenIntro1\":\"1. Tek kullanımlık şifrelerin 120 saniyelik geçerliliği vardır. Hesabınızı güvende tutmak için bunları akıllıca kullanın.\",\"tokenIntro2\":\"2. Personelleri tek-kullanımlık şifrenizi istemez. Lütfen şifrenizi asla paylaşmayın veya vermeyin.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"Tek kullanımlık şifremi nasıl alabilirim?\",\"getStep2\":\"Adım 2: OTP’ye dokunun\",\"getStep3\":\"Adım 3: UID ve tek kullanımlık şifrenizi kopyalayıp girin\"},\"pl-PL\":{\"tokenTip\":\"Protect Your Account With OTP Verification\",\"tokenIntro1\":\"1. One-time passwords expire in 60 seconds. Use them wisely to keep your account safe and secure.\",\"tokenIntro2\":\"2. Staff won't ask for your one-time password. Please never share or give out your password.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"How to get my one-time password?\",\"getStep2\":\"Step 2: Tap OTP\",\"getStep3\":\"Step 3: Copy and enter your UID and one-time password\"},\"id-ID\":{\"tokenTip\":\"OTP\",\"tokenIntro1\":\"1. One-time passwords expire in 60 seconds. Use them wisely to keep your account safe and secure.\",\"tokenIntro2\":\"2. Staff won't ask for your one-time password. Please never share or give out your password.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"How to get my one-time password?\",\"getStep2\":\"Step 2: Tap OTP\",\"getStep3\":\"Step 3: Copy and enter your UID and one-time password\"},\"ar-SA\":{\"tokenTip\":\"يرجى استخدام رمز OTP لحماية حسابك\",\"tokenIntro1\":\"1. تنتهي صلاحية الـOTP (كلمة المرور ذات الاستخدام الواحد) خلال 60 ثانية. ويمكن استخدامها للحفاظ على حسابك آمنًا.\",\"tokenIntro2\":\"2. لن يطلب فريق الـOTP الخاص بك. يرجى عدم مشاركته أو إعطائه لأي شخص.\",\"tokenKey\":\"OTP\",\"howToGetToken\":\"كيف أحصل على رمز OTP الخاص بي؟\",\"getStep2\":\"الخطوة 2: اضغط على OTP\",\"getStep3\":\"الخطوة 3: قم بالنسخ ثم أدخل الـUID الخاص بك وأيضًا الـOTP\"},\"default\":{\"tokenTip\":\"\",\"tokenIntro1\":\"\",\"tokenIntro2\":\"\",\"tokenKey\":\"\",\"howToGetToken\":\"\",\"getStep2\":\"\",\"getStep3\":\"\"}};\n \n const getSystemLanguage = ()=>{\n let res = navigator.language || navigator.userLanguage || navigator.browerLanguage || navigator.systemLanguage;\n if (res.indexOf(\"-\") > -1) {\n const langArr = res.split(\"-\");\n res = langArr[0] === \"zh\" ? langArr[1] : langArr[0];\n }\n return res.toLowerCase();\n };\n const checkLanguage = (lang) =>{\n let res = \"\";\n if (lang) {\n if (lang.indexOf(\"-\") > -1) {\n for (let i = 0; i < languageList.length; i++) {\n if (languageList[i] === lang) {\n res = languageList[i];\n }\n }\n } else {\n const reg = new RegExp(lang, \"g\");\n for (let i = 0; i < languageList.length; i++) {\n if (reg.test(languageList[i].toLowerCase())) {\n res = languageList[i];\n }\n }\n }\n }\n return res;\n };\n let curLang = checkLanguage(utils.getUrlParams(\"appLanguage\")) || checkLanguage(utils.getUrlParams(\"language\")) || checkLanguage(getSystemLanguage()) || checkLanguage(\"en-US\") || \"default\";\n const initLang = () => {\n document.body.className += \" \" + curLang;\n document.getElementsByTagName(\"html\")[0].setAttribute(\"dir\", curLang == \"ar-SA\" ? \"rtl\" : \"ltr\");\n \n if(!pageInfo[curLang]) return;\n if(pageInfo[curLang].title){\n document.title = pageInfo[curLang].title;\n }\n if(pageInfo[curLang].ico){\n try{\n document.getElementById(\"icon\").setAttribute(\"href\", pageInfo[curLang].ico);\n document.getElementById(\"shortcut\").setAttribute(\"href\", pageInfo[curLang].ico);\n }catch(e){}\n }\n };\n\n const getLangTxt = (key,msg)=>{\n let info = languageTxt[curLang] || languageTxt.default;\n return info[key] || String(msg);\n }\n \n return { curLang, initLang, getLangTxt, langData:languageTxt[curLang]||{} };\n };\n ","\n \n import { useRouter } from 'vue-router';\n import * as utils from '@/utils'\n\n export default ()=>{\n\n const router = useRouter();\n\n const gotoRouter = (path)=>{\n let query = Object.keys(router.currentRoute.value.query).length\n ? router.currentRoute.value.query\n : utils.getUrlParamObj()\n router.push({\n path,\n query: query\n })\n }\n\n return{\n gotoRouter,\n router,\n hasRoute: router.hasRoute,\n }\n\n }\n\n ","\n import * as utils from \"@/utils\";\nconst isWebTp = +utils.getUrlParams(\"isWebTp\") === 1;\nconst addEvenListener = function (callback, eventName) {\n let addEvenListener = window.addEventListener || window.attatchEvent;\n let messageEvent = window.addEventListener ? eventName : \"on\" + eventName;\n addEvenListener(messageEvent, callback, false);\n};\nif (isWebTp) {\n addEvenListener(function (e) {\n let evt = e || event;\n let data = evt.data;\n if (data.processFn && +data.processFn === 1) {\n if (\n Object.prototype.toString.call(window[data.processFnName]) ===\n \"[object Function]\"\n ) {\n window[data.processFnName](data.params);\n }\n }\n }, \"message\");\n}\nexport default {\n methods: {},\n bridgeReadyCallback: \"\",\n genteratecallbackName: function () {\n let timestamp = new Date().getTime();\n let globalCallbackName = \"sdkCallBack\" + timestamp;\n return globalCallbackName;\n },\n gernerateNewCallback: function (callback, globalCallbackName) {\n return function () {\n let res = callback.apply(callback, arguments);\n delete window[globalCallbackName];\n return res;\n };\n },\n callSdkMethod: function (method, params, callback) {\n if (typeof params == \"function\") {\n callback = params;\n params = {};\n }\n\n if (typeof window !== \"undefined\" && typeof callback === \"function\") {\n let globalCallbackName = this.genteratecallbackName();\n while (window[globalCallbackName]) {\n globalCallbackName = this.genteratecallbackName();\n }\n // 全局声明一个临时函数地址,地址指向回调函数。执行回调之后,会自动删除这个全局函数。\n window[globalCallbackName] = this.gernerateNewCallback(\n callback,\n globalCallbackName\n );\n params[\"callback\"] = globalCallbackName;\n }\n let paramsStr = JSON.stringify(params);\n\n // andoid\n if (\n typeof window !== \"undefined\" &&\n window.sdkCtrl &&\n typeof window.sdkCtrl.callSDKMethodWithParameters == \"function\"\n ) {\n window.sdkCtrl.callSDKMethodWithParameters(method, paramsStr);\n }\n\n // ios\n else if (\n typeof window !== \"undefined\" &&\n window.webkit &&\n window.webkit.messageHandlers &&\n window.webkit.messageHandlers.callSDKMethodWithParameters\n ) {\n window.webkit.messageHandlers.callSDKMethodWithParameters.postMessage({\n method,\n params,\n });\n }\n // h5弹屏\n else if (+utils.getUrlParams(\"isWebTp\") === 1) {\n window.parent.postMessage(\n {\n method: method,\n param: paramsStr || \"{}\",\n },\n \"*\"\n );\n }\n },\n\n runInsdk() {\n let runInAndroid =\n typeof window !== \"undefined\" &&\n window.sdkCtrl &&\n typeof window.sdkCtrl.callSDKMethodWithParameters == \"function\";\n let runInIOS =\n typeof window !== \"undefined\" &&\n window.webkit &&\n window.webkit.messageHandlers &&\n window.webkit.messageHandlers.callSDKMethodWithParameters;\n return runInAndroid || runInIOS;\n },\n\n createReadyEvent: function () {\n if (\n typeof window !== \"undefined\" &&\n typeof this.bridgeReadyCallback === \"function\"\n ) {\n // 原生app 在装载页面成功后,触发 window.triggerBridgeReady 告诉前端,前端可以调用原声的方法.\n window.triggerBridgeReady = function () {\n this.bridgeReadyCallback();\n }.bind(this);\n }\n },\n listendRendy: function (callback) {\n this.bridgeReadyCallback = callback;\n if (typeof window.triggerBridgeReady != \"function\") {\n this.createReadyEvent();\n }\n },\n injectObjFinish() {\n let androidSuccess =\n window &&\n window.sdkCtrl &&\n typeof window.sdkCtrl.callSDKMethodWithParameters == \"function\";\n let iosSuccesss =\n typeof window !== \"undefined\" &&\n window.webkit &&\n window.webkit.messageHandlers &&\n window.webkit.messageHandlers.callSDKMethodWithParameters;\n return androidSuccess || iosSuccesss;\n },\n onReady(callback) {\n if (this.injectObjFinish()) {\n if (typeof callback == \"function\") {\n callback(this);\n }\n } else {\n this.listendRendy(callback);\n }\n },\n callJavascriptMethod(method, paramsStr) {\n let params = {};\n if (paramsStr) {\n params = JSON.parse(paramsStr);\n }\n // 构造回调函数\n let callback = function () {\n let callbackMethodName = params[\"callback\"];\n if (params[\"callback\"]) {\n let ars = Array.prototype.slice.call(arguments, 0);\n ars.unshift(callbackMethodName);\n this.callSdkMethod.apply(this, ars);\n }\n };\n if (typeof this.methods[method] === \"function\") {\n this.methods[method](params, callback);\n }\n },\n registHandler(methodName, handler) {\n if (\n typeof window !== \"undefined\" &&\n window.callJavascriptMethod === undefined\n ) {\n window.callJavascriptMethod = this.callJavascriptMethod.bind(this);\n }\n // 不能重复注册,覆盖了其他函数\n if (typeof this.methods[methodName] === \"function\") {\n throw new Error(\n `MethodsName '${methodName}' was registed ,plz change another`\n );\n }\n // 注册时必须有函数实体\n if (typeof handler !== \"function\") {\n throw new Error(\"The second argument must be a callback function\");\n }\n this.methods[methodName] = handler;\n },\n open(link) {\n // 如果链接未配置,直接不响应\n if (!link) return;\n // link = utils.getTargetLink(link);\n if (this.runInsdk()) {\n this.callSdkMethod(\"openBrowser\", {\n url: link,\n loginDir: 1,\n appendParams: 1,\n });\n } else {\n window.open(link, \"_blank\");\n }\n }\n};\n\n ","import { render } from \"./App.vue?vue&type=template&id=5b93b0e6\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=5b93b0e6&lang=scss\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n
{{`${ langData.tokenTip }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.tokenIntro1 }`}}
{{`${ langData.tokenIntro2 }`}}
{{`${ langData.howToGetToken }`}}
\n \n\n\n","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_ZOJP17.vue?vue&type=template&id=782d2c63&scoped=true\"\nimport script from \"./u_c_ZOJP17.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_ZOJP17.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_ZOJP17.vue?vue&type=style&index=0&id=782d2c63&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-782d2c63\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_UA4817.vue?vue&type=template&id=49fc5e84&scoped=true\"\nimport script from \"./u_c_UA4817.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_UA4817.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_UA4817.vue?vue&type=style&index=0&id=49fc5e84&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-49fc5e84\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_34OJ207.vue?vue&type=template&id=a52023ca&scoped=true\"\nimport script from \"./u_c_34OJ207.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_34OJ207.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_34OJ207.vue?vue&type=style&index=0&id=a52023ca&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a52023ca\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_85BV188.vue?vue&type=template&id=43f0f1f6&scoped=true\"\nimport script from \"./u_c_85BV188.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_85BV188.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_85BV188.vue?vue&type=style&index=0&id=43f0f1f6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-43f0f1f6\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_FIJ7169.vue?vue&type=template&id=8371e004&scoped=true\"\nimport script from \"./u_c_FIJ7169.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_FIJ7169.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_FIJ7169.vue?vue&type=style&index=0&id=8371e004&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8371e004\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_ZJTY17.vue?vue&type=template&id=49e54a69&scoped=true\"\nimport script from \"./u_c_ZJTY17.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_ZJTY17.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_ZJTY17.vue?vue&type=style&index=0&id=49e54a69&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-49e54a69\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_8NIE18.vue?vue&type=template&id=67472b8a&scoped=true\"\nimport script from \"./u_c_8NIE18.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_8NIE18.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_8NIE18.vue?vue&type=style&index=0&id=67472b8a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-67472b8a\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_11LA74.vue?vue&type=template&id=3667ad38&scoped=true\"\nimport script from \"./u_c_11LA74.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_11LA74.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_11LA74.vue?vue&type=style&index=0&id=3667ad38&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3667ad38\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_A4Y118.vue?vue&type=template&id=92f5f226&scoped=true\"\nimport script from \"./u_c_A4Y118.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_A4Y118.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_A4Y118.vue?vue&type=style&index=0&id=92f5f226&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-92f5f226\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_8WAA18.vue?vue&type=template&id=33f77492&scoped=true\"\nimport script from \"./u_c_8WAA18.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_8WAA18.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_8WAA18.vue?vue&type=style&index=0&id=33f77492&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-33f77492\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_W0TN93.vue?vue&type=template&id=64bdf543&scoped=true\"\nimport script from \"./u_c_W0TN93.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_W0TN93.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_W0TN93.vue?vue&type=style&index=0&id=64bdf543&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-64bdf543\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_5066112.vue?vue&type=template&id=1ddfa7a6&scoped=true\"\nimport script from \"./u_c_5066112.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_5066112.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_5066112.vue?vue&type=style&index=0&id=1ddfa7a6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1ddfa7a6\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_2XZP131.vue?vue&type=template&id=08fb76db&scoped=true\"\nimport script from \"./u_c_2XZP131.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_2XZP131.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_2XZP131.vue?vue&type=style&index=0&id=08fb76db&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-08fb76db\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_17ZY150.vue?vue&type=template&id=6070a134&scoped=true\"\nimport script from \"./u_c_17ZY150.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_17ZY150.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_17ZY150.vue?vue&type=style&index=0&id=6070a134&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6070a134\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_4S3E55.vue?vue&type=template&id=95a06e7e&scoped=true\"\nimport script from \"./u_c_4S3E55.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_4S3E55.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_4S3E55.vue?vue&type=style&index=0&id=95a06e7e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-95a06e7e\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_98U018.vue?vue&type=template&id=2f1350cd&scoped=true\"\nimport script from \"./u_c_98U018.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_98U018.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_98U018.vue?vue&type=style&index=0&id=2f1350cd&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2f1350cd\"]])\n\nexport default __exports__","\n \n
{{`${ compData.step1Txt }`}}
{{`${ langData.getStep2 }`}}
{{`${ langData.tokenKey }`}}
{{`${ langData.getStep3 }`}}
{{`${ langData.tokenKey }`}}
\n \n\n\n","import { render } from \"./u_c_1VIZ36.vue?vue&type=template&id=a40e5dc2&scoped=true\"\nimport script from \"./u_c_1VIZ36.vue?vue&type=script&lang=js\"\nexport * from \"./u_c_1VIZ36.vue?vue&type=script&lang=js\"\n\nimport \"./u_c_1VIZ36.vue?vue&type=style&index=0&id=a40e5dc2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a40e5dc2\"]])\n\nexport default __exports__","import { render } from \"./router_V7IP16.vue?vue&type=template&id=4a78dbf2&scoped=true\"\nimport script from \"./router_V7IP16.vue?vue&type=script&lang=js\"\nexport * from \"./router_V7IP16.vue?vue&type=script&lang=js\"\n\nimport \"./router_V7IP16.vue?vue&type=style&index=0&id=4a78dbf2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/www/auto.37games.com/@mono/buildSpace/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a78dbf2\"]])\n\nexport default __exports__","import { createRouter, createWebHistory } from 'vue-router';\n import * as utils from \"@/utils\";\n import ROUTER_V7IP16 from \"@/views/router_V7IP16.vue\"\n\nconst routes = [{\n path: '/',\n name: 'index',\n component: ROUTER_V7IP16\n },{\n path: \"/:catchAll(.*)\",\n redirect: \"/\",\n }];\n\nconst router = createRouter({\n history: createWebHistory(\"/otp_guide\"),\n routes\n});\n\n// 路由地址访问跳转\nlet isFirstVisit = true;\nrouter.beforeEach((to, from, next) => {\n if (isFirstVisit) {\n isFirstVisit = false;\n if (to.path == '/') {\n let linkRouter = utils.getUrlParams('toRouter');\n if (linkRouter) {\n next({\n path: `/${linkRouter}`,\n query: utils.getUrlParamObj(),\n });\n return;\n }\n }\n }\n next();\n});\n\n\nexport default router;\n","import { createApp } from 'vue';\n import App from '@/App.vue';\n import router from '@/router';\n import 'animate.css';\n\n createApp(App).use(router).mount('#app');\n ","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkotp_guide_master_publish\"] = self[\"webpackChunkotp_guide_master_publish\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [817], function() { return __webpack_require__(6955); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_createElementVNode","class","_hoisted_1","_hoisted_2","_createVNode","_component_router_view","getUrlParams","name","reg","RegExp","r","window","location","search","substr","match","decodeURIComponent","getMainHost","hostname","hostArr","split","mainArr","slice","join","getUrlParamObj","ignoreKeyArr","res","keyArr","i","arr","length","_","_i","findIndex","item","languageList","pageInfo","languageTxt","getSystemLanguage","navigator","language","userLanguage","browerLanguage","systemLanguage","indexOf","langArr","toLowerCase","checkLanguage","lang","test","curLang","utils","initLang","document","body","className","getElementsByTagName","setAttribute","title","ico","getElementById","e","getLangTxt","key","msg","info","default","String","langData","router","useRouter","gotoRouter","path","query","Object","keys","currentRoute","value","push","hasRoute","isWebTp","addEvenListener","callback","eventName","addEventListener","attatchEvent","messageEvent","evt","event","data","processFn","prototype","toString","call","processFnName","params","components","setup","Language","PAGE_DATA_LANG","step2","titleColor","bgColor","pageData","reactive","provide","gameId","curHost","previewGameId","linkHost","hostInfo","needBg","linkTxtColor","linkTitleColor","__exports__","render","id","_createElementBlock","$setup","style","tokenTip","src","tokenKey","tokenIntro1","tokenIntro2","howToGetToken","_component_u_c_ZOJP17","_component_u_c_UA4817","_component_u_c_D0C4226","_component_u_c_34OJ207","_component_u_c_85BV188","_component_u_c_FIJ7169","_component_u_c_ZJTY17","_component_u_c_8NIE18","_component_u_c_11LA74","_component_u_c_A4Y118","_component_u_c_8WAA18","_component_u_c_W0TN93","_component_u_c_5066112","_component_u_c_2XZP131","_component_u_c_17ZY150","_component_u_c_4S3E55","_component_u_c_98U018","_component_u_c_1VIZ36","step1Txt","step1Img","_hoisted_4","getStep2","_hoisted_5","_hoisted_7","_hoisted_8","getStep3","_hoisted_9","routerData","inject","COMP_DATA_LANG","compData","Router","u_c_ZOJP17","u_c_UA4817","u_c_34OJ207","u_c_85BV188","u_c_FIJ7169","u_c_ZJTY17","u_c_8NIE18","u_c_11LA74","u_c_A4Y118","u_c_8WAA18","u_c_W0TN93","u_c_5066112","u_c_2XZP131","u_c_17ZY150","u_c_4S3E55","u_c_98U018","u_c_1VIZ36","ROUTER_DATA_LANG","routes","component","ROUTER_V7IP16","redirect","createRouter","history","createWebHistory","isFirstVisit","beforeEach","to","from","next","linkRouter","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","amdO","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","this","Function","obj","prop","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""}