{"version":3,"file":"_name_.html-CbFn208t.js","sources":["../../../../node_modules/.pnpm/nuxt-multi-cache@3.3.3_magicast@0.3.5_rollup@4.21.3_webpack-sources@3.2.3/node_modules/nuxt-multi-cache/dist/runtime/helpers/logger.js","../../../../node_modules/.pnpm/nuxt-multi-cache@3.3.3_magicast@0.3.5_rollup@4.21.3_webpack-sources@3.2.3/node_modules/nuxt-multi-cache/dist/runtime/composables/useDataCache.js","../../../../components/Game/TypePill.vue","../../../../components/Game/GroupBlock.vue","../../../../utils/ad.ts","../../../../components/Game/Center/HeadBanner.vue","../../../../components/Game/Center/RecommendSwiper.vue","../../../../components/Game/Center/LiteSwiper.vue","../../../../utils/http/store.ts","../../../../api/store.ts","../../../../pages/apps/index.vue","../../../../pages/developers/[name].html.vue"],"sourcesContent":["import { consola } from \"consola\";\nexport const logger = consola.withTag(\"nuxt-multi-cache\");\n","import { getCurrentInstance, useSSRContext } from \"vue\";\nimport { logger } from \"../helpers/logger.js\";\nimport {\n getExpiresValue,\n getMultiCacheContext,\n getCacheKeyWithPrefix,\n isExpired\n} from \"./../helpers/server.js\";\nimport { useRuntimeConfig } from \"#imports\";\nexport function useDataCache(key, providedEvent) {\n const dummy = {\n addToCache: (_v) => {\n return Promise.resolve();\n },\n cacheTags: []\n };\n const isServer = import.meta.env.VITEST_SERVER === \"true\" || import.meta.server;\n if (!isServer) {\n return Promise.resolve(dummy);\n }\n const { debug } = useRuntimeConfig().multiCache || {};\n try {\n const event = (() => {\n if (providedEvent) {\n return providedEvent;\n }\n if (!getCurrentInstance()) {\n if (debug) {\n logger.warn(\n \"No H3Event provided while not in vue context when calling useDataCache for key: \" + key\n );\n }\n return;\n }\n const ssrContext = useSSRContext();\n if (ssrContext) {\n return ssrContext.event;\n }\n })();\n const multiCache = getMultiCacheContext(event);\n if (!multiCache?.data) {\n return Promise.resolve(dummy);\n }\n const fullKey = getCacheKeyWithPrefix(key, event);\n return multiCache.data.getItem(fullKey).then((v) => {\n const item = v;\n const addToCache = (data, cacheTags = [], maxAge) => {\n const item2 = { data, cacheTags };\n if (maxAge) {\n item2.expires = getExpiresValue(maxAge);\n }\n if (debug) {\n logger.info(\"Stored item in data cache: \" + fullKey);\n }\n return multiCache.data.setItem(fullKey, item2, { ttl: maxAge });\n };\n if (item) {\n const itemIsExpired = isExpired(item);\n if (!itemIsExpired) {\n if (debug) {\n logger.info(\"Returned item from data cache: \" + fullKey);\n }\n return {\n addToCache,\n // Extract the value. If the item was stored along its cache tags, it\n // will be an object with a cacheTags property.\n value: item.data,\n cacheTags: item.cacheTags || [],\n expires: item.expires\n };\n } else if (debug) {\n logger.info(\n \"Skipped returning item from data cache because expired: \" + fullKey\n );\n }\n }\n return {\n addToCache,\n cacheTags: []\n };\n });\n } catch (e) {\n if (e instanceof Error) {\n console.debug(e.message);\n }\n }\n return Promise.resolve(dummy);\n}\n","\n\n\n\n\n","\n\n\n\n\n","import type { SupportLocale } from '~/config/i18n'\nimport type { StoreApp } from '~/types/store'\n\n/** 广告地区对应的语言 */\nexport function getLocaleByAdArea(country: string = 'en') {\n const areaMap: Record = {\n tw: 'tw',\n hk: 'tw',\n mo: 'tw',\n kr: 'kr',\n jp: 'jp',\n vn: 'vn',\n th: 'th',\n id: 'id',\n fr: 'fr',\n de: 'de',\n br: 'pt',\n ar: 'es',\n pe: 'es',\n es: 'es',\n mx: 'es',\n co: 'es',\n ec: 'es',\n cl: 'es',\n bo: 'es',\n do: 'es',\n ru: 'ru',\n ua: 'ru',\n by: 'ru',\n kz: 'ru',\n uz: 'ru',\n }\n return areaMap[country] || 'en'\n}\n\n/** 处理广告链接参数 */\nexport function replaceAdUrl(url: string, id: number, clickId: string) {\n const newUrl = (url || '')\n .replace('ldp_adid', `${id}`) // 替换成广告ID\n .replace('ldp_position', 'ldplayerx') // 助手资源位,统一为:ldplayerx\n .replace('{click_id}', clickId)\n\n // clientLog.log('替换参数后的广告链接: ', newUrl)\n return newUrl\n}\n\n/**\n * 处理应用跳转的链接逻辑\n * 因为目前广告那边是根据域名去查游戏详情,所以出现的游戏都是在当前语言能查询到的,跳的都是当前语言的游戏详情\n */\nexport function getStoreAppLink(app: StoreApp, _countryCode: string | undefined): Partial> {\n const { toAppDetail } = useRouterToPage()\n\n const { adsInfo, appInfo, marks } = app\n const type = appInfo.glCategory\n const seo = appInfo.seoUrl\n if (marks.adsMark) {\n // 上报时间 clickId\n const clickId = new Date().getTime().toString()\n if (adsInfo.actionType === '1') {\n const to = replaceAdUrl(adsInfo.clickUrl, adsInfo.offerId, clickId)\n return { to, target: '_blank' }\n }\n else {\n // const locale = getLocaleByAdArea(countryCode)\n const to = toAppDetail({ type, seo }, { hasReturnUrl: true })\n return { to }\n }\n }\n else {\n const to = toAppDetail({ type, seo }, { hasReturnUrl: true })\n return { to }\n }\n}\n\n/** 处理广告下载链接 */\n// export function getStoreAppDownloadLink(app: StoreApp, countryCode?: string): string {\n// const { getXLink } = useDownload()\n\n// const { adsInfo, packageName, marks } = app\n// if (marks.adsMark) {\n// // 上报时间 clickId\n// const clickId = new Date().getTime().toString()\n// if (adsInfo.actionType === '1') {\n// return replaceAdUrl(adsInfo.clickUrl, adsInfo.offerId, clickId)\n// }\n// else {\n// const locale = getLocaleByAdArea(countryCode)\n// return getXLink({ pkg: packageName, from: locale }).value\n// }\n// }\n\n// return getXLink({ pkg: packageName }).value\n// }\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import type { FetchOptions } from 'ofetch'\nimport { parseURL } from 'ufo'\nimport { createHttp } from './basic'\n\nexport const useStoreHttp = createHttp({\n // isErrorCode: code => code !== 0,\n isErrorCode: code => code !== 200,\n\n handleErrorCode: (code) => {\n clientLog.error('useStoreHttp errcode', code)\n },\n\n handleFetchOptions: (opts, headers) => {\n const { $i18n: { locale } } = useNuxtApp()\n const { public: { apiStore } } = useRuntimeConfig()\n\n const baseURL = apiStore.replaceAll('{locale}', opts.requestLocale || locale.value)\n\n if (import.meta.server) {\n headers.host = parseURL(baseURL).host!\n }\n\n return {\n baseURL,\n headers,\n } as FetchOptions\n },\n})\n","import type { StoreHome } from '~/types/store'\n\nenum Api {\n OLD_STORE_HOME = '/store/v2/index', // 游戏中心 (拿exe的首页接口)\n STORE_HOME = '/store/naru/index', // 新版商店首页接口\n APP_MENU = '/store/v2/get_menu_games', // 某分类游戏列表\n}\n\n// /** 获取落地页模板信息 */\n// export function getAppCenterApi() {\n// return useStoreHttp.get(Api.OLD_STORE_HOME)\n// }\n\n/** 某分类游戏列表 */\nexport function getStoreMenuByIdApi(menuId: string) {\n return useStoreHttp.get(Api.APP_MENU, { params: { menuId } })\n}\n\n/** 商店首页 */\nexport function getAppCenterApi() {\n return useStoreHttp.post(Api.STORE_HOME, { body: { marks: { ldplayerX: true } } })\n}\n","\n\n\n\n\n","\n\n\n\n\n"],"names":["consola","useDataCache","key","providedEvent","dummy","_v","toAppType","useRouterToPage","isRtl","useLayout","replaceAdUrl","url","id","clickId","getStoreAppLink","app","_countryCode","toAppDetail","adsInfo","appInfo","marks","type","seo","props","__props","totalList","computed","_a","_b","loopMode","swiperInstance","ref","swiperAttr","SwiperAutoplay","SwiperNavigation","activeInx","activeGame","initSwiper","swiper","getBannerImg","img","scaleImage","canLoadImg","i","reactive","useStoreHttp","createHttp","code","clientLog","opts","headers","locale","useNuxtApp","apiStore","useRuntimeConfig","getAppCenterApi","setLanguage","languageLoading","useLanguageStore","titleMap","pathMap","pageKey","countryMapCache","addCountryCache","__temp","__restore","_withAsyncContext","unref","data","error","useAsyncData","useRequestHeaders","isDev","userIp","userCountry","serverLog","res","nuxt","whenever","createError","isProd","v","countryCode","autoSideBar","appsHead","usePageHead","route","useRoute","developer","value","addToCache","status","response","getAppByDeveloperApi","developerHead","useCacheRoute"],"mappings":"yjBACsBA,GAAQ,QAAQ,kBAAkB,ECQxC,SAAAC,GAAaC,EAAKC,EAAe,CAC/C,MAAMC,EAAQ,CACZ,WAAaC,GACJ,QAAQ,UAEjB,UAAW,CAAC,CAAA,EAIL,OAAA,QAAQ,QAAQD,CAAK,CAqEhC,ysCC/EM,KAAA,CAAE,UAAAE,GAAcC,ioCCChB,KAAA,CAAE,MAAAC,GAAUC,8nBC2BF,SAAAC,GAAaC,EAAaC,EAAYC,EAAiB,CAO9D,OANSF,GAAO,IACpB,QAAQ,WAAY,GAAGC,CAAE,EAAE,EAC3B,QAAQ,eAAgB,WAAW,EACnC,QAAQ,aAAcC,CAAO,CAIlC,CAMgB,SAAAC,EAAgBC,EAAeC,EAA4E,CACnH,KAAA,CAAE,YAAAC,GAAgBV,IAElB,CAAE,QAAAW,EAAS,QAAAC,EAAS,MAAAC,CAAA,EAAUL,EAC9BM,EAAOF,EAAQ,WACfG,EAAMH,EAAQ,OACpB,GAAIC,EAAM,QAAS,CAEjB,MAAMP,EAAc,IAAA,KAAO,EAAA,QAAA,EAAU,WACjC,OAAAK,EAAQ,aAAe,IAElB,CAAE,GADER,GAAaQ,EAAQ,SAAUA,EAAQ,QAASL,CAAO,EACrD,OAAQ,UAKd,CAAE,GADEI,EAAY,CAAE,KAAAI,EAAM,IAAAC,GAAO,CAAE,aAAc,EAAA,CAAM,CAChD,CACd,KAIA,OAAO,CAAE,GADEL,EAAY,CAAE,KAAAI,EAAM,IAAAC,GAAO,CAAE,aAAc,EAAA,CAAM,CAChD,CAEhB,q0BC9DA,MAAMC,EAAQC,EAGRC,EAAYC,EAAS,IAAM,SAAA,OAAC,KAAIC,EAAAJ,EAAM,SAAN,YAAAI,EAAc,OAAQ,CAAC,EAAI,KAAIC,EAAAL,EAAM,QAAN,YAAAK,EAAa,OAAQ,CAAA,CAAG,EAAC,EAExFC,EAAWH,EAAS,IAAMD,EAAU,MAAM,QAAU,CAAC,EACrDK,EAAiBC,IACjBC,EAAaN,EAA8B,KAAO,CACtD,QAAS,CAACO,GAAgBC,EAAgB,EAC1C,SAAU,CAAE,MAAO,IAAM,qBAAsB,EAAM,EACrD,WAAY,CACV,cAAe,8BACf,UAAW,SACX,OAAQ,QACR,OAAQ,OACV,EACA,UAAW,WACX,eAAgB,GAChB,KAAML,EAAS,MACf,yBAA0B,CAACA,EAAS,MACpC,qBAAsB,CAACA,EAAS,MAChC,cAAe,OACf,aAAc,EACd,EAAA,EAGIM,EAAYJ,EAAI,CAAC,EACjBK,EAAaV,EAAS,IAAMD,EAAU,MAAMU,EAAU,KAAK,CAAC,EAGlE,SAASE,EAAWC,EAAa,CAC/BR,EAAe,MAAQQ,EACRR,EAAA,MAAM,YAAYK,EAAU,KAAK,CAClD,CAGA,SAASI,EAAaxB,EAAe,OACnC,IAAIyB,EAAc,GACd,OAAAzB,EAAI,MAAM,UACZyB,EAAMzB,EAAI,QAAQ,QAEfyB,IACGA,EAAAzB,EAAI,QAAQ,QAAUA,EAAI,QAAQ,UAAUY,EAAAZ,EAAI,QAAQ,UAAZ,YAAAY,EAAsB,KAAM,IAGzEc,EAAWD,EAAK,CAAC,KAAM,CAAC,CAAC,CAClC,CAGA,SAASE,EAAWC,EAAW,CAC7B,OAAOR,EAAU,MAAQ,GAAKQ,GAAKR,EAAU,MAAQ,GAAKQ,CAC5D,spHCjDA,MAAMb,EAAiBC,IACjBC,EAAaY,GAA8B,CAC/C,QAAS,CAACV,EAAgB,EAC1B,WAAY,CACV,cAAe,8BACf,UAAW,SACX,OAAQ,QACR,OAAQ,OACV,EACA,KAAM,GACN,cAAe,IACf,eAAgB,EAChB,aAAc,GACd,YAAa,CACX,IAAK,CACH,cAAe,EACf,eAAgB,EAChB,aAAc,EAChB,EACA,KAAM,CACJ,cAAe,EACf,eAAgB,EAChB,aAAc,EAChB,EACA,KAAM,CACJ,cAAe,EACf,eAAgB,EAChB,aAAc,EAChB,EACA,KAAM,CACJ,cAAe,EACf,eAAgB,EAChB,aAAc,EAChB,CACF,CAAA,CACD,EAGD,SAASK,EAAaxB,EAAe,OACnC,IAAIyB,EAAc,GACd,OAAAzB,EAAI,MAAM,UACZyB,EAAMzB,EAAI,QAAQ,UAEfyB,IACGA,EAAAzB,EAAI,QAAQ,QAAUA,EAAI,QAAQ,UAAUY,EAAAZ,EAAI,QAAQ,UAAZ,YAAAY,EAAsB,KAAM,IAGzEc,EAAWD,EAAK,CAAC,IAAK,CAAC,CAAC,CACjC,miEChDA,MAAMV,EAAiBC,IACjBC,EAAaY,GAA8B,CAC/C,QAAS,CAACV,EAAgB,EAC1B,WAAY,CACV,cAAe,8BACf,UAAW,SACX,OAAQ,QACR,OAAQ,OACV,EACA,KAAM,GACN,cAAe,IACf,eAAgB,IAChB,aAAc,GACd,YAAa,CACX,KAAM,CACJ,cAAe,EACf,eAAgB,EAChB,aAAc,EAChB,EACA,KAAM,CACJ,cAAe,EACf,eAAgB,EAChB,aAAc,EAChB,EACA,KAAM,CACJ,cAAe,GACf,eAAgB,GAChB,aAAc,EAChB,CACF,CAAA,CACD,mvECvCYW,GAAeC,GAAW,CAErC,eAAqBC,IAAS,IAE9B,gBAAkBA,GAAS,CACfC,GAAA,MAAM,uBAAwBD,CAAI,CAC9C,EAEA,mBAAoB,CAACE,EAAMC,IAAY,CACrC,KAAM,CAAE,MAAO,CAAE,OAAAC,CAAO,GAAMC,GAAW,EACnC,CAAE,OAAQ,CAAE,SAAAC,CAAS,GAAMC,GAAiB,EAQ3C,MAAA,CACL,QAPcD,EAAS,WAAW,WAAYJ,EAAK,eAAiBE,EAAO,KAAK,EAQhF,QAAAD,CAAA,CAEJ,CACF,CAAC,ECRM,SAASK,IAAkB,CAChC,OAAOV,GAAa,KAAgB,oBAAgB,CAAE,KAAM,CAAE,MAAO,CAAE,UAAW,EAAO,CAAA,CAAG,CAAA,CAC9F,+rBCfA,KAAM,CAAE,YAAAW,EAAa,gBAAAC,CAAgB,EAAIC,GAAiB,EACpDC,EAAmD,CACvD,GAAI,gDACJ,GAAI,+BACJ,GAAI,wCACJ,GAAI,2DACJ,GAAI,mDACJ,GAAI,sDACJ,GAAI,uDACJ,GAAI,8DACJ,GAAI,uDACJ,GAAI,mCACJ,GAAI,0DACJ,GAAI,kEACJ,GAAI,4DAAA,EAEAC,EAAU,OAAO,YAAY,OAAO,KAAKD,CAAQ,EAAE,IAAcR,GAAA,CAACA,EAAQ,OAAO,CAAC,CAAC,EACzFK,EAAYI,EAASD,CAAQ,EAC7BF,EAAgB,QAAQ,EAElB,MAAAI,EAAUnC,EAAS,IAAM,YAAY,EACrC,CAAE,MAAOoC,EAAiB,WAAYC,IAA0B,CAAAC,EAAAC,CAAA,EAAAC,EAAA,IAAAjE,GAAwCkE,EAAMN,CAAO,CAAC,CAAA,mBACtH,CAAE,KAAAO,EAAM,MAAAC,CAAM,GAAI,CAAAL,EAAAC,CAAA,EAAAC,EAAA,SAAMI,GAAaH,EAAMN,CAAO,EAAG,SAAY,CAErE,MAAMX,EAAUqB,KAEhB,GAAI,CAACC,GAAA,IAAWtB,GAAA,MAAAA,EAAU,oBAAoB,CAE5C,MAAMuB,EAASvB,GAAA,YAAAA,EAAU,mBAAmB,MAAM,KAAK,GAEjDwB,EAAc,MAAM,OAAO,oBAAqB,CAAE,MAAO,CAAE,GAAID,CAAO,CAAA,CAAG,EAK3E,GAHJE,GAAU,IAAI,MAAMF,CAAM,aAAaC,CAAW,EAAE,EAC1CC,GAAA,IAAI,WAAWD,CAAW,aAAa,CAAC,EAACZ,GAAA,MAAAA,EAAkBY,GAAY,EAAE,EAE/EZ,GAAA,MAAAA,EAAkBY,GACpB,OAAOZ,EAAgBY,CAAW,EAG9B,MAAAE,EAAM,MAAMrB,KAElB,aAAM,OAAO,oBAAqB,CAAE,OAAQ,OAAQ,KAAM,CAAE,GAAIkB,EAAQ,QAASG,EAAI,WAAA,CAAe,CAAA,EAEpG,MAAMb,EAAgB,OAAO,OAAQD,GAAmB,CAAA,EAAK,CAAE,CAACc,EAAI,WAAW,EAAGA,CAAA,CAAK,EAAG,CAACT,EAAMN,CAAO,CAAC,EAAG,GAAG,EACxGe,CACT,CAEA,OAAOrB,GAAgB,CAAA,EACtB,CACD,cAAe,CAACrD,EAAK2E,IAAoDA,EAAK,QAAQ,KAAK3E,CAAG,GAAK2E,EAAK,OAAO,KAAK3E,CAAG,CAAA,CACxH,CAAA,mBAED4E,EAAST,EAAO,IAAM,CACd,MAAAU,GAAY,CAAE,WAAY,IAAK,cAAe,4BAA6B,MAAO,GAAM,CAAA,EAC7F,CAAE,UAAW,EAAA,CAAM,EAEjBC,MACHF,EAASV,EAAMa,GAAKjC,GAAU,IAAImB,EAAMN,CAAO,EAAGoB,CAAC,EAAG,CAAE,UAAW,EAAM,CAAA,EAGrE,KAAA,CAAE,UAAA3E,GAAcC,IAEhB2E,EAAcxD,EAAS,IAAA,OAAM,OAAAC,EAAAyC,EAAK,QAAL,YAAAzC,EAAY,YAAW,EAEpD,CAAE,YAAAwD,GAAgB1E,IACZ0E,IAEN,KAAA,CAAE,SAAAC,GAAaC,KACZ,OAAAD,s1HCtET,MAAME,EAAQC,KAERC,EAAY9D,EAAS,IAAM4D,EAAM,OAAO,IAAc,EACtDzB,EAAUnC,EAAS,IAAM,aAAa8D,EAAU,KAAK,EAAE,EAEvD,CAAE,MAAAC,EAAO,WAAAC,CAAW,GAAI,CAAA1B,EAAAC,CAAA,EAAAC,EAAA,IAAMjE,GAA6DkE,EAAMN,CAAO,CAAC,CAAA,mBACzG,CAAE,KAAAO,EAAM,OAAAuB,EAAQ,MAAAtB,CAAA,GAAU,CAAAL,EAAAC,CAAA,EAAAC,EAAA,SAAMI,GAAaH,EAAMN,CAAO,EAAG,SAAY,CAC7E,GAAI4B,EACK,OAAAA,EAGT,MAAMG,EAAW,MAAMC,GAAqBL,EAAU,KAAK,EAC3D,OAAAE,EAAWE,CAAQ,EACZA,CAAA,EACN,CACD,cAAe,CAAC1F,EAAK2E,IAAyDA,EAAK,QAAQ,KAAK3E,CAAG,GAAK2E,EAAK,OAAO,KAAK3E,CAAG,EAC5H,KAAM,EAAY,CACnB,CAAA,mBACD4E,EAAST,EAAO,IAAM,CAEpB,MAAMU,GAAY,CAAE,WAAY,IAAK,cAAe,GAAGZ,EAAMN,CAAO,CAAC,kBAAmB,KAAM,CAAE,KAAM2B,EAAU,OAAS,MAAO,GAAM,CAAA,EACrI,CAAE,UAAW,EAAA,CAAM,EAEjBR,MACHF,EAASV,EAAMa,GAAKjC,GAAU,IAAImB,EAAMN,CAAO,EAAGoB,CAAC,EAAG,CAAE,UAAW,EAAM,CAAA,EAGrE,KAAA,CAAE,YAAAhE,GAAgBV,IAElB,CAAE,YAAA4E,GAAgB1E,IACZ0E,IAEN,KAAA,CAAE,cAAAW,GAAkBT,KAC1B,OAAAS,EAAcN,EAAWpB,CAAI,EAEf2B","x_google_ignoreList":[0,1]}