{"version":3,"sources":["webpack:///./.nuxt/utils.js","webpack:///./constants/base/index.ts","webpack:///./common/app.ts","webpack:///./common/radar.ts","webpack:///./.nuxt/router.scrollBehavior.js","webpack:///./.nuxt/router.js","webpack:///./.nuxt/components/nuxt-child.js","webpack:///./common/layout-common.ts","webpack:///./layouts/error.vue?b0a9","webpack:///./layouts/error.vue?8414","webpack:///./layouts/error.vue?1719","webpack:///./layouts/error.vue","webpack:///./.nuxt/components/nuxt.js","webpack:///./.nuxt/components/nuxt-loading.vue?2c81","webpack:///.nuxt/components/nuxt-loading.vue","webpack:///./.nuxt/components/nuxt-loading.vue","webpack:///./layouts/app.vue?8713","webpack:///./layouts/app.vue?3d4e","webpack:///./layouts/app.vue?68dc","webpack:///./layouts/app.vue","webpack:///./common/client_redirect.js","webpack:///./common/ids-mapping-sys.ts","webpack:///./common/web-push.ts","webpack:///./common/indexed-db.ts","webpack:///./layouts/default.vue?e765","webpack:///./hooks/useAiBotAutomaticMessage.ts","webpack:///./layouts/default.vue?2966","webpack:///./layouts/default.vue?e368","webpack:///./layouts/default.vue","webpack:///./layouts/e-commerce.vue?c6d7","webpack:///./layouts/e-commerce.vue?6a73","webpack:///./layouts/e-commerce.vue?ac37","webpack:///./layouts/e-commerce.vue","webpack:///./layouts/empty.vue?ece0","webpack:///./layouts/empty.vue?6c55","webpack:///./layouts/empty.vue?c6a3","webpack:///./layouts/empty.vue","webpack:///./.nuxt/App.js","webpack:///./.nuxt/store.js","webpack:///./.nuxt/nuxt-i18n/options.js","webpack:///./.nuxt/nuxt-i18n/utils-common.js","webpack:///./.nuxt/nuxt-i18n/plugin.utils.js","webpack:///./.nuxt/nuxt-i18n/middleware.js","webpack:///./.nuxt/nuxt-i18n/plugin.routing.js","webpack:///./.nuxt/nuxt-i18n/head-meta.js","webpack:///./.nuxt/nuxt-i18n/plugin.main.js","webpack:///./.nuxt/pwa/meta.utils.js","webpack:///./.nuxt/pwa/meta.plugin.js","webpack:///./.nuxt/axios.js","webpack:///./plugins/axios.js","webpack:///./plugins/context.ts","webpack:///./plugins/bus.js","webpack:///./plugins/lazy.js","webpack:///./plugins/vant.js","webpack:///./plugins/directives/log/listener.ts","webpack:///./plugins/directives/log/show.ts","webpack:///./plugins/directives/log/index.ts","webpack:///./plugins/directives/index.ts","webpack:///./plugins/log.js","webpack:///./plugins/video-player/index.vue","webpack:///./components/plc-info/index.vue?16bf","webpack:///./components/plc-info/index.vue?2b2a","webpack:///./components/plc-info/index.vue?4e86","webpack:///./components/plc-info/index.vue","webpack:///./common/videoPlcPlugin.ts","webpack:///./plugins/video-player/index.vue?ad7c","webpack:///./plugins/video-player/index.vue?c458","webpack:///./plugins/video-player/index.vue?5445","webpack:///./plugins/kwai-player-web.js","webpack:///./plugins/yoda.js","webpack:///./plugins/router.js","webpack:///./plugins/env.js","webpack:///./plugins/getSchema.js","webpack:///./plugins/gtag.js","webpack:///./.nuxt/index.js","webpack:///./common/utils.ts","webpack:///./common/seo.ts","webpack:///./pages/aichat/hooks/useAppEnvironment.ts","webpack:///./common/device-info.ts","webpack:///./pages/aichat/scripts/ai-im/services/UIAIConversationService.ts","webpack:///./common/env.ts","webpack:///./pages/aichat/scripts/ai-im/services/UIUserServies.ts","webpack:///./store/modules/ai-conversation.ts","webpack:///./hooks/useWebToApp.ts","webpack:///./pages/aichat/scripts/ai-im/utils/aiTools.ts","webpack:///./store/modules/ab-test.ts","webpack:///./api/ai-feed.ts","webpack:///./pages/aichat/scripts/logger.ts","webpack:///./hooks/useTelegram.ts","webpack:///./pages/aichat/scripts/ai-im/services/UIAIChatService.ts","webpack:///./common/pwa.ts","webpack:///./.nuxt/middleware.js","webpack:///./common/bridge.ts","webpack:///./api/user.ts","webpack:///./pages/aichat/components/ai-actions-bar/scripts/ai_common.ts","webpack:///./pages/aichat/scripts/ai-im/stores/AIStoreType.ts","webpack:///./common/call-app.ts","webpack:///./common/capacitor-plugins.ts","webpack:///./components/loading/index.vue","webpack:///./components/loading/index.vue?403d","webpack:///./.nuxt/components/nuxt-link.client.js","webpack:///./store/modules/feed.ts","webpack:///./store/modules/ai-create.ts","webpack:///./store/modules/ai-discover.ts","webpack:///./utils/constants.js","webpack:///./store/modules/user.ts","webpack:///./store/modules/schema.ts","webpack:///./store/modules/popup.ts","webpack:///./store/modules/kconf.ts","webpack:///./store/modules/ai-chat-guide.ts","webpack:///./.nuxt/workbox.js","webpack:///./api/base.ts","webpack:///./api/ai-chat.ts","webpack:///./common/login.ts","webpack:///./common/storage.ts","webpack:///./api/system.ts","webpack:///./common/ids-utils.ts","webpack:///./layouts/error.vue?a4d3","webpack:///./.nuxt/components/nuxt-loading.vue?54a4","webpack:///./components/loading/index.vue?cf3a","webpack:///./pages/aichat/components/ai-top-tabs/index.vue?fa0f","webpack:///./pages/aichat/components/ai-tabbar/index.vue?7042","webpack:///./layouts/app.vue?772f","webpack:///./layouts/default.vue?75ba","webpack:///./layouts/default.vue?6335","webpack:///./layouts/e-commerce.vue?10c6","webpack:///./layouts/empty.vue?c602","webpack:///./components/plc-info/index.vue?2783","webpack:///./plugins/video-player/index.vue?1c7f","webpack:///./pages/aichat/images/pwa_like.png","webpack:///./pages/aichat/images/liked.png","webpack:///./pages/aichat/images/pwa_share.png","webpack:///./pages/aichat/images/ai_chat_mode.png","webpack:///./pages/aichat/images/ai_history_mode.png","webpack:///./pages/aichat/images/ai-bot-report-icon.png","webpack:///./pages/aichat/images/extra-action-icon.png","webpack:///./pages/aichat/images/tab-chat-inactive.png","webpack:///./pages/aichat/images/tab-chat-active.png","webpack:///./pages/aichat/images/tab-discover-inactive.png","webpack:///./pages/aichat/images/tab-discover-active.png","webpack:///./pages/aichat/images/tab-create-inactive.png","webpack:///./pages/aichat/images/tab-create-active.png","webpack:///./pages/aichat/images/tab-inbox-inactive.png","webpack:///./pages/aichat/images/tab-inbox-active.png","webpack:///./pages/aichat/images/tab-profile-inactive.png","webpack:///./pages/aichat/images/tab-profile-active.png","webpack:///./pages/aichat/scripts/ai-im/models/UIAIConversationModel.ts","webpack:///./pages/aichat/scripts/ai-im/stores/AIConversationStore.ts","webpack:///./pages/aichat/scripts/ai-im/stores/AIChatStore.ts","webpack:///./pages/aichat/scripts/ai-im/stores/AIUserStore.ts","webpack:///./pages/aichat/scripts/ai-im/models/UIAIMessageModel.ts","webpack:///./pages/aichat/scripts/ai-im/models/AIModel.ts","webpack:///./pages/aichat/scripts/ai-im/models/UIAIUserModel.ts","webpack:///./.nuxt/mixins/fetch.client.js","webpack:///./pages/aichat/components/ai-top-tabs/index.vue","webpack:///./pages/aichat/components/ai-top-tabs/index.vue?0db2","webpack:///./pages/aichat/components/ai-top-tabs/index.vue?1d2e","webpack:///./pages/aichat/components/ai-top-tabs/index.vue?6339","webpack:///./pages/aichat/components/ai-tabbar/index.vue","webpack:///./pages/aichat/components/ai-tabbar/index.vue?4c03","webpack:///./pages/aichat/components/ai-tabbar/index.vue?074c","webpack:///./pages/aichat/components/ai-tabbar/index.vue?3a29","webpack:///./.nuxt/client.js","webpack:///./store/modules/ai-feed.ts","webpack:///./middleware/web-redirect.js","webpack:///./pages/aichat/scripts/ai-im/stores/UIAIStore.ts","webpack:///./pages/aichat/scripts/ai-im/utils/index.ts","webpack:///./layouts/error.vue?93d6","webpack:///./layouts/error.vue?176e","webpack:///./.nuxt/components/nuxt-loading.vue?9a1b","webpack:///./.nuxt/components/nuxt-loading.vue?334b","webpack:///./assets/reset.styl?b696","webpack:///./assets/reset.styl","webpack:///./assets/mixins.styl?a1dc","webpack:///./assets/mixins.styl","webpack:///./components/loading/index.vue?564d","webpack:///./components/loading/index.vue?06f0","webpack:///./pages/aichat/components/ai-top-tabs/index.vue?ebee","webpack:///./pages/aichat/components/ai-top-tabs/index.vue?bc3d","webpack:///./pages/aichat/components/ai-tabbar/index.vue?eb6a","webpack:///./pages/aichat/components/ai-tabbar/index.vue?4050","webpack:///./layouts/app.vue?3e3b","webpack:///./layouts/app.vue?5a48","webpack:///./layouts/default.vue?5793","webpack:///./layouts/default.vue?b6f5","webpack:///./layouts/default.vue?436e","webpack:///./layouts/default.vue?ced1","webpack:///./layouts/e-commerce.vue?8031","webpack:///./layouts/e-commerce.vue?fc79","webpack:///./layouts/empty.vue?ef19","webpack:///./layouts/empty.vue?293f","webpack:///./components/plc-info/index.vue?fe04","webpack:///./components/plc-info/index.vue?fb8a","webpack:///./plugins/video-player/index.vue?b477","webpack:///./plugins/video-player/index.vue?6a98","webpack:///./api/kconf.ts","webpack:///./store/index.ts","webpack:///./common/common-params.ts","webpack:///./common/backup-api-controller.ts","webpack:///./api/request.ts"],"names":["globalHandleError","error","Vue","config","errorHandler","interopDefault","promise","then","m","default","hasFetch","vm","$options","fetch","length","getChildrenComponentInstancesUsingFetch","_step","instances","arguments","undefined","_iterator","_createForOfIteratorHelper","$children","s","n","done","child","value","$fetch","push","err","e","f","applyAsyncData","Component","asyncData","options","__hasNuxtData","ComponentData","_originDataFn","data","call","this","$ssrContext","cid","_objectSpread","_Ctor","sanitizeComponent","extendOptions","extend","name","__file","getMatchedComponents","route","matches","prop","Array","prototype","concat","apply","matched","map","index","Object","keys","key","getMatchedComponentsInstances","flatMapComponents","fn","components","reduce","promises","resolveRouteComponents","Promise","all","_ref5","_asyncToGenerator","regeneratorRuntime","mark","_callee","instance","match","timeNow","previousReloadTime","wrap","_context","prev","next","sent","t0","window","sessionStorage","Date","now","parseInt","getItem","setItem","location","reload","abrupt","stop","_x","_x2","_x3","_x4","getRouteData","_x5","_getRouteData","_callee2","_context2","meta","setContext","_x6","_x7","_setContext","_callee3","app","context","_yield$Promise$all","_yield$Promise$all2","currentRouteData","fromRouteData","_context3","isStatic","process","isDev","isHMR","store","payload","base","router","env","req","res","ssrContext","redirect","status","path","query","_redirected","pathType","_typeof","resolve","fullPath","test","withQuery","assign","Error","nuxtState","__NUXT__","from","_slicedToArray","_errored","params","middlewareSeries","appContext","promisify","slice","getLocation","mode","hash","replace","decodeURI","pathname","startsWith","search","normalizeURL","compile","str","tokens","i","RegExp","pattern","flags","obj","opts","encode","pretty","encodeURIComponentPretty","encodeURIComponent","token","segment","optional","partial","prefix","TypeError","isArray","repeat","JSON","stringify","j","delimiter","asterisk","encodeAsterisk","tokensToFunction","defaultDelimiter","PATH_REGEXP","exec","escaped","offset","capture","group","modifier","Boolean","escapeGroup","escapeString","substr","parse","getQueryDiff","toQuery","fromQuery","diff","queries","k","String","normalizeError","message","constructor","statusCode","response","onNuxtReadyCbs","onNuxtReady","cb","join","slashAllowed","re","encodeURI","c","charCodeAt","toString","toUpperCase","sensitive","addLifecycleHook","hook","includes","urlJoin","joinURL","isSamePath","withoutTrailingSlash","_isSamePath","setScrollRestoration","newVal","history","scrollRestoration","MobilePageSource","MobilePageCode","ComponentNameMap","VideoDetail","Foryou","DiscoverSearch","AIForyou","AIChatRoom","AIChatDiscover","AIChatInbox","AIChatHistory","AIChatCreate","AIChatCreateVoice","AIChatMoreVoice","AIChatProfile","MobilePageSourceCodeMap","_MobilePageSourceCode","_defineProperty","PwaForyou","SharePwaPageH5","PwaVideoDetail","PwaDetailPage","PwaDiscoverCategoryCard","SeoResearchResultPage","PwaDiscoverUserVideo","PwaVideoDetailShare","PwaDetailPageShare","PwaDiscoverSearch","PWAAIForyou","SharePwaAIPageH5","PWAAIInbox","PWAAChatRoom","PWAAChatDiscover","PWAAChatCardGuide","PWAAChatHistoryTab","FirebaseConfig","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","PWAKConfKey","AppPkgName","checkIfAppEnvironment","proxy","getCurrentInstance","$isAppEnvironment","checkIfBomdiaApp","_a","$appConfig","pkg","BOMDIA_APP","checkIfAiChatApp","AI_CHAT_APP","LogType","kpn","cookies","get","VUE_APP_LOG_TYPE","isProduction","isTest","logConfig","retries","autoPV","fps","logger","radar","sampling","lcp","cls","fid","fcp","baseOptions","product_name","package_name","kwailog","getKwaiLog","getQuery","pwa_source","plugins","RiskMgt","bussType","taskType","subTaskType","host","switchAsync","KwaiLog","weblog","reportFMP","timeStamp","webLogger","_c","_b","fmp","_d","logCollect","immediate","type","deviceId","shareId","share_id","clickIndex","nextIndex","click_index","bid_id","queryString","logParams","info","eventId","urlPage","pvType","page","action","generateLogParams","logType","sendImmediately","collect","sendLog","immediateSendLog","radarLog","duration","event_count","setDimensions","c_dimension1","event","addEventListener","_6a56820f","_4a33092c","_828fe99a","_2e8b9489","_b78fbad6","_34af4374","_104571ab","_1de6e1c9","_082e0a8f","_5737cff4","_431f5f88","_329a3791","_119a81c3","_3eb901cd","_a5c3988c","_29afe2c7","_31508c2b","_0efb41ec","_e5817aa6","_79471664","emptyFn","use","Router","routerOptions","linkActiveClass","linkExactActiveClass","scrollBehavior","to","savedPosition","position","isRouteChanged","Pages","_Pages$0$options","scrollToTop","some","_ref","shouldScrollToTop","x","y","nuxt","$nuxt","$nextTick","$emit","$once","CSS","escape","el","document","querySelector","_getComputedStyle$scr","selector","Number","getComputedStyle","routes","component","fallback","createRouter","_app","basePath","originalPush","onComplete","onAbort","bind","current","append","functional","props","nuxtChildKey","keepAlive","keepAliveProps","render","_","parent","h","$createElement","nuxtChild","_parent","transitions","defaultTransition","depth","$vnode","$parent","nuxtChildDepth","transition","transitionProps","transitionsKeys","forEach","listeners","listenersKeys","beforeEnter","css","leave","routerView","on","launchApp","isTMA","launchAppInTgByOnelink","callAppPath","targetUrlExtraParams","targetUrl","getTargetUrlFromWebOrDesktop","oneLinkUrl","getOneLinkUrl","queryStr","entries","_ref2","val","href","getOneLinkUrlNew","callApp","onelink","getTgTargetUrl","getTgOneLinkUrl","decodedOneLink","decodeURIComponent","openLink","useTelegram","initDeviceFingerprint","script","createElement","innerHTML","body","appendChild","injectTabStrategyToAppIfNeeded","_ref3","_ref4","startupData","appVersion","$store","state","startup","dynamicTabsConfig","compareVersion","PwaBridge","setWebConfig","layout","head","computed","openKwaiText","$root","$t","$appName","mounted","event_type","category","isTiny","src","methods","handleConfirm","_vm","_self","staticClass","_v","_s","$event","NuxtChild","NuxtError","errorCaptured","displayingNuxtError","errorFromNuxtError","$forceUpdate","routerViewKey","$route","matchedRoute","beforeCreate","util","defineReactive","_this","$props","percent","show","canSucceed","reversed","skipTimerCount","rtl","throttle","continuous","left","beforeDestroy","clear","clearInterval","_timer","clearTimeout","_throttle","_hide","start","setTimeout","startTimer","set","num","Math","min","max","floor","increase","decrease","pause","resume","finish","hide","_this2","fail","_this3","_cut","setInterval","class","style","width","LightThemePageList","defineComponent","Loading","TopTabs","AITTabBar","setup","loading","ref","bgColor","setLoading","isLoading","showTopTabs","currentPath","useAppEnvironment","isIOS","conversationModuleInitialized","conversationModule","showTabbar","onMounted","_e","_f","_g","_h","_j","genWebDidAndSessionId","commit","bucket","$bus","onUnmounted","off","_setupProxy","backgroundColor","attrs","exclude","filmRedirect","retry","_window$location$href","reg","url","ignoreHost","webDid","parsedAppDeviceId","ckid","redirectAB","containSource","pwaSource","webRedircctArr","redirectUrl","_redirectUrl$searchPa","_redirectUrl$searchPa2","_redirectUrl$searchPa3","_redirectUrl$searchPa4","redirectUrlStr","nodeIsAppEnvironment","origin","getNotExecuteRedirectQuey","isFilmHost","checkWebDidCollect","getDeviceIDByWebDid","getCkid","getPwaSource","split","URL","searchParams","has","delete","reportChangeDidLog","ids_mapping","buildIDsSystem","idsMappingStr","parsedIdsMapping","did_change_time","did","time","web_did","changeDidWithDeviceID","getTime","expires","PushPublicKey","DBPermission","PWAIndexedDBController","_createClass","_classCallCheck","dbMap","_getDbByName","dbName","storeName","db","openDB","upgrade","upgradeDb","oldVersion","createObjectStore","_dbSet","storeKey","tx","getDbByName","transaction","objectStore","put","_dbGet","tokenDetails","_dbClose","_callee4","_context4","close","DBControllerInstance","OpenStatus","firebaseApp","initializeApp","IconMap","PushIcon","SharePopupTopIcon","KwaiIcon","SnackIcon","PopupType","FooterNav","defineAsyncComponent","AppReferralPromptPopup","ActionOpenPwa","LiteSharePopup","ctx","UserApi","UserApiService","showBtn","_device$isIOS","device","startTime","popupState","reactive","isFirstOpen","showOpenPwaBtn","visible","showFooter","_useWebToApp","useWebToApp","webToAppPopupVisible","handleWebToAppPopupConfirm","handleWebToAppPopupClose","checkIfInstalled","installPwa","isPwaSupported","checkSnack","isSnack","AIfriend","lang","$i18n","locale","isAIchat","appName","reportToken","_ref4$token","_ref4$extraParams","extraParams","_ref4$pushSubscriptio","pushSubscription","push_token","subscription","endpoint","timestamp","domain","ua","navigator","userAgent","kwai_id","userModule","userInfo","user","user_id_str","session_id","countryInfo","extra_params","extra_info","reportFirebaseToken","sendNotificationPermissionLog","tryUpdateSW","_ref6","registration","update","registerSW","_ref7","swPath","serviceWorker","register","registerPushMessaging","_ref8","_callee5","isSupport","hasOpened","registerFirebaseSW","firebaseDBData","_ref9","newSwRegistration","subscriptionInfo","_context5","isSupported","Notification","permission","scope","getMessaging","dbGet","subscriptionOptions","vapidKey","deleteToken","getToken","serviceWorkerRegistration","swRegistration","pushManager","getSubscription","toJSON","expirationTime","auth","p256dh","app_name","Opening","Closing","changeShow","isShow","openWithPwaDiadog","pwaGlobalClick","open_guide_seconds","abTestModule","abTestParams","installPwaFun","pwaStatusLog","pwaStatus","OpenPageStatus","noPwaInWeb","hasPwaInWeb","pwa","pwaExp","isContinue","continueMap","first","checkPopupConditions","URLSearchParams","app_package_name","lastPopupTime","SafetyLocalStorage","currentTime","onappinstalledCb","openPwaafterInstall","getUserInfo","_ref13","_callee6","_context6","result","reportCustomMetrics","reportMetrics","metric","delta","reportOptions","reportAllChanges","onFCP","onLCP","onTTFB","onCLS","onINP","onFID","_callee7","_k","_l","_m","_o","_p","_q","_r","_w","_y","_ref15","if_open_guide_to_desktop","_context7","install_pwa_no_limit","install_pwa_touch","onappinstalled","redirectDuration","removeEventListener","timer","clearTimer","fetchAiBotAutomaticMessage","botList","AIChatApi","getBotAutomaticChat","greetingList","botId","botMessage","gt","messageId","generateUUID","AIMessageType","other","messageReadStatus","AIMessageReadStatus","Unread","messageStatus","AIMessageStatus","requestPolling","isAppEnv","a_chat_tab_entry","onBeforeUnmount","useAiBotAutomaticMessage","handleCancel","$host","languagemap","localeCodes","rel","hreflang","link","_toConsumableArray","layouts","_1a3ae26b","_6f6c098b","_72119fb9","_77430317","loadingEl","layoutEl","templateEl","domProps","id","layoutName","transitionEl","isOnline","nbFetching","created","refreshOnlineStatus","$loading","$refs","watch","isOffline","isFetching","onLine","refresh","pages","p","newData","$data","componentInstance","errorChanged","errorLayout","setLayout","loadLayout","NuxtLoading","Vuex","VUEX_PROPERTIES","moduleData","filePath","normalizeModule","normalizeRoot","require","modules","resolveStoreModules","createStore","Function","Store","strict","filename","namespaces","moduleName","normalizeState","property","mergeProperty","getStoreModule","isProperty","pop","storeModule","_i","_VUEX_PROPERTIES","namespaced","_ref$isProperty","namespace","shift","Constants","COMPONENT_OPTIONS_KEY","STRATEGIES","REDIRECT_ON_OPTIONS","nuxtOptions","isUniversalMode","trailingSlash","vueI18n","vueI18nLoader","locales","defaultLocale","defaultDirection","routesNameSeparator","defaultLocaleRouteNameSuffix","sortRoutes","strategy","lazy","langDir","rootRedirect","detectBrowserLanguage","differentDomains","baseUrl","vuex","parsePages","skipSettingLocaleOnNavigate","onBeforeLanguageSwitch","onLanguageSwitched","normalizedLocales","localeMessages","locale9ec66352","localeae97e51a","locale8db5ed1c","locale38517862","locale73254525","locale057ad21c","matchBrowserLocale","appLocales","browserLocales","matchedLocales","normalizedAppLocales","appLocale","code","iso","_step2","_iterator2","_loop","_step2$value","browserCode","matchedLocale","find","toLowerCase","score","_step3","_iterator3","_loop2","_step3$value","languageCode","sort","localeA","localeB","getLocaleDomain","matchingLocale","l","getLocalesRegex","createLocaleFromRouteGetter","localesPattern","defaultSuffixPattern","regexpName","regexpPath","getLocaleCookie","localeCode","useCookie","cookieKey","JsCookie","setLocaleCookie","cookieDomain","cookieSecure","cookieCrossOrigin","date","cookieOptions","setDate","getDate","sameSite","secure","loadLanguageAsync","_loadLanguageAsync","i18n","localeObject","file","messages","getter","loadedLanguages","__i18n","langs","t1","setLocaleMessage","resolveBaseUrl","getDomainFromLocale","protocol","hasProtocol","registerStore","syncRouteParams","routeParams","actions","setRouteParams","mutations","getters","localeRouteParams","registerModule","preserveState","i18nMiddleware","_yield$app$i18n$__onN","_yield$app$i18n$__onN2","redirectPath","preserveQuery","__onNavigate","nuxtMiddleware","nuxti18n","localePath","localizedRoute","resolveRoute","redirectedFrom","localeRoute","resolved","localeLocation","resolvedRoute","resolvedRouteName","getRouteBaseName","getLocaleRouteName","PREFIX_EXCEPT_DEFAULT","PREFIX_AND_DEFAULT","NO_PREFIX","withTrailingSlash","pathMatch","switchLocalePath","routeCopy","_objectWithoutProperties","_excluded","langSwitchParams","baseRoute","getDomainOptions","givenRoute","routeName","VueInstanceProxy","targetFunction","$router","NuxtContextProxy","plugin","install","mixin","nuxtI18nHead","_ref$addDirAttribute","addDirAttribute","_ref$addSeoAttributes","addSeoAttributes","metaObject","htmlAttrs","currentLocale","localeProperties","currentLocaleIso","currentLocaleDir","dir","VueMeta","hasMetaInfo","_hasMetaInfo","localeMap","Map","localeIso","mapLocale","hid","toAbsoluteUrl","addHreflangLinks","__baseUrl","currentRoute","canonicalPath","addCanonicalLinks","hasCurrentLocaleAndIso","content","hypenToUnderscore","addCurrentOgLocale","localesWithoutCurrent","filter","alternateLocales","addAlternateOgLocales","urlOrPath","VueI18n","devalue","_options$detectBrowse","alwaysRedirect","fallbackLocale","redirectOn","loadAndSetLocale","getLocaleFromRoute","getRedirectPathForLocale","onNavigate","finalizePendingLocaleChange","waitForPendingLocaleChange","getBrowserLocale","doDetectBrowserLanguage","extendVueI18nInstance","vueI18nOptions","_step$value","optionsLocale","resolveBaseUrlOptions","finalLocale","domainLocale","routeLocale","_yield$onNavigate","_yield$onNavigate2","redirectTo","skipNuxtState","beforeNuxtRender","_app$i18n","_getMessages","_unused","newLocale","_ref4$initialSetup","initialSetup","oldLocale","localeOverride","i18nFallbackLocale","localesToLoadPromises","newLocaleProperties","_Object$keys","_i2","_Object$entries","_Object$entries$_i","_key","_args","fbLocale","klona","__redirect","ALL","storedRedirect","__pendingLocale","__pendingLocalePromise","__resolvePendingLocalePromise","setLocale","languages","headers","tag","ROOT","observable","componentInstanceCreatedListener","localeDomains","$nuxtI18nHead","hasMeta","arr","item","attr","mergeMeta","axiosExtra","setBaseURL","baseURL","defaults","setHeader","scopes","setToken","onRequest","interceptors","request","onResponse","onRequestError","reject","onResponseError","onError","create","createAxiosInstance","defu","method","_arr","axiosOptions","axios","Axios","CancelToken","isCancel","extendAxiosInstance","common","setupCredentialsInterceptor","setupProgress","withCredentials","indexOf","noopLoading","currentRequests","progress","onProgress","total","loaded","onUploadProgress","onDownloadProgress","inject","runtimeConfig","$config","browserBaseURL","browserBaseUrl","$axios","_config$url","$$get","_len","args","_e$response","error_msg","$$post","_len2","_key2","_e$response2","_args2","post","getPlatform","platform","getAppConfigFromCookie","isWeeeye","appConfig","isAppEnvironment","pwaLayout","appver","globalThis","__PWA_NUXT_CTX__","$languageCode","bus","$on","$off","emit","once","VueLazyload","preLoad","attempt","ActionSheet","Dialog","Toast","Search","Skeleton","Field","Tab","Tabs","Tabbar","TabbarItem","Listener","isDone","io","createIntersectionObserver","disconnect","IntersectionObserver","isIntersecting","do","destroy","threshold","observe","Show","throttleTime","primaryKey","listenerQueue","curItem","newListener","oldValue","curItemIndex","splice","ShowClass","clickLog","bindTypeMap","pv","add","click","onclick","updateTypeMap","unbindTypeMap","remove","unbind","directive","log","directives","icon","desc","showPlc","handlePlcClick","open","PlcPlugin","_PluginModule","vueComponent","canplay","onCanplay","hidePlc","_inherits","label","player","_player","container","createSubContainer","PlcInfo","bottom","KwaiPlayerEvent","CANPLAY","PLAY","PAUSE","_options","PluginModule","KwaiPlayer","uuid","KwaiPlayerVue2","preload","loop","playsinline","poster","autoplay","muted","volume","refKey","photoId","showInfoPanel","bizData","controls","videoRef","enterTime","leaveTime","canPlay","shouldPlay","hasResume","pauseStart","pauseDuartion","playSrc","pluginsOption","LoggerPlugin","logUrl","productName","forceSendBeacon","PlayInfoPlugin","bizDataAndUserId","pageSource","userId","user_id","uid","device_id","page_code","photo_id","onLeave","sendVideoStatLog","videoStatus","getAudienceStat","creation_time","stream_duration","metadata_time","playing_start_time","retryPlay","video","play","onEnter","onClick","onWaiting","onPlay","onPlaying","onEnded","onPause","onLoadStart","onDurationChange","onLoadedMetaData","onLoadedData","onCanPlay","onCanPlayThrough","getPaused","abortRequest","assignRequest","getDuration","getCurrentTime","setCurrentTime","nativeOn","VideoPlayer","$yoda","yoda","parseIkwaiProtocol","ikwaiString","oldKwaiStringVersion","vStr1","vStr2","v1","v2","len","num1","num2","uriString","uri","_noIkwaiStr$split$","isInTinyForyou","noIkwaiStr","_noIkwaiStr$split$2","_noIkwaiStr2$split$","_noIkwaiStr3$split$","CommonPlugin","routerPlugin","beforeEach","_window","_window$location","openWebview","getRuntimeEnv","$pwaLayout","$getRuntimeEnv","getSchema","compName","_this$$getRuntimeEnv","_this$$store","_this$$store$state","_this$$store$state$sc","_this$$store$state$sc2","_this$$store$state$sc3","schemaModule","currentSchema","$getSchema","getTagId","VueGtag","send_page_view","ClientOnly","NoSsr","_warned","Nuxt","defineProperty","globalNuxt","configurable","Meta","originalRegisterModule","rawModule","namespacedState","createApp","_createApp","installKey","hasOwnProperty","setTransitions","dateErr","App","beforeRenderFns","beforeSerializeFns","replaceState","nuxt_plugin_pluginrouting_2bdc7f44","nuxt_plugin_pluginmain_e15f905e","nuxt_plugin_workbox_42d38a84","nuxt_plugin_metaplugin_4f67e4d2","nuxt_plugin_axios_3bcd6130","nuxt_plugin_axios_397e53b5","nuxt_plugin_context_fd0a6fdc","nuxt_plugin_router_aacea2cc","nuxt_plugin_env_29405cde","nuxt_plugin_getSchema_77532418","_isRouter","unregister","afterEach","defaultShareId","theRequest","strs","unescape","getVideoClipType","videoWidth","videoHeight","innerWidth","innerHeight","formatUrls","toFixedWithOutRounding","formateNum","fixedNumber","roundingNum","reserveNum","toFixedNumber","toFixed","isPwa","displayMode","matchMedia","genCheckPwaParams","fullscreen","standalone","getTargetUrl","uId","pstrId","genFirstReferrer","_getReferrers","getReferrers","referrer","fReferrer","isPwaOpen","savehref","hrefURL","tgHref","uuidv4","sessionId","_getQuery4","getKpn","af_sub1","shareInfo","target_url","oneLink","deep_link_value","_getQuery5","_getQuery6","getUrlKwaiId","uerName","commonPvParams","defaultPageSource","_genWebDidAndSessionI","_getQuery7","page_source","bundle_id","click_id","traffic_from","bidid","connection","_getReferrers2","_getAppInfo","share_chain","pwa_install_source","open_mode","check_pwa_params","network_type","mozConnection","webkitConnection","effectiveType","anther_id","extra_source","is_kwai_tiny","is_telegram","checkSeoReferrer","toLocaleLowerCase","checkTMAReferrer","objectToCookieString","getStatusHT","statusht_value","getiOSVersion","iosVersionMatch","copyToClipboard","tempInput","select","execCommand","removeChild","replaceRoutePhotoId","_replaceRoutePhotoId","replacePhotoId","pathArr","lastIdx","pathPhotoId","currentFeedPhotoId","feedMoudle","currentFeed","photo_id_str","newPath","parseJsonSatefy","header","that","appInfo","KwaiAppInfo","title","appIcon","packageName","SnackAppInfo","$isSnack","$isWeeeye","_appInfo","defaultTdkInfo","scriptArr","seoData","pc","$platform","$isRtl","metaInfoData","extractTitleFromMetaInfo","titleItem","t","getDefaultTitle","PackageName","isIOS_CSR","isBomdiaApp","isAiChatApp","AI_CHAT_APP_IOS","isKwaiApp","isKwaiAppCSR","statusHT","isAndroid","AIConversationService","conversationStore","_addConversation","participants","updatedAt","attachment","conversationId","conversation","_createC2CConversationId","AIConversationModelImpl","addConversation","_switchConversation","getConversationById","currentConversationId","getConversations","_updateLastMessage","lastMessage","updateConversation","_x8","_x9","_clearHistoryMessage","getDB","getAll","onsuccess","target","_x12","_x11","onerror","_x10","UIAIConversationService","UIAIStore","VUE_APP_ENV","AIUserService","userStore","_addUser","like","_createC2CUserId","AIUserModelImpl","addUser","getUsers","getUserById","_deleteUser","deleteUser","_updateUser","updateUser","UIAIUserService","initConversations","defaultConversations","element","aifeed","attachments","UIAIChatService","getMessageListByConversationId","a","b","bot_id_str","aichat","bot","cached","defaultLikeUsers","defaultState","conversations","loadingMessages","likesUsers","selectedMessageInfo","feedbackMessageInfoMap","reportedBotIds","isMockMessageInserted","audioPlayMessageId","hasAutomaticMessage","allBotsInfo","feedListOrigin","aiFeedMoudle","feedList","AIFeedPageEnum","roomFeedList","aiDiscoverMoudle","tabName","feedListDis","likeBots","insertMockMessage","initialize","storeMessage","aiChat","loadingMessage","messageObj","conversationID","conversationModel","feed","messageType","introducation","hi","amessage","unshift","hi_mock_message","me","getUserIdByUserName","bot_name","getConversationIdByParticipants","sendTextMessage","updateMessage","targetMessage","modifiedContent","updateMessageReadStatus","newMessageList","Read","clearMessagesByConversationId","deleteMessage","indexToDelete","updateLikeUsers","setSelectedMessageInfo","setFeedbackMessageInfo","setReportedBotIds","setAudioPlayMessageId","setHasAutomaticMessage","pageBlackList","hostWhiteList","delay","seconds","delayTime","NO_TRIGGER_POPUP_DELAY","getWebToAppPopupTriggerDelay","webToAppStrategy","daygap","atime","addapp_switch","allowedHost","dayGap","lastPopupShowTime","handleInstallPromptCallback","preventDefault","deferredPrompt","uninstallApp","prompt","userChoice","choiceResult","outcome","isServiceWorkerSupported","isManifestSupported","isBeforeInstallPromptSupported","defaultFeedListPreLoadParams","FetchFeedListDefaultCount","HoldPreVideoCount","NextFeedListMinCount","NextPreLoadVideoCount","isDropLaunchApp","setABTestParams","AIFeedLiked","AIAuthorFollowing","AIFeedSlideScene","AIFeedApiService","_getFeedList","_changeAIFeedLikedStatus","_followAction","_getDiscoverFeedList","AIFeedApi","logForBotPageShow","bot_index","country","bot_id","logForClickTopbarAction","logForClickGuideChatAction","reply","reply_index","reply_content","logForClickLikeButton","pageScene","scene","AIHistory","logForClickShareButton","logForClickReportButton","logForInputBox","input_type","click_area","logForInputBoxSwitchMode","logForInputBoxTextClick","logForInputBoxVoiceClick","logForClickAction","typeStr","AIActionType","Like","UnLike","Share","click_type","logForClickInfoPopupAction","logForClickInstallAction","logForInfoShowAction","logForBotShow","logForChatWithBot","senderContent","replierContent","inputType","responseTime","isMyself","replyType","newIndex","conversation_id","send_content","send_content_type","response_time","is_myself","reply_type","logForChatWithBotSend","logForChatWithBotResponse","logForChatWithBotFailed","sender","replier","logForTopTabsSwitchShow","tab_name","logForTopTabsSwitchClick","logForTopBarInboxBtnClick","logForTopBarGenderSelectBtnClick","logForTopBarUGCEntranceBtnClick","TonConnectUI_","tgInviteLink","initTg","onloaded","tgScript","Telegram","ready","onload","tgNetworkHelper","tgWebAppStartup","_useTelegram3","_yield$proxy$$axios$$","telegramUid","errorMsg","telegramGroupInviteLink","tgPraiseAmountList","dispatch","createTgWalletOrder","amount","_useTelegram4","openTelegramLink","bodyData","_yield$proxy$$axios$$2","Accept","currencyCode","autoConversionCurrency","externalId","timeoutSeconds","description","customData","customerTelegramUserId","directPayLink","tonapiExchangeUSDToTon","usd","_yield$proxy$$axios$$3","rates","USD","prices","TON","parseFloat","createTgInvoiceLink","_useTelegram5","_yield$proxy$$axios$$4","currency","webApp","WebApp","webView","WebView","initDataUnsafe","initParams","userStr","expand","enableClosingConfirmation","try_instant_view","openGroup","tonConnectUI","_yield$import","TonConnectUI","manifestUrl","uiOptions","actionsConfiguration","twaReturnUrl","AIChatService","chatStore","_sendTextMessage","senderId","_createC2CMessageId","_sendMessage","TEXT","getMessageById","_clearMessagesByConversationId","_sendMessage2","AIMessageModelImpl","addMessage","updateLastMessage","noLimit","dayjs","format","pwaDataStr","openPwa","pwaData","limit","isLimit","install_reason","is_success","catch","middleware","CommonBridgeResultCode","Bridge","bridgeName","invoke","_openWebview","invokeBridge","_closeWebview","closeWeb","_saveMediaToAlbum","_openWhatsAppStatusSaver","_setWebConfig","_openPrivatePrivacyPage","_res","Capacitor","isNativePlatform","commonPlugin","openPrivatePrivacyPage","axiosInstance","_getUserInfo","_reportFirebaseToken","_getFeedAlbum","_getPWAProfileFeed","_getPWAProfileInfo","AIActionLogNameMap","ChatMode","HistroyMode","Report","ExtraActionList","AIIconMap","PWALikeIcon","PWALikedIcon","PWAShareIcon","AiChatModeIcon","AiHistoryModeIcon","AiBotReportIcon","AiExtraActionIcon","AIStoreType","option","shareBucket","_option$protocol","param","_option$timeout","timeout","CallApp","scheme","appstore","queryBucket","serverBucket","autoLaunchAppWarp","tagA","setAttribute","display","stopPropagation","evokeByTagA","tokenCollectedCallApp","CommonWeb","_WebPlugin","_callSuper","_install","WebPlugin","registerPlugin","web","stroke","height","strokeWidth","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","observer","intersectionRatio","__prefetch","extends","prefetch","noPrefetch","handleId","__observed","unobserve","$el","shouldPrefetch","prefetchLink","getPrefetchComponents","canPrefetch","conn","saveData","r","__prefetched","componentOrPromise","FeedPageEnum","PwaShareNew","isMuted","lastGoogleAD","hasServerFetchedData","setFeedList","newFeedOrigin","newFeedListOrigin","currentKey","setFeedListNew","insertGoogleADSenseFeed","ads_open","pwa_share_origin","ads_load","ads_start_pos","pwa_share_origin_inserted","google_ad","flat","insertLuminaADSenseFeed","ads_time_control_str","ads_time_control","skipAdAB","seo","no_pwa","lumina_ads_start_pos","lumina_ads_load","lumina_ad","insertAIChatCardToFeed","ai_chat_card_test","skipAIChatAB","ai_chat_card_test_config","ai_chat_card_start_pos","ai_chat_card_load","start_pos","ai_chat_card","resetFeedList","feedPage","_state","setMuted","setHasServerFetchedData","isFetched","setCurrentFeed","dispatchSetFeedList","rootState","ai_guide_config","gap","_ref3$video_list","video_list","_ref3$bucket","isAiGuideAbTest","newFeedList","feedListLength","newFeedListWithAiGuide","feedCurrentIndex","isInteger","videoCdn","ai_ad_guide","transcode_manifest_info","cover_first_frame_urls","main_mv_urls","cdn","AIBotGenderType","PermissionType","avatar","gender","Male","intro","greeting","Public","background","agreePP","selectedTags","pushCreatePage","aiCreateMoudle","setAvatar","setName","setGender","setIntro","setGreeting","setPermission","setBackground","setAgreePP","setSelectedTags","setClear","setPushCreatePage","AIDiscoverTabNameDefault","OC","Anime","Realistic","currentTab","existingFeeds","newFeeds","liked","setCurrentTab","setDiscoverTabs","discoverTabs","MY_NODE_ENV","exports","envPath","production","production_csr","test_csr","backup_test","backup_production","ProjectAPublicPath","isCsr","isLocal","IS_BACKUP_ENV","IS_PROJECT_A","BUSINESS_ENV","publicPath","swConfig","swFileName","swScope","serverHosts","overseaAPI","abGroup","kconfAPI","setUserInfo","allSchema","setAllSchema","setCurrentSchema","showAIInfo","installPWA","showOver18","showGenderPrefer","showAdsPopup","showSideBar","loginPopupFlag","logoutPopupFlag","popupModule","setShowAIInfo","setInstallPWA","setshowOver18","setShowGenderPrefer","setShowAdsPopup","setShowSideBar","showShowSideBar","triggerLoginPopup","triggerLogoutPopup","kConfModule","kConf","setKConf","AIChatBigCard","aiChatBigCardMoudle","_register","Workbox","workbox","$workbox","ResponseBaseResult","RequestSource","WebFeedType","PWAFromPage","PWACrawlersReferer","AIChatBeginResEventType","AIChatApiService","_createAIChat","_aiSpeechSynthesis","_aiChatTextAudio","_reportAiBots","_getBotAutomaticChat","_getTagList","_getToneList","_x13","_getMyProfileFeed","_callee8","_context8","_x14","_x15","_deleteMyBot","_callee9","_context9","_x16","_x17","_uploadAvatar","_callee10","toFormData","formData","_context10","FormData","_x18","_createBot","_callee11","_context11","_x19","_x20","_getGreeting","_callee12","_context12","_x21","_x22","KpnClient","kwai_client_id","kpnClientMap","KWAI","KWAI_BULLDOG","KWAI_ME","TOPICK","getLoginPara","getCommonParamsByKpn","isLogin","setCurrentUserHeadUrl","setLoginCookie","removeLoginCookie","headurls","removeItem","tinyLogin","authType","businessCode","tinyLogiNextStep","para","loginStatus","authToken","sid","followUrl","setRootDomain","hostname","ClassSafetyLocalStorage","_window$localStorage","localStorage","_window$localStorage2","_window$localStorage3","SystemApiService","_getDidByWebDid","_getDidByCookieId","SystemApi","deviceID","_getCkid","_yield$app$$axios$$$g","getDeviceId","getDidByCookieId","cookieId","getDidByWebDid","_getDeviceIDByWebDid","testDevideId","testRedirectab","__esModule","module","locals","_deleteConversation","deleteConversation","AIConversationStore","_EventEmitter","_initialize","loadConversationsFromDB","_loadConversationsFromDB","_addConversationToMemory","_addConversationToDB","_updateConversation","_updateconversationInMemory","_updateConversationInDB","findIndex","_updateConversationInDB2","_deleteConversationFromMemory","_deleteConversationFromDB","Conversation","Add","_addConversationToDB2","_deleteConversationFromMemory2","Delete","_deleteConversationFromDB2","storeType","callback","removeListener","EventEmitter","AIChatStore","loadMessagesFromDB","_removeExpiredMessages","_loadMessagesFromDB","_addMessage","_addMessageToMemory","_addMessageToDB","_updateMessageInDB","_deleteMessage","_deleteMessageFromMemory","_deleteMessageFromDB","_this4","_removeExpiredMessages2","expiredMessages","_this5","Chat","_addMessageToDB2","_deleteMessageFromDB2","AIUserStore","users","loadUsersFromDB","_loadUsersFromDB","_addUserToMemory","_addUserToDB","_deleteUserFromMemory","_deleteUserFromDB","_updateToMemory","_updateUserInDB","u","User","Update","_updateUserInDB2","_addUserToDB2","_deleteUserFromMemory2","_deleteUserFromDB2","createdAt","isSsrHydration","elm","dataset","fetchKey","beforeMount","_hydrated","_fetchKey","_error","$fetchState","_fetchPromise","$_fetch","_$_fetch","delayLeft","pending","_fetchDelay","fetchDelay","AITopTabsEnum","vanTabs","vanTab","currentIndex","activeTab","TabRegexpList","tab","FOR_YOU","AI_FOR_YOU","DISCOVER","MESSAGES","HISTORY","CHATLIST","showHistoryTab","showChatListDot","sendRadarLog","TabList","dot","changetab","currentUrl","_u","_t","ai_follow_tab","aichats","values","canShowHistoryTab","onActivated","handleTabClick","clickTab","marginTop","model","$$v","expression","emits","active","chatIcon","chatIconActive","exploreIcon","exploreIconActive","aiIcon","aiIconActive","notifyIcon","notifyIconActive","profileIcon","profileIconActive","onChange","scopedSlots","__nuxt__fetch__mixin__","fetchMixin","NuxtLink","global","_lastPaths","NUXT","__webpack_public_path__","cdnURL","assetsPath","console","mapTransitions","toComponents","componentTransitions","componentOption","fromComponents","maxDepth","mergedTransitions","toTransitions","loadAsyncComponents","_loadAsyncComponents","Components","_routeChanged","_paramChanged","_queryChanged","_diffQuery","manual","watchQuery","applySSRData","ssrData","serverRendered","callMiddleware","midd","unknownMiddleware","_render","fromMatches","nextCalled","_next","_layout","isValid","_layout2","_dateLastError","_hadError","validate","childPathChanged","watchParam","hasAsyncData","loadingIncrease","_path","_dataRefresh","_isMounted","asyncDataResult","fetchResult","t2","normalizeComponents","___","setLayoutForNextPage","hasError","checkForErrors","fixPrepatch","triggerScroll","nextTick","_isDestroyed","nuxtReady","_onNuxtLoaded","_mountApp","__app","mount","clientFirstMount","$mount","_Component","routePath","unregisterHook","AIGenderType","genderPrefer","setGenderPrefer","appendedPath","_yield$store$$axios$$","nodeSetCookie","getHeader","redirectCookie","Cookie","serialize","nodeGetCookie","cookie","checkRedirectToAIChat","isAIChatHost","canRedirect","appDeviceIdStr","AIStore","conversationList","messageList","userList","unwatch","indexedDB","onupgradeneeded","objectStoreNames","contains","keyPath","createIndex","unique","dataBase","___CSS_LOADER_EXPORT___","___CSS_LOADER_API_IMPORT___","KConfApiService","_getKConfByKey","KConfApi","getKConf","getKConfByKey","paths","videoList","clickedPicture","topicName","showNotificationPopup","hasSwap","discoverAiContent","deferredPromptInstalled","setStartup","setIsLogin","setVideoList","setClickedPicture","setTopicName","setTgPraiseAmountList","setHost","setShowNotificationPopup","setHasSwap","setDiscoverAiContent","setDeferredPromptInstalled","nuxtServerInit","redirectStartTime","redirectEndTime","kconf","_cookie$parse","isInternalUser","isRedirectForCmpliance","cache_exp","isNewIOSFeedStrategy","web_fission_entry_2","is_full_screen","is_ai_full_screen","ai_follow_tab_str","ai_message_feedback_action","auto_send_time_start","auto_send_time_switch","aiTabsConfig","shareDeviceId","share_device_id","chineseCompliance","getIsLogin","initTgPraiseAmounts","_yield$$axios$$$post","kwaiMeBucket","kpnMap","paramsMap","apptype","sys","client_type","setCommonParamsCookiesInServer","commonParams","cloneDeep","client_key","i18n_redirected","serverMiddlewareDid","webDidWithTime","serverMiddlewareWebDidWithTime","serverCookie","_item$split$map","trim","_item$split$map2","expirationDate","cookiesArr","toUTCString","net","mod","language","country_code","country_Code","getLlsidFromExptag","BackupApiController","apiDataSnapshot","urlWithoutQuery","_getSnapshotFromCDN","fetchPromise","fetchRes","referrerPolicy","credentials","json","_getSnapshotByApiUrl","api","apiSnapshot","snapShotData","getUrlPathName","getSnapshotFromCDN","BackupApiControllerInstance","reqHeaders","serverHeaders","cookieFromRequest","configCookie","SERVER_BUSY","getSnapshotByApiUrl","snapshot","statusText","_args4","_args5"],"mappings":"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","file":"app.92d1084ce8fcc67bbb60.js","sourcesContent":["import Vue from 'vue'\nimport { isSamePath as _isSamePath, joinURL, normalizeURL, withQuery, withoutTrailingSlash } from 'ufo'\n\n// window.{{globals.loadedCallback}} hook\n// Useful for jsdom testing or plugins (https://github.com/tmpvar/jsdom#dealing-with-asynchronous-script-loading)\nif (process.client) {\n window.onNuxtReadyCbs = []\n window.onNuxtReady = (cb) => {\n window.onNuxtReadyCbs.push(cb)\n }\n}\n\nexport function createGetCounter (counterObject, defaultKey = '') {\n return function getCounter (id = defaultKey) {\n if (counterObject[id] === undefined) {\n counterObject[id] = 0\n }\n return counterObject[id]++\n }\n}\n\nexport function empty () {}\n\nexport function globalHandleError (error) {\n if (Vue.config.errorHandler) {\n Vue.config.errorHandler(error)\n }\n}\n\nexport function interopDefault (promise) {\n return promise.then(m => m.default || m)\n}\n\nexport function hasFetch(vm) {\n return vm.$options && typeof vm.$options.fetch === 'function' && !vm.$options.fetch.length\n}\nexport function purifyData(data) {\n if (process.env.NODE_ENV === 'production') {\n return data\n }\n\n return Object.entries(data).filter(\n ([key, value]) => {\n const valid = !(value instanceof Function) && !(value instanceof Promise)\n if (!valid) {\n console.warn(`${key} is not able to be stringified. This will break in a production environment.`)\n }\n return valid\n }\n ).reduce((obj, [key, value]) => {\n obj[key] = value\n return obj\n }, {})\n}\nexport function getChildrenComponentInstancesUsingFetch(vm, instances = []) {\n const children = vm.$children || []\n for (const child of children) {\n if (child.$fetch) {\n instances.push(child)\n }\n if (child.$children) {\n getChildrenComponentInstancesUsingFetch(child, instances)\n }\n }\n return instances\n}\n\nexport function applyAsyncData (Component, asyncData) {\n if (\n // For SSR, we once all this function without second param to just apply asyncData\n // Prevent doing this for each SSR request\n !asyncData && Component.options.__hasNuxtData\n ) {\n return\n }\n\n const ComponentData = Component.options._originDataFn || Component.options.data || function () { return {} }\n Component.options._originDataFn = ComponentData\n\n Component.options.data = function () {\n const data = ComponentData.call(this, this)\n if (this.$ssrContext) {\n asyncData = this.$ssrContext.asyncData[Component.cid]\n }\n return { ...data, ...asyncData }\n }\n\n Component.options.__hasNuxtData = true\n\n if (Component._Ctor && Component._Ctor.options) {\n Component._Ctor.options.data = Component.options.data\n }\n}\n\nexport function sanitizeComponent (Component) {\n // If Component already sanitized\n if (Component.options && Component._Ctor === Component) {\n return Component\n }\n if (!Component.options) {\n Component = Vue.extend(Component) // fix issue #6\n Component._Ctor = Component\n } else {\n Component._Ctor = Component\n Component.extendOptions = Component.options\n }\n // If no component name defined, set file path as name, (also fixes #5703)\n if (!Component.options.name && Component.options.__file) {\n Component.options.name = Component.options.__file\n }\n return Component\n}\n\nexport function getMatchedComponents (route, matches = false, prop = 'components') {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m[prop]).map((key) => {\n matches && matches.push(index)\n return m[prop][key]\n })\n }))\n}\n\nexport function getMatchedComponentsInstances (route, matches = false) {\n return getMatchedComponents(route, matches, 'instances')\n}\n\nexport function flatMapComponents (route, fn) {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m.components).reduce((promises, key) => {\n if (m.components[key]) {\n promises.push(fn(m.components[key], m.instances[key], m, key, index))\n } else {\n delete m.components[key]\n }\n return promises\n }, [])\n }))\n}\n\nexport function resolveRouteComponents (route, fn) {\n return Promise.all(\n flatMapComponents(route, async (Component, instance, match, key) => {\n // If component is a function, resolve it\n if (typeof Component === 'function' && !Component.options) {\n try {\n Component = await Component()\n } catch (error) {\n // Handle webpack chunk loading errors\n // This may be due to a new deployment or a network problem\n if (\n error &&\n error.name === 'ChunkLoadError' &&\n typeof window !== 'undefined' &&\n window.sessionStorage\n ) {\n const timeNow = Date.now()\n const previousReloadTime = parseInt(window.sessionStorage.getItem('nuxt-reload'))\n\n // check for previous reload time not to reload infinitely\n if (!previousReloadTime || previousReloadTime + 60000 < timeNow) {\n window.sessionStorage.setItem('nuxt-reload', timeNow)\n window.location.reload(true /* skip cache */)\n }\n }\n\n throw error\n }\n }\n match.components[key] = Component = sanitizeComponent(Component)\n return typeof fn === 'function' ? fn(Component, instance, match, key) : Component\n })\n )\n}\n\nexport async function getRouteData (route) {\n if (!route) {\n return\n }\n // Make sure the components are resolved (code-splitting)\n await resolveRouteComponents(route)\n // Send back a copy of route with meta based on Component definition\n return {\n ...route,\n meta: getMatchedComponents(route).map((Component, index) => {\n return { ...Component.options.meta, ...(route.matched[index] || {}).meta }\n })\n }\n}\n\nexport async function setContext (app, context) {\n // If context not defined, create it\n if (!app.context) {\n app.context = {\n isStatic: process.static,\n isDev: false,\n isHMR: false,\n app,\n store: app.store,\n payload: context.payload,\n error: context.error,\n base: app.router.options.base,\n env: {\"IS_BACKUP_ENV\":false}\n }\n // Only set once\n\n if (context.req) {\n app.context.req = context.req\n }\n if (context.res) {\n app.context.res = context.res\n }\n\n if (context.ssrContext) {\n app.context.ssrContext = context.ssrContext\n }\n app.context.redirect = (status, path, query) => {\n if (!status) {\n return\n }\n app.context._redirected = true\n // if only 1 or 2 arguments: redirect('/') or redirect('/', { foo: 'bar' })\n let pathType = typeof path\n if (typeof status !== 'number' && (pathType === 'undefined' || pathType === 'object')) {\n query = path || {}\n path = status\n pathType = typeof path\n status = 302\n }\n if (pathType === 'object') {\n path = app.router.resolve(path).route.fullPath\n }\n // \"/absolute/route\", \"./relative/route\" or \"../relative/route\"\n if (/(^[.]{1,2}\\/)|(^\\/(?!\\/))/.test(path)) {\n app.context.next({\n path,\n query,\n status\n })\n } else {\n path = withQuery(path, query)\n if (process.server) {\n app.context.next({\n path,\n status\n })\n }\n if (process.client) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Location/assign\n window.location.assign(path)\n\n // Throw a redirect error\n throw new Error('ERR_REDIRECT')\n }\n }\n }\n if (process.server) {\n app.context.beforeNuxtRender = fn => context.beforeRenderFns.push(fn)\n app.context.beforeSerialize = fn => context.beforeSerializeFns.push(fn)\n }\n if (process.client) {\n app.context.nuxtState = window.__NUXT__\n }\n }\n\n // Dynamic keys\n const [currentRouteData, fromRouteData] = await Promise.all([\n getRouteData(context.route),\n getRouteData(context.from)\n ])\n\n if (context.route) {\n app.context.route = currentRouteData\n }\n\n if (context.from) {\n app.context.from = fromRouteData\n }\n\n app.context.next = context.next\n app.context._redirected = false\n app.context._errored = false\n app.context.isHMR = false\n app.context.params = app.context.route.params || {}\n app.context.query = app.context.route.query || {}\n}\n\nexport function middlewareSeries (promises, appContext) {\n if (!promises.length || appContext._redirected || appContext._errored) {\n return Promise.resolve()\n }\n return promisify(promises[0], appContext)\n .then(() => {\n return middlewareSeries(promises.slice(1), appContext)\n })\n}\n\nexport function promisify (fn, context) {\n let promise\n if (fn.length === 2) {\n // fn(context, callback)\n promise = new Promise((resolve) => {\n fn(context, function (err, data) {\n if (err) {\n context.error(err)\n }\n data = data || {}\n resolve(data)\n })\n })\n } else {\n promise = fn(context)\n }\n\n if (promise && promise instanceof Promise && typeof promise.then === 'function') {\n return promise\n }\n return Promise.resolve(promise)\n}\n\n// Imported from vue-router\nexport function getLocation (base, mode) {\n if (mode === 'hash') {\n return window.location.hash.replace(/^#\\//, '')\n }\n\n base = decodeURI(base).slice(0, -1) // consideration is base is normalized with trailing slash\n let path = decodeURI(window.location.pathname)\n\n if (base && path.startsWith(base)) {\n path = path.slice(base.length)\n }\n\n const fullPath = (path || '/') + window.location.search + window.location.hash\n\n return normalizeURL(fullPath)\n}\n\n// Imported from path-to-regexp\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nexport function compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\nexport function getQueryDiff (toQuery, fromQuery) {\n const diff = {}\n const queries = { ...toQuery, ...fromQuery }\n for (const k in queries) {\n if (String(toQuery[k]) !== String(fromQuery[k])) {\n diff[k] = true\n }\n }\n return diff\n}\n\nexport function normalizeError (err) {\n let message\n if (!(err.message || typeof err === 'string')) {\n try {\n message = JSON.stringify(err, null, 2)\n } catch (e) {\n message = `[${err.constructor.name}]`\n }\n } else {\n message = err.message || err\n }\n return {\n ...err,\n message,\n statusCode: (err.statusCode || err.status || (err.response && err.response.status) || 500)\n }\n}\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nconst PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n const tokens = []\n let key = 0\n let index = 0\n let path = ''\n const defaultDelimiter = (options && options.delimiter) || '/'\n let res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n const m = res[0]\n const escaped = res[1]\n const offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n const next = str[index]\n const prefix = res[2]\n const name = res[3]\n const capture = res[4]\n const group = res[5]\n const modifier = res[6]\n const asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n const partial = prefix != null && next != null && next !== prefix\n const repeat = modifier === '+' || modifier === '*'\n const optional = modifier === '?' || modifier === '*'\n const delimiter = res[2] || defaultDelimiter\n const pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter,\n optional,\n repeat,\n partial,\n asterisk: Boolean(asterisk),\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str, slashAllowed) {\n const re = slashAllowed ? /[?#]/g : /[/?#]/g\n return encodeURI(str).replace(re, (c) => {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURIComponentPretty(str, true)\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n const matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (let i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n let path = ''\n const data = obj || {}\n const options = opts || {}\n const encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n const value = data[token.name || 'pathMatch']\n let segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (let j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\nexport function addLifecycleHook(vm, hook, fn) {\n if (!vm.$options[hook]) {\n vm.$options[hook] = []\n }\n if (!vm.$options[hook].includes(fn)) {\n vm.$options[hook].push(fn)\n }\n}\n\nexport const urlJoin = joinURL\n\nexport const stripTrailingSlash = withoutTrailingSlash\n\nexport const isSamePath = _isSamePath\n\nexport function setScrollRestoration (newVal) {\n try {\n window.history.scrollRestoration = newVal;\n } catch(e) {}\n}\n","export const ComponentNameMap = {\n VideoDetail: 'video-detail',\n Foryou: 'foryou',\n DiscoverSearch: 'discover-search',\n AIForyou: 'ai-foryou',\n AIChatRoom: 'ai-chatroom',\n AIChatDiscover: 'ai-discover',\n AIChatInbox: 'ai-inbox',\n AIChatHistory: 'ai-history',\n AIChatCreate: 'ai-create',\n AIChatCreateVoice: 'ai-create-voice',\n AIChatMoreVoice: 'ai-more-voice',\n AIChatProfile: 'ai-profile',\n};\n\nexport enum MobilePageSource {\n // foryou 页\n PwaForyou = 'pwa-foryou',\n // 视频详情页\n PwaVideoDetail = 'pwa-video-detail',\n // Discover Card\n PwaDiscoverCategoryCard = 'pwa-discover-category-card',\n // Discover User Video\n PwaDiscoverUserVideo = 'pwa-discover-uservideo',\n // 分享过来进入的视频详情页\n PwaVideoDetailShare = 'pwa-video-detail-share',\n // 搜搜内流专题页\n PwaDiscoverSearch = 'pwa-video-detail-search',\n // AI foryou 页\n PWAAIForyou = 'pwa-ai-foryou',\n\n PWAAIInbox = 'pwa-ai-inbox',\n\n PWAAChatRoom = 'pwa-ai-chatroom',\n\n PWAAChatDiscover = 'pwa-ai-discover',\n\n PWAAChatCardGuide = 'pwa-ai-card-guide',\n\n PWAAChatHistoryTab = 'pwa-ai-history-tab',\n}\n\nexport enum MobilePageCode {\n SharePwaPageH5 = 'SHARE_PWA_PAGE_H5',\n PwaDetailPage = 'PWA_DETAIL_PAGE',\n SeoResearchResultPage = 'SEO_RESEARCH_RESULT_PAGE',\n PwaDetailPageShare = 'PWA_DETAIL_PAGE_SHARE',\n PwaDiscoverSearch = 'PWA_DISCOVER_SEARCH',\n SharePwaAIPageH5 = 'SHARE_PWA_AI_PAGE_H5',\n}\n\n// from https://docs.corp.kuaishou.com/k/home/VE-Rw2SbwSZc/fcABjJvLKKpUBYPAip008KlfD#section=h.ij8a74bzl0oi\nexport const MobilePageSourceCodeMap: Record = {\n [MobilePageSource.PwaForyou]: MobilePageCode.SharePwaPageH5,\n [MobilePageSource.PwaVideoDetail]: MobilePageCode.PwaDetailPage,\n [MobilePageSource.PwaDiscoverCategoryCard]: MobilePageCode.SeoResearchResultPage,\n [MobilePageSource.PwaDiscoverUserVideo]: MobilePageCode.SeoResearchResultPage,\n [MobilePageSource.PwaVideoDetailShare]: MobilePageCode.PwaDetailPageShare,\n [MobilePageSource.PwaDiscoverSearch]: MobilePageCode.PwaDiscoverSearch,\n [MobilePageSource.PWAAIForyou]: MobilePageCode.SharePwaAIPageH5,\n [MobilePageSource.PWAAIInbox]: MobilePageCode.SharePwaAIPageH5,\n [MobilePageSource.PWAAChatRoom]: MobilePageCode.SharePwaAIPageH5,\n [MobilePageSource.PWAAChatDiscover]: MobilePageCode.SharePwaAIPageH5,\n [MobilePageSource.PWAAChatCardGuide]: MobilePageCode.SharePwaAIPageH5,\n [MobilePageSource.PWAAChatHistoryTab]: MobilePageCode.SharePwaAIPageH5,\n};\n\n// Firebase Application Config\n// export const FirebaseConfig = {\n// apiKey: 'AIzaSyDV7GYYsg5pESC9yTNMZLlmGsmUoWm7Q-A',\n// authDomain: 'kwaipwazjq.firebaseapp.com',\n// projectId: 'kwaipwazjq',\n// storageBucket: 'kwaipwazjq.appspot.com',\n// messagingSenderId: '558015386050',\n// appId: '1:558015386050:web:eaa812fe4cf65b1047c65b',\n// measurementId: 'G-C36685GWCE',\n// };\n\nexport const FirebaseConfig = {\n apiKey: 'AIzaSyCJ-Xaa_0x_m_UKLWh60v-Mg3wVbdVQchY',\n authDomain: 'kwaiwebpwa.firebaseapp.com',\n projectId: 'kwaiwebpwa',\n storageBucket: 'kwaiwebpwa.firebasestorage.app',\n messagingSenderId: '35760235920',\n appId: '1:35760235920:web:9359fdd864b26388ff7f15',\n measurementId: 'G-QNGYR155ZV',\n};\n\n/**\n * @zh 本项目统一使用一个 key\n */\nexport const PWAKConfKey = 'kibtFrontend.share.ug_web_fe_pwa_kconf';\n","import { getCurrentInstance } from 'vue';\n\nexport enum AppPkgName {\n BOMDIA_APP = 'bom.dia.video.imagen.frases.download',\n AI_CHAT_APP = 'ai.questionai.chat.bot',\n}\n\nexport const checkIfAppEnvironment = () => {\n const { proxy }: any = getCurrentInstance() || {};\n return proxy?.$isAppEnvironment;\n};\n\nexport const checkIfBomdiaApp = () => {\n const { proxy }: any = getCurrentInstance() || {};\n return proxy?.$isAppEnvironment && proxy?.$appConfig?.pkg === AppPkgName.BOMDIA_APP;\n};\n\nexport const checkIfAiChatApp = () => {\n const { proxy }: any = getCurrentInstance() || {};\n return proxy?.$isAppEnvironment && proxy?.$appConfig?.pkg === AppPkgName.AI_CHAT_APP;\n};\n","import cookies from 'js-cookie';\nimport KwaiLog from '@kibt/weblogger/lib/log.browser';\nimport RiskMgt from '@ks/weblogger/lib/plugins/riskMgt';\nimport queryString from 'query-string';\nimport { BasePlugin } from '@ks/weblogger';\nimport { isProduction, isTest } from './env';\nimport { getQuery } from './utils';\n\nconst kpn = cookies.get('kpn') || 'KWAI';\n\nlet VUE_APP_LOG_TYPE = '';\n\nif (isProduction) {\n VUE_APP_LOG_TYPE = 'oversea';\n}\n\nif (isTest) {\n VUE_APP_LOG_TYPE = 'test';\n}\n\n// 日志类型\nexport enum LogType {\n show = 'SHOW',\n click = 'CLICK',\n pv = 'PV',\n // 雷达事件\n custom = 'CUSTOM',\n STAY_LENGTH_STAT_EVENT = 'STAY_LENGTH_STAT_EVENT', // 时长\n BACKGROUND_TASK_EVENT = 'BACKGROUND_TASK_EVENT', // 任务事件\n}\n\nexport interface LogData {\n type: keyof typeof LogType;\n name: string;\n value?: Record;\n eventId?: string;\n pvType?: 'enter' | 'leave' | 'hidden' | 'visible';\n}\n\nexport interface RadarLogData {\n // 事件名(必填)\n name: string;\n // 事件类型(可选)\n event_type?: string;\n // 业务分类(可选)\n category?: string;\n // 事件相关源文件(可选)\n src?: string;\n // 事件结果(可选)\n result_type?: string;\n // 消息(可选)\n message?: string;\n // 额外信息(建议使用json string - 可选)\n extra_info?: string;\n // 时长,可以计算分位数,不涉及可以不传(可选)\n duration?: number;\n videosrc?: string;\n event_count?: number;\n}\n\ninterface KwaiLogConfig {\n env: string;\n retries: number;\n autoPV: boolean;\n fps: boolean;\n logger: boolean;\n radar: {\n projectId: string;\n sampling: number;\n lcp: boolean;\n cls: boolean;\n fid: boolean;\n fcp: boolean;\n };\n plugins?: BasePlugin[];\n}\n\n// WebLogger内核SDK配置参数\nconst logConfig: KwaiLogConfig = {\n env: VUE_APP_LOG_TYPE || ('development' as any),\n retries: isProduction ? 3 : 0,\n autoPV: false,\n fps: false,\n logger: !isProduction,\n radar: {\n projectId: '4fedaf2ec1', // 雷达平台上的唯一标识\n sampling: 1, // 上报采样率,1 为全部上报\n lcp: true,\n cls: true,\n fid: true,\n fcp: true,\n },\n};\n\n// 公参配置\nconst baseOptions = {\n product_name: kpn,\n package_name: kpn,\n};\n\nfunction generateLogParams(data: LogData) {\n const info = {\n params: data.value,\n eventId: data.eventId,\n } as any;\n\n const urlPage = data?.value?.urlPage;\n\n if (data.type === 'pv') {\n return {\n type: data.pvType,\n page: data.name,\n ...info,\n };\n }\n\n if (data.type === 'custom') {\n return {\n key: data.name,\n value: data.value,\n eventId: data.eventId,\n };\n }\n\n if (data.type === 'click' && data?.value?.type === 'STAY_LENGTH_STAT_EVENT') {\n info.type = 'STAY_LENGTH_STAT_EVENT';\n }\n\n if (data.type === 'click' && data?.value?.type === 'BACKGROUND_TASK_EVENT') {\n info.type = 'BACKGROUND_TASK_EVENT';\n }\n\n return {\n action: data.name,\n // urlPage: urlPage,\n ...info,\n };\n}\n\nlet kwailog = null as any;\n\nexport function getKwaiLog() {\n if (!kwailog) {\n const { pwa_source } = getQuery() || {};\n logConfig.plugins = [\n new RiskMgt({\n env: isProduction ? 'production' : 'test',\n bussType: 'kwai-mobile',\n taskType: '11',\n subTaskType: '11-1',\n host: 'kwai',\n switchAsync: true,\n }),\n ];\n kwailog = new KwaiLog(logConfig, baseOptions).weblog;\n }\n return kwailog;\n}\n\n/**\n * @zh 页面上报 fmp\n */\nexport const reportFMP = () => {\n try {\n const timeStamp = Date.now();\n const webLogger = getKwaiLog();\n webLogger?.plugins?.radar?.fmp?.(timeStamp);\n } catch {\n // eslint-disable-next-line no-console\n console.log('fmp report error.');\n }\n};\n\n/**\n * 数据上报\n * @param data 上报数据\n * @param immediate 是否立即上报\n */\nconst logCollect = (data: LogData, immediate?: boolean) => {\n const { type } = data;\n\n // 不存在类型则不上报\n if (!type) {\n return;\n }\n\n // 点击事件增加click_index字段,相同的share_id为一个生命周期\n if (type === 'click') {\n data.value = data.value || {};\n try {\n const deviceId = (cookies.get('_did') || '') as string;\n const shareId = `CLICK_INDEX_${getQuery()?.share_id}_${deviceId}`;\n const clickIndex = sessionStorage.getItem(shareId);\n const nextIndex = clickIndex ? `${+clickIndex + 1}` : '1';\n sessionStorage.setItem(shareId, nextIndex);\n data.value.click_index = nextIndex;\n } catch (error) {\n data.value.click_index = '-1';\n }\n }\n if (process.client && type === 'pv') {\n data.value = data.value || {};\n const parsed = queryString.parse(window.location.search);\n const bid_id = parsed.bid_id;\n data.value.bid_id = bid_id;\n }\n const logParams = generateLogParams(data);\n const logType = LogType[type];\n\n const webLogger = getKwaiLog();\n\n if (immediate) {\n webLogger.sendImmediately(logType, logParams as any);\n } else {\n webLogger.collect(logType, logParams as any);\n }\n};\n\nexport const sendLog = (data: LogData) => {\n logCollect(data);\n};\n\n/**\n * 立即上报埋点\n * @param data\n */\nexport const immediateSendLog = (data: LogData) => {\n logCollect(data, true);\n};\n\n/**\n * 雷达上报:自定义事件\n */\nexport const radarLog = (data: RadarLogData) => {\n // message可能包含分享优化实验参数,有几种情况,other:不是低端机,lowDeviceOptimize:是低端机且命中优化实验,lowDeviceNotOptimize:是低端机未命中优化实验\n const { duration, message, event_count } = data;\n try {\n const webLogger = getKwaiLog();\n if (message?.includes('lowDeviceOptimize')) {\n webLogger?.plugins?.radar &&\n webLogger.plugins.radar.setDimensions({\n c_dimension1: 'lowDeviceOptimize', // 值可以为任意string,且只支持string类型\n });\n } else if (message?.includes('lowDeviceNotOptimize')) {\n webLogger?.plugins?.radar &&\n webLogger.plugins.radar.setDimensions({\n c_dimension1: 'lowDeviceNotOptimize', // 值可以为任意string,且只支持string类型\n });\n }\n\n webLogger?.plugins?.radar &&\n webLogger.plugins.radar.event(data, {\n duration,\n event_count,\n });\n } catch (error) {\n console.error(error);\n }\n};\n\nconst getReferPage = (pageName: string) => {\n try {\n const referPage = sessionStorage.getItem('SHARE_REFER_PAGE');\n const resRefer = referPage?.split(',') || [];\n\n // 路由面包屑,(当前页面刷新不计入次数)\n if (resRefer[resRefer.length - 1] !== pageName) {\n const nextRefer = referPage ? `${referPage},${pageName}` : pageName;\n sessionStorage.setItem('SHARE_REFER_PAGE', nextRefer);\n resRefer.push(pageName);\n }\n return resRefer;\n } catch (error) {\n return [pageName];\n }\n};\n\nconst getReferSource = (query: any) => {\n try {\n const storageKey = `REFER_SOURCE_${query?.share_id}`;\n const referSource = sessionStorage.getItem(storageKey);\n if (referSource) {\n return referSource;\n }\n\n const referer = document.referrer;\n if (referer) {\n sessionStorage.setItem(storageKey, referer);\n }\n return referer || '';\n } catch (error) {\n return '';\n }\n};\n","import { getMatchedComponents, setScrollRestoration } from './utils'\n\nif (process.client) {\n if ('scrollRestoration' in window.history) {\n setScrollRestoration('manual')\n\n // reset scrollRestoration to auto when leaving page, allowing page reload\n // and back-navigation from other pages to use the browser to restore the\n // scrolling position.\n window.addEventListener('beforeunload', () => {\n setScrollRestoration('auto')\n })\n\n // Setting scrollRestoration to manual again when returning to this page.\n window.addEventListener('load', () => {\n setScrollRestoration('manual')\n })\n }\n}\n\nfunction shouldScrollToTop(route) {\n const Pages = getMatchedComponents(route)\n if (Pages.length === 1) {\n const { options = {} } = Pages[0]\n return options.scrollToTop !== false\n }\n return Pages.some(({ options }) => options && options.scrollToTop)\n}\n\nexport default function (to, from, savedPosition) {\n // If the returned position is falsy or an empty object, will retain current scroll position\n let position = false\n const isRouteChanged = to !== from\n\n // savedPosition is only available for popstate navigations (back button)\n if (savedPosition) {\n position = savedPosition\n } else if (isRouteChanged && shouldScrollToTop(to)) {\n position = { x: 0, y: 0 }\n }\n\n const nuxt = window.$nuxt\n\n if (\n // Initial load (vuejs/vue-router#3199)\n !isRouteChanged ||\n // Route hash changes\n (to.path === from.path && to.hash !== from.hash)\n ) {\n nuxt.$nextTick(() => nuxt.$emit('triggerScroll'))\n }\n\n return new Promise((resolve) => {\n // wait for the out transition to complete (if necessary)\n nuxt.$once('triggerScroll', () => {\n // coords will be used if no selector is provided,\n // or if the selector didn't match any element.\n if (to.hash) {\n let hash = to.hash\n // CSS.escape() is not supported with IE and Edge.\n if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') {\n hash = '#' + window.CSS.escape(hash.substr(1))\n }\n try {\n const el = document.querySelector(hash)\n if (el) {\n // scroll to anchor by returning the selector\n position = { selector: hash }\n // Respect any scroll-margin-top set in CSS when scrolling to anchor\n const y = Number(getComputedStyle(el)['scroll-margin-top']?.replace('px', ''))\n if (y) {\n position.offset = { y }\n }\n }\n } catch (e) {\n console.warn('Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).')\n }\n }\n resolve(position)\n })\n })\n}\n","import Vue from 'vue'\nimport Router from 'vue-router'\nimport { normalizeURL, decode } from 'ufo'\nimport { interopDefault } from './utils'\nimport scrollBehavior from './router.scrollBehavior.js'\n\nconst _c34c169c = () => interopDefault(import('../pages/account-management/index.vue' /* webpackChunkName: \"pages/account-management/index\" */))\nconst _6a56820f = () => interopDefault(import('../pages/aichat/index.vue' /* webpackChunkName: \"pages/aichat/index\" */))\nconst _4a33092c = () => interopDefault(import('../pages/channel/index.vue' /* webpackChunkName: \"pages/channel/index\" */))\nconst _e235b990 = () => interopDefault(import('../pages/direct/index.vue' /* webpackChunkName: \"pages/direct/index\" */))\nconst _828fe99a = () => interopDefault(import('../pages/discover-search/index.vue' /* webpackChunkName: \"pages/discover-search/index\" */))\nconst _2e8b9489 = () => interopDefault(import('../pages/e-commerce-seo-search/index.vue' /* webpackChunkName: \"pages/e-commerce-seo-search/index\" */))\nconst _00a251c5 = () => interopDefault(import('../pages/foryou/index.vue' /* webpackChunkName: \"pages/foryou/index\" */))\nconst _0fdded24 = () => interopDefault(import('../pages/message/index.vue' /* webpackChunkName: \"pages/message/index\" */))\nconst _b78fbad6 = () => interopDefault(import('../pages/node-service-stability/index.vue' /* webpackChunkName: \"pages/node-service-stability/index\" */))\nconst _966e55a2 = () => interopDefault(import('../pages/not-found/index.vue' /* webpackChunkName: \"pages/not-found/index\" */))\nconst _3e7b02ab = () => interopDefault(import('../pages/old-foryou/index.vue' /* webpackChunkName: \"pages/old-foryou/index\" */))\nconst _19567090 = () => interopDefault(import('../pages/profile/index.vue' /* webpackChunkName: \"pages/profile/index\" */))\nconst _34af4374 = () => interopDefault(import('../pages/pwa-share-new/index.vue' /* webpackChunkName: \"pages/pwa-share-new/index\" */))\nconst _104571ab = () => interopDefault(import('../pages/aichat/chat.vue' /* webpackChunkName: \"pages/aichat/chat\" */))\nconst _1de6e1c9 = () => interopDefault(import('../pages/aichat/chatlist.vue' /* webpackChunkName: \"pages/aichat/chatlist\" */))\nconst _082e0a8f = () => interopDefault(import('../pages/aichat/create.vue' /* webpackChunkName: \"pages/aichat/create\" */))\nconst _5737cff4 = () => interopDefault(import('../pages/aichat/create-voice.vue' /* webpackChunkName: \"pages/aichat/create-voice\" */))\nconst _431f5f88 = () => interopDefault(import('../pages/aichat/discover.vue' /* webpackChunkName: \"pages/aichat/discover\" */))\nconst _329a3791 = () => interopDefault(import('../pages/aichat/history.vue' /* webpackChunkName: \"pages/aichat/history\" */))\nconst _119a81c3 = () => interopDefault(import('../pages/aichat/inbox.vue' /* webpackChunkName: \"pages/aichat/inbox\" */))\nconst _2cd73cf8 = () => interopDefault(import('../pages/aichat/message.vue' /* webpackChunkName: \"pages/aichat/message\" */))\nconst _3eb901cd = () => interopDefault(import('../pages/aichat/more-voice.vue' /* webpackChunkName: \"pages/aichat/more-voice\" */))\nconst _a5c3988c = () => interopDefault(import('../pages/aichat/myprofile.vue' /* webpackChunkName: \"pages/aichat/myprofile\" */))\nconst _158d03c5 = () => interopDefault(import('../pages/aichat/policy.vue' /* webpackChunkName: \"pages/aichat/policy\" */))\nconst _29afe2c7 = () => interopDefault(import('../pages/aichat/report.vue' /* webpackChunkName: \"pages/aichat/report\" */))\nconst _06278594 = () => interopDefault(import('../pages/discover/discoverContent.vue' /* webpackChunkName: \"pages/discover/discoverContent\" */))\nconst _1d16ac8f = () => interopDefault(import('../pages/pwa-share-new/type.ts' /* webpackChunkName: \"pages/pwa-share-new/type\" */))\nconst _4ca00d00 = () => interopDefault(import('../pages/pwa-share-new/utils.ts' /* webpackChunkName: \"pages/pwa-share-new/utils\" */))\nconst _c2fe8212 = () => interopDefault(import('../pages/aichat/components/ai-actions-bar/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-actions-bar/index\" */))\nconst _85bfaf7a = () => interopDefault(import('../pages/aichat/components/ai-ads-popup/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-ads-popup/index\" */))\nconst _3f0d5e34 = () => interopDefault(import('../pages/aichat/components/ai-age-confirm/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-age-confirm/index\" */))\nconst _25151c9a = () => interopDefault(import('../pages/aichat/components/ai-audio-player/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-audio-player/index\" */))\nconst _09b12d9a = () => interopDefault(import('../pages/aichat/components/ai-base-layout/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-base-layout/index\" */))\nconst _0e76123a = () => interopDefault(import('../pages/aichat/components/ai-chat/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-chat/index\" */))\nconst _4005fa0b = () => interopDefault(import('../pages/aichat/components/ai-discover/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-discover/index\" */))\nconst _27a6a0e1 = () => interopDefault(import('../pages/aichat/components/ai-feed-list/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-feed-list/index\" */))\nconst _7d1ce05e = () => interopDefault(import('../pages/aichat/components/ai-full-screen/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-full-screen/index\" */))\nconst _41d3f082 = () => interopDefault(import('../pages/aichat/components/ai-gender-popup/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-gender-popup/index\" */))\nconst _2ebbb010 = () => interopDefault(import('../pages/aichat/components/ai-info/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-info/index\" */))\nconst _373aee2f = () => interopDefault(import('../pages/aichat/components/ai-info-popup/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-info-popup/index\" */))\nconst _1d803e08 = () => interopDefault(import('../pages/aichat/components/ai-input-box/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-input-box/index\" */))\nconst _4d30b59d = () => interopDefault(import('../pages/aichat/components/ai-lead-chat/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-lead-chat/index\" */))\nconst _52563200 = () => interopDefault(import('../pages/aichat/components/ai-tabbar/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-tabbar/index\" */))\nconst _aaf831ea = () => interopDefault(import('../pages/aichat/components/ai-to-desktop-popup/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-to-desktop-popup/index\" */))\nconst _5882d1cf = () => interopDefault(import('../pages/aichat/components/ai-top-bar/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-top-bar/index\" */))\nconst _2a8676d8 = () => interopDefault(import('../pages/aichat/components/ai-top-tabs/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-top-tabs/index\" */))\nconst _893a7dd0 = () => interopDefault(import('../pages/aichat/components/ai-watermark/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-watermark/index\" */))\nconst _6e65f142 = () => interopDefault(import('../pages/aichat/components/left-menu/index.vue' /* webpackChunkName: \"pages/aichat/components/left-menu/index\" */))\nconst _a1852b82 = () => interopDefault(import('../pages/aichat/components/load/index.vue' /* webpackChunkName: \"pages/aichat/components/load/index\" */))\nconst _f102f518 = () => interopDefault(import('../pages/aichat/components/message-action-popup/index.vue' /* webpackChunkName: \"pages/aichat/components/message-action-popup/index\" */))\nconst _142ef3c3 = () => interopDefault(import('../pages/aichat/components/message-feedback-popup/index.vue' /* webpackChunkName: \"pages/aichat/components/message-feedback-popup/index\" */))\nconst _fbc32f94 = () => interopDefault(import('../pages/aichat/components/side-bar/index.vue' /* webpackChunkName: \"pages/aichat/components/side-bar/index\" */))\nconst _7447e424 = () => interopDefault(import('../pages/aichat/hooks/useAppEnvironment.ts' /* webpackChunkName: \"pages/aichat/hooks/useAppEnvironment\" */))\nconst _638875e1 = () => interopDefault(import('../pages/aichat/hooks/useInstallPWA.ts' /* webpackChunkName: \"pages/aichat/hooks/useInstallPWA\" */))\nconst _2ecd0d92 = () => interopDefault(import('../pages/aichat/scripts/ai-chat.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-chat\" */))\nconst _9fdd9e16 = () => interopDefault(import('../pages/aichat/scripts/ai-chat-handler.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-chat-handler\" */))\nconst _910eabdc = () => interopDefault(import('../pages/aichat/scripts/discoverLogger.ts' /* webpackChunkName: \"pages/aichat/scripts/discoverLogger\" */))\nconst _64c6e7ce = () => interopDefault(import('../pages/aichat/scripts/inboxLogger.ts' /* webpackChunkName: \"pages/aichat/scripts/inboxLogger\" */))\nconst _3dee69fb = () => interopDefault(import('../pages/aichat/scripts/logger.ts' /* webpackChunkName: \"pages/aichat/scripts/logger\" */))\nconst _dfbf23d8 = () => interopDefault(import('../pages/article/components/article-action/index.vue' /* webpackChunkName: \"pages/article/components/article-action/index\" */))\nconst _1c81626f = () => interopDefault(import('../pages/article/components/article-detail/index.vue' /* webpackChunkName: \"pages/article/components/article-detail/index\" */))\nconst _544cfedc = () => interopDefault(import('../pages/article/models/main.ts' /* webpackChunkName: \"pages/article/models/main\" */))\nconst _967c2254 = () => interopDefault(import('../pages/direct/components/direct-open-app/index.vue' /* webpackChunkName: \"pages/direct/components/direct-open-app/index\" */))\nconst _555dab40 = () => interopDefault(import('../pages/discover/components/ai-content-item/index.vue' /* webpackChunkName: \"pages/discover/components/ai-content-item/index\" */))\nconst _7fde13f5 = () => interopDefault(import('../pages/discover/components/app-whatsapp-status/index.vue' /* webpackChunkName: \"pages/discover/components/app-whatsapp-status/index\" */))\nconst _c95703c8 = () => interopDefault(import('../pages/discover/components/caption-item/index.vue' /* webpackChunkName: \"pages/discover/components/caption-item/index\" */))\nconst _7d403a38 = () => interopDefault(import('../pages/discover/components/expand-words/index.vue' /* webpackChunkName: \"pages/discover/components/expand-words/index\" */))\nconst _e825e3c0 = () => interopDefault(import('../pages/discover/components/list/index.vue' /* webpackChunkName: \"pages/discover/components/list/index\" */))\nconst _29cbe6e2 = () => interopDefault(import('../pages/discover/components/picture-action-item/index.vue' /* webpackChunkName: \"pages/discover/components/picture-action-item/index\" */))\nconst _75710fc1 = () => interopDefault(import('../pages/discover/components/picture-card/index.vue' /* webpackChunkName: \"pages/discover/components/picture-card/index\" */))\nconst _086bf392 = () => interopDefault(import('../pages/discover/components/user-info-item/index.vue' /* webpackChunkName: \"pages/discover/components/user-info-item/index\" */))\nconst _1c895ae8 = () => interopDefault(import('../pages/discover/components/video-action-item/index.vue' /* webpackChunkName: \"pages/discover/components/video-action-item/index\" */))\nconst _5a1c4738 = () => interopDefault(import('../pages/discover/components/video-card/index.vue' /* webpackChunkName: \"pages/discover/components/video-card/index\" */))\nconst _514493a0 = () => interopDefault(import('../pages/e-commerce-seo-search/components/header/index.vue' /* webpackChunkName: \"pages/e-commerce-seo-search/components/header/index\" */))\nconst _18fbaf00 = () => interopDefault(import('../pages/foryou/components/swiperable-tabs/index.vue' /* webpackChunkName: \"pages/foryou/components/swiperable-tabs/index\" */))\nconst _0c741c10 = () => interopDefault(import('../pages/picture/scripts/app.ts' /* webpackChunkName: \"pages/picture/scripts/app\" */))\nconst _17e1b63c = () => interopDefault(import('../pages/picture/scripts/seo.ts' /* webpackChunkName: \"pages/picture/scripts/seo\" */))\nconst _38ae0a8a = () => interopDefault(import('../pages/playlist/components/card/index.vue' /* webpackChunkName: \"pages/playlist/components/card/index\" */))\nconst _c2ebd26e = () => interopDefault(import('../pages/playlist/components/list/index.vue' /* webpackChunkName: \"pages/playlist/components/list/index\" */))\nconst _8e8700a0 = () => interopDefault(import('../pages/playlist/hooks/useList.ts' /* webpackChunkName: \"pages/playlist/hooks/useList\" */))\nconst _28e3a84c = () => interopDefault(import('../pages/pwa-share-new/components/action-bar/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/action-bar/index\" */))\nconst _c029e20c = () => interopDefault(import('../pages/pwa-share-new/components/action-list-popup/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/action-list-popup/index\" */))\nconst _897fb354 = () => interopDefault(import('../pages/pwa-share-new/components/ai-ad-guide-card/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/ai-ad-guide-card/index\" */))\nconst _2e5e59e0 = () => interopDefault(import('../pages/pwa-share-new/components/ai-chat-card/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/ai-chat-card/index\" */))\nconst _2c4376a5 = () => interopDefault(import('../pages/pwa-share-new/components/comment/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/comment/index\" */))\nconst _3e67011a = () => interopDefault(import('../pages/pwa-share-new/components/feed-list/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/feed-list/index\" */))\nconst _57f24bbd = () => interopDefault(import('../pages/pwa-share-new/components/google-ad/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/google-ad/index\" */))\nconst _7f2a9a00 = () => interopDefault(import('../pages/pwa-share-new/components/incentive-pendant/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/incentive-pendant/index\" */))\nconst _339816b7 = () => interopDefault(import('../pages/pwa-share-new/components/loading-dark/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/loading-dark/index\" */))\nconst _45c12efe = () => interopDefault(import('../pages/pwa-share-new/components/lumina-ad/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/lumina-ad/index\" */))\nconst _1765c5c0 = () => interopDefault(import('../pages/pwa-share-new/components/slider-guide/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/slider-guide/index\" */))\nconst _59134930 = () => interopDefault(import('../pages/pwa-share-new/components/slider-guide2/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/slider-guide2/index\" */))\nconst _26f3fa24 = () => interopDefault(import('../pages/pwa-share-new/components/topbar/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/topbar/index\" */))\nconst _2496a610 = () => interopDefault(import('../pages/pwa-share-new/components/video-info/index.vue' /* webpackChunkName: \"pages/pwa-share-new/components/video-info/index\" */))\nconst _202c5c74 = () => interopDefault(import('../pages/topic/components/load/index.vue' /* webpackChunkName: \"pages/topic/components/load/index\" */))\nconst _3acc3b1f = () => interopDefault(import('../pages/topic/components/picture-card/index.vue' /* webpackChunkName: \"pages/topic/components/picture-card/index\" */))\nconst _026fbe0f = () => interopDefault(import('../pages/topic/components/tyml-card/index.vue' /* webpackChunkName: \"pages/topic/components/tyml-card/index\" */))\nconst _c149743e = () => interopDefault(import('../pages/topic/components/utils.ts' /* webpackChunkName: \"pages/topic/components/utils\" */))\nconst _013c4742 = () => interopDefault(import('../pages/topic/components/video-card/index.vue' /* webpackChunkName: \"pages/topic/components/video-card/index\" */))\nconst _f018445e = () => interopDefault(import('../pages/topic/components/water-fall/index.vue' /* webpackChunkName: \"pages/topic/components/water-fall/index\" */))\nconst _915aed32 = () => interopDefault(import('../pages/user/components/collection-swipper/index.vue' /* webpackChunkName: \"pages/user/components/collection-swipper/index\" */))\nconst _11f9e582 = () => interopDefault(import('../pages/user/components/list/index.vue' /* webpackChunkName: \"pages/user/components/list/index\" */))\nconst _1fbab815 = () => interopDefault(import('../pages/user/components/nav/index.vue' /* webpackChunkName: \"pages/user/components/nav/index\" */))\nconst _39cc394f = () => interopDefault(import('../pages/user/components/post-card/index.vue' /* webpackChunkName: \"pages/user/components/post-card/index\" */))\nconst _217aa2a8 = () => interopDefault(import('../pages/user/components/user-profile-base-info/index.vue' /* webpackChunkName: \"pages/user/components/user-profile-base-info/index\" */))\nconst _8990c272 = () => interopDefault(import('../pages/user/hooks/useInfo.ts' /* webpackChunkName: \"pages/user/hooks/useInfo\" */))\nconst _521b8cd7 = () => interopDefault(import('../pages/user/hooks/useList.ts' /* webpackChunkName: \"pages/user/hooks/useList\" */))\nconst _2452141e = () => interopDefault(import('../pages/user/hooks/useNoticePopup.ts' /* webpackChunkName: \"pages/user/hooks/useNoticePopup\" */))\nconst _36a6552c = () => interopDefault(import('../pages/aichat/components/ai-audio-player/audio-text.vue' /* webpackChunkName: \"pages/aichat/components/ai-audio-player/audio-text\" */))\nconst _31e8cd83 = () => interopDefault(import('../pages/aichat/components/ai-chat/type.ts' /* webpackChunkName: \"pages/aichat/components/ai-chat/type\" */))\nconst _5efe2ce2 = () => interopDefault(import('../pages/aichat/components/ai-discover/tab-card/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-discover/tab-card/index\" */))\nconst _178401a1 = () => interopDefault(import('../pages/aichat/components/ai-discover/tab-page/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-discover/tab-page/index\" */))\nconst _0fe39251 = () => interopDefault(import('../pages/aichat/components/ai-feed/ai-feed.vue' /* webpackChunkName: \"pages/aichat/components/ai-feed/ai-feed\" */))\nconst _1c79dab0 = () => interopDefault(import('../pages/aichat/components/ai-profile/post-card.vue' /* webpackChunkName: \"pages/aichat/components/ai-profile/post-card\" */))\nconst _213f3e12 = () => interopDefault(import('../pages/aichat/components/bot-create/add-tag.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/add-tag\" */))\nconst _6f3a708e = () => interopDefault(import('../pages/aichat/components/bot-create/add-tag-dialog.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/add-tag-dialog\" */))\nconst _2a25493e = () => interopDefault(import('../pages/aichat/components/bot-create/avatar-upload.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/avatar-upload\" */))\nconst _6a6a89b2 = () => interopDefault(import('../pages/aichat/components/bot-create/background-input.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/background-input\" */))\nconst _2550258a = () => interopDefault(import('../pages/aichat/components/bot-create/draft-dialog.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/draft-dialog\" */))\nconst _28e44f5e = () => interopDefault(import('../pages/aichat/components/bot-create/gender-select.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/gender-select\" */))\nconst _0c7a62bd = () => interopDefault(import('../pages/aichat/components/bot-create/greeting-input.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/greeting-input\" */))\nconst _e152f09c = () => interopDefault(import('../pages/aichat/components/bot-create/intro-input.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/intro-input\" */))\nconst _5f226e0f = () => interopDefault(import('../pages/aichat/components/bot-create/name-input.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/name-input\" */))\nconst _b6dc9ffa = () => interopDefault(import('../pages/aichat/components/bot-create/permission-select.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/permission-select\" */))\nconst _6569bf84 = () => interopDefault(import('../pages/aichat/components/bot-create/protocol-agree.vue' /* webpackChunkName: \"pages/aichat/components/bot-create/protocol-agree\" */))\nconst _6fcd54fe = () => interopDefault(import('../pages/aichat/scripts/ai-im/utils/index.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/utils/index\" */))\nconst _3a5f47c0 = () => interopDefault(import('../pages/discover/components/user-info-item/user-info-item.vue' /* webpackChunkName: \"pages/discover/components/user-info-item/user-info-item\" */))\nconst _3a307e55 = () => interopDefault(import('../pages/discover/components/video-action-item/template.config.ts' /* webpackChunkName: \"pages/discover/components/video-action-item/template.config\" */))\nconst _864e4c9c = () => interopDefault(import('../pages/discover/components/video-action-item/video-action-item.vue' /* webpackChunkName: \"pages/discover/components/video-action-item/video-action-item\" */))\nconst _596ae100 = () => interopDefault(import('../pages/discover/components/video-card/video-card.vue' /* webpackChunkName: \"pages/discover/components/video-card/video-card\" */))\nconst _06f3a7c0 = () => interopDefault(import('../pages/e-commerce-seo-search/components/header/topbar.vue' /* webpackChunkName: \"pages/e-commerce-seo-search/components/header/topbar\" */))\nconst _50065979 = () => interopDefault(import('../pages/pwa-share-new/components/ai-ad-guide-card/mark.vue' /* webpackChunkName: \"pages/pwa-share-new/components/ai-ad-guide-card/mark\" */))\nconst _34e8a40e = () => interopDefault(import('../pages/pwa-share-new/components/feed-list/feed-list.vue' /* webpackChunkName: \"pages/pwa-share-new/components/feed-list/feed-list\" */))\nconst _4693a5ce = () => interopDefault(import('../pages/pwa-share-new/components/feed-list/ios-feed-list.vue' /* webpackChunkName: \"pages/pwa-share-new/components/feed-list/ios-feed-list\" */))\nconst _dc4713a0 = () => interopDefault(import('../pages/pwa-share-new/components/video-info/unmuted.vue' /* webpackChunkName: \"pages/pwa-share-new/components/video-info/unmuted\" */))\nconst _2149b97b = () => interopDefault(import('../pages/user/components/user-profile-base-info/useProfileInfo.ts' /* webpackChunkName: \"pages/user/components/user-profile-base-info/useProfileInfo\" */))\nconst _ddd6ceae = () => interopDefault(import('../pages/aichat/components/ai-actions-bar/scripts/ai_app.ts' /* webpackChunkName: \"pages/aichat/components/ai-actions-bar/scripts/ai_app\" */))\nconst _8e00edf6 = () => interopDefault(import('../pages/aichat/components/ai-actions-bar/scripts/ai_common.ts' /* webpackChunkName: \"pages/aichat/components/ai-actions-bar/scripts/ai_common\" */))\nconst _a19f4626 = () => interopDefault(import('../pages/aichat/components/ai-actions-bar/scripts/ai_seo.ts' /* webpackChunkName: \"pages/aichat/components/ai-actions-bar/scripts/ai_seo\" */))\nconst _56df666b = () => interopDefault(import('../pages/aichat/components/ai-audio-player/scripts/audio_cache.ts' /* webpackChunkName: \"pages/aichat/components/ai-audio-player/scripts/audio_cache\" */))\nconst _f2c65d86 = () => interopDefault(import('../pages/aichat/components/ai-audio-player/scripts/audio_text_cache.ts' /* webpackChunkName: \"pages/aichat/components/ai-audio-player/scripts/audio_text_cache\" */))\nconst _224bd256 = () => interopDefault(import('../pages/aichat/components/ai-chat-inbox/components/conversation-item/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-chat-inbox/components/conversation-item/index\" */))\nconst _65df7efe = () => interopDefault(import('../pages/aichat/components/ai-chat-inbox/components/likeBtn/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-chat-inbox/components/likeBtn/index\" */))\nconst _292362fb = () => interopDefault(import('../pages/aichat/components/ai-chat-inbox/components/tabs/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-chat-inbox/components/tabs/index\" */))\nconst _3a91d51a = () => interopDefault(import('../pages/aichat/components/ai-chat/messages-lists/message-intro.vue' /* webpackChunkName: \"pages/aichat/components/ai-chat/messages-lists/message-intro\" */))\nconst _1412fcf6 = () => interopDefault(import('../pages/aichat/components/ai-chat/messages-lists/message-text.vue' /* webpackChunkName: \"pages/aichat/components/ai-chat/messages-lists/message-text\" */))\nconst _0d7fbc90 = () => interopDefault(import('../pages/aichat/components/ai-input-box/components/recording-animation/index.vue' /* webpackChunkName: \"pages/aichat/components/ai-input-box/components/recording-animation/index\" */))\nconst _e5450498 = () => interopDefault(import('../pages/aichat/components/ai-input-box/script/ai_message_processor.ts' /* webpackChunkName: \"pages/aichat/components/ai-input-box/script/ai_message_processor\" */))\nconst _435aaefd = () => interopDefault(import('../pages/aichat/components/ai-input-box/script/speech_recognition.ts' /* webpackChunkName: \"pages/aichat/components/ai-input-box/script/speech_recognition\" */))\nconst _c6686898 = () => interopDefault(import('../pages/aichat/components/ai-input-box/script/vibrate.ts' /* webpackChunkName: \"pages/aichat/components/ai-input-box/script/vibrate\" */))\nconst _7631e86b = () => interopDefault(import('../pages/aichat/components/bot-create/scripts/bot-draft-handler.ts' /* webpackChunkName: \"pages/aichat/components/bot-create/scripts/bot-draft-handler\" */))\nconst _4cb0afb2 = () => interopDefault(import('../pages/aichat/components/bot-create/scripts/utils.ts' /* webpackChunkName: \"pages/aichat/components/bot-create/scripts/utils\" */))\nconst _4f2ee2ae = () => interopDefault(import('../pages/aichat/scripts/ai-im/models/AIModel.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/models/AIModel\" */))\nconst _456c1520 = () => interopDefault(import('../pages/aichat/scripts/ai-im/models/UIAIConversationModel.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/models/UIAIConversationModel\" */))\nconst _4ece80d2 = () => interopDefault(import('../pages/aichat/scripts/ai-im/models/UIAIMessageModel.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/models/UIAIMessageModel\" */))\nconst _c8d8f530 = () => interopDefault(import('../pages/aichat/scripts/ai-im/models/UIAIUserModel.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/models/UIAIUserModel\" */))\nconst _049c4835 = () => interopDefault(import('../pages/aichat/scripts/ai-im/services/UIAIChatService.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/services/UIAIChatService\" */))\nconst _53e422a0 = () => interopDefault(import('../pages/aichat/scripts/ai-im/services/UIAIConversationService.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/services/UIAIConversationService\" */))\nconst _c9758b98 = () => interopDefault(import('../pages/aichat/scripts/ai-im/services/UIUserServies.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/services/UIUserServies\" */))\nconst _6b1798a1 = () => interopDefault(import('../pages/aichat/scripts/ai-im/stores/AIChatStore.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/stores/AIChatStore\" */))\nconst _436e8c68 = () => interopDefault(import('../pages/aichat/scripts/ai-im/stores/AIConversationStore.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/stores/AIConversationStore\" */))\nconst _5330afe2 = () => interopDefault(import('../pages/aichat/scripts/ai-im/stores/AIStoreType.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/stores/AIStoreType\" */))\nconst _0405ce14 = () => interopDefault(import('../pages/aichat/scripts/ai-im/stores/AIUserStore.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/stores/AIUserStore\" */))\nconst _3e9c7006 = () => interopDefault(import('../pages/aichat/scripts/ai-im/stores/UIAIStore.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/stores/UIAIStore\" */))\nconst _267072a0 = () => interopDefault(import('../pages/aichat/scripts/ai-im/utils/aiTools.ts' /* webpackChunkName: \"pages/aichat/scripts/ai-im/utils/aiTools\" */))\nconst _174203e1 = () => interopDefault(import('../pages/discover/components/caption-item/scripts/app.ts' /* webpackChunkName: \"pages/discover/components/caption-item/scripts/app\" */))\nconst _355dc825 = () => interopDefault(import('../pages/discover/components/caption-item/scripts/seo.ts' /* webpackChunkName: \"pages/discover/components/caption-item/scripts/seo\" */))\nconst _21faf564 = () => interopDefault(import('../pages/discover/components/picture-action-item/scripts/app.ts' /* webpackChunkName: \"pages/discover/components/picture-action-item/scripts/app\" */))\nconst _63851e40 = () => interopDefault(import('../pages/discover/components/picture-action-item/scripts/common.ts' /* webpackChunkName: \"pages/discover/components/picture-action-item/scripts/common\" */))\nconst _0d1e4992 = () => interopDefault(import('../pages/discover/components/picture-action-item/scripts/seo.ts' /* webpackChunkName: \"pages/discover/components/picture-action-item/scripts/seo\" */))\nconst _531e7571 = () => interopDefault(import('../pages/discover/components/video-action-item/scripts/app.ts' /* webpackChunkName: \"pages/discover/components/video-action-item/scripts/app\" */))\nconst _32b3173d = () => interopDefault(import('../pages/discover/components/video-action-item/scripts/common.ts' /* webpackChunkName: \"pages/discover/components/video-action-item/scripts/common\" */))\nconst _713a39b5 = () => interopDefault(import('../pages/discover/components/video-action-item/scripts/seo.ts' /* webpackChunkName: \"pages/discover/components/video-action-item/scripts/seo\" */))\nconst _aef4909e = () => interopDefault(import('../pages/pwa-share-new/components/action-bar/scripts/app.ts' /* webpackChunkName: \"pages/pwa-share-new/components/action-bar/scripts/app\" */))\nconst _a3eca606 = () => interopDefault(import('../pages/pwa-share-new/components/action-bar/scripts/common.ts' /* webpackChunkName: \"pages/pwa-share-new/components/action-bar/scripts/common\" */))\nconst _72bd0816 = () => interopDefault(import('../pages/pwa-share-new/components/action-bar/scripts/seo.ts' /* webpackChunkName: \"pages/pwa-share-new/components/action-bar/scripts/seo\" */))\nconst _60ce8f87 = () => interopDefault(import('../pages/pwa-share-new/components/ai-chat-card/scripts/dataSource.ts' /* webpackChunkName: \"pages/pwa-share-new/components/ai-chat-card/scripts/dataSource\" */))\nconst _31f6dabf = () => interopDefault(import('../pages/article/_content.vue' /* webpackChunkName: \"pages/article/_content\" */))\nconst _35d2d644 = () => interopDefault(import('../pages/discover/_content.vue' /* webpackChunkName: \"pages/discover/_content\" */))\nconst _31508c2b = () => interopDefault(import('../pages/picture/_photoId.vue' /* webpackChunkName: \"pages/picture/_photoId\" */))\nconst _0efb41ec = () => interopDefault(import('../pages/playlist/_albumId.vue' /* webpackChunkName: \"pages/playlist/_albumId\" */))\nconst _3b398c26 = () => interopDefault(import('../pages/topic/_content.vue' /* webpackChunkName: \"pages/topic/_content\" */))\nconst _e5817aa6 = () => interopDefault(import('../pages/user/_userId.vue' /* webpackChunkName: \"pages/user/_userId\" */))\nconst _79471664 = () => interopDefault(import('../pages/video/_photoId.vue' /* webpackChunkName: \"pages/video/_photoId\" */))\nconst _5b2f2d76 = () => interopDefault(import('../pages/index.vue' /* webpackChunkName: \"pages/index\" */))\n\nconst emptyFn = () => {}\n\nVue.use(Router)\n\nexport const routerOptions = {\n mode: 'history',\n base: '/',\n linkActiveClass: 'nuxt-link-active',\n linkExactActiveClass: 'nuxt-link-exact-active',\n scrollBehavior,\n\n routes: [{\n path: \"/account-management\",\n component: _c34c169c,\n name: \"account-management\"\n }, {\n path: \"/aichat\",\n component: _6a56820f,\n name: \"aichat\"\n }, {\n path: \"/channel\",\n component: _4a33092c,\n name: \"channel\"\n }, {\n path: \"/direct\",\n component: _e235b990,\n name: \"direct\"\n }, {\n path: \"/discover-search\",\n component: _828fe99a,\n name: \"discover-search\"\n }, {\n path: \"/e-commerce-seo-search\",\n component: _2e8b9489,\n name: \"e-commerce-seo-search\"\n }, {\n path: \"/foryou\",\n component: _00a251c5,\n name: \"foryou\"\n }, {\n path: \"/message\",\n component: _0fdded24,\n name: \"message\"\n }, {\n path: \"/node-service-stability\",\n component: _b78fbad6,\n name: \"node-service-stability\"\n }, {\n path: \"/not-found\",\n component: _966e55a2,\n name: \"not-found\"\n }, {\n path: \"/old-foryou\",\n component: _3e7b02ab,\n name: \"old-foryou\"\n }, {\n path: \"/profile\",\n component: _19567090,\n name: \"profile\"\n }, {\n path: \"/pwa-share-new\",\n component: _34af4374,\n name: \"pwa-share-new\"\n }, {\n path: \"/aichat/chat\",\n component: _104571ab,\n name: \"aichat-chat\"\n }, {\n path: \"/aichat/chatlist\",\n component: _1de6e1c9,\n name: \"aichat-chatlist\"\n }, {\n path: \"/aichat/create\",\n component: _082e0a8f,\n name: \"aichat-create\"\n }, {\n path: \"/aichat/create-voice\",\n component: _5737cff4,\n name: \"aichat-create-voice\"\n }, {\n path: \"/aichat/discover\",\n component: _431f5f88,\n name: \"aichat-discover\"\n }, {\n path: \"/aichat/history\",\n component: _329a3791,\n name: \"aichat-history\"\n }, {\n path: \"/aichat/inbox\",\n component: _119a81c3,\n name: \"aichat-inbox\"\n }, {\n path: \"/aichat/message\",\n component: _2cd73cf8,\n name: \"aichat-message\"\n }, {\n path: \"/aichat/more-voice\",\n component: _3eb901cd,\n name: \"aichat-more-voice\"\n }, {\n path: \"/aichat/myprofile\",\n component: _a5c3988c,\n name: \"aichat-myprofile\"\n }, {\n path: \"/aichat/policy\",\n component: _158d03c5,\n name: \"aichat-policy\"\n }, {\n path: \"/aichat/report\",\n component: _29afe2c7,\n name: \"aichat-report\"\n }, {\n path: \"/discover/discoverContent\",\n component: _06278594,\n name: \"discover-discoverContent\"\n }, {\n path: \"/pwa-share-new/type\",\n component: _1d16ac8f,\n name: \"pwa-share-new-type\"\n }, {\n path: \"/pwa-share-new/utils\",\n component: _4ca00d00,\n name: \"pwa-share-new-utils\"\n }, {\n path: \"/aichat/components/ai-actions-bar\",\n component: _c2fe8212,\n name: \"aichat-components-ai-actions-bar\"\n }, {\n path: \"/aichat/components/ai-ads-popup\",\n component: _85bfaf7a,\n name: \"aichat-components-ai-ads-popup\"\n }, {\n path: \"/aichat/components/ai-age-confirm\",\n component: _3f0d5e34,\n name: \"aichat-components-ai-age-confirm\"\n }, {\n path: \"/aichat/components/ai-audio-player\",\n component: _25151c9a,\n name: \"aichat-components-ai-audio-player\"\n }, {\n path: \"/aichat/components/ai-base-layout\",\n component: _09b12d9a,\n name: \"aichat-components-ai-base-layout\"\n }, {\n path: \"/aichat/components/ai-chat\",\n component: _0e76123a,\n name: \"aichat-components-ai-chat\"\n }, {\n path: \"/aichat/components/ai-discover\",\n component: _4005fa0b,\n name: \"aichat-components-ai-discover\"\n }, {\n path: \"/aichat/components/ai-feed-list\",\n component: _27a6a0e1,\n name: \"aichat-components-ai-feed-list\"\n }, {\n path: \"/aichat/components/ai-full-screen\",\n component: _7d1ce05e,\n name: \"aichat-components-ai-full-screen\"\n }, {\n path: \"/aichat/components/ai-gender-popup\",\n component: _41d3f082,\n name: \"aichat-components-ai-gender-popup\"\n }, {\n path: \"/aichat/components/ai-info\",\n component: _2ebbb010,\n name: \"aichat-components-ai-info\"\n }, {\n path: \"/aichat/components/ai-info-popup\",\n component: _373aee2f,\n name: \"aichat-components-ai-info-popup\"\n }, {\n path: \"/aichat/components/ai-input-box\",\n component: _1d803e08,\n name: \"aichat-components-ai-input-box\"\n }, {\n path: \"/aichat/components/ai-lead-chat\",\n component: _4d30b59d,\n name: \"aichat-components-ai-lead-chat\"\n }, {\n path: \"/aichat/components/ai-tabbar\",\n component: _52563200,\n name: \"aichat-components-ai-tabbar\"\n }, {\n path: \"/aichat/components/ai-to-desktop-popup\",\n component: _aaf831ea,\n name: \"aichat-components-ai-to-desktop-popup\"\n }, {\n path: \"/aichat/components/ai-top-bar\",\n component: _5882d1cf,\n name: \"aichat-components-ai-top-bar\"\n }, {\n path: \"/aichat/components/ai-top-tabs\",\n component: _2a8676d8,\n name: \"aichat-components-ai-top-tabs\"\n }, {\n path: \"/aichat/components/ai-watermark\",\n component: _893a7dd0,\n name: \"aichat-components-ai-watermark\"\n }, {\n path: \"/aichat/components/left-menu\",\n component: _6e65f142,\n name: \"aichat-components-left-menu\"\n }, {\n path: \"/aichat/components/load\",\n component: _a1852b82,\n name: \"aichat-components-load\"\n }, {\n path: \"/aichat/components/message-action-popup\",\n component: _f102f518,\n name: \"aichat-components-message-action-popup\"\n }, {\n path: \"/aichat/components/message-feedback-popup\",\n component: _142ef3c3,\n name: \"aichat-components-message-feedback-popup\"\n }, {\n path: \"/aichat/components/side-bar\",\n component: _fbc32f94,\n name: \"aichat-components-side-bar\"\n }, {\n path: \"/aichat/hooks/useAppEnvironment\",\n component: _7447e424,\n name: \"aichat-hooks-useAppEnvironment\"\n }, {\n path: \"/aichat/hooks/useInstallPWA\",\n component: _638875e1,\n name: \"aichat-hooks-useInstallPWA\"\n }, {\n path: \"/aichat/scripts/ai-chat\",\n component: _2ecd0d92,\n name: \"aichat-scripts-ai-chat\"\n }, {\n path: \"/aichat/scripts/ai-chat-handler\",\n component: _9fdd9e16,\n name: \"aichat-scripts-ai-chat-handler\"\n }, {\n path: \"/aichat/scripts/discoverLogger\",\n component: _910eabdc,\n name: \"aichat-scripts-discoverLogger\"\n }, {\n path: \"/aichat/scripts/inboxLogger\",\n component: _64c6e7ce,\n name: \"aichat-scripts-inboxLogger\"\n }, {\n path: \"/aichat/scripts/logger\",\n component: _3dee69fb,\n name: \"aichat-scripts-logger\"\n }, {\n path: \"/article/components/article-action\",\n component: _dfbf23d8,\n name: \"article-components-article-action\"\n }, {\n path: \"/article/components/article-detail\",\n component: _1c81626f,\n name: \"article-components-article-detail\"\n }, {\n path: \"/article/models/main\",\n component: _544cfedc,\n name: \"article-models-main\"\n }, {\n path: \"/direct/components/direct-open-app\",\n component: _967c2254,\n name: \"direct-components-direct-open-app\"\n }, {\n path: \"/discover/components/ai-content-item\",\n component: _555dab40,\n name: \"discover-components-ai-content-item\"\n }, {\n path: \"/discover/components/app-whatsapp-status\",\n component: _7fde13f5,\n name: \"discover-components-app-whatsapp-status\"\n }, {\n path: \"/discover/components/caption-item\",\n component: _c95703c8,\n name: \"discover-components-caption-item\"\n }, {\n path: \"/discover/components/expand-words\",\n component: _7d403a38,\n name: \"discover-components-expand-words\"\n }, {\n path: \"/discover/components/list\",\n component: _e825e3c0,\n name: \"discover-components-list\"\n }, {\n path: \"/discover/components/picture-action-item\",\n component: _29cbe6e2,\n name: \"discover-components-picture-action-item\"\n }, {\n path: \"/discover/components/picture-card\",\n component: _75710fc1,\n name: \"discover-components-picture-card\"\n }, {\n path: \"/discover/components/user-info-item\",\n component: _086bf392,\n name: \"discover-components-user-info-item\"\n }, {\n path: \"/discover/components/video-action-item\",\n component: _1c895ae8,\n name: \"discover-components-video-action-item\"\n }, {\n path: \"/discover/components/video-card\",\n component: _5a1c4738,\n name: \"discover-components-video-card\"\n }, {\n path: \"/e-commerce-seo-search/components/header\",\n component: _514493a0,\n name: \"e-commerce-seo-search-components-header\"\n }, {\n path: \"/foryou/components/swiperable-tabs\",\n component: _18fbaf00,\n name: \"foryou-components-swiperable-tabs\"\n }, {\n path: \"/picture/scripts/app\",\n component: _0c741c10,\n name: \"picture-scripts-app\"\n }, {\n path: \"/picture/scripts/seo\",\n component: _17e1b63c,\n name: \"picture-scripts-seo\"\n }, {\n path: \"/playlist/components/card\",\n component: _38ae0a8a,\n name: \"playlist-components-card\"\n }, {\n path: \"/playlist/components/list\",\n component: _c2ebd26e,\n name: \"playlist-components-list\"\n }, {\n path: \"/playlist/hooks/useList\",\n component: _8e8700a0,\n name: \"playlist-hooks-useList\"\n }, {\n path: \"/pwa-share-new/components/action-bar\",\n component: _28e3a84c,\n name: \"pwa-share-new-components-action-bar\"\n }, {\n path: \"/pwa-share-new/components/action-list-popup\",\n component: _c029e20c,\n name: \"pwa-share-new-components-action-list-popup\"\n }, {\n path: \"/pwa-share-new/components/ai-ad-guide-card\",\n component: _897fb354,\n name: \"pwa-share-new-components-ai-ad-guide-card\"\n }, {\n path: \"/pwa-share-new/components/ai-chat-card\",\n component: _2e5e59e0,\n name: \"pwa-share-new-components-ai-chat-card\"\n }, {\n path: \"/pwa-share-new/components/comment\",\n component: _2c4376a5,\n name: \"pwa-share-new-components-comment\"\n }, {\n path: \"/pwa-share-new/components/feed-list\",\n component: _3e67011a,\n name: \"pwa-share-new-components-feed-list\"\n }, {\n path: \"/pwa-share-new/components/google-ad\",\n component: _57f24bbd,\n name: \"pwa-share-new-components-google-ad\"\n }, {\n path: \"/pwa-share-new/components/incentive-pendant\",\n component: _7f2a9a00,\n name: \"pwa-share-new-components-incentive-pendant\"\n }, {\n path: \"/pwa-share-new/components/loading-dark\",\n component: _339816b7,\n name: \"pwa-share-new-components-loading-dark\"\n }, {\n path: \"/pwa-share-new/components/lumina-ad\",\n component: _45c12efe,\n name: \"pwa-share-new-components-lumina-ad\"\n }, {\n path: \"/pwa-share-new/components/slider-guide\",\n component: _1765c5c0,\n name: \"pwa-share-new-components-slider-guide\"\n }, {\n path: \"/pwa-share-new/components/slider-guide2\",\n component: _59134930,\n name: \"pwa-share-new-components-slider-guide2\"\n }, {\n path: \"/pwa-share-new/components/topbar\",\n component: _26f3fa24,\n name: \"pwa-share-new-components-topbar\"\n }, {\n path: \"/pwa-share-new/components/video-info\",\n component: _2496a610,\n name: \"pwa-share-new-components-video-info\"\n }, {\n path: \"/topic/components/load\",\n component: _202c5c74,\n name: \"topic-components-load\"\n }, {\n path: \"/topic/components/picture-card\",\n component: _3acc3b1f,\n name: \"topic-components-picture-card\"\n }, {\n path: \"/topic/components/tyml-card\",\n component: _026fbe0f,\n name: \"topic-components-tyml-card\"\n }, {\n path: \"/topic/components/utils\",\n component: _c149743e,\n name: \"topic-components-utils\"\n }, {\n path: \"/topic/components/video-card\",\n component: _013c4742,\n name: \"topic-components-video-card\"\n }, {\n path: \"/topic/components/water-fall\",\n component: _f018445e,\n name: \"topic-components-water-fall\"\n }, {\n path: \"/user/components/collection-swipper\",\n component: _915aed32,\n name: \"user-components-collection-swipper\"\n }, {\n path: \"/user/components/list\",\n component: _11f9e582,\n name: \"user-components-list\"\n }, {\n path: \"/user/components/nav\",\n component: _1fbab815,\n name: \"user-components-nav\"\n }, {\n path: \"/user/components/post-card\",\n component: _39cc394f,\n name: \"user-components-post-card\"\n }, {\n path: \"/user/components/user-profile-base-info\",\n component: _217aa2a8,\n name: \"user-components-user-profile-base-info\"\n }, {\n path: \"/user/hooks/useInfo\",\n component: _8990c272,\n name: \"user-hooks-useInfo\"\n }, {\n path: \"/user/hooks/useList\",\n component: _521b8cd7,\n name: \"user-hooks-useList\"\n }, {\n path: \"/user/hooks/useNoticePopup\",\n component: _2452141e,\n name: \"user-hooks-useNoticePopup\"\n }, {\n path: \"/aichat/components/ai-audio-player/audio-text\",\n component: _36a6552c,\n name: \"aichat-components-ai-audio-player-audio-text\"\n }, {\n path: \"/aichat/components/ai-chat/type\",\n component: _31e8cd83,\n name: \"aichat-components-ai-chat-type\"\n }, {\n path: \"/aichat/components/ai-discover/tab-card\",\n component: _5efe2ce2,\n name: \"aichat-components-ai-discover-tab-card\"\n }, {\n path: \"/aichat/components/ai-discover/tab-page\",\n component: _178401a1,\n name: \"aichat-components-ai-discover-tab-page\"\n }, {\n path: \"/aichat/components/ai-feed/ai-feed\",\n component: _0fe39251,\n name: \"aichat-components-ai-feed-ai-feed\"\n }, {\n path: \"/aichat/components/ai-profile/post-card\",\n component: _1c79dab0,\n name: \"aichat-components-ai-profile-post-card\"\n }, {\n path: \"/aichat/components/bot-create/add-tag\",\n component: _213f3e12,\n name: \"aichat-components-bot-create-add-tag\"\n }, {\n path: \"/aichat/components/bot-create/add-tag-dialog\",\n component: _6f3a708e,\n name: \"aichat-components-bot-create-add-tag-dialog\"\n }, {\n path: \"/aichat/components/bot-create/avatar-upload\",\n component: _2a25493e,\n name: \"aichat-components-bot-create-avatar-upload\"\n }, {\n path: \"/aichat/components/bot-create/background-input\",\n component: _6a6a89b2,\n name: \"aichat-components-bot-create-background-input\"\n }, {\n path: \"/aichat/components/bot-create/draft-dialog\",\n component: _2550258a,\n name: \"aichat-components-bot-create-draft-dialog\"\n }, {\n path: \"/aichat/components/bot-create/gender-select\",\n component: _28e44f5e,\n name: \"aichat-components-bot-create-gender-select\"\n }, {\n path: \"/aichat/components/bot-create/greeting-input\",\n component: _0c7a62bd,\n name: \"aichat-components-bot-create-greeting-input\"\n }, {\n path: \"/aichat/components/bot-create/intro-input\",\n component: _e152f09c,\n name: \"aichat-components-bot-create-intro-input\"\n }, {\n path: \"/aichat/components/bot-create/name-input\",\n component: _5f226e0f,\n name: \"aichat-components-bot-create-name-input\"\n }, {\n path: \"/aichat/components/bot-create/permission-select\",\n component: _b6dc9ffa,\n name: \"aichat-components-bot-create-permission-select\"\n }, {\n path: \"/aichat/components/bot-create/protocol-agree\",\n component: _6569bf84,\n name: \"aichat-components-bot-create-protocol-agree\"\n }, {\n path: \"/aichat/scripts/ai-im/utils\",\n component: _6fcd54fe,\n name: \"aichat-scripts-ai-im-utils\"\n }, {\n path: \"/discover/components/user-info-item/user-info-item\",\n component: _3a5f47c0,\n name: \"discover-components-user-info-item-user-info-item\"\n }, {\n path: \"/discover/components/video-action-item/template.config\",\n component: _3a307e55,\n name: \"discover-components-video-action-item-template.config\"\n }, {\n path: \"/discover/components/video-action-item/video-action-item\",\n component: _864e4c9c,\n name: \"discover-components-video-action-item-video-action-item\"\n }, {\n path: \"/discover/components/video-card/video-card\",\n component: _596ae100,\n name: \"discover-components-video-card-video-card\"\n }, {\n path: \"/e-commerce-seo-search/components/header/topbar\",\n component: _06f3a7c0,\n name: \"e-commerce-seo-search-components-header-topbar\"\n }, {\n path: \"/pwa-share-new/components/ai-ad-guide-card/mark\",\n component: _50065979,\n name: \"pwa-share-new-components-ai-ad-guide-card-mark\"\n }, {\n path: \"/pwa-share-new/components/feed-list/feed-list\",\n component: _34e8a40e,\n name: \"pwa-share-new-components-feed-list-feed-list\"\n }, {\n path: \"/pwa-share-new/components/feed-list/ios-feed-list\",\n component: _4693a5ce,\n name: \"pwa-share-new-components-feed-list-ios-feed-list\"\n }, {\n path: \"/pwa-share-new/components/video-info/unmuted\",\n component: _dc4713a0,\n name: \"pwa-share-new-components-video-info-unmuted\"\n }, {\n path: \"/user/components/user-profile-base-info/useProfileInfo\",\n component: _2149b97b,\n name: \"user-components-user-profile-base-info-useProfileInfo\"\n }, {\n path: \"/aichat/components/ai-actions-bar/scripts/ai_app\",\n component: _ddd6ceae,\n name: \"aichat-components-ai-actions-bar-scripts-ai_app\"\n }, {\n path: \"/aichat/components/ai-actions-bar/scripts/ai_common\",\n component: _8e00edf6,\n name: \"aichat-components-ai-actions-bar-scripts-ai_common\"\n }, {\n path: \"/aichat/components/ai-actions-bar/scripts/ai_seo\",\n component: _a19f4626,\n name: \"aichat-components-ai-actions-bar-scripts-ai_seo\"\n }, {\n path: \"/aichat/components/ai-audio-player/scripts/audio_cache\",\n component: _56df666b,\n name: \"aichat-components-ai-audio-player-scripts-audio_cache\"\n }, {\n path: \"/aichat/components/ai-audio-player/scripts/audio_text_cache\",\n component: _f2c65d86,\n name: \"aichat-components-ai-audio-player-scripts-audio_text_cache\"\n }, {\n path: \"/aichat/components/ai-chat-inbox/components/conversation-item\",\n component: _224bd256,\n name: \"aichat-components-ai-chat-inbox-components-conversation-item\"\n }, {\n path: \"/aichat/components/ai-chat-inbox/components/likeBtn\",\n component: _65df7efe,\n name: \"aichat-components-ai-chat-inbox-components-likeBtn\"\n }, {\n path: \"/aichat/components/ai-chat-inbox/components/tabs\",\n component: _292362fb,\n name: \"aichat-components-ai-chat-inbox-components-tabs\"\n }, {\n path: \"/aichat/components/ai-chat/messages-lists/message-intro\",\n component: _3a91d51a,\n name: \"aichat-components-ai-chat-messages-lists-message-intro\"\n }, {\n path: \"/aichat/components/ai-chat/messages-lists/message-text\",\n component: _1412fcf6,\n name: \"aichat-components-ai-chat-messages-lists-message-text\"\n }, {\n path: \"/aichat/components/ai-input-box/components/recording-animation\",\n component: _0d7fbc90,\n name: \"aichat-components-ai-input-box-components-recording-animation\"\n }, {\n path: \"/aichat/components/ai-input-box/script/ai_message_processor\",\n component: _e5450498,\n name: \"aichat-components-ai-input-box-script-ai_message_processor\"\n }, {\n path: \"/aichat/components/ai-input-box/script/speech_recognition\",\n component: _435aaefd,\n name: \"aichat-components-ai-input-box-script-speech_recognition\"\n }, {\n path: \"/aichat/components/ai-input-box/script/vibrate\",\n component: _c6686898,\n name: \"aichat-components-ai-input-box-script-vibrate\"\n }, {\n path: \"/aichat/components/bot-create/scripts/bot-draft-handler\",\n component: _7631e86b,\n name: \"aichat-components-bot-create-scripts-bot-draft-handler\"\n }, {\n path: \"/aichat/components/bot-create/scripts/utils\",\n component: _4cb0afb2,\n name: \"aichat-components-bot-create-scripts-utils\"\n }, {\n path: \"/aichat/scripts/ai-im/models/AIModel\",\n component: _4f2ee2ae,\n name: \"aichat-scripts-ai-im-models-AIModel\"\n }, {\n path: \"/aichat/scripts/ai-im/models/UIAIConversationModel\",\n component: _456c1520,\n name: \"aichat-scripts-ai-im-models-UIAIConversationModel\"\n }, {\n path: \"/aichat/scripts/ai-im/models/UIAIMessageModel\",\n component: _4ece80d2,\n name: \"aichat-scripts-ai-im-models-UIAIMessageModel\"\n }, {\n path: \"/aichat/scripts/ai-im/models/UIAIUserModel\",\n component: _c8d8f530,\n name: \"aichat-scripts-ai-im-models-UIAIUserModel\"\n }, {\n path: \"/aichat/scripts/ai-im/services/UIAIChatService\",\n component: _049c4835,\n name: \"aichat-scripts-ai-im-services-UIAIChatService\"\n }, {\n path: \"/aichat/scripts/ai-im/services/UIAIConversationService\",\n component: _53e422a0,\n name: \"aichat-scripts-ai-im-services-UIAIConversationService\"\n }, {\n path: \"/aichat/scripts/ai-im/services/UIUserServies\",\n component: _c9758b98,\n name: \"aichat-scripts-ai-im-services-UIUserServies\"\n }, {\n path: \"/aichat/scripts/ai-im/stores/AIChatStore\",\n component: _6b1798a1,\n name: \"aichat-scripts-ai-im-stores-AIChatStore\"\n }, {\n path: \"/aichat/scripts/ai-im/stores/AIConversationStore\",\n component: _436e8c68,\n name: \"aichat-scripts-ai-im-stores-AIConversationStore\"\n }, {\n path: \"/aichat/scripts/ai-im/stores/AIStoreType\",\n component: _5330afe2,\n name: \"aichat-scripts-ai-im-stores-AIStoreType\"\n }, {\n path: \"/aichat/scripts/ai-im/stores/AIUserStore\",\n component: _0405ce14,\n name: \"aichat-scripts-ai-im-stores-AIUserStore\"\n }, {\n path: \"/aichat/scripts/ai-im/stores/UIAIStore\",\n component: _3e9c7006,\n name: \"aichat-scripts-ai-im-stores-UIAIStore\"\n }, {\n path: \"/aichat/scripts/ai-im/utils/aiTools\",\n component: _267072a0,\n name: \"aichat-scripts-ai-im-utils-aiTools\"\n }, {\n path: \"/discover/components/caption-item/scripts/app\",\n component: _174203e1,\n name: \"discover-components-caption-item-scripts-app\"\n }, {\n path: \"/discover/components/caption-item/scripts/seo\",\n component: _355dc825,\n name: \"discover-components-caption-item-scripts-seo\"\n }, {\n path: \"/discover/components/picture-action-item/scripts/app\",\n component: _21faf564,\n name: \"discover-components-picture-action-item-scripts-app\"\n }, {\n path: \"/discover/components/picture-action-item/scripts/common\",\n component: _63851e40,\n name: \"discover-components-picture-action-item-scripts-common\"\n }, {\n path: \"/discover/components/picture-action-item/scripts/seo\",\n component: _0d1e4992,\n name: \"discover-components-picture-action-item-scripts-seo\"\n }, {\n path: \"/discover/components/video-action-item/scripts/app\",\n component: _531e7571,\n name: \"discover-components-video-action-item-scripts-app\"\n }, {\n path: \"/discover/components/video-action-item/scripts/common\",\n component: _32b3173d,\n name: \"discover-components-video-action-item-scripts-common\"\n }, {\n path: \"/discover/components/video-action-item/scripts/seo\",\n component: _713a39b5,\n name: \"discover-components-video-action-item-scripts-seo\"\n }, {\n path: \"/pwa-share-new/components/action-bar/scripts/app\",\n component: _aef4909e,\n name: \"pwa-share-new-components-action-bar-scripts-app\"\n }, {\n path: \"/pwa-share-new/components/action-bar/scripts/common\",\n component: _a3eca606,\n name: \"pwa-share-new-components-action-bar-scripts-common\"\n }, {\n path: \"/pwa-share-new/components/action-bar/scripts/seo\",\n component: _72bd0816,\n name: \"pwa-share-new-components-action-bar-scripts-seo\"\n }, {\n path: \"/pwa-share-new/components/ai-chat-card/scripts/dataSource\",\n component: _60ce8f87,\n name: \"pwa-share-new-components-ai-chat-card-scripts-dataSource\"\n }, {\n path: \"/article/:content?\",\n component: _31f6dabf,\n name: \"article-content\"\n }, {\n path: \"/discover/:content?\",\n component: _35d2d644,\n name: \"discover-content\"\n }, {\n path: \"/picture/:photoId?\",\n component: _31508c2b,\n name: \"picture-photoId\"\n }, {\n path: \"/playlist/:albumId?\",\n component: _0efb41ec,\n name: \"playlist-albumId\"\n }, {\n path: \"/topic/:content?\",\n component: _3b398c26,\n name: \"topic-content\"\n }, {\n path: \"/user/:userId?\",\n component: _e5817aa6,\n name: \"user-userId\"\n }, {\n path: \"/video/:photoId?\",\n component: _79471664,\n name: \"video-photoId\"\n }, {\n path: \"/\",\n component: _5b2f2d76,\n name: \"index\"\n }, {\n path: \"/@*/playlist/:albumId\",\n component: _0efb41ec,\n name: \"playlist-detail\"\n }, {\n path: \"/@*/video/:photoId\",\n component: _79471664,\n meta: {\"replacePhotoId\":true},\n name: \"video-detail\"\n }, {\n path: \"/@*/picture/:photoId\",\n component: _31508c2b,\n name: \"picture-detail\"\n }, {\n path: \"/@*\",\n component: _e5817aa6,\n name: \"profile\"\n }, {\n path: \"/pwa-share-new/:photoId\",\n component: _34af4374,\n name: \"video-detail-share\"\n }, {\n path: \"/search/:searchWord/video/:photoId\",\n component: _828fe99a,\n meta: {\"replacePhotoId\":true},\n name: \"discover-search\"\n }, {\n path: \"/search/video/:photoId\",\n component: _828fe99a,\n meta: {\"replacePhotoId\":true},\n name: \"discover-search\"\n }, {\n path: \"/channel/:content\",\n component: _4a33092c,\n name: \"channel\"\n }, {\n path: \"/aichat/bot/:botId/:tagName?\",\n component: _6a56820f,\n name: \"aichat-detail\"\n }, {\n path: \"/aichat/room/:botId\",\n component: _104571ab,\n name: \"aichat-room\"\n }, {\n path: \"/aichat/discover\",\n component: _431f5f88,\n name: \"aichat-discover\"\n }, {\n path: \"/aichat/inbox\",\n component: _119a81c3,\n name: \"aichat-inbox\"\n }, {\n path: \"/aichat/report\",\n component: _29afe2c7,\n name: \"aichat-report\"\n }, {\n path: \"/aichat/history\",\n component: _329a3791,\n name: \"aichat-history\"\n }, {\n path: \"/aichat/chatlist\",\n component: _1de6e1c9,\n name: \"aichat-chatlist\"\n }, {\n path: \"/aichat/create\",\n component: _082e0a8f,\n name: \"aichat-create\"\n }, {\n path: \"/aichat/create-voice\",\n component: _5737cff4,\n name: \"aichat-create-voice\"\n }, {\n path: \"/aichat/more-voice\",\n component: _3eb901cd,\n name: \"aichat-more-voice\"\n }, {\n path: \"/aichat/myprofile\",\n component: _a5c3988c,\n name: \"aichat-myprofile\"\n }, {\n path: \"/node-service-stability/timeout\",\n component: _b78fbad6,\n name: \"node-service-stability-timeout\"\n }, {\n path: \"/node-service-stability/fallback\",\n component: _b78fbad6,\n name: \"node-service-stability-fallback\"\n }, {\n path: \"/eshop\",\n component: _2e8b9489,\n name: \"e-commerce-seo-search-default\"\n }, {\n path: \"/eshop/:searchWord\",\n component: _2e8b9489,\n name: \"e-commerce-seo-search-keyword\"\n }],\n\n fallback: false\n}\n\nexport function createRouter (ssrContext, config) {\n const base = (config._app && config._app.basePath) || routerOptions.base\n const router = new Router({ ...routerOptions, base })\n\n // TODO: remove in Nuxt 3\n const originalPush = router.push\n router.push = function push (location, onComplete = emptyFn, onAbort) {\n return originalPush.call(this, location, onComplete, onAbort)\n }\n\n const resolve = router.resolve.bind(router)\n router.resolve = (to, current, append) => {\n if (typeof to === 'string') {\n to = normalizeURL(to)\n }\n return resolve(to, current, append)\n }\n\n return router\n}\n","export default {\n name: 'NuxtChild',\n functional: true,\n props: {\n nuxtChildKey: {\n type: String,\n default: ''\n },\n keepAlive: Boolean,\n keepAliveProps: {\n type: Object,\n default: undefined\n }\n },\n render (_, { parent, data, props }) {\n const h = parent.$createElement\n\n data.nuxtChild = true\n const _parent = parent\n const transitions = parent.$nuxt.nuxt.transitions\n const defaultTransition = parent.$nuxt.nuxt.defaultTransition\n\n let depth = 0\n while (parent) {\n if (parent.$vnode && parent.$vnode.data.nuxtChild) {\n depth++\n }\n parent = parent.$parent\n }\n data.nuxtChildDepth = depth\n const transition = transitions[depth] || defaultTransition\n const transitionProps = {}\n transitionsKeys.forEach((key) => {\n if (typeof transition[key] !== 'undefined') {\n transitionProps[key] = transition[key]\n }\n })\n\n const listeners = {}\n listenersKeys.forEach((key) => {\n if (typeof transition[key] === 'function') {\n listeners[key] = transition[key].bind(_parent)\n }\n })\n if (process.client) {\n // Add triggerScroll event on beforeEnter (fix #1376)\n const beforeEnter = listeners.beforeEnter\n listeners.beforeEnter = (el) => {\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n if (beforeEnter) {\n return beforeEnter.call(_parent, el)\n }\n }\n }\n\n // make sure that leave is called asynchronous (fix #5703)\n if (transition.css === false) {\n const leave = listeners.leave\n\n // only add leave listener when user didnt provide one\n // or when it misses the done argument\n if (!leave || leave.length < 2) {\n listeners.leave = (el, done) => {\n if (leave) {\n leave.call(_parent, el)\n }\n\n _parent.$nextTick(done)\n }\n }\n }\n\n let routerView = h('routerView', data)\n\n if (props.keepAlive) {\n routerView = h('keep-alive', { props: props.keepAliveProps }, [routerView])\n }\n\n return h('transition', {\n props: transitionProps,\n on: listeners\n }, [routerView])\n }\n}\n\nconst transitionsKeys = [\n 'name',\n 'mode',\n 'appear',\n 'css',\n 'type',\n 'duration',\n 'enterClass',\n 'leaveClass',\n 'appearClass',\n 'enterActiveClass',\n 'enterActiveClass',\n 'leaveActiveClass',\n 'appearActiveClass',\n 'enterToClass',\n 'leaveToClass',\n 'appearToClass'\n]\n\nconst listenersKeys = [\n 'beforeEnter',\n 'enter',\n 'afterEnter',\n 'enterCancelled',\n 'beforeLeave',\n 'leave',\n 'afterLeave',\n 'leaveCancelled',\n 'beforeAppear',\n 'appear',\n 'afterAppear',\n 'appearCancelled'\n]\n","import cookies from 'js-cookie';\nimport { getCurrentInstance } from 'vue';\nimport { compareVersion, getOneLinkUrl, getOneLinkUrlNew, getTargetUrlFromWebOrDesktop, getTgOneLinkUrl, getTgTargetUrl } from '@/common/utils';\nimport { callApp } from '@/common/call-app';\nimport { isTMA, useTelegram } from '~/hooks/useTelegram';\nimport { PwaBridge } from './bridge';\nimport { AppPkgName } from './app';\n\n// export const launchApp = (params: { callAppPath?: string }) => {\n// const callAppPath = params?.callAppPath || 'home'\n\n// const targetUrl = getTargetUrlFromWebOrDesktop()\n\n// const oneLinkUrl = getOneLinkUrl(targetUrl, callAppPath)\n\n// callApp({\n// path: `${callAppPath}?target_url=${targetUrl}`,\n// onelink: oneLinkUrl,\n// });\n// };\n\nexport const launchApp = (params?: { callAppPath?: string; query?: Record; targetUrlExtraParams?: Record }) => {\n if (isTMA()) {\n const opened = launchAppInTgByOnelink(params);\n if (opened) {\n return;\n }\n }\n const callAppPath = params?.callAppPath || 'home';\n const targetUrlExtraParams = params?.targetUrlExtraParams;\n\n const targetUrl = getTargetUrlFromWebOrDesktop(targetUrlExtraParams);\n\n const oneLinkUrl = getOneLinkUrl(targetUrl, callAppPath);\n\n let queryStr = '';\n\n if (params?.query) {\n // queryStr = `&${new URLSearchParams(params.query)}`\n queryStr = `&${Object.entries(params.query)\n .map(([key, val]) => `${key}=${val || ''}`)\n .join('&')}`;\n // queryStr = `& ${ new URLSearchParams(params.query) } `\n }\n if (targetUrlExtraParams) {\n window.location.href = getOneLinkUrlNew(targetUrl, callAppPath);\n } else {\n callApp({\n path: `${callAppPath}?target_url=${targetUrl}${queryStr}`,\n onelink: oneLinkUrl,\n });\n }\n};\n\nexport const launchAppInTgByOnelink = (params?: {\n callAppPath?: string;\n query?: Record;\n targetUrlExtraParams?: Record;\n}) => {\n const callAppPath = params?.callAppPath || 'home';\n const targetUrlExtraParams = params?.targetUrlExtraParams;\n\n const targetUrl = getTgTargetUrl(targetUrlExtraParams);\n const oneLinkUrl = getTgOneLinkUrl(targetUrl, callAppPath);\n\n const decodedOneLink = decodeURIComponent(oneLinkUrl); // tg内部会encode导致无法正常解析onelink而无法拉端\n if (decodedOneLink) {\n const { openLink } = useTelegram();\n openLink(decodedOneLink);\n return true;\n }\n return false;\n};\n\n// 商业化设备指纹\nexport const initDeviceFingerprint = () => {\n try {\n if (process.env.IS_BACKUP_ENV) {\n return;\n }\n const script = document.createElement('script');\n const executeInnerHtml = `!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.install=t():e.install=t()}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}([function(e,t,n){\"use strict\";var o=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r {\n const { proxy }: any = getCurrentInstance() || {};\n const startupData: any = proxy?.$store?.state?.startup;\n\n if (!proxy?.$isAppEnvironment || !startupData?.dynamicTabsConfig) {\n return;\n }\n\n if (proxy?.$appConfig?.pkg !== AppPkgName.BOMDIA_APP) {\n return;\n }\n\n const appVersion = cookies?.get('appver');\n // 1.8.2及以上版本才开启动态化能力\n if (!appVersion || compareVersion(appVersion, '1.8.2') < 0) {\n return;\n }\n\n try {\n const res = await PwaBridge.setWebConfig({\n key: 'dynamicTabsConfig',\n value: JSON.stringify(startupData?.dynamicTabsConfig),\n });\n // eslint-disable-next-line no-console\n console.log('res', res);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n};\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./error.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./error.vue?vue&type=script&lang=ts&\"","\nimport { radarLog } from '@/common/radar';\nimport { callApp } from '@/common/call-app';\nimport { initDeviceFingerprint } from '@/common/layout-common';\nimport { getOneLinkUrl, getTargetUrlFromWebOrDesktop, isTiny } from '@/common/utils';\n\nexport default {\n components: {},\n layout: 'default',\n // eslint-disable-next-line vue/require-prop-types\n props: ['error'],\n head() {\n return {};\n },\n computed: {\n // 计算属性的 getter\n openKwaiText() {\n return (this as any).$root.$t('k_344289').replace('${0}', (this as any).$appName);\n },\n },\n mounted: () => {\n radarLog({\n name: 'PWA_SSR_ERROR_PAGE',\n event_type: 'show',\n category: isTiny() ? 'KWAI_TINY' : 'KWAI_SHARE',\n message: `PWA SSR error页面`,\n src: window.location.pathname,\n });\n initDeviceFingerprint();\n },\n methods: {\n handleConfirm: () => {\n if (isTiny()) {\n return;\n }\n const callAppPath = 'home';\n\n const targetUrl = getTargetUrlFromWebOrDesktop();\n\n const oneLinkUrl = getOneLinkUrl(targetUrl);\n\n callApp({\n path: `${callAppPath}?target_url=${targetUrl}`,\n onelink: oneLinkUrl,\n });\n },\n },\n};\n","import { render, staticRenderFns } from \"./error.vue?vue&type=template&id=1e323bcd&scoped=true&\"\nimport script from \"./error.vue?vue&type=script&lang=ts&\"\nexport * from \"./error.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./error.vue?vue&type=style&index=0&id=1e323bcd&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e323bcd\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"empty-container\"},[_c('div',{staticClass:\"empty-content\"},[_c('div',{staticClass:\"empty-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('new_404_sorry_text'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"open-button button\",on:{\"click\":function($event){return _vm.handleConfirm()}}},[_vm._v(\"\\n \"+_vm._s(_vm.openKwaiText)+\"\\n \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport { compile } from '../utils'\n\nimport NuxtError from '../../layouts/error.vue'\n\nimport NuxtChild from './nuxt-child'\n\nexport default {\n name: 'Nuxt',\n components: {\n NuxtChild,\n NuxtError\n },\n props: {\n nuxtChildKey: {\n type: String,\n default: undefined\n },\n keepAlive: Boolean,\n keepAliveProps: {\n type: Object,\n default: undefined\n },\n name: {\n type: String,\n default: 'default'\n }\n },\n errorCaptured (error) {\n // if we receive and error while showing the NuxtError component\n // capture the error and force an immediate update so we re-render\n // without the NuxtError component\n if (this.displayingNuxtError) {\n this.errorFromNuxtError = error\n this.$forceUpdate()\n }\n },\n computed: {\n routerViewKey () {\n // If nuxtChildKey prop is given or current route has children\n if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {\n return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params)\n }\n\n const [matchedRoute] = this.$route.matched\n\n if (!matchedRoute) {\n return this.$route.path\n }\n\n const Component = matchedRoute.components.default\n\n if (Component && Component.options) {\n const { options } = Component\n\n if (options.key) {\n return (typeof options.key === 'function' ? options.key(this.$route) : options.key)\n }\n }\n\n const strict = /\\/$/.test(matchedRoute.path)\n return strict ? this.$route.path : this.$route.path.replace(/\\/$/, '')\n }\n },\n beforeCreate () {\n Vue.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt)\n },\n render (h) {\n // if there is no error\n if (!this.nuxt.err) {\n // Directly return nuxt child\n return h('NuxtChild', {\n key: this.routerViewKey,\n props: this.$props\n })\n }\n\n // if an error occurred within NuxtError show a simple\n // error message instead to prevent looping\n if (this.errorFromNuxtError) {\n this.$nextTick(() => (this.errorFromNuxtError = false))\n\n return h('div', {}, [\n h('h2', 'An error occurred while showing the error page'),\n h('p', 'Unfortunately an error occurred and while showing the error page another error occurred'),\n h('p', `Error details: ${this.errorFromNuxtError.toString()}`),\n h('nuxt-link', { props: { to: '/' } }, 'Go back to home')\n ])\n }\n\n // track if we are showing the NuxtError component\n this.displayingNuxtError = true\n this.$nextTick(() => (this.displayingNuxtError = false))\n\n return h(NuxtError, {\n props: {\n error: this.nuxt.err\n }\n })\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=script&lang=js&\"","\n\n\n","var render, staticRenderFns\nimport script from \"./nuxt-loading.vue?vue&type=script&lang=js&\"\nexport * from \"./nuxt-loading.vue?vue&type=script&lang=js&\"\nimport style0 from \"./nuxt-loading.vue?vue&type=style&index=0&id=b64bf7b2&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport { defineComponent, getCurrentInstance, onUnmounted, computed, onMounted, ref } from 'vue';\nimport Loading from '@/components/loading/index.vue';\nimport { genWebDidAndSessionId } from '@/common/utils';\nimport { launchApp, injectTabStrategyToAppIfNeeded } from '@/common/layout-common';\nimport { ComponentNameMap } from '@/constants/base';\nimport { checkIfAiChatApp, checkIfBomdiaApp } from '~/common/app';\nimport TopTabs from '@/pages/aichat/components/ai-top-tabs/index.vue';\nimport AITTabBar from '@/pages/aichat/components/ai-tabbar/index.vue';\nimport useAppEnvironment from '~/pages/aichat/hooks/useAppEnvironment';\n\nconst LightThemePageList = ['discover-content', 'playlist-detail', 'profile', 'topic-content', 'account-management', 'article-content'];\n\nexport default defineComponent({\n components: {\n Loading,\n TopTabs,\n AITTabBar,\n },\n setup() {\n const { proxy }: any = getCurrentInstance() || {};\n const loading = ref(false);\n\n const bgColor = computed(() => {\n const isLightTheme = LightThemePageList.includes(proxy?.$route?.name || '');\n if (isLightTheme) {\n return '#fff';\n }\n return 'black';\n });\n\n const setLoading = (isLoading: boolean) => {\n loading.value = isLoading;\n };\n\n const showTopTabs = computed(() => {\n const currentPath = proxy?.$route?.path;\n const regexForyouVideo = /^\\/((foryou)$|@[\\w-]+\\/video(\\/[\\w-]+)?)$/;\n\n if (currentPath === '/' || regexForyouVideo.test(currentPath)) {\n return false;\n }\n\n if (checkIfBomdiaApp()) {\n return false;\n }\n\n const { isIOS } = useAppEnvironment();\n if (isIOS.value && currentPath !== '/aichat') {\n return false;\n }\n\n const { conversationModuleInitialized } = proxy?.$store?.state?.conversationModule;\n const regex = /^\\/((foryou|aichat(\\/history|\\/discover|\\/bot\\/[\\w-]+)?)$|@[\\w-]+\\/video(\\/[\\w-]+)?)$/;\n\n return currentPath === '/' || (regex.test(currentPath) && conversationModuleInitialized);\n });\n\n const showTabbar = computed(() => {\n if (checkIfBomdiaApp()) {\n return false;\n }\n const { isIOS } = useAppEnvironment();\n if (!isIOS.value) {\n return false;\n }\n const { conversationModuleInitialized } = proxy?.$store?.state?.conversationModule;\n const regex = /^\\/((foryou|aichat(\\/chatlist|\\/inbox|\\/history|\\/discover|\\/bot\\/[\\w-]+)?)$|@[\\w-]+\\/video(\\/[\\w-]+)?)$/;\n const currentPath = proxy?.$route?.path;\n return currentPath === '/' || (regex.test(currentPath) && conversationModuleInitialized);\n });\n\n onMounted(async () => {\n genWebDidAndSessionId();\n injectTabStrategyToAppIfNeeded();\n\n proxy?.$store?.commit?.('conversationModule/initialize');\n // launchApp调用时获取不到this 无法拿到bucket值\n sessionStorage.setItem('bucket', proxy?.$store?.state?.startup?.bucket);\n // 全局注册拉起方法\n (proxy as Record)?.$bus?.on?.('launchApp', launchApp);\n (proxy as Record)?.$bus?.on?.('isLoad', setLoading);\n });\n\n onUnmounted(() => {\n (proxy as Record)?.$bus?.off?.('launchApp', launchApp);\n (proxy as Record)?.$bus?.off?.('isLoad', setLoading);\n });\n\n return {\n bgColor,\n loading,\n ComponentNameMap,\n showTopTabs,\n showTabbar,\n };\n },\n});\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=7d5463f7&scoped=true&\"\nimport script from \"./app.vue?vue&type=script&lang=ts&\"\nexport * from \"./app.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./app.vue?vue&type=style&index=0&id=7d5463f7&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d5463f7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"main\",style:({ backgroundColor: _vm.bgColor })},[(_vm.loading)?_c('Loading'):_vm._e(),_vm._v(\" \"),_c('nuxt',{attrs:{\"keep-alive\":\"\",\"keep-alive-props\":{ exclude: [_vm.ComponentNameMap.VideoDetail, _vm.ComponentNameMap.DiscoverSearch] }}}),_vm._v(\" \"),(_vm.showTopTabs)?_c('TopTabs'):_vm._e(),_vm._v(\" \"),(_vm.showTabbar)?_c('AITTabBar',{staticClass:\"pwa-ai-tabbar\"}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import cookies from 'js-cookie';\nimport queryString from 'query-string';\nimport {\n nodeIsAppEnvironment,\n isTiny,\n getNotExecuteRedirectQuey,\n getPwaSource,\n isFilmHost,\n getCkid,\n getDeviceIDByWebDid,\n checkWebDidCollect,\n} from './ids-utils';\n\nexport const filmRedirect = async (app, retry) => {\n if (process.server || nodeIsAppEnvironment() || isTiny()) {\n return;\n }\n const reg = new RegExp(window.location.origin, 'g');\n const url = window.location.href?.replace(reg, '');\n const ignoreHost = getNotExecuteRedirectQuey('ignore_host');\n const canRedirect = isFilmHost() || ignoreHost === 'true';\n if (!canRedirect) {\n return;\n }\n\n const webDid = cookies?.get('webDid');\n const collect = checkWebDidCollect();\n let parsedAppDeviceId;\n if (webDid && !collect) {\n // 未种下webDid,client端执行webDid to deviceId\n parsedAppDeviceId = await getDeviceIDByWebDid(app, webDid);\n // console.log('redirect_web', 'client', 'getFromWebdid', `app-device-id:${JSON.stringify(parsedAppDeviceId)}`);\n }\n\n let ckid;\n if (!parsedAppDeviceId || !parsedAppDeviceId.deviceId) {\n ckid = await getCkid(app); // ckid = '9e0d900c-ccbf-4e67-8c29-54ae1b6adfc0';\n parsedAppDeviceId = await getDeviceIDByWebDid(app, webDid, ckid);\n // console.log('redirect_web', 'client', 'getFromCkid', `ckid:${ckid}`, `app-device-id:${JSON.stringify(parsedAppDeviceId)}`);\n }\n if (!ckid && retry) {\n setTimeout(() => {\n filmRedirect(app, false);\n }, 1000);\n // console.log('redirect_web', 'client', 'ckid is null, then retry');\n return;\n }\n const { deviceId, redirectAB } = parsedAppDeviceId || {};\n let containSource = true;\n if (deviceId && redirectAB) {\n cookies.set('app_device_id', JSON.stringify({ deviceId, redirectAB, webDid, ckid }));\n const pwaSource = getPwaSource();\n const webRedircctArr = redirectAB.split(',');\n containSource = webRedircctArr.includes(pwaSource); // 不包含跳转\n } else if (deviceId === undefined || deviceId === '' || redirectAB === undefined || redirectAB === '') {\n // 无deviceID 跳转\n containSource = false;\n // console.log('redirect_web', 'client', 'deviceID or abtest is null', deviceId, redirectAB);\n }\n\n // console.log(\n // 'redirect_web',\n // 'client',\n // 'can-redirect',\n // `redirect:${!containSource}`,\n // `app-device-id:${JSON.stringify({ deviceId, redirectAB, webDid, ckid })}`\n // );\n if (!containSource) {\n const redirectUrl = new URL(`https://www.kwai.com${url}`);\n if (webDid) {\n redirectUrl?.searchParams?.set('webDid', webDid);\n }\n if (ckid) {\n redirectUrl?.searchParams?.set('ckid', ckid);\n }\n if (deviceId) {\n redirectUrl?.searchParams?.set('deviceId', deviceId);\n }\n if (redirectUrl?.searchParams.has('ignore_host')) {\n redirectUrl?.searchParams?.delete('ignore_host');\n }\n const redirectUrlStr = redirectUrl?.toString();\n // eslint-disable-next-line no-undef\n const notRedirectV = getNotExecuteRedirectQuey('not_redirect');\n if (notRedirectV !== 'true') {\n // console.log('redirect_web', 'client', 'redirect-path: ', redirectUrlStr);\n window.location.href = redirectUrlStr;\n }\n // console.log('redirect_web', 'client', 'redirect-path: ', redirectUrlStr);\n }\n};\n","import cookies from 'js-cookie';\nimport { nodeIsAppEnvironment, isTiny, getCkid, getDeviceIDByWebDid, changeDidWithDeviceID } from './ids-utils';\nimport { immediateSendLog, sendLog } from './radar';\n\nconst reportChangeDidLog = (ids_mapping: any) => {\n immediateSendLog({\n type: 'click',\n name: 'CHANGE_DID_WITH_DEVICE',\n value: ids_mapping,\n });\n};\n\nexport const buildIDsSystem = async (app: any, retry: boolean) => {\n if (process.server || nodeIsAppEnvironment() || isTiny()) {\n return;\n }\n const idsMappingStr = cookies.get('ids-mapping');\n let parsedIdsMapping;\n if (idsMappingStr && typeof idsMappingStr === 'string') {\n try {\n parsedIdsMapping = JSON.parse(idsMappingStr);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Parse app devideID error: ', error);\n }\n if (parsedIdsMapping) {\n console.log('ids-mapping', 'has ids-mapping return');\n return;\n }\n }\n\n const webDid = cookies?.get('webDid');\n let ckid;\n if (!parsedIdsMapping || !parsedIdsMapping.deviceId) {\n if (webDid) {\n parsedIdsMapping = await getDeviceIDByWebDid(app, webDid);\n }\n if (!parsedIdsMapping || !parsedIdsMapping.deviceId) {\n ckid = await getCkid(app);\n // ckid = '9e0d900c-ccbf-4e67-8c29-54ae1b6adfc0';\n parsedIdsMapping = await getDeviceIDByWebDid(app, webDid, ckid);\n }\n if (!ckid && retry) {\n setTimeout(() => {\n buildIDsSystem(app, false);\n }, 1000);\n return;\n }\n }\n\n // 匹配ckid后做上报\n if (ckid) {\n sendLog({\n type: 'click',\n name: 'WEBDID_CKID_RELATION',\n value: {\n ckid,\n web_did: webDid,\n },\n });\n }\n\n const { deviceId } = parsedIdsMapping || {};\n const did_change_time = Number(app?.$store.state.startup.did_change_time);\n if (deviceId && did_change_time > 0) {\n changeDidWithDeviceID(deviceId);\n const did = cookies.get('did');\n const time = new Date().getTime();\n const ids_mapping = JSON.stringify({ deviceId, webDid, ckid, did, time });\n cookies.set('ids-mapping', ids_mapping, { expires: did_change_time });\n reportChangeDidLog({ deviceId, webDid, ckid, did, time });\n }\n};\n","export const FirebaseSWScope = '/firebase-cloud-messaging-push-scope';\nexport const FirebaseSWFileName = 'firebase-messaging-sw.js';\nexport const FirebaseMessageDBName = 'firebase-messaging-database';\nexport const FirebaseMessageDBStoreName = 'firebase-messaging-store';\nexport const FirebaseMessageStoreKey = '1:35760235920:web:9359fdd864b26388ff7f15';\n/**\n * @en firebase default public key.\n * @en if we don't provide a public key, firebase will use the default key, but we don't have private key.\n * @en we need to provide a new public key, so that we have own private key to send push by `subscrption`.\n */\nexport const FirebaseDefaultPublicKey = 'BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4';\n/**\n * @en push public key in this project\n */\nexport const PushPublicKey = 'BJ7iE3pkqYCQug2kSi-45D7yZW9TLE15tB1NtDROKp1bV5f9H-jZmYAk8-fRPxppbjCgBilnBm2HK2lT8wkIFnY';\n/**\n * @en the new firebase project name.\n * @en We have 2 firebase projects now.\n * @en 1. KWAI_WEB/2. KWAI_WEB_PWA.\n */\nexport const FirebaseProjectName = 'KWAI_WEB_PWA';\n\nexport function uint8ArrayToBase64(arrBuffer?: ArrayBuffer | null) {\n if (!arrBuffer) {\n return;\n }\n\n return btoa(String.fromCharCode.apply(null, new Uint8Array(arrBuffer) as unknown as Array));\n}\n\nexport function urlBase64ToUint8Array(base64String: string) {\n const padding = '='.repeat((4 - (base64String.length % 4)) % 4);\n const base64 = (base64String + padding)\n // eslint-disable-next-line no-useless-escape\n .replace(/\\-/g, '+')\n .replace(/_/g, '/');\n\n const rawData = window.atob(base64);\n const outputArray = new Uint8Array(rawData.length);\n\n for (let i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i);\n }\n return outputArray;\n}\n\n// eslint-disable-next-line no-undef\nexport const getSubscriptionInfo = async (swUrl: string, options?: RegistrationOptions) => {\n try {\n const pushRegister = await navigator.serviceWorker.register(swUrl, options);\n const subscription = await pushRegister.pushManager.getSubscription();\n const isExist = !!subscription;\n\n if (isExist) {\n const existSubscriptionInfo = subscription.toJSON();\n return {\n endpoint: existSubscriptionInfo?.endpoint,\n expirationTime: existSubscriptionInfo?.expirationTime ? `${existSubscriptionInfo?.expirationTime}` : undefined,\n auth: existSubscriptionInfo?.keys?.auth,\n p256dh: existSubscriptionInfo?.keys?.p256dh,\n };\n }\n\n const pushRegisterSubscription = await pushRegister?.pushManager?.subscribe?.({\n userVisibleOnly: true,\n applicationServerKey: urlBase64ToUint8Array(PushPublicKey),\n });\n const pushSubscriptionInfo = pushRegisterSubscription.toJSON();\n\n return {\n endpoint: pushSubscriptionInfo?.endpoint,\n expirationTime: pushSubscriptionInfo?.expirationTime ? `${pushSubscriptionInfo?.expirationTime}` : undefined,\n auth: pushSubscriptionInfo?.keys?.auth,\n p256dh: pushSubscriptionInfo?.keys?.p256dh,\n };\n } catch (e) {\n return {};\n }\n};\n","import { openDB, IDBPDatabase } from 'idb';\n\nconst DBVersion = 1;\nconst DBPermission = 'readwrite';\n\nclass PWAIndexedDBController {\n private dbMap: Record = {};\n\n constructor() {\n this.dbMap = {};\n }\n\n async getDbByName({ dbName, storeName }: { dbName: string; storeName: string }) {\n try {\n if (!this.dbMap[dbName]) {\n const db = await openDB(dbName, DBVersion, {\n upgrade: (upgradeDb, oldVersion) => {\n try {\n // eslint-disable-next-line default-case\n switch (oldVersion) {\n case 0:\n upgradeDb.createObjectStore(storeName);\n }\n } catch {\n // eslint-disable-next-line no-console\n console.log('db upgrade error.');\n }\n },\n });\n this.dbMap[dbName] = db;\n }\n return this.dbMap[dbName];\n } catch {\n return undefined;\n }\n }\n\n /** Assigns or overwrites the record for the given key with the given value. */\n async dbSet>({\n storeKey,\n dbName,\n storeName,\n value,\n }: {\n storeKey: string;\n dbName: string;\n storeName: string;\n value: T;\n }) {\n try {\n const db = await this.getDbByName({ dbName, storeName });\n if (!db) {\n return;\n }\n const tx = db.transaction(storeName, DBPermission);\n await tx.objectStore(storeName).put(value, storeKey);\n await tx.done;\n return value;\n } catch {\n return undefined;\n }\n }\n\n /** Gets record(s) from the objectStore that match the given key. */\n async dbGet>({ storeKey, dbName, storeName }: { storeKey: string; dbName: string; storeName: string }) {\n try {\n const db = await this.getDbByName({ dbName, storeName });\n if (!db) {\n return undefined;\n }\n\n const tokenDetails = await db.transaction(storeName, DBPermission).objectStore(storeName).get(storeKey);\n if (tokenDetails) {\n return tokenDetails as T;\n }\n\n return undefined;\n } catch {\n return undefined;\n }\n }\n\n async dbClose({ dbName }: { dbName: string }) {\n try {\n const db = this.dbMap[dbName];\n\n if (db) {\n await db.close?.();\n this.dbMap[dbName] = undefined;\n }\n } catch {\n // eslint-disable-next-line no-console\n console.log('db close error.');\n }\n }\n}\n\nexport const DBControllerInstance = new PWAIndexedDBController();\n","\nimport { defineComponent, SetupContext, getCurrentInstance, onUnmounted, computed, onMounted, ref, reactive, defineAsyncComponent } from 'vue';\nimport { initializeApp } from 'firebase/app';\nimport { getMessaging, getToken, isSupported, deleteToken } from 'firebase/messaging';\nimport cookies from 'js-cookie';\nimport { onLCP, onCLS, onTTFB, onFCP, onINP, onFID, Metric, ReportOpts } from 'web-vitals';\nimport Loading from '@/components/loading/index.vue';\nimport { radarLog, sendLog } from '@/common/radar';\nimport { genWebDidAndSessionId } from '@/common/utils';\nimport { launchApp, initDeviceFingerprint } from '@/common/layout-common';\nimport { ComponentNameMap, FirebaseConfig } from '@/constants/base';\nimport { ReportFirebaseTokenRequest, UserApiService } from '@/api/user';\nimport device from '@/common/device-info';\nimport { filmRedirect } from '@/common/client_redirect';\nimport { useWebToApp, OpenPageStatus } from '~/hooks/useWebToApp';\nimport { buildIDsSystem } from '@/common/ids-mapping-sys';\nimport { installPwaFun, isContinue, continueMap } from '@/common/pwa';\nimport { checkSnack } from '@/common/seo';\n\nimport {\n FirebaseDefaultPublicKey,\n FirebaseSWFileName,\n FirebaseSWScope,\n FirebaseMessageDBName,\n FirebaseMessageDBStoreName,\n FirebaseMessageStoreKey,\n PushPublicKey,\n FirebaseProjectName,\n} from '@/common/web-push';\nimport { DBControllerInstance } from '@/common/indexed-db';\nimport { SafetyLocalStorage } from '@/common/storage';\nimport { useAiBotAutomaticMessage } from '@/hooks/useAiBotAutomaticMessage';\nimport { useLogin } from '~/hooks/useLogin';\n\nconst firebaseApp = initializeApp(FirebaseConfig);\n\nconst LightThemePageList = ['discover-content', 'playlist-detail', 'profile', 'topic-content', 'account-management', 'article-content', 'channel'];\n\nconst IconMap = {\n PushIcon: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/push-icon.png',\n SharePopupTopIcon: 'https://aws-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/share-popup-top-icon.png',\n KwaiIcon: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/kwai-icon.png',\n SnackIcon: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/snack-icon.png',\n};\n\n/**\n * @zh 通知权限状态\n */\nenum OpenStatus {\n UnSupported = 0, // 不支持通知:1、系统不支持 2、firebase 不支持(如防火墙限制等)\n Close = 1, // 未开启\n Opend = 2, // 已开启\n Opening = 3, // 本次开启\n Closing = 4, // 本次关闭\n MaybeLater = 5,\n EnableNow = 6,\n}\n\nconst PopupType = {\n installPwa: 'installPwa',\n openPwa: 'openPwa',\n};\n\n/**\n * @en type copy from firebase-js-sdk\n */\ninterface MessagingService {\n vapidKey?: string;\n swRegistration?: ServiceWorkerRegistration;\n}\n\nexport default defineComponent({\n components: {\n Loading,\n FooterNav: defineAsyncComponent(() => import(/* webpackChunkName: \"components/footer-nav\" */ '@/components/footer-nav/index.vue')),\n AppReferralPromptPopup: defineAsyncComponent(\n () =>\n import(\n /* webpackChunkName: \"components/web-to-app-popup/app-referral-popup.vue\" */ '@/components/web-to-app-popup/app-referral-popup.vue'\n )\n ),\n ActionOpenPwa: defineAsyncComponent(\n () => import(/* webpackChunkName: \"components/action-open-pwa/index.vue\" */ '@/components/action-open-pwa/index.vue')\n ),\n LiteSharePopup: defineAsyncComponent(\n () => import(/* webpackChunkName: \"components/lite-share-popup/index.vue\" */ '@/components/lite-share-popup/index.vue')\n ),\n // Popup: defineAsyncComponent(() => import(/* webpackChunkName: \"'vant/lib/popup\" */ 'vant/lib/popup')),\n TopTabs: defineAsyncComponent(\n () => import(/* webpackChunkName: \"aichat/components/ai-top-tabs\" */ '@/pages/aichat/components/ai-top-tabs/index.vue')\n ),\n },\n setup(_: unknown, ctx: SetupContext) {\n const { proxy }: any = getCurrentInstance() || {};\n const startupData: any = proxy.$store.state.startup;\n const UserApi = new UserApiService();\n const showBtn = ref(true);\n const { isIOS = false } = device();\n const startTime = Date.now();\n\n const popupState: Record = reactive({\n isFirstOpen: false,\n showOpenPwaBtn: false,\n type: PopupType.openPwa,\n });\n const visible = ref(false);\n\n const showFooter = computed(() => {\n return proxy?.$route?.path === '/old-foryou';\n });\n\n const { webToAppPopupVisible, handleWebToAppPopupConfirm, handleWebToAppPopupClose, checkIfInstalled, installPwa, isPwaSupported } =\n useWebToApp();\n\n const showTopTabs = computed(() => {\n // snackvideo不出social ai tab\n const { isSnack } = checkSnack();\n if (isSnack) return false;\n\n const currentPath = proxy?.$route?.path;\n const regexForyouVideo = /^\\/((foryou)$|@[\\w-]+\\/video(\\/[\\w-]+)?)$/;\n // 仅仅在倒流时候生效\n if (currentPath === '/' || regexForyouVideo.test(currentPath)) {\n // 实验不命中不出\n const canShow = proxy?.$store.state.startup?.AIfriend === 'true';\n if (!canShow) return false;\n\n // 浏览器语言不是英语/葡语不出\n const lang = proxy?.$root?.$i18n?.locale || 'en';\n const isEnglishOrPortuguese = lang.includes('en') || lang.includes('pt');\n if (!isEnglishOrPortuguese) {\n console.log('not_show_ai_top_tabs lang', lang);\n return false;\n }\n\n // 非巴西或者英语桶不出\n const bucket = proxy?.$store?.state?.startup?.bucket || 'br';\n if (bucket !== 'br' && bucket !== 'en') {\n console.log('not_show_ai_top_tabs bucket', bucket);\n return false;\n }\n }\n const { conversationModuleInitialized } = proxy?.$store?.state?.conversationModule;\n const regex = /^\\/((foryou|aichat(\\/history|\\/chatlist|\\/discover|\\/bot\\/[\\w-]+)?)$|@[\\w-]+\\/video(\\/[\\w-]+)?)$/;\n return currentPath === '/' || (regex.test(currentPath) && conversationModuleInitialized);\n });\n\n const isAIchat = computed(() => {\n // aichat 首次弹窗已经非常多,这里不弹窗开kwailite\n const currentPath = proxy?.$route?.path;\n return currentPath.includes('aichat');\n });\n\n const appName = computed(() => {\n const name = (getCurrentInstance()?.proxy as { $appName?: string })?.$appName;\n return name || '';\n });\n\n const loading = ref(false);\n\n const setLoading = (isLoading: boolean) => {\n loading.value = isLoading;\n };\n\n const getCurrentPermissionStatus = async (): Promise => {\n const isSupport = await isSupported();\n\n if (!isSupport) {\n radarLog({\n name: 'Unsupport_Firebase',\n category: 'KWAI_SHARE',\n event_type: 'click',\n });\n }\n\n if (typeof window?.Notification?.permission === 'undefined' || !isSupport) {\n return OpenStatus.UnSupported;\n }\n\n return window?.Notification?.permission === 'granted' ? OpenStatus.Opend : OpenStatus.Close;\n };\n\n const reportToken = async ({ token = '', extraParams = {}, pushSubscription = {} }) => {\n const bucket = startupData.bucket || cookies.get('bucket');\n\n const data: ReportFirebaseTokenRequest = {\n push_token: token,\n subscription: (pushSubscription as Record).endpoint ? pushSubscription : undefined,\n timestamp: Date.now(),\n domain: window.location.origin,\n url: window.location.href,\n ua: window.navigator.userAgent,\n /**\n * @en `default_web_did_` as default prefix\n * @en can be analyzed by the prefix\n */\n web_did: cookies.get('webDid') || `default_web_did_${Date.now()}`,\n kwai_id: proxy?.$store?.state?.userModule?.userInfo?.user?.kwai_id,\n user_id_str: cookies.get('user_id'),\n session_id: cookies.get('sessionId'),\n countryInfo: startupData.countryInfo || cookies.get('countryInfo'),\n bucket,\n extra_params: {\n ...(extraParams || {}),\n },\n };\n\n if (!token) {\n radarLog({\n name: 'Get_Firebase_Token_Error',\n category: 'KWAI_SHARE',\n event_type: 'click',\n extra_info: JSON.stringify(data),\n });\n\n return;\n }\n\n await UserApi.reportFirebaseToken(data);\n };\n\n const sendNotificationPermissionLog = (status: OpenStatus) => {\n sendLog({\n type: 'click',\n name: 'PWA_AUTHORITY',\n value: {\n status,\n },\n });\n };\n\n const tryUpdateSW = async (registration: ServiceWorkerRegistration) => {\n try {\n // From fiebase SDK:\n // The timing when browser updates sw when sw has an update is unreliable by my experiment. It\n // leads to version conflict when the SDK upgrades to a newer version in the main page, but sw\n // is stuck with the old version.\n await registration.update();\n } catch {\n /* it is non blocking and we don't care if it failed */\n }\n };\n\n // eslint-disable-next-line no-undef\n const registerSW = async (swPath: string, options?: RegistrationOptions) => {\n try {\n const registration = await navigator.serviceWorker.register(`${window?.location?.origin}/${swPath}`, options);\n await tryUpdateSW(registration);\n\n return registration;\n } catch {\n return undefined;\n }\n };\n\n const registerPushMessaging = async () => {\n try {\n const isSupport = await isSupported();\n\n if (!window?.navigator?.serviceWorker || !isSupport) {\n return;\n }\n\n /**\n * @zh 在注册 firebase 前先判断是否已经开启\n */\n const hasOpened = window.Notification?.permission === 'granted';\n\n const registerFirebaseSW = await registerSW(FirebaseSWFileName, {\n scope: FirebaseSWScope,\n });\n if (!registerFirebaseSW) {\n return;\n }\n const message = getMessaging(firebaseApp);\n\n const firebaseDBData = await DBControllerInstance.dbGet<{\n createTime?: number;\n subscriptionOptions?: {\n auth?: string;\n endpoint?: string;\n p256dh?: string;\n vapidKey?: string;\n swScope?: string;\n };\n token?: string;\n }>({\n dbName: FirebaseMessageDBName,\n storeName: FirebaseMessageDBStoreName,\n storeKey: FirebaseMessageStoreKey,\n });\n\n const oldVapidKey = firebaseDBData?.subscriptionOptions?.vapidKey;\n if (oldVapidKey === FirebaseDefaultPublicKey) {\n await deleteToken(message);\n }\n\n const token = await getToken(message, {\n vapidKey: PushPublicKey,\n serviceWorkerRegistration: registerFirebaseSW,\n });\n const { vapidKey: newVapidKey, swRegistration: newSwRegistration } = (message || {}) as MessagingService;\n\n const subscription = await newSwRegistration?.pushManager?.getSubscription?.();\n const subscriptionInfo = subscription?.toJSON?.();\n console.log('==== push info ====', newVapidKey, subscriptionInfo, token);\n await reportToken({\n token,\n pushSubscription: {\n endpoint: subscriptionInfo?.endpoint,\n expirationTime: subscriptionInfo?.expirationTime ? `${subscriptionInfo?.expirationTime}` : undefined,\n auth: subscriptionInfo?.keys?.auth,\n p256dh: subscriptionInfo?.keys?.p256dh,\n },\n extraParams: {\n app_name: FirebaseProjectName,\n },\n });\n\n if (!hasOpened) {\n /**\n * @zh 之前 “未开启” 才上报 “本次开启”\n */\n sendNotificationPermissionLog(OpenStatus.Opening);\n }\n } catch (e) {\n if (window.Notification?.permission === 'default') {\n // 用户手动拒绝\n sendNotificationPermissionLog(OpenStatus.Closing);\n }\n }\n };\n\n // const registerCacheSW = async () => {\n // const registerCache = await registerSW('cache-sw.js');\n // console.log('sw cache register success', registerCache);\n // };\n\n const changeShow = (isShow: boolean) => {\n popupState.showOpenPwaBtn = isShow;\n };\n\n // 展示 使用pwa打开弹窗\n const openWithPwaDiadog = () => {\n changeShow(true);\n popupState.type = PopupType.openPwa;\n };\n\n const pwaGlobalClick = () => {\n const { open_guide_seconds } = proxy?.$store?.state?.abTestModule?.abTestParams;\n // 命中时间 实验\n if (open_guide_seconds) {\n const nowTime = Date.now();\n if (nowTime - startTime <= Number(open_guide_seconds) * 1000) return;\n installPwaFun(installPwa, 'agree_interaction');\n } else {\n installPwaFun(installPwa, 'agree_interaction');\n }\n };\n\n // 进入页面pwa 埋点上报\n const pwaStatusLog = (pwaStatus: number, isSupport: boolean) => {\n let logType = 'uninstalled';\n if (pwaStatus === OpenPageStatus.noPwaInWeb) {\n // 未安装\n logType = 'uninstalled';\n } else if ([OpenPageStatus.hasPwaInWeb, OpenPageStatus.pwa].includes(pwaStatus)) {\n // 已安装\n logType = 'installed';\n } else if (!isSupport) {\n // 不支持\n logType = 'not_support';\n }\n sendLog({\n type: 'click',\n name: 'ADD_TO_DESKTOP_STATUS',\n value: {\n status: logType,\n },\n });\n };\n // pwa 实验逻辑\n const pwaExp = (pwaStatus: number, isSupport: boolean) => {\n pwaStatusLog(pwaStatus, isSupport);\n // 已安装 非pwa 模式 & 一天一次\n if (pwaStatus === OpenPageStatus.hasPwaInWeb) {\n isContinue('openPwa').then(res => {\n if (res === continueMap.first) {\n changeShow(true);\n popupState.type = PopupType.openPwa;\n }\n });\n } else if (pwaStatus === OpenPageStatus.noPwaInWeb) {\n window.addEventListener('click', pwaGlobalClick);\n }\n };\n\n const handleCancel = () => {\n visible.value = false;\n };\n\n const checkPopupConditions = () => {\n const { isIOS } = device() || {};\n if (!isIOS && !isAIchat.value) {\n const url = window?.location?.href;\n const params = new URLSearchParams(new URL(url).search);\n const KWAI_LITE_SHARE = 'kwai_lite_share';\n const KWAI_LITE_VIDEO = 'kwai.lite.video';\n const pwa_source = params.get('pwa_source');\n const app_package_name = params.get('app_package_name');\n const lastPopupTime = SafetyLocalStorage.getItem('kwai_lite_lastPopupTime');\n if (pwa_source === KWAI_LITE_SHARE && app_package_name === KWAI_LITE_VIDEO) {\n const currentTime = Date.now();\n if (lastPopupTime) {\n const lastTime = parseInt(lastPopupTime);\n const hoursDifference = (currentTime - lastTime) / (1000 * 60 * 60);\n // 大于24h\n if (hoursDifference > 24) {\n visible.value = true;\n SafetyLocalStorage.setItem('kwai_lite_lastPopupTime', currentTime.toString());\n sendLog({\n type: 'show',\n name: 'KWAI_LITE_POP',\n });\n }\n } else {\n // 第一次弹窗\n SafetyLocalStorage.setItem('kwai_lite_lastPopupTime', currentTime.toString());\n visible.value = true;\n sendLog({\n type: 'show',\n name: 'KWAI_LITE_POP',\n });\n }\n }\n }\n };\n\n // 安装完成回调\n const onappinstalledCb = () => {\n const { openPwaafterInstall } = proxy?.$store?.state?.abTestModule?.abTestParams || {};\n setTimeout(() => {\n changeShow(true);\n popupState.type = PopupType.openPwa;\n popupState.isFirstOpen = true;\n }, openPwaafterInstall * 1000);\n };\n\n const getUserInfo = async () => {\n const res = await UserApi.getUserInfo({});\n if (res?.result === 1 && !!res?.user) {\n proxy?.$store?.commit?.('userModule/setUserInfo', {\n user: res.user,\n });\n proxy?.$store?.commit?.('setIsLogin', true);\n }\n };\n\n const reportCustomMetrics = () => {\n try {\n const reportMetrics = (metric: Metric) => {\n const duration = Number(metric.value || metric.delta);\n if (!metric.name || !duration) {\n return;\n }\n radarLog({\n name: `${metric.name}_NUXT_OLD`,\n event_type: 'show',\n category: 'KWAI_SHARE',\n // message: ``,\n src: window.location.pathname,\n duration,\n });\n };\n\n const reportOptions: ReportOpts = {\n reportAllChanges: false,\n };\n onFCP(reportMetrics, reportOptions);\n onLCP(reportMetrics, reportOptions);\n onTTFB(reportMetrics, reportOptions);\n onCLS(reportMetrics, reportOptions);\n onINP(reportMetrics, reportOptions);\n onFID(reportMetrics, reportOptions);\n } catch {\n // do nothing\n }\n };\n\n onMounted(async () => {\n reportCustomMetrics();\n genWebDidAndSessionId();\n initDeviceFingerprint();\n registerPushMessaging();\n getUserInfo();\n\n proxy?.$store?.commit?.('conversationModule/initialize');\n const bucket = proxy?.$store?.state?.startup?.bucket;\n // launchApp调用时获取不到this 无法拿到bucket值\n sessionStorage.setItem('bucket', bucket);\n // 全局注册拉起方法\n (proxy as Record)?.$bus?.on?.('launchApp', launchApp);\n (proxy as Record)?.$bus?.on?.('isLoad', setLoading);\n (proxy as Record)?.$bus?.on?.('openWithPwaDiadog', openWithPwaDiadog);\n\n filmRedirect(proxy, true);\n buildIDsSystem(proxy, true);\n const { if_open_guide_to_desktop, open_guide_seconds, install_pwa_no_limit, install_pwa_touch, openPwaafterInstall } =\n proxy?.$store?.state?.abTestModule?.abTestParams;\n // 检测是否安装pwa\n const pwaStatus = checkIfInstalled();\n // 是否支持 pwa\n const isSupport = isPwaSupported();\n pwaStatusLog(pwaStatus, isSupport);\n // 开启 pwa 逻辑\n if (if_open_guide_to_desktop && !isIOS && bucket === 'br' && !isAIchat.value) {\n //\n pwaExp(pwaStatus, isSupport);\n\n // 监听pwa 安装完成,需要延迟 5s\n window.onappinstalled = onappinstalledCb;\n }\n checkPopupConditions();\n\n // if (proxy?.$store?.state?.abTestModule?.abTestParams.cache_exp) {\n // registerCacheSW();\n // }\n\n if (proxy?.$store?.state?.startup?.redirectDuration) {\n console.log('radar report redirect duration', proxy?.$store?.state?.startup?.redirectDuration);\n radarLog({\n name: 'REDIRECT_TIME_COST',\n duration: proxy?.$store?.state?.startup?.redirectDuration,\n });\n }\n });\n\n const bgColor = computed(() => {\n const isLightTheme = LightThemePageList.includes(proxy?.$route?.name || '');\n if (isLightTheme) {\n return '#fff';\n }\n return 'black';\n });\n\n onUnmounted(() => {\n (proxy as Record)?.$bus?.off?.('launchApp', launchApp);\n (proxy as Record)?.$bus?.off?.('isLoad', setLoading);\n (proxy as Record)?.$bus?.off?.('openWithPwaDiadog', openWithPwaDiadog);\n window.removeEventListener('click', pwaGlobalClick);\n });\n\n useAiBotAutomaticMessage();\n\n return {\n bgColor,\n showFooter,\n showTopTabs,\n loading,\n appName,\n IconMap,\n ComponentNameMap,\n webToAppPopupVisible,\n isAIchat,\n visible,\n showBtn,\n popupState,\n\n handleWebToAppPopupConfirm,\n handleWebToAppPopupClose,\n changeShow,\n handleCancel,\n };\n },\n head() {\n // const i18nHead = this.$nuxtI18nHead({ addSeoAttributes: true })\n const host = (this as any).$host;\n const languagemap = this.$i18n.localeCodes.map((el: string) => {\n return {\n rel: 'alternate',\n hreflang: el,\n href: `https://${host + decodeURI(this.$route.path)}?lang=${el}`,\n };\n });\n\n return {\n link: [\n {\n rel: 'canonical',\n href: `https://${host + decodeURI(this.$route.path)}`,\n },\n ...languagemap,\n ],\n };\n },\n // watch: {\n // eslint-disable-next-line func-names\n // '$route.path': function (newValue, oldValue, ...args) {\n // console.log(newValue, oldValue, '----args----');\n // try {\n // const { $isAppEnvironment } = this?.$nuxt?.context || {};\n // if (newValue !== oldValue && $isAppEnvironment) {\n // window.$yoda?.invoke?.('webview.open', {\n // url: `${window?.location?.origin}${newValue}`,\n // });\n // }\n // } catch (e) {\n // console.log(e);\n // }\n // },\n // },\n});\n","import { getCurrentInstance, onBeforeUnmount, onMounted } from 'vue';\nimport { AIChatApi } from '@/api/ai-chat';\nimport { generateUUID } from '@/common/utils';\nimport { AIMessageReadStatus, AIMessageStatus, AIMessageType } from '@/store/modules/ai-conversation';\nimport { checkIfAppEnvironment } from '@/common/app';\n\nconst PollingRequestInterval = 60 * 1000;\n\n// eslint-disable-next-line import/prefer-default-export\nexport const useAiBotAutomaticMessage = () => {\n const { proxy } = getCurrentInstance() || {};\n // eslint-disable-next-line no-undef\n let timer: NodeJS.Timeout | null = null;\n\n const clearTimer = () => {\n if (timer) {\n clearInterval(timer);\n }\n };\n\n const fetchAiBotAutomaticMessage = async () => {\n try {\n const res = await AIChatApi.getBotAutomaticChat({});\n if (res?.data?.status !== 'ok') {\n return;\n }\n clearTimer();\n const botList = Object.keys(res?.data?.greetingList || {});\n botList.forEach(botId => {\n const botMessage = res?.data?.greetingList?.[botId] || {};\n if (!botMessage.gt) {\n return;\n }\n proxy?.$store?.commit('conversationModule/storeMessage', {\n botId,\n message: `${botMessage.gt || ''}`,\n messageId: generateUUID(),\n type: AIMessageType.other,\n messageReadStatus: AIMessageReadStatus.Unread,\n messageStatus: AIMessageStatus.done,\n });\n });\n\n proxy?.$store?.commit('conversationModule/setHasAutomaticMessage', botList.length > 0);\n } catch {\n // do nothing\n }\n };\n\n const requestPolling = async () => {\n timer = setInterval(fetchAiBotAutomaticMessage, PollingRequestInterval);\n };\n\n onMounted(async () => {\n const isAppEnv = checkIfAppEnvironment();\n // 只对 ai 页面开启\n if (proxy?.$route?.path?.includes?.('/aichat') && proxy?.$store?.state?.abTestModule?.abTestParams?.a_chat_tab_entry && !isAppEnv) {\n requestPolling();\n }\n });\n\n onBeforeUnmount(() => {\n clearTimer();\n });\n};\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./default.vue?vue&type=template&id=e39b679a&scoped=true&\"\nimport script from \"./default.vue?vue&type=script&lang=ts&\"\nexport * from \"./default.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./default.vue?vue&type=style&index=0&id=e39b679a&prod&lang=stylus&scoped=true&\"\nimport style1 from \"./default.vue?vue&type=style&index=1&id=e39b679a&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e39b679a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"main\",style:({ backgroundColor: _vm.bgColor })},[(_vm.loading)?_c('Loading'):_vm._e(),_vm._v(\" \"),_c('nuxt',{attrs:{\"keep-alive\":\"\",\"keep-alive-props\":{ exclude: [_vm.ComponentNameMap.VideoDetail, _vm.ComponentNameMap.DiscoverSearch] }}}),_vm._v(\" \"),(_vm.showFooter)?_c('FooterNav',{attrs:{\"is-dark\":_vm.showFooter}}):_vm._e(),_vm._v(\" \"),(_vm.showTopTabs)?_c('TopTabs',{staticClass:\"top-tabs\"}):_vm._e(),_vm._v(\" \"),_c('AppReferralPromptPopup',{attrs:{\"show\":_vm.webToAppPopupVisible && !_vm.isAIchat},on:{\"cancel\":_vm.handleWebToAppPopupClose,\"confirm\":_vm.handleWebToAppPopupConfirm}}),_vm._v(\" \"),_c('ActionOpenPwa',{attrs:{\"show\":_vm.popupState.showOpenPwaBtn,\"componentType\":_vm.popupState.type,\"isFirstOpen\":_vm.popupState.isFirstOpen},on:{\"changeShow\":_vm.changeShow}}),_vm._v(\" \"),(_vm.visible)?_c('LiteSharePopup',{on:{\"handleCancel\":_vm.handleCancel}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./e-commerce.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./e-commerce.vue?vue&type=script&lang=ts&\"","\nimport { defineComponent, onMounted } from 'vue';\nimport { genWebDidAndSessionId } from '@/common/utils';\n\nexport default defineComponent({\n components: {},\n setup() {\n onMounted(async () => {\n genWebDidAndSessionId();\n });\n\n return {};\n },\n});\n","import { render, staticRenderFns } from \"./e-commerce.vue?vue&type=template&id=1252f8e0&scoped=true&\"\nimport script from \"./e-commerce.vue?vue&type=script&lang=ts&\"\nexport * from \"./e-commerce.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./e-commerce.vue?vue&type=style&index=0&id=1252f8e0&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1252f8e0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"main\"},[_c('div',{staticClass:\"content\"},[_c('nuxt',{attrs:{\"keep-alive\":\"\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty.vue?vue&type=script&lang=ts&\"","\nimport { defineComponent, SetupContext, getCurrentInstance, onUnmounted, computed, onMounted, ref } from 'vue';\n\nexport default defineComponent({\n components: {},\n setup(_: unknown, ctx: SetupContext) {},\n});\n","import { render, staticRenderFns } from \"./empty.vue?vue&type=template&id=799b0ab0&scoped=true&\"\nimport script from \"./empty.vue?vue&type=script&lang=ts&\"\nexport * from \"./empty.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./empty.vue?vue&type=style&index=0&id=799b0ab0&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"799b0ab0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"main\"},[_c('nuxt',{attrs:{\"keep-alive\":\"\",\"keep-alive-props\":{ exclude: [] }}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport { decode, parsePath, withoutBase, withoutTrailingSlash, normalizeURL } from 'ufo'\n\nimport { getMatchedComponentsInstances, getChildrenComponentInstancesUsingFetch, promisify, globalHandleError, urlJoin, sanitizeComponent } from './utils'\nimport NuxtError from '../layouts/error.vue'\nimport NuxtLoading from './components/nuxt-loading.vue'\n\nimport '../node_modules/vant/lib/index.css'\n\nimport '../assets/reset.styl'\n\nimport '../assets/mixins.styl'\n\nimport _1a3ae26b from '../layouts/app.vue'\nimport _6f6c098b from '../layouts/default.vue'\nimport _72119fb9 from '../layouts/e-commerce.vue'\nimport _77430317 from '../layouts/empty.vue'\n\nconst layouts = { \"_app\": sanitizeComponent(_1a3ae26b),\"_default\": sanitizeComponent(_6f6c098b),\"_e-commerce\": sanitizeComponent(_72119fb9),\"_empty\": sanitizeComponent(_77430317) }\n\nexport default {\n render (h, props) {\n const loadingEl = h('NuxtLoading', { ref: 'loading' })\n\n const layoutEl = h(this.layout || 'nuxt')\n const templateEl = h('div', {\n domProps: {\n id: '__layout'\n },\n key: this.layoutName\n }, [layoutEl])\n\n const transitionEl = h('transition', {\n props: {\n name: 'layout',\n mode: 'out-in'\n },\n on: {\n beforeEnter (el) {\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n }\n }\n }, [templateEl])\n\n return h('div', {\n domProps: {\n id: '__nuxt'\n }\n }, [\n loadingEl,\n\n transitionEl\n ])\n },\n\n data: () => ({\n isOnline: true,\n\n layout: null,\n layoutName: '',\n\n nbFetching: 0\n }),\n\n beforeCreate () {\n Vue.util.defineReactive(this, 'nuxt', this.$options.nuxt)\n },\n created () {\n // Add this.$nuxt in child instances\n this.$root.$options.$nuxt = this\n\n if (process.client) {\n // add to window so we can listen when ready\n window.$nuxt = this\n\n this.refreshOnlineStatus()\n // Setup the listeners\n window.addEventListener('online', this.refreshOnlineStatus)\n window.addEventListener('offline', this.refreshOnlineStatus)\n }\n // Add $nuxt.error()\n this.error = this.nuxt.error\n // Add $nuxt.context\n this.context = this.$options.context\n },\n\n async mounted () {\n this.$loading = this.$refs.loading\n },\n\n watch: {\n 'nuxt.err': 'errorChanged'\n },\n\n computed: {\n isOffline () {\n return !this.isOnline\n },\n\n isFetching () {\n return this.nbFetching > 0\n },\n },\n\n methods: {\n refreshOnlineStatus () {\n if (process.client) {\n if (typeof window.navigator.onLine === 'undefined') {\n // If the browser doesn't support connection status reports\n // assume that we are online because most apps' only react\n // when they now that the connection has been interrupted\n this.isOnline = true\n } else {\n this.isOnline = window.navigator.onLine\n }\n }\n },\n\n async refresh () {\n const pages = getMatchedComponentsInstances(this.$route)\n\n if (!pages.length) {\n return\n }\n this.$loading.start()\n\n const promises = pages.map(async (page) => {\n let p = []\n\n // Old fetch\n if (page.$options.fetch && page.$options.fetch.length) {\n p.push(promisify(page.$options.fetch, this.context))\n }\n\n if (page.$options.asyncData) {\n p.push(\n promisify(page.$options.asyncData, this.context)\n .then((newData) => {\n for (const key in newData) {\n Vue.set(page.$data, key, newData[key])\n }\n })\n )\n }\n\n // Wait for asyncData & old fetch to finish\n await Promise.all(p)\n // Cleanup refs\n p = []\n\n if (page.$fetch) {\n p.push(page.$fetch())\n }\n // Get all component instance to call $fetch\n for (const component of getChildrenComponentInstancesUsingFetch(page.$vnode.componentInstance)) {\n p.push(component.$fetch())\n }\n\n return Promise.all(p)\n })\n try {\n await Promise.all(promises)\n } catch (error) {\n this.$loading.fail(error)\n globalHandleError(error)\n this.error(error)\n }\n this.$loading.finish()\n },\n errorChanged () {\n if (this.nuxt.err) {\n if (this.$loading) {\n if (this.$loading.fail) {\n this.$loading.fail(this.nuxt.err)\n }\n if (this.$loading.finish) {\n this.$loading.finish()\n }\n }\n\n let errorLayout = (NuxtError.options || NuxtError).layout;\n\n if (typeof errorLayout === 'function') {\n errorLayout = errorLayout(this.context)\n }\n\n this.setLayout(errorLayout)\n }\n },\n\n setLayout (layout) {\n if (!layout || !layouts['_' + layout]) {\n layout = 'default'\n }\n this.layoutName = layout\n this.layout = layouts['_' + layout]\n return this.layout\n },\n loadLayout (layout) {\n if (!layout || !layouts['_' + layout]) {\n layout = 'default'\n }\n return Promise.resolve(layouts['_' + layout])\n },\n },\n\n components: {\n NuxtLoading\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nconst VUEX_PROPERTIES = ['state', 'getters', 'actions', 'mutations']\n\nlet store = {};\n\n(function updateModules () {\n store = normalizeRoot(require('../store/index.ts'), 'store/index.ts')\n\n // If store is an exported method = classic mode (deprecated)\n\n // Enforce store modules\n store.modules = store.modules || {}\n\n resolveStoreModules(require('../store/modules/ab-test.ts'), 'modules/ab-test.ts')\n resolveStoreModules(require('../store/modules/ai-chat-guide.ts'), 'modules/ai-chat-guide.ts')\n resolveStoreModules(require('../store/modules/ai-conversation.ts'), 'modules/ai-conversation.ts')\n resolveStoreModules(require('../store/modules/ai-create.ts'), 'modules/ai-create.ts')\n resolveStoreModules(require('../store/modules/ai-discover.ts'), 'modules/ai-discover.ts')\n resolveStoreModules(require('../store/modules/ai-feed.ts'), 'modules/ai-feed.ts')\n resolveStoreModules(require('../store/modules/feed.ts'), 'modules/feed.ts')\n resolveStoreModules(require('../store/modules/kconf.ts'), 'modules/kconf.ts')\n resolveStoreModules(require('../store/modules/popup.ts'), 'modules/popup.ts')\n resolveStoreModules(require('../store/modules/schema.ts'), 'modules/schema.ts')\n resolveStoreModules(require('../store/modules/user.ts'), 'modules/user.ts')\n\n // If the environment supports hot reloading...\n})()\n\n// createStore\nexport const createStore = store instanceof Function ? store : () => {\n return new Vuex.Store(Object.assign({\n strict: (process.env.NODE_ENV !== 'production')\n }, store))\n}\n\nfunction normalizeRoot (moduleData, filePath) {\n moduleData = moduleData.default || moduleData\n\n if (moduleData.commit) {\n throw new Error(`[nuxt] ${filePath} should export a method that returns a Vuex instance.`)\n }\n\n if (typeof moduleData !== 'function') {\n // Avoid TypeError: setting a property that has only a getter when overwriting top level keys\n moduleData = Object.assign({}, moduleData)\n }\n return normalizeModule(moduleData, filePath)\n}\n\nfunction normalizeModule (moduleData, filePath) {\n if (moduleData.state && typeof moduleData.state !== 'function') {\n console.warn(`'state' should be a method that returns an object in ${filePath}`)\n\n const state = Object.assign({}, moduleData.state)\n // Avoid TypeError: setting a property that has only a getter when overwriting top level keys\n moduleData = Object.assign({}, moduleData, { state: () => state })\n }\n return moduleData\n}\n\nfunction resolveStoreModules (moduleData, filename) {\n moduleData = moduleData.default || moduleData\n // Remove store src + extension (./foo/index.js -> foo/index)\n const namespace = filename.replace(/\\.(js|mjs|ts)$/, '')\n const namespaces = namespace.split('/')\n let moduleName = namespaces[namespaces.length - 1]\n const filePath = `store/${filename}`\n\n moduleData = moduleName === 'state'\n ? normalizeState(moduleData, filePath)\n : normalizeModule(moduleData, filePath)\n\n // If src is a known Vuex property\n if (VUEX_PROPERTIES.includes(moduleName)) {\n const property = moduleName\n const propertyStoreModule = getStoreModule(store, namespaces, { isProperty: true })\n\n // Replace state since it's a function\n mergeProperty(propertyStoreModule, moduleData, property)\n return\n }\n\n // If file is foo/index.js, it should be saved as foo\n const isIndexModule = (moduleName === 'index')\n if (isIndexModule) {\n namespaces.pop()\n moduleName = namespaces[namespaces.length - 1]\n }\n\n const storeModule = getStoreModule(store, namespaces)\n\n for (const property of VUEX_PROPERTIES) {\n mergeProperty(storeModule, moduleData[property], property)\n }\n\n if (moduleData.namespaced === false) {\n delete storeModule.namespaced\n }\n}\n\nfunction normalizeState (moduleData, filePath) {\n if (typeof moduleData !== 'function') {\n console.warn(`${filePath} should export a method that returns an object`)\n const state = Object.assign({}, moduleData)\n return () => state\n }\n return normalizeModule(moduleData, filePath)\n}\n\nfunction getStoreModule (storeModule, namespaces, { isProperty = false } = {}) {\n // If ./mutations.js\n if (!namespaces.length || (isProperty && namespaces.length === 1)) {\n return storeModule\n }\n\n const namespace = namespaces.shift()\n\n storeModule.modules[namespace] = storeModule.modules[namespace] || {}\n storeModule.modules[namespace].namespaced = true\n storeModule.modules[namespace].modules = storeModule.modules[namespace].modules || {}\n\n return getStoreModule(storeModule.modules[namespace], namespaces, { isProperty })\n}\n\nfunction mergeProperty (storeModule, moduleData, property) {\n if (!moduleData) {\n return\n }\n\n if (property === 'state') {\n storeModule.state = moduleData || storeModule.state\n } else {\n storeModule[property] = Object.assign({}, storeModule[property], moduleData)\n }\n}\n","import locale9ec66352 from '../../locales/en.json'\nimport localeae97e51a from '../../locales/pt-BR.json'\nimport locale8db5ed1c from '../../locales/es.json'\nimport locale38517862 from '../../locales/ar.json'\nimport locale73254525 from '../../locales/id.json'\nimport locale057ad21c from '../../locales/zh.json'\n\nexport const Constants = {\n COMPONENT_OPTIONS_KEY: \"nuxtI18n\",\n STRATEGIES: {\"PREFIX\":\"prefix\",\"PREFIX_EXCEPT_DEFAULT\":\"prefix_except_default\",\"PREFIX_AND_DEFAULT\":\"prefix_and_default\",\"NO_PREFIX\":\"no_prefix\"},\n REDIRECT_ON_OPTIONS: {\"ALL\":\"all\",\"ROOT\":\"root\",\"NO_PREFIX\":\"no prefix\"},\n}\nexport const nuxtOptions = {\n isUniversalMode: true,\n trailingSlash: undefined,\n}\nexport const options = {\n vueI18n: {\"fallbackLocale\":\"en\"},\n vueI18nLoader: false,\n locales: [{\"code\":\"en\",\"iso\":\"en\",\"file\":\"en.json\",\"dir\":\"ltr\"},{\"code\":\"pt-BR\",\"iso\":\"pt-BR\",\"file\":\"pt-BR.json\",\"dir\":\"ltr\"},{\"code\":\"es\",\"iso\":\"es\",\"file\":\"es.json\",\"dir\":\"ltr\"},{\"code\":\"ar\",\"iso\":\"ar\",\"file\":\"ar.json\",\"dir\":\"rtl\"},{\"code\":\"id\",\"iso\":\"id\",\"file\":\"id.json\",\"dir\":\"ltr\"},{\"code\":\"pt-BR\",\"iso\":\"pt-BR\",\"file\":\"pt-BR.json\",\"dir\":\"ltr\"},{\"code\":\"zh\",\"iso\":\"zh\",\"file\":\"zh.json\",\"dir\":\"ltr\"}],\n defaultLocale: \"en\",\n defaultDirection: \"ltr\",\n routesNameSeparator: \"___\",\n defaultLocaleRouteNameSuffix: \"default\",\n sortRoutes: true,\n strategy: \"no_prefix\",\n lazy: false,\n langDir: \"/media/disk1/fordata/jenkins/rbdNodeJs/workspace/SRC/locales\",\n rootRedirect: null,\n detectBrowserLanguage: {\"alwaysRedirect\":false,\"cookieCrossOrigin\":false,\"cookieDomain\":null,\"cookieKey\":\"i18n_redirected\",\"cookieSecure\":false,\"fallbackLocale\":\"\",\"redirectOn\":\"root\",\"useCookie\":true},\n differentDomains: false,\n baseUrl: \"\",\n vuex: {\"moduleName\":\"i18n\",\"syncRouteParams\":true},\n parsePages: true,\n pages: {},\n skipSettingLocaleOnNavigate: false,\n onBeforeLanguageSwitch: () => {},\n onLanguageSwitched: () => null,\n normalizedLocales: [{\"code\":\"en\",\"iso\":\"en\",\"file\":\"en.json\",\"dir\":\"ltr\"},{\"code\":\"pt-BR\",\"iso\":\"pt-BR\",\"file\":\"pt-BR.json\",\"dir\":\"ltr\"},{\"code\":\"es\",\"iso\":\"es\",\"file\":\"es.json\",\"dir\":\"ltr\"},{\"code\":\"ar\",\"iso\":\"ar\",\"file\":\"ar.json\",\"dir\":\"rtl\"},{\"code\":\"id\",\"iso\":\"id\",\"file\":\"id.json\",\"dir\":\"ltr\"},{\"code\":\"pt-BR\",\"iso\":\"pt-BR\",\"file\":\"pt-BR.json\",\"dir\":\"ltr\"},{\"code\":\"zh\",\"iso\":\"zh\",\"file\":\"zh.json\",\"dir\":\"ltr\"}],\n localeCodes: [\"en\",\"pt-BR\",\"es\",\"ar\",\"id\",\"pt-BR\",\"zh\"],\n}\n\nexport const localeMessages = {\n 'en.json': () => Promise.resolve(locale9ec66352),\n 'pt-BR.json': () => Promise.resolve(localeae97e51a),\n 'es.json': () => Promise.resolve(locale8db5ed1c),\n 'ar.json': () => Promise.resolve(locale38517862),\n 'id.json': () => Promise.resolve(locale73254525),\n 'zh.json': () => Promise.resolve(locale057ad21c),\n}\n","import Cookie from 'cookie'\nimport JsCookie from 'js-cookie'\n\n/** @typedef {import('../../types/internal').ResolvedOptions} ResolvedOptions */\n\n/**\n * Formats a log message, prefixing module's name to it.\n *\n * @param {string} text\n * @return {string}\n */\nexport function formatMessage (text) {\n return `[@nuxtjs/i18n] ${text}`\n}\n\n/**\n * Parses locales provided from browser through `accept-language` header.\n *\n * @param {string} input\n * @return {string[]} An array of locale codes. Priority determined by order in array.\n */\nexport function parseAcceptLanguage (input) {\n // Example input: en-US,en;q=0.9,nb;q=0.8,no;q=0.7\n // Contains tags separated by comma.\n // Each tag consists of locale code (2-3 letter language code) and optionally country code\n // after dash. Tag can also contain score after semicolon, that is assumed to match order\n // so it's not explicitly used.\n return input.split(',').map(tag => tag.split(';')[0])\n}\n\n/**\n * Find locale code that best matches provided list of browser locales.\n *\n * @param {ResolvedOptions['normalizedLocales']} appLocales The user-configured locales that are to be matched.\n * @param {readonly string[]} browserLocales The locales to match against configured.\n * @return {string | undefined}\n */\nexport function matchBrowserLocale (appLocales, browserLocales) {\n /** @type {{ code: string, score: number }[]} */\n const matchedLocales = []\n\n // Normalise appLocales input\n /** @type {{ code: string, iso: string }[]} */\n const normalizedAppLocales = []\n for (const appLocale of appLocales) {\n const { code } = appLocale\n const iso = appLocale.iso || code\n normalizedAppLocales.push({ code, iso })\n }\n\n // First pass: match exact locale.\n for (const [index, browserCode] of browserLocales.entries()) {\n const matchedLocale = normalizedAppLocales.find(appLocale => appLocale.iso.toLowerCase() === browserCode.toLowerCase())\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 1 - index / browserLocales.length })\n break\n }\n }\n\n // Second pass: match only locale code part of the browser locale (not including country).\n for (const [index, browserCode] of browserLocales.entries()) {\n const languageCode = browserCode.split('-')[0].toLowerCase()\n const matchedLocale = normalizedAppLocales.find(appLocale => appLocale.iso.split('-')[0].toLowerCase() === languageCode)\n if (matchedLocale) {\n // Deduct a thousandth for being non-exact match.\n matchedLocales.push({ code: matchedLocale.code, score: 0.999 - index / browserLocales.length })\n break\n }\n }\n\n // Sort the list by score (0 - lowest, 1 - highest).\n if (matchedLocales.length > 1) {\n matchedLocales.sort((localeA, localeB) => {\n if (localeA.score === localeB.score) {\n // If scores are equal then pick more specific (longer) code.\n return localeB.code.length - localeA.code.length\n }\n\n return localeB.score - localeA.score\n })\n }\n\n return matchedLocales.length ? matchedLocales[0].code : undefined\n}\n\n/**\n * Get locale code that corresponds to current hostname\n *\n * @param {ResolvedOptions['normalizedLocales']} locales\n * @param {import('http').IncomingMessage | undefined} req\n * @return {string} Locale code found if any\n */\nexport function getLocaleDomain (locales, req) {\n /** @type {string | undefined} */\n let host\n\n if (process.client) {\n host = window.location.host\n } else if (req) {\n const detectedHost = req.headers['x-forwarded-host'] || req.headers.host\n host = Array.isArray(detectedHost) ? detectedHost[0] : detectedHost\n }\n\n if (host) {\n const matchingLocale = locales.find(l => l.domain === host)\n if (matchingLocale) {\n return matchingLocale.code\n }\n }\n\n return ''\n}\n\n/**\n * Creates a RegExp for route paths\n *\n * @param {readonly string[]} localeCodes\n * @return {RegExp}\n */\nexport function getLocalesRegex (localeCodes) {\n return new RegExp(`^/(${localeCodes.join('|')})(?:/|$)`, 'i')\n}\n\n/**\n * Creates getter for getLocaleFromRoute\n *\n * @param {readonly string[]} localeCodes\n * @param {Pick} options\n */\nexport function createLocaleFromRouteGetter (localeCodes, { routesNameSeparator, defaultLocaleRouteNameSuffix }) {\n const localesPattern = `(${localeCodes.join('|')})`\n const defaultSuffixPattern = `(?:${routesNameSeparator}${defaultLocaleRouteNameSuffix})?`\n const regexpName = new RegExp(`${routesNameSeparator}${localesPattern}${defaultSuffixPattern}$`, 'i')\n const regexpPath = getLocalesRegex(localeCodes)\n /**\n * Extract locale code from given route:\n * - If route has a name, try to extract locale from it\n * - Otherwise, fall back to using the routes'path\n * @param {import('vue-router').Route} route\n * @return {string} Locale code found if any\n */\n const getLocaleFromRoute = route => {\n // Extract from route name\n if (route.name) {\n const matches = route.name.match(regexpName)\n if (matches && matches.length > 1) {\n return matches[1]\n }\n } else if (route.path) {\n // Extract from path\n const matches = route.path.match(regexpPath)\n if (matches && matches.length > 1) {\n return matches[1]\n }\n }\n\n return ''\n }\n\n return getLocaleFromRoute\n}\n\n/**\n * @param {import('http').IncomingMessage | undefined} req\n * @param {{ useCookie: boolean, cookieKey: string, localeCodes: readonly string[] }} options\n * @return {string | undefined}\n */\nexport function getLocaleCookie (req, { useCookie, cookieKey, localeCodes }) {\n if (useCookie) {\n let localeCode\n\n if (process.client) {\n localeCode = JsCookie.get(cookieKey)\n } else if (req && typeof req.headers.cookie !== 'undefined') {\n const cookies = req.headers && req.headers.cookie ? Cookie.parse(req.headers.cookie) : {}\n localeCode = cookies[cookieKey]\n }\n\n if (localeCode && localeCodes.includes(localeCode)) {\n return localeCode\n }\n }\n}\n\n/**\n * @param {string} locale\n * @param {import('http').ServerResponse | undefined} res\n * @param {{ useCookie: boolean, cookieDomain: string | null, cookieKey: string, cookieSecure: boolean, cookieCrossOrigin: boolean}} options\n */\nexport function setLocaleCookie (locale, res, { useCookie, cookieDomain, cookieKey, cookieSecure, cookieCrossOrigin }) {\n if (!useCookie) {\n return\n }\n const date = new Date()\n /** @type {import('cookie').CookieSerializeOptions} */\n const cookieOptions = {\n expires: new Date(date.setDate(date.getDate() + 365)),\n path: '/',\n sameSite: cookieCrossOrigin ? 'none' : 'lax',\n secure: cookieCrossOrigin || cookieSecure\n }\n\n if (cookieDomain) {\n cookieOptions.domain = cookieDomain\n }\n\n if (process.client) {\n // @ts-ignore\n JsCookie.set(cookieKey, locale, cookieOptions)\n } else if (res) {\n let headers = res.getHeader('Set-Cookie') || []\n if (!Array.isArray(headers)) {\n headers = [String(headers)]\n }\n\n const redirectCookie = Cookie.serialize(cookieKey, locale, cookieOptions)\n headers.push(redirectCookie)\n\n res.setHeader('Set-Cookie', headers)\n }\n}\n","import isHTTPS from 'is-https'\nimport { localeMessages, options } from './options'\nimport { formatMessage } from './utils-common'\n// @ts-ignore\nimport { hasProtocol } from '~i18n-ufo'\n\n/** @typedef {import('../../types/internal').ResolvedOptions} ResolvedOptions */\n\n/**\n * Asynchronously load messages from translation files\n *\n * @param {import('@nuxt/types').Context} context\n * @param {string} locale Language code to load\n * @return {Promise}\n */\nexport async function loadLanguageAsync (context, locale) {\n const { app } = context\n const { i18n } = app\n\n if (!i18n.loadedLanguages) {\n i18n.loadedLanguages = []\n }\n\n if (!i18n.loadedLanguages.includes(locale)) {\n const localeObject = options.normalizedLocales.find(l => l.code === locale)\n if (localeObject) {\n const { file } = localeObject\n if (file) {\n /* */\n /** @type {import('vue-i18n').LocaleMessageObject | undefined} */\n let messages\n if (process.client) {\n const { nuxtState } = context\n if (nuxtState && nuxtState.__i18n && nuxtState.__i18n.langs[locale]) {\n messages = nuxtState.__i18n.langs[locale]\n // Even if already cached in Nuxt state, trigger locale import so that HMR kicks-in on changes to that file.\n if (context.isDev) {\n localeMessages[file]()\n }\n }\n }\n if (!messages) {\n try {\n // @ts-ignore\n const getter = await localeMessages[file]().then(m => m.default || m)\n messages = typeof getter === 'function' ? await Promise.resolve(getter(context, locale)) : getter\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(formatMessage(`Failed loading async locale export: ${error.message}`))\n }\n }\n if (messages) {\n i18n.setLocaleMessage(locale, messages)\n i18n.loadedLanguages.push(locale)\n }\n /* */\n } else {\n console.warn(formatMessage(`Could not find lang file for locale ${locale}`))\n }\n } else {\n console.warn(formatMessage(`Attempted to load messages for non-existant locale code \"${locale}\"`))\n }\n }\n}\n\n/**\n * Resolves base URL value if provided as function. Otherwise just returns verbatim.\n *\n * @param {string | ((context: import('@nuxt/types').Context) => string)} baseUrl\n * @param {import('@nuxt/types').Context} context\n * @param {import('../../types').Locale} localeCode\n * @param {Pick} options\n * @return {string}\n */\nexport function resolveBaseUrl (baseUrl, context, localeCode, { differentDomains, normalizedLocales }) {\n if (typeof baseUrl === 'function') {\n return baseUrl(context)\n }\n\n if (differentDomains && localeCode) {\n // Lookup the `differentDomain` origin associated with given locale.\n const domain = getDomainFromLocale(localeCode, context.req, { normalizedLocales })\n if (domain) {\n return domain\n }\n }\n\n return baseUrl\n}\n\n/**\n * Gets the `differentDomain` domain from locale.\n *\n * @param {string} localeCode\n * @param {import('http').IncomingMessage | undefined} req\n * @param {Pick} options\n * @return {string | undefined}\n */\nexport function getDomainFromLocale (localeCode, req, { normalizedLocales }) {\n// Lookup the `differentDomain` origin associated with given locale.\n const lang = normalizedLocales.find(locale => locale.code === localeCode)\n if (lang && lang.domain) {\n if (hasProtocol(lang.domain)) {\n return lang.domain\n }\n let protocol\n if (process.server) {\n protocol = (req && isHTTPS(req)) ? 'https' : 'http'\n } else {\n protocol = window.location.protocol.split(':')[0]\n }\n return `${protocol}://${lang.domain}`\n }\n\n // eslint-disable-next-line no-console\n console.warn(formatMessage(`Could not find domain name for locale ${localeCode}`))\n}\n\n/**\n * @param {import('vuex').Store>} store\n * @param {Required} vuex\n * @param {readonly string[]} localeCodes\n */\nexport function registerStore (store, vuex, localeCodes) {\n /** @typedef {{\n * locale?: string\n * messages?: Record\n * routeParams?: Record>\n * }} ModuleStore\n *\n * @type {import('vuex').Module}\n */\n const storeModule = {\n namespaced: true,\n state: () => ({\n ...(vuex.syncRouteParams ? { routeParams: {} } : {})\n }),\n actions: {\n ...(vuex.syncRouteParams\n ? {\n setRouteParams ({ commit }, params) {\n if (process.env.NODE_ENV === 'development') {\n validateRouteParams(params, localeCodes)\n }\n commit('setRouteParams', params)\n }\n }\n : {})\n },\n mutations: {\n ...(vuex.syncRouteParams\n ? {\n setRouteParams (state, params) {\n state.routeParams = params\n }\n }\n : {})\n },\n getters: {\n ...(vuex.syncRouteParams\n ? {\n localeRouteParams: ({ routeParams }) => {\n /** @type {(locale: string) => Record} */\n const paramsGetter = locale => (routeParams && routeParams[locale]) || {}\n return paramsGetter\n }\n }\n : {})\n }\n }\n store.registerModule(vuex.moduleName, storeModule, { preserveState: !!store.state[vuex.moduleName] })\n}\n\n/**\n * Validate setRouteParams action's payload\n *\n * @param {object} routeParams The action's payload\n * @param {readonly string[]} localeCodes\n */\nexport function validateRouteParams (routeParams, localeCodes) {\n if (!isObject(routeParams)) {\n // eslint-disable-next-line no-console\n console.warn(formatMessage('Route params should be an object'))\n return\n }\n\n for (const [key, value] of Object.entries(routeParams)) {\n if (!localeCodes.includes(key)) {\n // eslint-disable-next-line no-console\n console.warn(formatMessage(`Trying to set route params for key ${key} which is not a valid locale`))\n } else if (!isObject(value)) {\n // eslint-disable-next-line no-console\n console.warn(formatMessage(`Trying to set route params for locale ${key} with a non-object value`))\n }\n }\n}\n\n/**\n * @param {any} value\n * @return {boolean}\n */\nfunction isObject (value) {\n return value && !Array.isArray(value) && typeof value === 'object'\n}\n","// @ts-ignore\nimport nuxtMiddleware from '../middleware'\n\n/** @type {import('@nuxt/types').Middleware} */\nconst i18nMiddleware = async (context) => {\n const { app, isHMR } = context\n\n if (isHMR) {\n return\n }\n\n const [status, redirectPath, preserveQuery] = await app.i18n.__onNavigate(context.route)\n if (status && redirectPath) {\n const query = preserveQuery ? context.route.query : undefined\n context.redirect(status, redirectPath, query)\n }\n}\n\nnuxtMiddleware.nuxti18n = i18nMiddleware\n","import './middleware'\nimport Vue from 'vue'\nimport { Constants, nuxtOptions, options } from './options'\nimport { getDomainFromLocale } from './plugin.utils'\n// @ts-ignore\nimport { withoutTrailingSlash, withTrailingSlash } from '~i18n-ufo'\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['localePath']}\n */\nfunction localePath (route, locale) {\n const localizedRoute = resolveRoute.call(this, route, locale)\n return localizedRoute ? localizedRoute.route.redirectedFrom || localizedRoute.route.fullPath : ''\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['localeRoute']}\n */\nfunction localeRoute (route, locale) {\n const resolved = resolveRoute.call(this, route, locale)\n return resolved ? resolved.route : undefined\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['localeLocation']}\n */\nfunction localeLocation (route, locale) {\n const resolved = resolveRoute.call(this, route, locale)\n return resolved ? resolved.location : undefined\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @param {import('vue-router').RawLocation} route\n * @param {string} [locale]\n * @return {ReturnType | undefined}\n */\nfunction resolveRoute (route, locale) {\n // Abort if no route or no locale\n if (!route) {\n return\n }\n\n const { i18n } = this\n\n locale = locale || i18n.locale\n\n if (!locale) {\n return\n }\n\n // If route parameter is a string, check if it's a path or name of route.\n if (typeof route === 'string') {\n if (route[0] === '/') {\n // If route parameter is a path, create route object with path.\n route = { path: route }\n } else {\n // Else use it as route name.\n route = { name: route }\n }\n }\n\n let localizedRoute = Object.assign({}, route)\n\n if (localizedRoute.path && !localizedRoute.name) {\n const resolvedRoute = this.router.resolve(localizedRoute).route\n const resolvedRouteName = this.getRouteBaseName(resolvedRoute)\n if (resolvedRouteName) {\n localizedRoute = {\n name: getLocaleRouteName(resolvedRouteName, locale),\n params: resolvedRoute.params,\n query: resolvedRoute.query,\n hash: resolvedRoute.hash\n }\n } else {\n const isDefaultLocale = locale === options.defaultLocale\n // if route has a path defined but no name, resolve full route using the path\n const isPrefixed =\n // don't prefix default locale\n !(isDefaultLocale && [Constants.STRATEGIES.PREFIX_EXCEPT_DEFAULT, Constants.STRATEGIES.PREFIX_AND_DEFAULT].includes(options.strategy)) &&\n // no prefix for any language\n !(options.strategy === Constants.STRATEGIES.NO_PREFIX) &&\n // no prefix for different domains\n !i18n.differentDomains\n if (isPrefixed) {\n localizedRoute.path = `/${locale}${localizedRoute.path}`\n }\n localizedRoute.path = nuxtOptions.trailingSlash ? withTrailingSlash(localizedRoute.path, true) : withoutTrailingSlash(localizedRoute.path, true)\n }\n } else {\n if (!localizedRoute.name && !localizedRoute.path) {\n localizedRoute.name = this.getRouteBaseName()\n }\n\n localizedRoute.name = getLocaleRouteName(localizedRoute.name, locale)\n\n const { params } = localizedRoute\n if (params && params['0'] === undefined && params.pathMatch) {\n params['0'] = params.pathMatch\n }\n }\n\n const resolvedRoute = this.router.resolve(localizedRoute)\n if (resolvedRoute.route.name) {\n return resolvedRoute\n }\n // If didn't resolve to an existing route then just return resolved route based on original input.\n return this.router.resolve(route)\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['switchLocalePath']}\n */\nfunction switchLocalePath (locale) {\n const name = this.getRouteBaseName()\n if (!name) {\n return ''\n }\n\n const { i18n, route, store } = this\n const { params, ...routeCopy } = route\n let langSwitchParams = {}\n if (options.vuex && options.vuex.syncRouteParams && store) {\n langSwitchParams = store.getters[`${options.vuex.moduleName}/localeRouteParams`](locale)\n }\n const baseRoute = Object.assign({}, routeCopy, {\n name,\n params: {\n ...params,\n ...langSwitchParams,\n 0: params.pathMatch\n }\n })\n let path = this.localePath(baseRoute, locale)\n\n // Handle different domains\n if (i18n.differentDomains) {\n const getDomainOptions = {\n differentDomains: i18n.differentDomains,\n normalizedLocales: options.normalizedLocales\n }\n const domain = getDomainFromLocale(locale, this.req, getDomainOptions)\n if (domain) {\n path = domain + path\n }\n }\n\n return path\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['getRouteBaseName']}\n */\nfunction getRouteBaseName (givenRoute) {\n const route = givenRoute !== undefined ? givenRoute : this.route\n if (!route || !route.name) {\n return\n }\n return route.name.split(options.routesNameSeparator)[0]\n}\n\n/**\n * @param {string | undefined} routeName\n * @param {string} locale\n */\nfunction getLocaleRouteName (routeName, locale) {\n let name = routeName + (options.strategy === Constants.STRATEGIES.NO_PREFIX ? '' : options.routesNameSeparator + locale)\n\n if (locale === options.defaultLocale && options.strategy === Constants.STRATEGIES.PREFIX_AND_DEFAULT) {\n name += options.routesNameSeparator + options.defaultLocaleRouteNameSuffix\n }\n\n return name\n}\n\n/**\n * @template {(...args: any[]) => any} T\n * @param {T} targetFunction\n * @return {(this: Vue, ...args: Parameters) => ReturnType}\n */\nconst VueInstanceProxy = function (targetFunction) {\n return function () {\n const proxy = {\n getRouteBaseName: this.getRouteBaseName,\n i18n: this.$i18n,\n localePath: this.localePath,\n localeRoute: this.localeRoute,\n localeLocation: this.localeLocation,\n req: process.server ? this.$ssrContext.req : null,\n route: this.$route,\n router: this.$router,\n store: this.$store\n }\n\n return targetFunction.call(proxy, ...arguments)\n }\n}\n\n/**\n * @template {(...args: any[]) => any} T\n * @param {import('@nuxt/types').Context} context\n * @param {T} targetFunction\n * @return {(...args: Parameters) => ReturnType}\n */\nconst NuxtContextProxy = function (context, targetFunction) {\n return function () {\n const { app, req, route, store } = context\n\n const proxy = {\n getRouteBaseName: app.getRouteBaseName,\n i18n: app.i18n,\n localePath: app.localePath,\n localeLocation: app.localeLocation,\n localeRoute: app.localeRoute,\n req: process.server ? req : null,\n route,\n router: app.router,\n store\n }\n\n return targetFunction.call(proxy, ...arguments)\n }\n}\n\n/** @type {import('vue').PluginObject} */\nconst plugin = {\n install (Vue) {\n Vue.mixin({\n methods: {\n localePath: VueInstanceProxy(localePath),\n localeRoute: VueInstanceProxy(localeRoute),\n localeLocation: VueInstanceProxy(localeLocation),\n switchLocalePath: VueInstanceProxy(switchLocalePath),\n getRouteBaseName: VueInstanceProxy(getRouteBaseName)\n }\n })\n }\n}\n\n/** @type {import('@nuxt/types').Plugin} */\nexport default (context) => {\n Vue.use(plugin)\n const { app, store } = context\n\n app.localePath = context.localePath = NuxtContextProxy(context, localePath)\n app.localeRoute = context.localeRoute = NuxtContextProxy(context, localeRoute)\n app.localeLocation = context.localeLocation = NuxtContextProxy(context, localeLocation)\n app.switchLocalePath = context.switchLocalePath = NuxtContextProxy(context, switchLocalePath)\n app.getRouteBaseName = context.getRouteBaseName = NuxtContextProxy(context, getRouteBaseName)\n\n if (store) {\n store.localePath = app.localePath\n store.localeRoute = app.localeRoute\n store.localeLocation = app.localeLocation\n store.switchLocalePath = app.switchLocalePath\n store.getRouteBaseName = app.getRouteBaseName\n }\n}\n","import VueMeta from 'vue-meta'\nimport { Constants, options } from './options'\nimport { formatMessage } from './utils-common'\n\n/**\n * @this {import('vue/types/vue').Vue}\n * @return {import('vue-meta').MetaInfo}\n */\nexport function nuxtI18nHead ({ addDirAttribute = false, addSeoAttributes = false } = {}) {\n // Can happen when using from a global mixin.\n if (!this.$i18n) {\n return {}\n }\n\n /** @type {import('../../types/vue').NuxtI18nMeta} */\n const metaObject = {\n htmlAttrs: {},\n link: [],\n meta: []\n }\n\n const currentLocale = this.$i18n.localeProperties\n const currentLocaleIso = currentLocale.iso\n const currentLocaleDir = currentLocale.dir || options.defaultDirection\n\n /**\n * Adding Direction Attribute:\n */\n if (addDirAttribute) {\n metaObject.htmlAttrs.dir = currentLocaleDir\n }\n\n /**\n * Adding SEO Meta:\n */\n if (\n addSeoAttributes &&\n // @ts-ignore\n (VueMeta.hasMetaInfo ? VueMeta.hasMetaInfo(this) : this._hasMetaInfo) &&\n this.$i18n.locale &&\n this.$i18n.locales\n ) {\n if (currentLocaleIso) {\n metaObject.htmlAttrs.lang = currentLocaleIso // TODO: simple lang or \"specific\" lang with territory?\n }\n\n const locales = /** @type {import('../../types').LocaleObject[]} */(this.$i18n.locales)\n\n addHreflangLinks.bind(this)(locales, this.$i18n.__baseUrl, metaObject.link)\n addCanonicalLinks.bind(this)(this.$i18n.__baseUrl, metaObject.link)\n addCurrentOgLocale.bind(this)(currentLocale, currentLocaleIso, metaObject.meta)\n addAlternateOgLocales.bind(this)(locales, currentLocaleIso, metaObject.meta)\n }\n\n /**\n * Internals:\n */\n\n /**\n * @this {import('vue/types/vue').Vue}\n *\n * @param {import('../../types').LocaleObject[]} locales\n * @param {string} baseUrl\n * @param {import('../../types/vue').NuxtI18nMeta['link']} link\n */\n function addHreflangLinks (locales, baseUrl, link) {\n if (options.strategy === Constants.STRATEGIES.NO_PREFIX) {\n return\n }\n /** @type {Map} */\n const localeMap = new Map()\n for (const locale of locales) {\n const localeIso = locale.iso\n\n if (!localeIso) {\n // eslint-disable-next-line no-console\n console.warn(formatMessage('Locale ISO code is required to generate alternate link'))\n continue\n }\n\n // const [language, region] = localeIso.split('-')\n\n // if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {\n // localeMap.set(language, locale)\n // }\n\n localeMap.set(localeIso, locale)\n }\n\n for (const [iso, mapLocale] of localeMap.entries()) {\n const localePath = this.switchLocalePath(mapLocale.code)\n if (localePath) {\n link.push({\n hid: `i18n-alt-${iso}`,\n rel: 'alternate',\n href: toAbsoluteUrl(localePath, baseUrl),\n hreflang: iso\n })\n }\n }\n\n if (options.defaultLocale) {\n const localePath = this.switchLocalePath(options.defaultLocale)\n if (localePath) {\n link.push({\n hid: 'i18n-xd',\n rel: 'alternate',\n href: toAbsoluteUrl(localePath, baseUrl),\n hreflang: 'x-default'\n })\n }\n }\n }\n\n /**\n * @this {import('vue/types/vue').Vue}\n *\n * @param {string} baseUrl\n * @param {import('../../types/vue').NuxtI18nMeta['link']} link\n */\n function addCanonicalLinks (baseUrl, link) {\n const currentRoute = this.localeRoute({\n ...this.$route,\n name: this.getRouteBaseName()\n })\n\n const canonicalPath = currentRoute ? currentRoute.path : null\n\n if (canonicalPath) {\n link.push({\n hid: 'i18n-can',\n rel: 'canonical',\n href: toAbsoluteUrl(canonicalPath, baseUrl)\n })\n }\n }\n\n /**\n * @this {import('vue/types/vue').Vue}\n *\n * @param {import('../../types').LocaleObject} currentLocale\n * @param {string | undefined} currentLocaleIso\n * @param {import('../../types/vue').NuxtI18nMeta['meta']} meta\n */\n function addCurrentOgLocale (currentLocale, currentLocaleIso, meta) {\n const hasCurrentLocaleAndIso = currentLocale && currentLocaleIso\n\n if (!hasCurrentLocaleAndIso) {\n return\n }\n\n meta.push({\n hid: 'i18n-og',\n property: 'og:locale',\n // Replace dash with underscore as defined in spec: language_TERRITORY\n content: hypenToUnderscore(currentLocaleIso)\n })\n }\n\n /**\n * @this {import('vue/types/vue').Vue}\n *\n * @param {import('../../types').LocaleObject[]} locales\n * @param {string | undefined} currentLocaleIso\n * @param {import('../../types/vue').NuxtI18nMeta['meta']} meta\n */\n function addAlternateOgLocales (locales, currentLocaleIso, meta) {\n const localesWithoutCurrent = locales.filter(locale => {\n const localeIso = locale.iso\n return localeIso && localeIso !== currentLocaleIso\n })\n\n if (localesWithoutCurrent.length) {\n const alternateLocales = localesWithoutCurrent.map(locale => ({\n hid: `i18n-og-alt-${locale.iso}`,\n property: 'og:locale:alternate',\n content: hypenToUnderscore(locale.iso)\n }))\n\n meta.push(...alternateLocales)\n }\n }\n\n /**\n * @param {string | undefined} str\n * @return {string}\n */\n function hypenToUnderscore (str) {\n return (str || '').replace(/-/g, '_')\n }\n\n /**\n * @param {string} urlOrPath\n * @param {string} baseUrl\n */\n function toAbsoluteUrl (urlOrPath, baseUrl) {\n if (urlOrPath.match(/^https?:\\/\\//)) {\n return urlOrPath\n }\n return baseUrl + urlOrPath\n }\n\n return metaObject\n}\n","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport { nuxtI18nHead } from './head-meta'\nimport { Constants, nuxtOptions, options } from './options'\nimport {\n createLocaleFromRouteGetter,\n getLocaleCookie,\n getLocaleDomain,\n getLocalesRegex,\n matchBrowserLocale,\n parseAcceptLanguage,\n setLocaleCookie\n} from './utils-common'\nimport { loadLanguageAsync, resolveBaseUrl, registerStore } from './plugin.utils'\n// @ts-ignore\nimport { joinURL } from '~i18n-ufo'\n// @ts-ignore\nimport { klona } from '~i18n-klona'\n\nVue.use(VueI18n)\n\n/** @type {import('@nuxt/types').Plugin} */\nexport default async (context) => {\n const { app, route, store, req, res, redirect } = context\n\n if (options.vuex && store) {\n registerStore(store, options.vuex, options.localeCodes)\n }\n\n const { lazy } = options\n const injectInNuxtState = lazy && (lazy === true || lazy.skipNuxtState !== true)\n\n if (process.server && injectInNuxtState) {\n const devalue = (await import('devalue')).default\n context.beforeNuxtRender(({ nuxtState }) => {\n /** @type {Record} */\n const langs = {}\n const { fallbackLocale, locale } = app.i18n\n if (locale && locale !== fallbackLocale) {\n // @ts-ignore Using internal API to avoid unnecessary cloning.\n const messages = app.i18n._getMessages()[locale]\n if (messages) {\n try {\n devalue(messages)\n langs[locale] = messages\n } catch {\n // Ignore - client-side will load the chunk asynchronously.\n }\n }\n }\n nuxtState.__i18n = { langs }\n })\n }\n\n const {\n alwaysRedirect,\n fallbackLocale,\n redirectOn,\n useCookie,\n cookieKey,\n cookieDomain,\n cookieSecure,\n cookieCrossOrigin\n } = /** @type {Required} */(options.detectBrowserLanguage)\n\n /**\n * @param {string | undefined} newLocale\n * @param {{ initialSetup?: boolean }} [options=false]\n */\n const loadAndSetLocale = async (newLocale, { initialSetup = false } = {}) => {\n if (!newLocale) {\n return\n }\n\n // Abort if different domains option enabled\n if (!initialSetup && app.i18n.differentDomains) {\n return\n }\n\n const oldLocale = app.i18n.locale\n\n if (newLocale === oldLocale) {\n return\n }\n\n const localeOverride = app.i18n.onBeforeLanguageSwitch(oldLocale, newLocale, initialSetup, context)\n if (localeOverride && app.i18n.localeCodes.includes(localeOverride)) {\n if (localeOverride === oldLocale) {\n return\n }\n newLocale = localeOverride\n }\n\n if (useCookie) {\n app.i18n.setLocaleCookie(newLocale)\n }\n\n if (options.langDir) {\n const i18nFallbackLocale = app.i18n.fallbackLocale\n\n if (options.lazy) {\n // Load fallback locale(s).\n if (i18nFallbackLocale) {\n /** @type {Promise[]} */\n let localesToLoadPromises = []\n if (Array.isArray(i18nFallbackLocale)) {\n localesToLoadPromises = i18nFallbackLocale.map(fbLocale => loadLanguageAsync(context, fbLocale))\n } else if (typeof i18nFallbackLocale === 'object') {\n if (i18nFallbackLocale[newLocale]) {\n localesToLoadPromises = localesToLoadPromises.concat(i18nFallbackLocale[newLocale].map(fbLocale => loadLanguageAsync(context, fbLocale)))\n }\n if (i18nFallbackLocale.default) {\n localesToLoadPromises = localesToLoadPromises.concat(i18nFallbackLocale.default.map(fbLocale => loadLanguageAsync(context, fbLocale)))\n }\n } else if (newLocale !== i18nFallbackLocale) {\n localesToLoadPromises.push(loadLanguageAsync(context, i18nFallbackLocale))\n }\n await Promise.all(localesToLoadPromises)\n }\n await loadLanguageAsync(context, newLocale)\n } else {\n // Load all locales.\n await Promise.all(options.localeCodes.map(locale => loadLanguageAsync(context, locale)))\n }\n }\n\n app.i18n.locale = newLocale\n /** @type {import('../../types').LocaleObject} */\n const newLocaleProperties = options.normalizedLocales.find(l => l.code === newLocale) || { code: newLocale }\n // In case certain locale has more properties than another, reset all the properties.\n for (const key of Object.keys(app.i18n.localeProperties)) {\n app.i18n.localeProperties[key] = undefined\n }\n // Copy properties of the new locale\n for (const [key, value] of Object.entries(newLocaleProperties)) {\n Vue.set(app.i18n.localeProperties, key, klona(value))\n }\n\n // Must retrieve from context as it might have changed since plugin initialization.\n const { route } = context\n const redirectPath = getRedirectPathForLocale(route, newLocale)\n\n if (initialSetup) {\n // Redirect will be delayed until middleware runs as redirecting from plugin does not\n // work in SPA (https://github.com/nuxt/nuxt.js/issues/4491).\n app.i18n.__redirect = redirectPath\n } else {\n app.i18n.onLanguageSwitched(oldLocale, newLocale)\n\n if (redirectPath) {\n redirect(redirectPath)\n }\n }\n }\n\n const getLocaleFromRoute = createLocaleFromRouteGetter(options.localeCodes, {\n routesNameSeparator: options.routesNameSeparator,\n defaultLocaleRouteNameSuffix: options.defaultLocaleRouteNameSuffix\n })\n\n /**\n * Gets the redirect path for locale.\n *\n * @param {import(\"vue-router\").Route} route\n * @param {string | undefined} locale\n * @return {string} The redirect path for locale.\n */\n const getRedirectPathForLocale = (route, locale) => {\n // Redirects are ignored if it is a nuxt generate.\n if (process.static && process.server) {\n return ''\n }\n\n if (!locale || app.i18n.differentDomains || options.strategy === Constants.STRATEGIES.NO_PREFIX) {\n return ''\n }\n\n if (getLocaleFromRoute(route) === locale) {\n // If \"redirectOn\" is \"all\" and strategy is \"prefix_and_default\", prefer unprefixed route for\n // default locale.\n if (redirectOn === Constants.REDIRECT_ON_OPTIONS.ALL || locale !== options.defaultLocale || options.strategy !== Constants.STRATEGIES.PREFIX_AND_DEFAULT) {\n return ''\n }\n }\n\n // At this point we are left with route that either has no or different locale.\n let redirectPath = app.switchLocalePath(locale)\n\n if (!redirectPath) {\n // Current route could be 404 in which case attempt to find matching route for given locale.\n redirectPath = app.localePath(route.fullPath, locale)\n }\n\n if (!redirectPath || redirectPath === route.fullPath || redirectPath.startsWith('//')) {\n return ''\n }\n\n return redirectPath\n }\n\n /**\n * Called by middleware on navigation (also on the initial one).\n *\n * @type {import('../../types/internal').onNavigateInternal}\n */\n const onNavigate = async route => {\n // Handle root path redirect\n if (route.path === '/' && options.rootRedirect) {\n let statusCode = 302\n let path = options.rootRedirect\n\n if (typeof options.rootRedirect !== 'string') {\n statusCode = options.rootRedirect.statusCode\n path = options.rootRedirect.path\n }\n\n return [statusCode, `/${path}`, /* preserve query */true]\n }\n\n const storedRedirect = app.i18n.__redirect\n if (storedRedirect) {\n app.i18n.__redirect = null\n return [302, storedRedirect]\n }\n\n const resolveBaseUrlOptions = {\n differentDomains: options.differentDomains,\n normalizedLocales: options.normalizedLocales\n }\n app.i18n.__baseUrl = resolveBaseUrl(options.baseUrl, context, app.i18n.locale, resolveBaseUrlOptions)\n\n const finalLocale =\n (options.detectBrowserLanguage && doDetectBrowserLanguage(route)) ||\n (!options.differentDomains && getLocaleFromRoute(route)) ||\n app.i18n.locale || app.i18n.defaultLocale || ''\n\n if (options.skipSettingLocaleOnNavigate) {\n app.i18n.__pendingLocale = finalLocale\n app.i18n.__pendingLocalePromise = new Promise(resolve => {\n app.i18n.__resolvePendingLocalePromise = resolve\n })\n } else {\n await app.i18n.setLocale(finalLocale)\n }\n\n return [null, null]\n }\n\n const finalizePendingLocaleChange = async () => {\n if (!app.i18n.__pendingLocale) {\n return\n }\n await app.i18n.setLocale(app.i18n.__pendingLocale)\n app.i18n.__resolvePendingLocalePromise('')\n app.i18n.__pendingLocale = null\n }\n\n const waitForPendingLocaleChange = async () => {\n if (app.i18n.__pendingLocale) {\n await app.i18n.__pendingLocalePromise\n }\n }\n\n const getBrowserLocale = () => {\n if (process.client && typeof navigator !== 'undefined' && navigator.languages) {\n // Get browser language either from navigator if running on client side, or from the headers\n return matchBrowserLocale(options.normalizedLocales, navigator.languages)\n } else if (req && typeof req.headers['accept-language'] !== 'undefined') {\n return matchBrowserLocale(options.normalizedLocales, parseAcceptLanguage(req.headers['accept-language']))\n } else {\n return undefined\n }\n }\n\n /**\n * @param {import('vue-router').Route} route\n * @return {string} Returns the browser locale that was detected or an empty string otherwise.\n */\n const doDetectBrowserLanguage = route => {\n // Browser detection is ignored if it is a nuxt generate.\n if (process.static && process.server) {\n return ''\n }\n\n if (options.strategy !== Constants.STRATEGIES.NO_PREFIX) {\n if (redirectOn === Constants.REDIRECT_ON_OPTIONS.ROOT) {\n if (route.path !== '/') {\n return ''\n }\n } else if (redirectOn === Constants.REDIRECT_ON_OPTIONS.NO_PREFIX) {\n if (!alwaysRedirect && route.path.match(getLocalesRegex(options.localeCodes))) {\n return ''\n }\n }\n }\n\n let matchedLocale\n\n if (useCookie && (matchedLocale = app.i18n.getLocaleCookie())) {\n // Get preferred language from cookie if present and enabled\n } else {\n // Try to get locale from either navigator or header detection\n matchedLocale = getBrowserLocale()\n }\n\n const finalLocale = matchedLocale || fallbackLocale\n\n // Handle cookie option to prevent multiple redirections\n if (finalLocale && (!useCookie || alwaysRedirect || !app.i18n.getLocaleCookie())) {\n if (finalLocale !== app.i18n.locale) {\n return finalLocale\n }\n }\n\n return ''\n }\n\n /**\n * Extends the newly created vue-i18n instance with @nuxtjs/i18n properties.\n *\n * @param {import('vue-i18n').IVueI18n} i18n\n */\n const extendVueI18nInstance = i18n => {\n i18n.locales = klona(options.locales)\n i18n.localeCodes = klona(options.localeCodes)\n i18n.localeProperties = Vue.observable(klona(options.normalizedLocales.find(l => l.code === i18n.locale) || { code: i18n.locale }))\n i18n.defaultLocale = options.defaultLocale\n i18n.differentDomains = options.differentDomains\n i18n.onBeforeLanguageSwitch = options.onBeforeLanguageSwitch\n i18n.onLanguageSwitched = options.onLanguageSwitched\n i18n.setLocaleCookie = locale => setLocaleCookie(locale, res, { useCookie, cookieDomain, cookieKey, cookieSecure, cookieCrossOrigin })\n i18n.getLocaleCookie = () => getLocaleCookie(req, { useCookie, cookieKey, localeCodes: options.localeCodes })\n i18n.setLocale = (locale) => loadAndSetLocale(locale)\n i18n.getBrowserLocale = () => getBrowserLocale()\n i18n.finalizePendingLocaleChange = finalizePendingLocaleChange\n i18n.waitForPendingLocaleChange = waitForPendingLocaleChange\n i18n.__baseUrl = app.i18n.__baseUrl\n i18n.__pendingLocale = app.i18n.__pendingLocale\n i18n.__pendingLocalePromise = app.i18n.__pendingLocalePromise\n i18n.__resolvePendingLocalePromise = app.i18n.__resolvePendingLocalePromise\n }\n\n // Set instance options\n const vueI18nOptions = typeof options.vueI18n === 'function' ? await options.vueI18n(context) : klona(options.vueI18n)\n vueI18nOptions.componentInstanceCreatedListener = extendVueI18nInstance\n // @ts-ignore\n app.i18n = context.i18n = new VueI18n(vueI18nOptions)\n // Initialize locale and fallbackLocale as vue-i18n defaults those to 'en-US' if falsey\n app.i18n.locale = ''\n app.i18n.fallbackLocale = vueI18nOptions.fallbackLocale || ''\n\n if (store) {\n // Inject in store.\n store.$i18n = app.i18n\n\n if (store.state.localeDomains) {\n for (const [index, locale] of options.normalizedLocales.entries()) {\n const domain = store.state.localeDomains[locale.code]\n if (domain) {\n locale.domain = domain\n const optionsLocale = options.locales[index]\n if (typeof (optionsLocale) !== 'string') {\n optionsLocale.domain = domain\n }\n }\n }\n }\n }\n\n extendVueI18nInstance(app.i18n)\n const resolveBaseUrlOptions = {\n differentDomains: options.differentDomains,\n normalizedLocales: options.normalizedLocales\n }\n app.i18n.__baseUrl = resolveBaseUrl(options.baseUrl, context, '', resolveBaseUrlOptions)\n app.i18n.__onNavigate = onNavigate\n\n Vue.prototype.$nuxtI18nHead = nuxtI18nHead\n\n /** @type {string | undefined} */\n let finalLocale = options.detectBrowserLanguage ? doDetectBrowserLanguage(route) : ''\n\n if (!finalLocale) {\n if (app.i18n.differentDomains) {\n const domainLocale = getLocaleDomain(options.normalizedLocales, req)\n finalLocale = domainLocale\n } else if (options.strategy !== Constants.STRATEGIES.NO_PREFIX) {\n const routeLocale = getLocaleFromRoute(route)\n finalLocale = routeLocale\n }\n }\n\n if (!finalLocale && useCookie) {\n finalLocale = app.i18n.getLocaleCookie()\n }\n\n if (!finalLocale) {\n finalLocale = app.i18n.defaultLocale || ''\n }\n\n await loadAndSetLocale(finalLocale, { initialSetup: true })\n\n if (process.client && process.static && nuxtOptions.isUniversalMode) {\n const [_, redirectTo] = await onNavigate(context.route)\n if (redirectTo) {\n location.assign(joinURL(context.base, redirectTo))\n }\n }\n}\n","export function mergeMeta (to, from) {\n if (typeof to === 'function') {\n // eslint-disable-next-line no-console\n console.warn('Cannot merge meta. Avoid using head as a function!')\n return\n }\n\n for (const key in from) {\n const value = from[key]\n if (Array.isArray(value)) {\n to[key] = to[key] || []\n for (const item of value) {\n // Avoid duplicates\n if (\n (item.hid && hasMeta(to[key], 'hid', item.hid)) ||\n (item.name && hasMeta(to[key], 'name', item.name))\n ) {\n continue\n }\n // Add meta\n to[key].push(item)\n }\n } else if (typeof value === 'object') {\n to[key] = to[key] || {}\n for (const attr in value) {\n to[key][attr] = value[attr]\n }\n } else if (to[key] === undefined) {\n to[key] = value\n }\n }\n}\n\nfunction hasMeta (arr, key, val) {\n return arr.find(obj => val ? obj[key] === val : obj[key])\n}\n","import { mergeMeta } from './meta.utils'\nimport meta from './meta.json'\n\nexport default function ({ app }) {\n mergeMeta(app.head, meta)\n}\n","import Axios from 'axios'\nimport defu from 'defu'\n\n// Axios.prototype cannot be modified\nconst axiosExtra = {\n setBaseURL (baseURL) {\n this.defaults.baseURL = baseURL\n },\n setHeader (name, value, scopes = 'common') {\n for (const scope of Array.isArray(scopes) ? scopes : [ scopes ]) {\n if (!value) {\n delete this.defaults.headers[scope][name];\n continue\n }\n this.defaults.headers[scope][name] = value\n }\n },\n setToken (token, type, scopes = 'common') {\n const value = !token ? null : (type ? type + ' ' : '') + token\n this.setHeader('Authorization', value, scopes)\n },\n onRequest(fn) {\n this.interceptors.request.use(config => fn(config) || config)\n },\n onResponse(fn) {\n this.interceptors.response.use(response => fn(response) || response)\n },\n onRequestError(fn) {\n this.interceptors.request.use(undefined, error => fn(error) || Promise.reject(error))\n },\n onResponseError(fn) {\n this.interceptors.response.use(undefined, error => fn(error) || Promise.reject(error))\n },\n onError(fn) {\n this.onRequestError(fn)\n this.onResponseError(fn)\n },\n create(options) {\n return createAxiosInstance(defu(options, this.defaults))\n }\n}\n\n// Request helpers ($get, $post, ...)\nfor (const method of ['request', 'delete', 'get', 'head', 'options', 'post', 'put', 'patch']) {\n axiosExtra['$' + method] = function () { return this[method].apply(this, arguments).then(res => res && res.data) }\n}\n\nconst extendAxiosInstance = axios => {\n for (const key in axiosExtra) {\n axios[key] = axiosExtra[key].bind(axios)\n }\n}\n\nconst createAxiosInstance = axiosOptions => {\n // Create new axios instance\n const axios = Axios.create(axiosOptions)\n axios.CancelToken = Axios.CancelToken\n axios.isCancel = Axios.isCancel\n\n // Extend axios proto\n extendAxiosInstance(axios)\n\n // Intercept to apply default headers\n axios.onRequest((config) => {\n config.headers = { ...axios.defaults.headers.common, ...config.headers }\n })\n\n // Setup interceptors\n\n setupCredentialsInterceptor(axios)\n setupProgress(axios)\n\n return axios\n}\n\nconst setupCredentialsInterceptor = axios => {\n // Send credentials only to relative and API Backend requests\n axios.onRequest(config => {\n if (config.withCredentials === undefined) {\n if (!/^https?:\\/\\//i.test(config.url) || config.url.indexOf(config.baseURL) === 0) {\n config.withCredentials = true\n }\n }\n })\n}\n\nconst setupProgress = (axios) => {\n if (process.server) {\n return\n }\n\n // A noop loading inteterface for when $nuxt is not yet ready\n const noopLoading = {\n finish: () => { },\n start: () => { },\n fail: () => { },\n set: () => { }\n }\n\n const $loading = () => {\n const $nuxt = typeof window !== 'undefined' && window['$nuxt']\n return ($nuxt && $nuxt.$loading && $nuxt.$loading.set) ? $nuxt.$loading : noopLoading\n }\n\n let currentRequests = 0\n\n axios.onRequest(config => {\n if (config && config.progress === false) {\n return\n }\n\n currentRequests++\n })\n\n axios.onResponse(response => {\n if (response && response.config && response.config.progress === false) {\n return\n }\n\n currentRequests--\n if (currentRequests <= 0) {\n currentRequests = 0\n $loading().finish()\n }\n })\n\n axios.onError(error => {\n if (error && error.config && error.config.progress === false) {\n return\n }\n\n currentRequests--\n\n if (Axios.isCancel(error)) {\n if (currentRequests <= 0) {\n currentRequests = 0\n $loading().finish()\n }\n return\n }\n\n $loading().fail()\n $loading().finish()\n })\n\n const onProgress = e => {\n if (!currentRequests || !e.total) {\n return\n }\n const progress = ((e.loaded * 100) / (e.total * currentRequests))\n $loading().set(Math.min(100, progress))\n }\n\n axios.defaults.onUploadProgress = onProgress\n axios.defaults.onDownloadProgress = onProgress\n}\n\nexport default (ctx, inject) => {\n // runtimeConfig\n const runtimeConfig = ctx.$config && ctx.$config.axios || {}\n // baseURL\n const baseURL = process.browser\n ? (runtimeConfig.browserBaseURL || runtimeConfig.browserBaseUrl || runtimeConfig.baseURL || runtimeConfig.baseUrl || '/')\n : (runtimeConfig.baseURL || runtimeConfig.baseUrl || process.env._AXIOS_BASE_URL_ || '/')\n\n // Create fresh objects for all default header scopes\n // Axios creates only one which is shared across SSR requests!\n // https://github.com/mzabriskie/axios/blob/master/lib/defaults.js\n const headers = {\n \"common\": {\n \"Accept\": \"application/json, text/plain, */*\"\n },\n \"delete\": {},\n \"get\": {},\n \"head\": {},\n \"post\": {},\n \"put\": {},\n \"patch\": {}\n}\n\n const axiosOptions = {\n baseURL,\n headers\n }\n\n // Proxy SSR request headers headers\n if (process.server && ctx.req && ctx.req.headers) {\n const reqHeaders = { ...ctx.req.headers }\n for (const h of [\"accept\",\"cf-connecting-ip\",\"cf-ray\",\"content-length\",\"content-md5\",\"content-type\",\"host\",\"x-forwarded-host\",\"x-forwarded-port\",\"x-forwarded-proto\"]) {\n delete reqHeaders[h]\n }\n axiosOptions.headers.common = { ...reqHeaders, ...axiosOptions.headers.common }\n }\n\n if (process.server) {\n // Don't accept brotli encoding because Node can't parse it\n axiosOptions.headers.common['accept-encoding'] = 'gzip, deflate'\n }\n\n const axios = createAxiosInstance(axiosOptions)\n\n // Inject axios to the context as $axios\n ctx.$axios = axios\n inject('axios', axios)\n}\n","import cookies from 'js-cookie';\nimport cookie from 'cookie';\nimport { serverHosts, isProduction } from '../utils/constants';\nimport { getKpn, paramsMap } from '@/common/common-params';\nimport { objectToCookieString } from '@/common/utils';\n\nexport default function (ctx) {\n const { $axios, req, store } = ctx;\n let apiLogger;\n if (process.server && isProduction) {\n apiLogger = require('../server/log').api;\n $axios.interceptors.response.use(\n response => {\n // Any status code that lie within the range of 2xx cause this function to trigger\n // Do something with response data\n apiLogger(req, response.config, response);\n return response;\n },\n error => {\n // Any status codes that falls outside the range of 2xx cause this function to trigger\n // Do something with response error\n apiLogger(req, error.config, error.response);\n return Promise.reject(error);\n }\n );\n }\n // 服务端发请求\n // // Add a request interceptor\n $axios.interceptors.request.use(\n config => {\n if (process.server) {\n const startUp = ctx.store.state.startup;\n const kpn = getKpn({ bucket: startUp.bucket, host: ctx.req.headers.host });\n const commonParams = paramsMap[kpn];\n\n config.myStartTime = Date.now();\n config.withCredentials = true;\n let matched = false;\n\n config.url = config.url.replace(/^(\\w+)::/, (all, hostName) => {\n const host = serverHosts[hostName];\n if (host) {\n matched = true;\n return host;\n }\n });\n if (!matched) {\n throw new Error('axios url error', config.url);\n }\n\n const reqHeaders = req.headers;\n const serverHeaders = {};\n for (const key in reqHeaders) {\n if (key.startsWith('x-') || key.startsWith('ks-') || key === 'user-agent' || key === 'accept-language') {\n serverHeaders[key] = reqHeaders[key];\n }\n }\n config.headers = {\n ...serverHeaders,\n ...config.headers,\n };\n let configCookie = cookie.parse(config.headers.common.cookie || '');\n // 首次请求cookie 设置一下公共参数 加一下\n\n configCookie = { ...configCookie, ...commonParams };\n\n const cookieStr = objectToCookieString(configCookie);\n\n config.headers.common.cookie = cookieStr;\n } else {\n config.url = config.url.split('::').slice(-1)[0];\n cookies.get('kwaipro.pwa_ph') &&\n (config.url =\n config?.url?.indexOf('?') === -1\n ? `${config.url}?kwaipro.pwa_ph=${cookies.get('kwaipro.pwa_ph')}`\n : `${config.url}&kwaipro.pwa_ph=${cookies.get('kwaipro.pwa_ph')}`);\n }\n\n return config;\n },\n error => {\n if (process.server && isProduction) {\n apiLogger(req, error.config);\n }\n // Do something with request error\n return Promise.reject(error);\n }\n );\n\n $axios.$$get = async (...args) => {\n try {\n console.log('get args', args, 'isServerSide', process.server);\n const res = await $axios.get(...args);\n return res.data;\n } catch (e) {\n return {\n result: 0 - (e.response?.status || 1),\n error_msg: '404',\n };\n }\n };\n $axios.$$post = async (...args) => {\n try {\n console.log('post args', args, 'isServerSide', process.server);\n const res = await $axios.post(...args);\n return res.data;\n } catch (e) {\n console.log('错误args', args);\n console.log('post 错误', e, 'isServerSide', process.server);\n return {\n result: 0 - (e.response?.status || 1),\n error_msg: '404',\n };\n }\n };\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { Context } from '@nuxt/types';\nimport { Inject } from '@nuxt/types/app';\nimport { AxiosInstance } from 'axios';\nimport cookies from 'js-cookie';\n\ninterface AppConfigFromCookie {\n /**\n * @zh App 包名\n */\n pkg?: string;\n /**\n * @zh 设备ID\n */\n did?: string;\n /**\n * @zh app 版本号\n */\n appver?: string;\n /**\n * @zh 是否安装 kwai\n */\n installed_kwai?: string;\n /**\n * @zh 系统语言 language\n */\n language?: string;\n /**\n * @zh 手机状态栏高度\n */\n status_bar_height?: string;\n /**\n * @xq 是否是iOS\n */\n isIOS?: string;\n}\n\ndeclare module '@nuxt/types' {\n interface Context {\n readonly $languageCode: string;\n readonly $languageOnly: string;\n readonly $ua: string;\n readonly $platform: string;\n readonly $countryCode: string;\n readonly $isRtl: boolean;\n readonly $isSnack: boolean;\n readonly $isWeeeye: boolean;\n readonly $host: string;\n\n /**\n * @zh App Factory 相关\n */\n readonly $appConfig: AppConfigFromCookie;\n readonly $isAppEnvironment: boolean;\n readonly $pwaLayout: 'default' | 'app';\n }\n interface NuxtAxiosInstance {\n $$post: any;\n $$get: any;\n }\n}\ndeclare module 'vue/types/vue' {\n interface Vue {\n readonly $languageCode: string;\n readonly $languageOnly: string;\n readonly $ua: string;\n readonly $platform: string;\n readonly $countryCode: string;\n readonly $isInChina: boolean;\n readonly $i18n: any;\n readonly $isRtl: boolean;\n readonly $isSnack: boolean;\n\n /**\n * @zh App Factory 相关\n */\n readonly $appConfig: AppConfigFromCookie;\n readonly $isAppEnvironment: boolean;\n readonly $pwaLayout: 'default' | 'app';\n }\n interface NuxtAxiosInstance {\n $$post: (...args: Parameters) => Promise;\n $$get: (...args: Parameters) => Promise;\n }\n}\n\nfunction getLanguageCode({ i18n }: Context) {\n return i18n.localeProperties.code;\n}\n\nexport function getIsRtl({ $languageCode }: Context) {\n return ['ar', 'ur', 'ps', 'he', 'fa'].includes($languageCode);\n}\n\nfunction getUserAgent({ req }: Context) {\n return (process.server ? req.headers['user-agent'] : navigator.userAgent) || '';\n}\n\nfunction getIsSnack(context: Context) {\n if (process.server) {\n return context?.req?.headers?.host?.includes('snack') || false;\n }\n return window.location.host.includes('snack');\n}\n\nfunction getIsWeeeye(context: Context) {\n if (process.server) {\n return context?.req?.headers?.host?.includes('weeeye') || false;\n }\n return window.location.host.includes('weeeye');\n}\n\nfunction getPlatform(ctx: Context) {\n // 获取平台\n const ua = getUserAgent(ctx);\n // 检测设备的类型,首先判断是否是移动端设备\n let platform = null;\n if (/mobile|android|iphone|ipad|phone/i.test(ua)) {\n if (/iphone|ipad/i.test(ua)) {\n platform = 'ios';\n } else {\n platform = 'android';\n }\n }\n return platform;\n}\n\nfunction parseCookiesInServer>(cookieString?: string) {\n try {\n return (cookieString || '').split(';').reduce((res, item) => {\n const [name, value] = item.split('=').map(c => c.trim());\n return {\n ...res,\n [name]: value,\n };\n }, {} as T);\n } catch {\n return {} as T;\n }\n}\n\nfunction getAppConfigFromCookie(context: Context) {\n try {\n if (process.server) {\n return parseCookiesInServer(context?.req?.headers?.cookie || '');\n }\n return cookies.get();\n } catch {\n return {};\n }\n}\n\nexport default async (context: Context, inject: Inject) => {\n const languageCode = getLanguageCode(context);\n const isSnack = getIsSnack(context);\n const isWeeeye = getIsWeeeye(context);\n const host = process.server ? context?.req?.headers?.host : window.location.host;\n const appConfig = getAppConfigFromCookie(context);\n const isAppEnvironment = !!appConfig?.pkg && !!appConfig?.appver;\n /**\n * @zh 小包不考虑在内\n */\n const pwaLayout = isAppEnvironment ? 'app' : 'default';\n\n globalThis && ((globalThis as any).__PWA_NUXT_CTX__ = context);\n\n let appName = '';\n\n switch (true) {\n case isSnack: {\n appName = 'Snack';\n break;\n }\n case isWeeeye: {\n appName = 'Weeyee';\n break;\n }\n default: {\n appName = 'Kwai';\n }\n }\n\n inject('host', host || '');\n inject('languageCode', languageCode);\n inject('platform', getPlatform(context));\n inject('isRtl', getIsRtl(context));\n inject('isSnack', isSnack);\n inject('appName', appName);\n inject('appConfig', appConfig);\n inject('isAppEnvironment', isAppEnvironment);\n inject('pwaLayout', pwaLayout);\n inject('isWeeeye', isWeeeye);\n};\n","import Vue from 'vue'\n\nconst bus = new Vue()\n\nVue.prototype.$bus = {\n on(...event) {\n bus.$on(...event)\n },\n off(...event) {\n bus.$off(...event)\n },\n emit(...event) {\n bus.$emit(...event)\n },\n once(...event) {\n bus.$once(...event)\n },\n}\n","import Vue from 'vue'\nimport VueLazyload from 'vue-lazyload'\n\n\nVue.use(VueLazyload, {\n preLoad: 1.3,\n attempt: 1\n})\n","import Vue from 'vue';\n\nimport ActionSheet from 'vant/lib/action-sheet';\nimport Dialog from 'vant/lib/dialog';\nimport Toast from 'vant/lib/toast';\nimport Search from 'vant/lib/search';\nimport Skeleton from 'vant/lib/skeleton';\nimport Field from 'vant/lib/field';\nimport Tab from 'vant/lib/tab';\nimport Tabs from 'vant/lib/tabs';\nimport { Tabbar, TabbarItem } from 'vant';\n// import List from 'vant/lib/list';\n\nVue.use(ActionSheet);\nVue.use(Dialog);\nVue.use(Toast);\nVue.use(Search);\nVue.use(Skeleton);\nVue.use(Field);\nVue.use(Tab);\nVue.use(Tabs);\nVue.use(Tabbar);\nVue.use(TabbarItem);\n// Vue.use(List);\n","import { sendLog, LogData } from '@/common/radar';\n\nexport default class Listener {\n el!: HTMLElement | null;\n\n value!: null | LogData;\n\n isDone: boolean = false;\n\n io!: IntersectionObserver | null;\n\n constructor({ el, value }: {el: HTMLElement; value: LogData}) {\n this.el = el;\n this.value = value;\n this.io = this.createIntersectionObserver(el);\n }\n\n createIntersectionObserver(el: HTMLElement) {\n\n if (this.io) {\n // for update\n this.io.disconnect();\n this.io = null;\n }\n\n const io = new IntersectionObserver(\n entries => {\n if (!entries || !entries.length) {\n return;\n }\n if (entries.some(e => e.isIntersecting)) {\n this.do();\n io && this.destroy();\n }\n if (entries[0].isIntersecting) {\n this.do();\n }\n },\n { threshold: 0 }\n );\n\n io.observe(el);\n return io;\n }\n\n // 执行\n do() {\n if (this.isDone) {\n return;\n }\n sendLog(this.value!);\n this.isDone = true;\n }\n\n // 更新\n update(el: HTMLElement, value: LogData) {\n this.io = this.createIntersectionObserver(el);\n this.el = el;\n this.value = value;\n this.isDone = false;\n }\n\n destroy() {\n if (this.io) {\n this.io.disconnect();\n }\n this.el = null;\n this.value = null;\n }\n}\n","import Listener from './listener';\nimport { LogData } from '@/common/radar';\n\nexport default class Show {\n listenerQueue: Listener[] = [];\n\n options!: {throttleTime: number; primaryKey: string | undefined};\n\n constructor({ throttleTime, primaryKey }: {throttleTime?: number; primaryKey?: string} = {}) {\n this.options = {\n throttleTime: throttleTime || 200,\n // 主键, 方便去重\n primaryKey,\n };\n }\n\n add(el: HTMLElement, value: LogData) {\n const curItem = this.listenerQueue.find(item => {\n return item.el === el;\n });\n\n if (curItem) {\n curItem.update(el, value);\n return;\n }\n\n const newListener = new Listener({\n el,\n value,\n });\n\n this.listenerQueue.push(newListener);\n }\n\n update(el: HTMLElement, value: LogData, oldValue: LogData) {\n if (!this.listenerQueue.length) {\n return;\n }\n // @ts-ignore\n if (this.options.primaryKey && value[this.options.primaryKey] === oldValue[this.options.primaryKey]) {\n return;\n }\n\n const curItem = this.listenerQueue.find(item => {\n return item.el === el;\n });\n\n if (curItem) {\n curItem.update(el, value);\n }\n }\n\n remove(el: HTMLElement) {\n let curItemIndex = -1;\n for (let i = 0; i < this.listenerQueue.length; i++) {\n if (this.listenerQueue[i].el === el) {\n curItemIndex = i;\n break;\n }\n }\n if (curItemIndex > -1) {\n const spliceArr = this.listenerQueue.splice(curItemIndex, 1);\n spliceArr[0].destroy();\n }\n }\n}\n","import { DirectiveOptions } from 'vue';\nimport ShowClass from './show';\nimport { sendLog , LogData } from '@/common/radar';\n\nconst show = new ShowClass({\n primaryKey: 'show_id',\n});\n\nfunction clickLog(el: HTMLElement, value: LogData) {\n sendLog(value);\n}\n\nconst bindTypeMap:any = {\n pv(el: HTMLElement, value: LogData) {\n sendLog(value);\n },\n show(el: HTMLElement, value: LogData) {\n show.add.bind(show)(el, value);\n },\n click(el: HTMLElement, value: LogData) {\n el.onclick = function () {\n clickLog(el, value);\n };\n },\n};\n\nconst updateTypeMap: {[key: string]: (el: HTMLElement, value: LogData, oldValue: LogData) => void} = {\n show(el: HTMLElement, value: LogData, oldValue: LogData) {\n show.update.bind(show)(el, value, oldValue);\n },\n click(el: HTMLElement, value: LogData) {\n el.onclick = function () {\n clickLog(el, value);\n };\n },\n};\n\nconst unbindTypeMap: {[key: string]: (el: HTMLElement) => void} = {\n show(el: HTMLElement) {\n show.remove.bind(show)(el);\n },\n click(el: HTMLElement) {\n el.onclick = null;\n },\n};\n\nconst options = {\n bind(el: HTMLElement, { value }: {value: LogData}) {\n const type = value.type;\n if (type !== 'custom' && bindTypeMap[type]) {\n bindTypeMap[type](el, value);\n }\n },\n update(el: HTMLElement, { value, oldValue }: {value: LogData, oldValue: LogData}) {\n updateTypeMap[value.type](el, value, oldValue);\n },\n unbind(el: HTMLElement, { value }: {value: LogData}) {\n const type = value.type;\n\n if (unbindTypeMap[type]) {\n unbindTypeMap[type](el);\n }\n },\n};\n\nexport default options as DirectiveOptions;\n","import { VueConstructor } from 'vue';\nimport log from './log/index';\n\nfunction install(Vue: VueConstructor) {\n Vue.directive('log', log);\n}\n\nexport default {\n install,\n};\n","import Vue from 'vue'\n\nimport directives from './directives/index'\nVue.use(directives);\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"container\"},[_c('KwaiPlayerVue2',{key:_vm.key,ref:\"videoRef\",staticClass:\"video-tag\",attrs:{\"biz-data\":_vm.bizDataAndUserId,\"src\":_vm.playSrc,\"show-info-panel\":_vm.showInfoPanel,\"autoplay\":_vm.autoplay,\"muted\":_vm.muted,\"preload\":_vm.preload,\"loop\":_vm.loop,\"playsinline\":_vm.playsinline,\"poster\":_vm.poster,\"plugins\":_vm.pluginsOption,\"controls\":_vm.controls,\"volume\":_vm.volume},on:{\"waiting\":_vm.onWaiting,\"playing\":_vm.onPlaying,\"play\":_vm.onPlay,\"error\":_vm.onError,\"ended\":_vm.onEnded,\"pause\":_vm.onPause,\"loadstart\":_vm.onLoadStart,\"durationchange\":_vm.onDurationChange,\"loadedmetadata\":_vm.onLoadedMetaData,\"loadeddata\":_vm.onLoadedData,\"progress\":_vm.onProgress,\"canplay\":_vm.onCanPlay,\"canplaythrough\":_vm.onCanPlayThrough},nativeOn:{\"click\":function($event){return _vm.onClick.apply(null, arguments)}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--13-0!../../node_modules/ts-loader/index.js??ref--13-1!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--13-0!../../node_modules/ts-loader/index.js??ref--13-1!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","\nimport { defineComponent, ref, getCurrentInstance, onMounted, nextTick, computed } from 'vue';\n\nexport default defineComponent({\n components: {},\n props: {\n icon: {\n type: String,\n default: '',\n },\n desc: {\n type: String,\n default: '',\n },\n link: {\n type: String,\n default: '',\n },\n showPlc: {\n type: Boolean,\n default: true,\n },\n },\n setup(props, ctx) {\n const { proxy } = getCurrentInstance() as { proxy: any };\n\n const isShow = computed(() => {\n return props.showPlc && !!props.icon && !!props.desc;\n });\n\n const handlePlcClick = () => {\n if (props.link) {\n window.open(props.link, '_blank');\n }\n };\n\n onMounted(() => {});\n\n return {\n handlePlcClick,\n isShow,\n };\n },\n});\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1fd52c5b&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1fd52c5b&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fd52c5b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isShow)?_c('div',{staticClass:\"plc-info\",on:{\"click\":_vm.handlePlcClick}},[_c('img',{staticClass:\"plc-icon\",attrs:{\"src\":_vm.icon}}),_vm._v(\" \"),_c('div',{staticClass:\"plc-desc\"},[_vm._v(\"\\n \"+_vm._s(_vm.desc)+\"\\n \")])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { IKwaiPlayer, KwaiPlayerEvent, PluginModule } from '@ks-video/kwai-player-web/vue2-mini';\nimport Vue from 'vue';\nimport PlcInfo from '@/components/plc-info/index.vue';\n\n// 新插件替换已有的logger插件\n// export default class ExamplePlugin extends LoggerPluginModule {\n\n// 新插件与已有插件共存\nexport default class PlcPlugin extends PluginModule {\n private _player: IKwaiPlayer | undefined;\n\n public container: HTMLDivElement | undefined;\n\n public static label = 'PlcPlugin';\n\n public vueComponent = null;\n\n private options: any;\n\n private canplay = false;\n\n /**\n * 插件id,获取插件,传入参数等操作的标识\n * 同名插件只会同时存在一个\n */\n public getLabel(): string {\n // LoggerPluginLabel\n return PlcPlugin.label;\n }\n\n private onCanplay = () => {\n this.canplay = true;\n this.showPlc();\n };\n\n private showPlc = () => {\n if (this.canplay) {\n this.options.showPlc = true;\n }\n };\n\n private hidePlc = () => {\n this.options.showPlc = false;\n };\n\n /**\n * 播放器实例化前钩子\n * @param player 播放器实例\n * @param options 实例化播放器时指定的当前插件的参数\n */\n public beforeInstall(player: IKwaiPlayer, options?: any): void {\n this._player = player;\n this.container = player.createSubContainer();\n this.options = options;\n this.options.showPlc = false;\n\n this.vueComponent = new Vue({\n el: this.container,\n render: h =>\n h(PlcInfo, {\n props: this.options,\n style: {\n position: 'absolute',\n bottom: '30px',\n left: '6px',\n },\n }),\n });\n\n this._player.on(KwaiPlayerEvent.CANPLAY, this.onCanplay);\n this._player.on(KwaiPlayerEvent.PLAY, this.showPlc);\n this._player.on(KwaiPlayerEvent.PAUSE, this.hidePlc);\n }\n\n /**\n * 播放器实例化后钩子\n * @param player 播放器实例\n * @param options 实例化播放器时指定的当前插件的参数\n */\n public afterInstall(_player: IKwaiPlayer, _options?: any): void {\n // console.log('debug afterInstall');\n }\n\n /**\n * 播放器销毁前钩子\n * @param player 播放器实例\n */\n public beforeUninstall(_player: IKwaiPlayer): void {\n // console.log('debug beforeUninstall');\n }\n\n /**\n * 播放器销毁后钩子\n * @param player 播放器实例\n */\n public afterUninstall(_player: IKwaiPlayer): void {\n // console.log('debug afterUninstall');\n }\n}\n","\nimport {\n defineComponent,\n getCurrentInstance,\n reactive,\n toRefs,\n Ref,\n ref,\n computed,\n onMounted,\n onBeforeUnmount,\n onUnmounted,\n watch,\n nextTick,\n PropType,\n} from 'vue';\nimport cookies from 'js-cookie';\nimport KwaiPlayerVue2, { KwaiPlayer } from '@ks-video/kwai-player-web/vue2-mini';\nimport { getQuery, generateUUID } from '@/common/utils';\nimport PlcPlugin from '@/common/videoPlcPlugin';\nimport { MobilePageSource, MobilePageSourceCodeMap } from '@/constants/base';\nimport { UserInfoByLogin } from '~/api/user';\n\nKwaiPlayer.register(PlcPlugin);\n\ntype KwaiPlayerVue2Type = (typeof KwaiPlayerVue2)['methods'];\n\nconst uuid = generateUUID();\nexport default defineComponent({\n components: {\n KwaiPlayerVue2,\n },\n props: {\n src: {\n type: [Object, String],\n default: '',\n },\n preload: {\n type: String || undefined,\n default: undefined,\n },\n loop: {\n type: [Boolean],\n default: false,\n },\n playsinline: {\n type: [Boolean],\n default: false,\n },\n poster: {\n type: [String],\n default: '',\n },\n autoplay: {\n type: [Boolean],\n default: false,\n },\n muted: {\n type: [Boolean],\n default: false,\n },\n volume: {\n type: [Number],\n default: 1,\n },\n refKey: {\n type: [String, Number],\n default: '',\n },\n photoId: {\n type: [String, Number],\n default: '',\n },\n showInfoPanel: {\n type: [Boolean],\n default: getQuery()?.showInfoPanel === 'true' || false,\n },\n bizData: {\n type: Object as PropType<{ pageSource?: MobilePageSource; [key: string]: any }>,\n default: () => {},\n },\n index: {\n type: Number,\n default: 0,\n },\n controls: {\n type: Boolean,\n default: () => false,\n },\n plugins: {\n type: Object,\n default: () => {},\n },\n },\n setup(props, context) {\n // const propsData = useRef(props)\n const { proxy } = getCurrentInstance() as { proxy: any };\n const videoRef = ref(null);\n const key = ref(`render${props.index}`);\n const status = reactive({ enterTime: 0, leaveTime: 0, canPlay: false, shouldPlay: props.autoplay, hasResume: false });\n const pauseStart = ref(0);\n const pauseDuartion = ref(0);\n const playSrc = ref(props.src);\n const pluginsOption = ref({\n LoggerPlugin: {\n // 日志上报位置\n logUrl: 'https://logsdk.kwai-pro.com/rest/wd/common/log/collect/misc2?kpn=KWAI&v=3.10.16',\n productName: 'KWAI',\n env: 'oversea',\n // forceSendBeacon: false,\n forceSendBeacon: true,\n },\n PlcPlugin: false,\n PlayInfoPlugin: getQuery()?.showInfoPanel === 'true' || false,\n ...props.plugins,\n });\n\n const bizDataAndUserId = computed(() => {\n const { pageSource } = props?.bizData || {};\n const userInfo = (proxy?.$store?.state?.userModule?.userInfo || {}) as UserInfoByLogin;\n const { user, userId, user_id } = userInfo;\n const uid = userId || user_id || user?.user_id || cookies.get('userId');\n return {\n ...props.bizData,\n userId: uid,\n device_id: cookies.get('webDid') || `random_${uuid}`,\n page_code: pageSource ? MobilePageSourceCodeMap[pageSource] : undefined,\n photo_id: `${props.photoId || ''}`,\n url: window?.location?.href || '',\n };\n });\n const onEnter = () => {\n console.log('onEnter');\n status.enterTime = Date.now();\n };\n const onLeave = () => {\n console.log('onLeave');\n status.leaveTime = Date.now();\n sendVideoStatLog({});\n };\n // 业务主动终止网络请求\n const abortRequest = () => {\n playSrc.value = '';\n };\n const assignRequest = () => {\n playSrc.value = props.src;\n };\n\n const sendVideoStatLog = (logParams: any) => {\n const instance = videoRef.value as any;\n const videoStatus = instance?.getAudienceStat() ?? {};\n const playedDuration = status.leaveTime - status.enterTime - pauseDuartion.value;\n // 字段来源与含义:https://docs.corp.kuaishou.com/k/home/VCruMNt_APag/fcAC66-Y5rQIuqzzozDmyQGDI\n const {\n creation_time,\n stream_duration: durationTime,\n // play_duration: playedDuration,\n metadata_time: prepareTime,\n playing_start_time: beginPlayTime,\n } = videoStatus;\n if (status.enterTime === 0) return;\n status.leaveTime = 0;\n status.enterTime = 0;\n };\n\n function resumePlayListener() {\n console.log('resumePlayListener: ');\n console.log('status.shouldPlay: ', status.shouldPlay);\n status.hasResume = true;\n }\n // window.addEventListener('visibilitychange', () => {\n // console.log('visibilitychange: ');\n // });\n onMounted(() => {});\n // 实测这里终止请求无效\n // onBeforeUnmount(()=>{\n // playSrc.value = ''\n // })\n const onClick = (e: Event) => {\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('click', e, props.refKey);\n };\n\n const onPlaying = (e: Event) => {\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('playing', e, props.refKey);\n };\n const onPlay = (e: Event) => {\n if (pauseStart.value) {\n pauseDuartion.value += Date.now() - pauseStart.value;\n pauseStart.value = 0;\n }\n console.log('play', e, props.refKey, props.index);\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('play', e, props.refKey);\n };\n const onWaiting = (e: Event) => {\n console.log('onWaiting', e, props.refKey, props.index);\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('waiting', e, props.refKey);\n };\n const onError = (e: any) => {\n console.log('player-error', e, props.refKey, props.index, props.bizData.pageSource, props.photoId);\n const playedDuration = status.leaveTime - status.enterTime - pauseDuartion.value;\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('error', e, props.refKey);\n };\n const onEnded = (e: Event) => {\n console.log('ended', e, props.refKey, props.index);\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('ended', e, props.refKey);\n onLeave();\n };\n\n const onPause = (e: Event) => {\n pauseStart.value = Date.now();\n console.log('pause', e, props.refKey);\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('pause', e, props.refKey);\n if (status.shouldPlay && status.hasResume) {\n retryPlay();\n }\n };\n\n /**\n * @en video event order\n * loadstart => durationchange => loadedmetadata => loadeddata => progress => canplay => canplaythrough\n */\n const onLoadStart = (e: Event) => {\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('loadstart', e, props.refKey);\n };\n const onDurationChange = (e: Event) => {\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('durationchange', e, props.refKey);\n };\n const onLoadedMetaData = (e: Event) => {\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('loadedmetadata', e, props.refKey);\n };\n const onLoadedData = (e: Event) => {\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('loadeddata', e, props.refKey);\n };\n const onProgress = (e: Event) => {\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('progress', e, props.refKey);\n };\n const onCanPlay = (e: Event) => {\n status.canPlay = true;\n status.enterTime = Date.now();\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('canplay', e, props.refKey);\n };\n const onCanPlayThrough = (e: Event) => {\n // eslint-disable-next-line vue/require-explicit-emits\n context.emit('canplaythrough', e, props.refKey);\n };\n\n const retryPlay = () => {\n status.hasResume = false;\n const video = videoRef.value! as KwaiPlayerVue2Type;\n video?.play();\n };\n const play = () => {\n status.shouldPlay = true;\n const video = videoRef.value! as KwaiPlayerVue2Type;\n video?.play();\n };\n const pause = () => {\n status.shouldPlay = false;\n status.hasResume = false;\n const video = videoRef.value! as KwaiPlayerVue2Type;\n video?.pause();\n };\n const getPaused = () => {\n const video = videoRef.value! as KwaiPlayerVue2Type;\n return video?.getPaused();\n };\n\n const getDuration = () => {\n const video = videoRef.value! as KwaiPlayerVue2Type;\n return video?.getDuration();\n };\n\n const getCurrentTime = () => {\n const video = videoRef.value! as KwaiPlayerVue2Type;\n return video?.getCurrentTime();\n };\n\n const setCurrentTime = (time: number) => {\n if (typeof time !== 'number') {\n return;\n }\n const video = videoRef.value! as KwaiPlayerVue2Type;\n video?.setCurrentTime?.(time);\n };\n\n return {\n status,\n pluginsOption,\n videoRef,\n playSrc,\n bizDataAndUserId,\n play,\n pause,\n onEnter,\n onLeave,\n sendVideoStatLog,\n onClick,\n onWaiting,\n onPlay,\n onPlaying,\n onError,\n onEnded,\n onPause,\n\n onLoadStart,\n onDurationChange,\n onLoadedMetaData,\n onLoadedData,\n onProgress,\n onCanPlay,\n onCanPlayThrough,\n\n getPaused,\n abortRequest,\n assignRequest,\n key,\n getDuration,\n getCurrentTime,\n setCurrentTime,\n };\n },\n});\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--13-0!../../node_modules/ts-loader/index.js??ref--13-1!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--13-0!../../node_modules/ts-loader/index.js??ref--13-1!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=fe8ea9dc&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=fe8ea9dc&prod&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VideoPlayer from './video-player/index.vue'\n \nVue.component('a-video-player', VideoPlayer)","import * as yoda from '@yoda/bridge';\nimport cookies from 'js-cookie';\n\nimport Vue from 'vue';\nimport CommonPlugin from '../common/capacitor-plugins';\n\nwindow.$yoda = { ...yoda };\n\nwindow.parseIkwaiProtocol = ikwaiString => {\n // eslint-disable-next-line no-unused-expressions\n const oldKwaiStringVersion = compareVersion(cookies.get('appver'), '10.0.30') < 0;\n console.log('oldKwaiStringVersion', oldKwaiStringVersion, ikwaiString);\n // 这是兼容最新版本的\n if (!oldKwaiStringVersion) {\n const uriString = JSON.parse(ikwaiString).uri;\n console.log('uriString', uriString);\n if (uriString.startsWith('ikwai://')) {\n const { origin } = window.location;\n const isInTinyForyou = window.location.href.match('/tiny/foryou');\n const noIkwaiStr = uriString.replace('ikwai://', '');\n const id = noIkwaiStr.split('/')[1]?.split('?')[0];\n\n if (noIkwaiStr.startsWith('home') && !isInTinyForyou) {\n window.location.href = `${origin}/tiny/foryou?hyId=tinyPackage`;\n return;\n }\n\n if (noIkwaiStr.startsWith('work')) {\n window.location.href = `${origin}/tiny/video?photoId=${id}&&hyId=tinyPackage`;\n return;\n }\n\n if (noIkwaiStr.startsWith('profile')) {\n window.location.href = `${origin}/tiny/user?kwaiId=${id}&&hyId=tinyPackage`;\n return;\n }\n // 如果不在foryou页面 都拉到foryou页面上\n if (!isInTinyForyou) {\n window.location.href = `${origin}/tiny/foryou?hyId=tinyPackage`;\n }\n }\n\n if (uriString.startsWith('kwai://')) {\n const { origin } = window.location;\n const isInTinyForyou = window.location.href.match('/tiny/foryou');\n const noIkwaiStr = uriString.replace('kwai://', '');\n const id = noIkwaiStr.split('/')[1]?.split('?')[0];\n\n if (noIkwaiStr.startsWith('home') && !isInTinyForyou) {\n window.location.href = `${origin}/tiny/foryou?hyId=tinyPackage`;\n return;\n }\n\n if (noIkwaiStr.startsWith('work')) {\n window.location.href = `${origin}/tiny/video?photoId=${id}&&hyId=tinyPackage`;\n return;\n }\n\n if (noIkwaiStr.startsWith('profile')) {\n window.location.href = `${origin}/tiny/user?kwaiId=${id}&&hyId=tinyPackage`;\n return;\n }\n // 如果不在foryou页面 都拉到foryou页面上\n if (!isInTinyForyou) {\n window.location.href = `${origin}/tiny/foryou?hyId=tinyPackage`;\n }\n }\n }\n // cookie中 appver 10.0.30\n if (oldKwaiStringVersion) {\n console.log('ikwaiString', ikwaiString);\n if (ikwaiString.startsWith('ikwai://')) {\n const { origin } = window.location;\n const isInTinyForyou = window.location.href.match('/tiny/foryou');\n const noIkwaiStr = ikwaiString.replace('ikwai://', '');\n const id = noIkwaiStr.split('/')[1]?.split('?')[0];\n\n if (noIkwaiStr.startsWith('home') && !isInTinyForyou) {\n window.location.href = `${origin}/tiny/foryou?hyId=tinyPackage`;\n return;\n }\n\n if (noIkwaiStr.startsWith('work')) {\n window.location.href = `${origin}/tiny/video?photoId=${id}&&hyId=tinyPackage`;\n return;\n }\n\n if (noIkwaiStr.startsWith('profile')) {\n window.location.href = `${origin}/tiny/user?kwaiId=${id}&&hyId=tinyPackage`;\n return;\n }\n // 如果不在foryou页面 都拉到foryou页面上\n if (!isInTinyForyou) {\n window.location.href = `${origin}/tiny/foryou?hyId=tinyPackage`;\n }\n }\n\n if (ikwaiString.startsWith('kwai://')) {\n const { origin } = window.location;\n const isInTinyForyou = window.location.href.match('/tiny/foryou');\n const noIkwaiStr = ikwaiString.replace('kwai://', '');\n const id = noIkwaiStr.split('/')[1]?.split('?')[0];\n\n if (noIkwaiStr.startsWith('home') && !isInTinyForyou) {\n window.location.href = `${origin}/tiny/foryou?hyId=tinyPackage`;\n return;\n }\n\n if (noIkwaiStr.startsWith('work')) {\n window.location.href = `${origin}/tiny/video?photoId=${id}&&hyId=tinyPackage`;\n return;\n }\n\n if (noIkwaiStr.startsWith('profile')) {\n window.location.href = `${origin}/tiny/user?kwaiId=${id}&&hyId=tinyPackage`;\n return;\n }\n // 如果不在foryou页面 都拉到foryou页面上\n if (!isInTinyForyou) {\n window.location.href = `${origin}/tiny/foryou?hyId=tinyPackage`;\n }\n }\n }\n};\n\n// 版本对比\n// vStr1 > vStr2 return 1\n// vStr1 < vStr2 return -1\n// vStr1 = vStr2 return 0\nfunction compareVersion(vStr1, vStr2) {\n const v1 = vStr1.split('.');\n const v2 = vStr2.split('.');\n const len = Math.max(v1.length, v2.length);\n\n while (v1.length < len) {\n v1.push('0');\n }\n while (v2.length < len) {\n v2.push('0');\n }\n\n for (let i = 0; i < len; i++) {\n const num1 = parseInt(v1[i], 10);\n const num2 = parseInt(v2[i], 10);\n\n if (num1 > num2) {\n return 1;\n }\n\n if (num1 < num2) {\n return -1;\n }\n }\n return 0;\n}\nVue.use(CommonPlugin);\n","import { PwaBridge } from '@/common/bridge';\n\nexport default function routerPlugin({ app, $isAppEnvironment = false, $appConfig, ...rest }) {\n app.router.beforeEach((to, from, next) => {\n try {\n /**\n * @zh 兼容旧版本 bomdia 打开 webview 的形式\n */\n const isBomdia = $appConfig?.pkg === 'bom.dia.video.imagen.frases.download';\n if (isBomdia) {\n if (!from.name && from.fullPath === '/') {\n next();\n return;\n }\n PwaBridge.openWebview({\n url: `${window?.location?.origin}${to?.fullPath || ''}`,\n });\n return;\n }\n\n next();\n } catch {\n next();\n }\n });\n}\n","import Vue from 'vue';\n\nfunction getRuntimeEnv() {\n return this?.$pwaLayout || 'default';\n}\n\nVue.prototype.$getRuntimeEnv = getRuntimeEnv;\n\nexport default ({ app }, inject) => {\n inject('$getRuntimeEnv', getRuntimeEnv);\n};\n","import Vue from 'vue';\n\nfunction getSchema(compName, env) {\n env = env || this?.$getRuntimeEnv?.();\n return this?.$store?.state?.schemaModule?.currentSchema?.[compName]?.[env] || {};\n}\n\nVue.prototype.$getSchema = getSchema;\n\nexport default (ctx, inject) => {\n inject('$getSchema', getSchema);\n};\n","import Vue from 'vue';\nimport VueGtag from 'vue-gtag';\nimport cookies from 'js-cookie';\n\nconst getTagId = () => {\n switch (location.host) {\n case 'www.kwai.com':\n return 'G-Y5KRX0YK45'\n case 'www.snackvideo.com':\n return 'G-H7QQTWR2RN'\n case 'wwwt.kwai.com':\n return 'G-415K3R9MZQ'\n default:\n return ''\n }\n};\nconst id = getTagId()\n\nVue.use(VueGtag, {\n config: {\n id,\n params: {\n send_page_view: true,\n webDid: cookies.get('webDid') || ''\n }\n }\n})\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport Meta from 'vue-meta'\nimport ClientOnly from 'vue-client-only'\nimport NoSsr from 'vue-no-ssr'\nimport { createRouter } from './router.js'\nimport NuxtChild from './components/nuxt-child.js'\nimport NuxtError from '../layouts/error.vue'\nimport Nuxt from './components/nuxt.js'\nimport App from './App.js'\nimport { setContext, getLocation, getRouteData, normalizeError } from './utils'\nimport { createStore } from './store.js'\n\n/* Plugins */\n\nimport nuxt_plugin_pluginutils_f24e485a from 'nuxt_plugin_pluginutils_f24e485a' // Source: ./nuxt-i18n/plugin.utils.js (mode: 'all')\nimport nuxt_plugin_pluginrouting_2bdc7f44 from 'nuxt_plugin_pluginrouting_2bdc7f44' // Source: ./nuxt-i18n/plugin.routing.js (mode: 'all')\nimport nuxt_plugin_pluginmain_e15f905e from 'nuxt_plugin_pluginmain_e15f905e' // Source: ./nuxt-i18n/plugin.main.js (mode: 'all')\nimport nuxt_plugin_workbox_42d38a84 from 'nuxt_plugin_workbox_42d38a84' // Source: ./workbox.js (mode: 'client')\nimport nuxt_plugin_metaplugin_4f67e4d2 from 'nuxt_plugin_metaplugin_4f67e4d2' // Source: ./pwa/meta.plugin.js (mode: 'all')\nimport nuxt_plugin_axios_3bcd6130 from 'nuxt_plugin_axios_3bcd6130' // Source: ./axios.js (mode: 'all')\nimport nuxt_plugin_axios_397e53b5 from 'nuxt_plugin_axios_397e53b5' // Source: ../plugins/axios.js (mode: 'all')\nimport nuxt_plugin_context_fd0a6fdc from 'nuxt_plugin_context_fd0a6fdc' // Source: ../plugins/context.ts (mode: 'all')\nimport nuxt_plugin_bus_24831a6b from 'nuxt_plugin_bus_24831a6b' // Source: ../plugins/bus.js (mode: 'client')\nimport nuxt_plugin_lazy_5b41718f from 'nuxt_plugin_lazy_5b41718f' // Source: ../plugins/lazy.js (mode: 'client')\nimport nuxt_plugin_vant_6b946232 from 'nuxt_plugin_vant_6b946232' // Source: ../plugins/vant.js (mode: 'client')\nimport nuxt_plugin_log_35398f27 from 'nuxt_plugin_log_35398f27' // Source: ../plugins/log.js (mode: 'client')\nimport nuxt_plugin_kwaiplayerweb_3cadac0a from 'nuxt_plugin_kwaiplayerweb_3cadac0a' // Source: ../plugins/kwai-player-web.js (mode: 'client')\nimport nuxt_plugin_yoda_21955e90 from 'nuxt_plugin_yoda_21955e90' // Source: ../plugins/yoda.js (mode: 'client')\nimport nuxt_plugin_router_aacea2cc from 'nuxt_plugin_router_aacea2cc' // Source: ../plugins/router.js (mode: 'client')\nimport nuxt_plugin_env_29405cde from 'nuxt_plugin_env_29405cde' // Source: ../plugins/env.js (mode: 'all')\nimport nuxt_plugin_getSchema_77532418 from 'nuxt_plugin_getSchema_77532418' // Source: ../plugins/getSchema.js (mode: 'all')\nimport nuxt_plugin_gtag_71c5e2d0 from 'nuxt_plugin_gtag_71c5e2d0' // Source: ../plugins/gtag.js (mode: 'client')\n\n// Component: \nVue.component(ClientOnly.name, ClientOnly)\n\n// TODO: Remove in Nuxt 3: \nVue.component(NoSsr.name, {\n ...NoSsr,\n render (h, ctx) {\n if (process.client && !NoSsr._warned) {\n NoSsr._warned = true\n\n console.warn(' has been deprecated and will be removed in Nuxt 3, please use instead')\n }\n return NoSsr.render(h, ctx)\n }\n})\n\n// Component: \nVue.component(NuxtChild.name, NuxtChild)\nVue.component('NChild', NuxtChild)\n\n// Component NuxtLink is imported in server.js or client.js\n\n// Component: \nVue.component(Nuxt.name, Nuxt)\n\nObject.defineProperty(Vue.prototype, '$nuxt', {\n get() {\n const globalNuxt = this.$root ? this.$root.$options.$nuxt : null\n if (process.client && !globalNuxt && typeof window !== 'undefined') {\n return window.$nuxt\n }\n return globalNuxt\n },\n configurable: true\n})\n\nVue.use(Meta, {\"keyName\":\"head\",\"attribute\":\"data-n-head\",\"ssrAttribute\":\"data-n-head-ssr\",\"tagIDKeyName\":\"hid\"})\n\nconst defaultTransition = {\"name\":\"page\",\"mode\":\"out-in\",\"appear\":false,\"appearClass\":\"appear\",\"appearActiveClass\":\"appear-active\",\"appearToClass\":\"appear-to\"}\n\nconst originalRegisterModule = Vuex.Store.prototype.registerModule\n\nfunction registerModule (path, rawModule, options = {}) {\n const preserveState = process.client && (\n Array.isArray(path)\n ? !!path.reduce((namespacedState, path) => namespacedState && namespacedState[path], this.state)\n : path in this.state\n )\n return originalRegisterModule.call(this, path, rawModule, { preserveState, ...options })\n}\n\nasync function createApp(ssrContext, config = {}) {\n const store = createStore(ssrContext)\n const router = await createRouter(ssrContext, config, { store })\n\n // Add this.$router into store actions/mutations\n store.$router = router\n\n // Fix SSR caveat https://github.com/nuxt/nuxt.js/issues/3757#issuecomment-414689141\n store.registerModule = registerModule\n\n // Create Root instance\n\n // here we inject the router and store to all child components,\n // making them available everywhere as `this.$router` and `this.$store`.\n const app = {\n head: {\"meta\":[{\"charset\":\"utf-8\"},{\"hid\":\"viewport\",\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no\"},{\"name\":\"google\",\"content\":\"notranslate\"},{\"name\":\"format-detection\",\"content\":\"telephone=no\"},{\"name\":\"theme-color\",\"content\":\"#000\"}],\"link\":[{\"rel\":\"preconnect dns-prefetch\",\"href\":\"\\u002F\\u002Flogsdk.kwai-pro.com\",\"crossorigin\":\"anonymous\"},{\"rel\":\"preconnect dns-prefetch\",\"href\":\"\\u002F\\u002Fcdn-static.kwai.net\",\"crossorigin\":\"anonymous\"},{\"rel\":\"preconnect dns-prefetch\",\"href\":\"\\u002F\\u002Fak-br-pic.kwai.net\",\"crossorigin\":\"anonymous\"},{\"rel\":\"preconnect dns-prefetch\",\"href\":\"\\u002F\\u002Faws-pic.kwai.net\",\"crossorigin\":\"anonymous\"},{\"rel\":\"preconnect dns-prefetch\",\"href\":\"\\u002F\\u002Fak-cdn.kwai.net\",\"crossorigin\":\"anonymous\"},{\"rel\":\"preconnect dns-prefetch\",\"href\":\"\\u002F\\u002Faws-br-cdn.kwai.net\",\"crossorigin\":\"anonymous\"},{\"rel\":\"preconnect dns-prefetch\",\"href\":\"\\u002F\\u002Fg-br-cdn.kwai.net\",\"crossorigin\":\"anonymous\"}],\"script\":[{\"innerHTML\":\"window.addEventListener(\\\"beforeinstallprompt\\\", e =\\u003E {\\n \\u002F\\u002F Prevent Chrome 67 and earlier from automatically showing the prompt\\n e.preventDefault();\\n \\u002F\\u002F Stash the event so it can be triggered later.\\n window.deferredPrompt = e;\\n \\u002F\\u002F Update UI to notify the user they can add to home screen\\n });\"},{\"innerHTML\":\"\\n if ('serviceWorker' in navigator) {\\n window.addEventListener('load', function() {\\n if(false) return;\\n navigator.serviceWorker.register('\\u002Fsw.js')\\n .then(function(registration) {\\n console.log('ServiceWorker registration successful with scope: ', registration.scope);\\n })\\n .catch(function(error) {\\n console.log('ServiceWorker registration failed: ', error);\\n });\\n });\\n }\"},{\"innerHTML\":\"(function(){try {!function(t,e){\\\"object\\\"==typeof exports&&\\\"undefined\\\"!=typeof module?module.exports=e():\\\"function\\\"==typeof define&&define.amd?define(e):(t=t||self).KibtLog=e()}(this,function(){\\\"use strict\\\";var e=function(){return(e=Object.assign||function(t){for(var e,r=1,n=arguments.length;r\\u003Cn;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function n(i,a,s,c){return new(s=s||Promise)(function(t,e){function r(t){try{o(c.next(t))}catch(t){e(t)}}function n(t){try{o(c.throw(t))}catch(t){e(t)}}function o(e){e.done?t(e.value):new s(function(t){t(e.value)}).then(r,n)}o((c=c.apply(i,a||[])).next())})}function o(r,n){var o,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},t={next:e(0),throw:e(1),return:e(2)};return\\\"function\\\"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(e){return function(t){return function(e){if(o)throw new TypeError(\\\"Generator is already executing.\\\");for(;s;)try{if(o=1,i&&(a=2&e[0]?i.return:e[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,e[1])).done)return a;switch(i=0,(e=a?[2&e[0],a.value]:e)[0]){case 0:case 1:a=e;break;case 4:return s.label++,{value:e[1],done:!1};case 5:s.label++,i=e[1],e=[0];continue;case 7:e=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0\\u003C(a=s.trys).length&&a[a.length-1])&&(6===e[0]||2===e[0])){s=0;continue}if(3===e[0]&&(!a||e[1]\\u003Ea[0]&&e[1]\\u003Ca[3])){s.label=e[1];break}if(6===e[0]&&s.label\\u003Ca[1]){s.label=a[1],a=e;break}if(a&&s.label\\u003Ca[2]){s.label=a[2],s.ops.push(e);break}a[2]&&s.ops.pop(),s.trys.pop();continue}e=n.call(r,s)}catch(t){e=[6,t],i=0}finally{o=a=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([e,t])}}}function l(t){return a||(a={},r.split(\\\" \\\").forEach(function(t){t=t.split(\\\"\\u002F\\\");a[t[0]]=t[1]})),a[t]||\\\"\\\"}function d(t){var e=t.key,r=(c=t.value).name,n=c.error_type,o=c.result,i=c.count,a=c.duration,s=null!==(c=null===(s=t.value)||void 0===s?void 0:s.src)&&void 0!==c?c:\\\"\\\",c=null!==(c=null===(c=t.value)||void 0===c?void 0:c.msg)&&void 0!==c?c:\\\"\\\";return\\u002F^data:\\\\w+\\\\\\u002F\\\\w+;base64.+\\u002Fgi.test(s)&&(t.value.src=s=\\\"base64资源\\\"),\\u002F^data:\\\\w+\\\\\\u002F\\\\w+;base64.+\\u002Fgi.test(c)&&(t.value.msg=c=\\\"base64资源\\\"),{key:\\\"event\\\",value:{event_count:i,duration:a},dimension:{name:r,category:\\\"debug-log\\\",event_type:e||n,src:s,result_type:o,message:c,extra_info:JSON.stringify(t.value||{}),yoda_version:l(\\\"Yoda\\\")},event_trigger_source:\\\"H5\\\"}}function t(t){var e=t.value,r=e.name,n=e.event_type;return{key:\\\"event\\\",value:{duration:e.duration},dimension:{name:r,category:\\\"business_core_log\\\",event_type:n,result_type:e.result,message:e.msg,extra_info:JSON.stringify(t.value||{}),yoda_version:l(\\\"Yoda\\\")},event_trigger_source:\\\"H5\\\"}}var i=null,a=null,r=navigator.userAgent,s=console,c=\\\"ksurl.cn\\u002FcsHfgepO, radar:\\\",u=(s.log.bind(s,c),s.warn.bind(s,c),s.error.bind(s,c)),f=((c={}).LOAD=\\\"load\\\",c.RES=\\\"resource\\\",c.API=\\\"api\\\",c.ERROR=\\\"error\\\",c.SDK_ERROR=\\\"sdk_error\\\",c.CUSTOM=\\\"custom\\\",c.BATCH=\\\"batch\\\",c.EVENT=\\\"event\\\",c.BLOOD=\\\"blood\\\",{unknown:0,none:1,wifi:2,\\\"4g\\\":3,\\\"3g\\\":4,\\\"2g\\\":5,\\\"5g\\\":7,\\\"slow-2g\\\":5}),p=window,h=p.location,g=p.navigator,y=\\\"__RADAR_PERFORMANCE_TIMING_\\\",m=\\\"__radarSeedStore__\\\",v=\\\"isCoreReady\\\",b=\\\"isRuning\\\",k=\\\"radarSessionId\\\",_=\\\"resource\\\",S=\\\"error\\\",E=\\\"event\\\",w=\\\"load\\\",c=\\\"Queue\\\",R=S+c,T=_+c,C=E+c,L=\\\"oInc\\\",I=\\\"isHit\\\",x=\\\"sampling\\\",D=\\\"dimension\\\",O=\\\"projectId\\\",A=\\\"connection\\\",M=\\\"immediate\\\",j=\\\"commonData\\\",H=\\\"customDimensions\\\",N=\\\"config\\\",P=\\\"queue\\\";function B(t){return\\\"function\\\"==typeof t}function U(){for(var t=arguments,e=t[0],r=1;r\\u003Ct.length;r++){var n=t[r];if(n)for(var o in n)e[o]=n[o]}return e}function F(t,e,r){return void 0===r&&(r={}),(Object.assign||U)({},t,e,r)}function q(t){return JSON.stringify(t)}function z(t,e,r,n){return t.addEventListener(e,r,n)}function K(t,e,r,n){return t.removeEventListener(e,r,n)}function J(t,e){p[t=void 0===t?y:t]=F(p[t]||{},e)}function V(){var t=Y(k,null,y);return t||(t=\\\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\\\".replace(\\u002F[xy]\\u002Fg,function(t){var e=16*Math.random()|0;return(\\\"x\\\"===t?e:3&e|8).toString(16)}),W(k,t,y)),t}function Y(t,e,r){return p[r=void 0===r?y:r]&&void 0!==p[r][t]?p[r][t]:void 0===e?null:e}function W(t,e,r){p[r=void 0===r?y:r]||J(r,{}),p[r][t]=e}function G(t,e){return Y(t,e=void 0===e?null:e,m)}function $(t,e){W(t,e,m)}function Q(t,e){try{p[m][t].push(e),(n=G(\\\"flush\\\"))&&B(n)&&(r=G(P,[]),(G(M)||20\\u003Cr.length)&&n())}catch(t){u(\\\"1000\\\")}var r,n}var Z=\\\"script\\\",X=\\\"unhandledrejection\\\",tt=\\\"beforeunload\\\",et=\\\"visibilitychange\\\",rt={name:\\\"RadarSeedCollect\\\",version:\\\"1.2.8\\\"};function nt(t,e){var r=\\\"getAttribute\\\";return B(t[r])&&t[r](e)||\\\"\\\"}function ot(t){var e=t.target;return{failed:!0,file:nt(e,\\\"src\\\")||nt(e,\\\"href\\\"),res_path:(t=t&&t.path||t&&t.composedPath&&t.composedPath(),Array.isArray(t)?t.map(function(t){var e=nt(t,\\\"class\\\")||t.className,r=t.tagName||\\\"\\\";return t.id&&(r+=\\\"#\\\"+t.id),e&&(r+=e.split(\\u002F\\\\s+\\u002Fg).map(function(t){return\\\".\\\"+t}).join(\\\"\\\")),r}).filter(function(t){return t}).join(\\\",\\\"):\\\"\\\")}}var it=g.userAgent;var at=\\\"__yodaBridge__\\\",st=\\\"tool\\\",ct=\\\"sendRadarLog\\\",lt=\\\"sendSummarizedLog\\\";var c=p.screen,ut={domain:h.hostname,url:h.href,hash:h.hash,online:g.onLine,downlink:g[A]&&g[A].downlink,rtt:g[A]&&g[A].rtt,screen_width:c.width,screen_height:c.height,device_pixel_ratio:p.devicePixelRatio||1};function dt(){var t={page:h.href},e=Y(k),r=G(O);return{h5_extra_attr:q(ut),refer_url_package:t,url_package:t,project_id:r,radar_session_id:e}}function ft(){var t=G(N,{})[H]||{};return F({event_client_timestamp:Date.now(),collect_version:rt.version,collect_name:rt.name},t)}function pt(t,e){void 0===e&&(e=1);var r,n=t.data,o=t.key,t=t.dimension||{},i={},r=(r=G(L,0)+1,$(L,r),r);switch(o){case _:i=ot(n);break;case S:i=function(t){try{var e=t.reason,r=t.error||(e&&e.message?e:void 0),n=r&&r.message||t.message||t.reason;return{error_type:Z,error_cons_type:r&&r.name||t.name,msg:n,stack:t.stack||r&&r.stack,file:t.filename,line:t.lineno,col:t.colno}}catch(t){return{}}}(n)}return F(t,{sample_rate:e,other_session_increase_id:r},i||{})}function ht(){K(p,S,gt,!0),K(p,X,gt),K(p,tt,ht)}function gt(t){var e;G(v)?ht():(e=(e=t).message||null!=e.lineno||e.type===X,Q(P,((e={key:e?S:_,data:t})[D]=ft(),e[j]=dt(),e)))}function yt(t){var e,r=pt(t,G(x,1));return F(((e={key:t.key})[D]=r,e.value=t.value||{},e),t[j])}function mt(e,r,n){void 0===r&&(r=ct),p[at]&&p[at].invoke&&B(p[at].invoke)?function(t,e){var r=\\\"__radar_seed_canuse_cb__\\\";p[r]=function(t){e(t),p[r]=null};try{p[at].invokeCallback(st,\\\"canIUse\\\",q(t),r)}catch(t){p[r]()}}({namespace:st,name:r},function(t){t&&1===t.result&&t.canUse?(t=r===lt?\\\"h5_load\\\":void 0,p[at].invoke(st,r,q({data:e,key:t}),\\\"\\\"),n&&n(1)):n&&n(0)}):n&&n(0)}var vt=null;function bt(t){var e,r,n=G(N,{}),t=q((e=t,r=function(t){return{identity_package:{device_id:kt(\\\"did\\\")||kt(\\\"_did\\\")||kt(\\\"weblogger_did\\\"),global_id:kt(\\\"egid\\\"),user_id:kt(\\\"userId\\\")||kt(\\\"ud\\\")||kt(\\\"userName\\\")},app_package:{language:g.language,product_name:t,version_name:kt(\\\"appver\\\")||\\\"\\\"},device_package:{ua:it},service_name:\\\"radarSDK\\\",network_package:{type:function(){var t=\\\"\\\",e=g[A]||g.mozConnection||g.webkitConnection;return e&&(t=e.type||e.effectiveType),f[t]||0}()},h5_extra_attr:q(ut)}}((r=n).product_name),e=(e||[]).map(function(t){var e,r=pt(t);return F(((e={key:t.key,value:t.value||{}})[D]=r,e),t[j])}),{common:r,logs:[{client_timestamp:Date.now(),stat_package:{custom_stat_event:{key:\\\"radar_log\\\",value:q({data:e})}}}]}));!function(t){var e=t.url,t=t.data;if(g&&B(g.sendBeacon))try{g.sendBeacon(e,t)}catch(t){u(\\\"1003\\\")}else u(\\\"1002\\\")}({url:\\\"https:\\u002F\\u002F\\\"+({oversea:\\\"logsdk.kwai-pro.com\\\",logger:\\\"data-track.corp.kuaishou.com\\\"}[n.env]||\\\"log-sdk.ksapisrv.com\\\")+\\\"\\u002Frest\\u002Fwd\\u002Fcommon\\u002Flog\\u002Fcollect\\u002Fradar\\\",data:t})}function kt(t){if(!vt){vt={};for(var e,r=document.cookie.split(\\\"; \\\"),n=0;n\\u003Cr.length;n++)e=r[n].split(\\\"=\\\"),vt[e[0]]=decodeURIComponent(e[1]||\\\"\\\")}return vt[t]||\\\"\\\"}var _t=!1;function St(t){var e,r,n,o,i;G(b)||(\\\"object\\\"==typeof t&&t?(e=t[O])&&\\\"string\\\"==typeof e?-1\\u003Cit.indexOf(\\\" Yoda\\u002F\\\")&&!(r=function(){var t;(t={})[I]=!0,t[w]=1;try{var e=p.__yodaCommonDataObject__.sampleData,r=\\\"string\\\"==typeof e?JSON.parse(e):e;r&&(t=r)}catch(t){u(\\\"1004\\\")}return t}())[I]||(i=g.userAgent,_t=\\u002F(iPhone|iPad|iPod|iOS)\\u002Fi.test(i),function(t){V();var e=F(((e={})[b]=!1,e[v]=!1,e[L]=0,e[P]=[],e[R]=[],e[T]=[],e[C]=[],e),t);J(m,e)}(((i={})[O]=e,i[N]=t,i.flush=Tt,i[M]=!!t[M]||_t,i[x]=r?r[w]:1,i)),null!=(e=t.error)&&!e||(z(p,S,gt,!0),z(p,X,gt,!0),z(p,tt,ht,!0)),z(p,tt,wt,!0),z(document,et,Tt,!0),$(b,!0),t.unInit||($(\\\"radar_init_time\\\",Date.now()),function(t,e){mt(yt(t),lt,e)}(o=function(t,e){var t=F(ft(),t),r={key:w};return r[D]=t,r.value=e,r[j]=dt(),r}({event_name:\\\"radar_init\\\"},n),function(t){t||bt([o])}))):u(\\\"109\\\"):u(\\\"108\\\"))}function Et(){K(p,tt,wt),K(document,et,Tt)}function wt(){Tt(),Et(),ht()}function Rt(e){var t;t=function(t){t||bt(e)},mt(e.map(yt),ct,t)}function Tt(){try{G(v)&&Et();var t=G(P,[]);t.length&&(Rt(t),$(P,[]))}catch(t){u(\\\"1001\\\")}}var Ct=(Lt.prototype.init=function(t){this.config=t,this.forceHttpReport=!!t.forceHttpReport;var e=t.radarProjectId,r=t.env,n=t.product;St({projectId:e||\\\"4fd8ac0776\\\",immediate:!!t.immediate,env:r,product:n||\\\"KWAI\\\",unInit:!!t.unInit})},Lt.prototype.reportData=function(t,e,r){void 0===e&&(e=\\\"event\\\"),(r=void 0===r?\\\"\\\":r)&&t&&t.dimension&&(t.dimension.radar_session_id=r),\\\"error\\\"===e?gt(t):(e=(r=t||{}).dimension,t=r.value,r=e,e=t,r=F(ft(),r),Q(P,((t={key:E})[D]=r,t.value=e,t[j]=dt(),t)))},Lt);function Lt(){this.forceHttpReport=!1,this.sepDimension=d,this.businessCoreDimension=t}function It(){}function xt(){return(new Date).getTime()}function Dt(){return ce&&ce.timing&&ce.timing.navigationStart}function Ot(t){return\\\"function\\\"==typeof t}function At(){for(var t=1e9*Math.random()\\u003E\\u003E\\u003E0,e=[],r=0;r\\u003C7;r++)e.push(\\\"0123456789ABCDEF\\\".charAt(16*Math.random()));return t+e.join(\\\"\\\")}function Mt(){for(var t=[],e=0;e\\u003Carguments.length;e++)t[e]=arguments[e];for(var r=t[0],n=1;n\\u003Ct.length;n++){var o,i=t[n];for(o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])}return r}function jt(t){function e(t){return t.reduce(function(t,e,r,n){return t[e]=n[(r+1)%n.length],t},{})}if(Array.isArray(t)){var r=t.filter(function(t){return Array.isArray(t)});if(r.length){var n={};return r.forEach(function(t){t=e(t);Mt(n,t)}),n}return e(t)}return t}function Ht(t,e){try{return Ot(t[e])}catch(t){return!1}}function Nt(t){return t instanceof HTMLScriptElement||t instanceof HTMLImageElement?t.src:t instanceof HTMLLinkElement?t.href:\\\"\\\"}function Pt(t,e){var r,n=(r=t,Object.keys(e).filter(function(t){return-1\\u003Cr.indexOf(t)}).sort(function(t,e){return e.length-t.length})[0]);return n?[(e=n,(t=t).substr(t.indexOf(e)+e.length,t.length)),n]:[\\\"\\\",\\\"\\\"]}function Bt(t,e,r){var n=t.indexOf(e);return-1===n?t:t.substring(0,n)+r+t.substring(n+e.length)}function Ut(e,t,r,n){void 0===r&&(r=It);var o,i,n=(n=void 0===n?!1:n)||e.defer||e.async;\\\"loading\\\"!==document.readyState||n?(o=document.createElement(\\\"script\\\"),Object.keys(HTMLScriptElement.prototype).forEach(function(t){if(\\\"src\\\"!==t&&e[t]&&\\\"object\\\"!=typeof e[t])try{o[t]=e[t]}catch(t){}}),o.src=t,o.onload=e.onload,o.onerror=e.onerror,o.setAttribute(ee,At()),(i=e.getAttribute(\\\"nonce\\\"))&&o.setAttribute(\\\"nonce\\\",i),document.getElementsByTagName(\\\"head\\\")[0].appendChild(o)):(i=At(),t=e.outerHTML.replace(\\u002Fdata-retry-id=\\\"[^\\\"]+\\\"\\u002F,\\\"\\\").replace(\\u002Fsrc=(?:\\\"[^\\\"]+\\\"|.+)([ \\u003E])\\u002F,ee+\\\"=\\\"+i+' src=\\\"'+t+'\\\"$1'),document.write(t),(i=document.querySelector(\\\"script[\\\"+ee+'=\\\"'+i+'\\\"]'))&&(i.onload=r))}function Ft(e,t,r){var n=document.createElement(\\\"link\\\");Object.keys(HTMLLinkElement.prototype).forEach(function(t){if(\\\"href\\\"!==t&&e[t]&&\\\"object\\\"!=typeof e[t])try{n[t]=e[t]}catch(t){}}),n.href=t,n.onload=r||e.onload,n.onerror=e.onerror,n.setAttribute(ee,At()),document.getElementsByTagName(\\\"head\\\")[0].appendChild(n)}function qt(t){for(var e=Object.getPrototypeOf||function(t){return t.__proto__},r=Object.keys(t);e(t);)r=r.concat(Object.keys(e(t))),t=e(t);return r.filter(function(t){return\\\"constructor\\\"!==t})}function zt(t){return t&&(t instanceof HTMLLinkElement&&(\\\"preload\\\"===(t=t.rel)||\\\"prefetch\\\"===t))}function Kt(e){try{return e.rules}catch(t){try{return e.cssRules}catch(t){return null}}}var Jt={radarProjectId:\\\"4fd8ac0776\\\",product:\\\"KWAI\\\",env:\\\"oversea\\\",unInit:!0,reportImageRetryLog:!0},Vt={retryDomain:[[\\\"aws-static.kwai.net\\\",\\\"ak-static.kwai.net\\\",\\\"ak-qstatic.kwai.net\\\",\\\"d3qrssutfqv0j9.cloudfront.net\\\"],[\\\"cdn-static.kwai.net\\\",\\\"cdn-static.ap4r.com\\\",\\\"g-static.ap4r.com\\\",\\\"aws-static.ap4r.com\\\"]],retryMaxRetryTime:3,hasIgnoreBgImgRetry:!1},Yt={detectSelector:\\\"#app\\\",detectElement:\\\"div\\\"},Wt=\\\"resource\\\",Gt=\\\"count\\\",$t=\\\"detect\\\",Qt=\\\"label\\\",Zt={fetch_start:{custom:function(t){return Math.round(t.fetchStart)},noThrottle:!0},dns:{end:\\\"domainLookupEnd\\\",start:\\\"domainLookupStart\\\",cachedSkip:!0},tcp:{end:\\\"connectEnd\\\",start:\\\"connectStart\\\",cachedSkip:!0},ssl:{cachedSkip:!0,custom:function(t){return 0===t.secureConnectionStart?0:t.connectEnd-t.secureConnectionStart}},ttfb:{end:\\\"responseStart\\\",start:\\\"requestStart\\\",cachedSkip:!0},trans:{end:\\\"responseEnd\\\",start:\\\"responseStart\\\",cachedSkip:!0},fb:{end:\\\"responseStart\\\",start:\\\"fetchStart\\\",cachedSkip:!0},total:{end:\\\"responseEnd\\\",start:\\\"fetchStart\\\"},duration:{end:\\\"responseEnd\\\",start:\\\"fetchStart\\\"},size:{cachedSkip:!0,custom:function(t){return t.encodedBodySize},noThrottle:!0},protocol:{custom:function(t){return t.nextHopProtocol}},file:{custom:function(t){return t.name},noThrottle:!0},res_type:{custom:function(t){return t.initiatorType}},cached:{custom:function(t){return 0===t.transferSize||null==t.transferSize&&0===t.domainLookupStart},noThrottle:!0}},Xt=\\\"data-assets-retry-hooked\\\",te=\\\"data-assets-retry-ignore\\\",ee=\\\"data-retry-id\\\",re=\\\"_assetsRetryProxy\\\",ne=\\\"_assetsRetryOnerror\\\",oe=\\\"__RADAR_SESSION_ID__\\\",ie=\\\"data-tag-id\\\",ae=\\\"data-reassured-src\\\",se=\\\"data-container-fallback\\\",ce=window.performance;var le=console.error,ue=(de.prototype.init=function(){var t=this,r=this,e=function(){t.isCalledYodaCollectErrorDataDestroy&&(console.error=le),window.removeEventListener(\\\"load\\\",e,!1),a=i=null};window.addEventListener(\\\"load\\\",e,!1),console.error=function(){for(var t=[],e=0;e\\u003Carguments.length;e++)t[e]=arguments[e];le&&Ot(le)&&le.apply(console,t),r.logger.reportData(new Error(\\\"console_error:\\\"+JSON.stringify(Array.prototype.slice.apply(t))),\\\"error\\\")};var n=window.yodaCollectErrorDataDestroy;window.yodaCollectErrorDataDestroy=function(){t.isCalledYodaCollectErrorDataDestroy=!0,Ot(n)&&n()}},de);function de(t){this.isCalledYodaCollectErrorDataDestroy=!1,this.logger=t.logger,this.init()}var fe=(pe.prototype.hookCreateElement=function(){var r=this,n=document.createElement;document.createElement=function(t,e){return\\\"script\\\"===t||\\\"link\\\"===t?r.createHookedElement(n.call(document,t)):n.call(document,t,e)}},pe.prototype.createHookedElement=function(t){t.setAttribute(Xt,\\\"true\\\");var t=((e={})[re]=t,e[ne]=It,e),e=this.getHookedElementDescriptors(t);return Object.defineProperties(t,e),t.onload=It,t.onerror=It,t},pe.prototype.getHookedElementDescriptors=function(c){var t=this.assetRetry,l=t.maxRetryCount,e=t.scriptAndLinkProperties,u=t.fallbackConfig,d=t.extractInfoFromUrl,f=this,p=jt(this.assetRetry.domainMap);return e.reduce(function(t,r){var e=Ht(HTMLScriptElement.prototype,r);return t[r]=e?{value:function(){return c[re][r].apply(c[re],arguments)}}:{set:function(e){var s=c[re];if(\\\"onerror\\\"===r||\\\"onload\\\"===r)return\\\"onerror\\\"===r?(c[ne]=e,void(s.onerror=function(n){if(\\\"string\\\"!=typeof n){n.stopPropagation&&n.stopPropagation();var t=function(){return t=c[ne],e=s,r=n,Ot(t)?t.call(e,r):null;var t,e,r},e=s.hasAttribute(te),r=Nt(s),o=d.call(f.assetRetry,r,p),i=o[0],a=o[1],o=a&&a.retryTimes\\u003El;if(!i||!a||e||o&&a.isContainerFallback)return t();if(!o||o&&u){i=o?f.assetRetry.fallbackContainerResource(r):Bt(r,i,p[i]);if(a.isContainerFallback=!!o,null===i)return t();if(\\\"string\\\"!=typeof i)throw new Error(\\\"a string should be returned in onRetry function\\\");s instanceof HTMLScriptElement?Ut(s,i,It,!0):s instanceof HTMLLinkElement&&Ft(s,i)}else t()}})):void(\\\"onload\\\"===r&&(c._assetsRetryOnload=e,c[re].onload=function(t){e&&!e._called&&(e._called=!0,e.call(c[re],t))}));s[r]=e},get:function(){return c[re][r]}},t},{})},pe.prototype.hookPrototype=function(r){Object.keys(r).filter(function(t){return Ht(r,t)}).forEach(function(t){var e=r[t];r[t]=function(){var t=[].slice.call(arguments).map(function(t){return t&&(Object.prototype.hasOwnProperty.call(t,re)?t[re]:t)});return e.apply(this,t)}})},pe);function pe(t){this.assetRetry=t}function he(t){var e,r,n=new fe(t);try{t.scriptAndLinkProperties=(e=function(){for(var t=0,e=0,r=arguments.length;e\\u003Cr;e++)t+=arguments[e].length;for(var n=Array(t),o=0,e=0;e\\u003Cr;e++)for(var i=arguments[e],a=0,s=i.length;a\\u003Cs;a++,o++)n[o]=i[a];return n}(qt(HTMLScriptElement.prototype),qt(HTMLLinkElement.prototype)),r={},e.forEach(function(t){r[t]=!0}),Object.keys(r))}catch(t){}n.hookCreateElement(),\\\"undefined\\\"!=typeof Node&&n.hookPrototype(Node.prototype),\\\"undefined\\\"!=typeof Element&&n.hookPrototype(Element.prototype)}var ge=(ye.prototype.setReassuredImage=function(t,e){var r;t instanceof HTMLImageElement&&((r=t.getAttribute(ae)||\\\"\\\")&&t.src!==r?t.src=r:e&&(t.src=e))},ye.prototype.onError=function(t){var r=this;if(t){var n=t.target||t.srcElement||Array.isArray(t.path)&&t.path[0],e=Nt(n);if(e){var o=n.getAttribute(ie);o||(o=At(),n.setAttribute(ie,o));var i=this.assetRetry,a=i.domainMap,s=i.maxRetryCount,c=i.extractInfoFromUrl,l=i.countRetryTime,t=i.fallbackConfig,i=c.call(this.assetRetry,e,a,o),c=i[0],u=i[1],o=i[2],i=n instanceof HTMLElement&&n.hasAttribute(te);if(!(n instanceof HTMLImageElement&&n.src===n.getAttribute(ae)))if(!u||!c||i||(!navigator||!navigator.onLine||u.isContainerFallback)&&n instanceof HTMLImageElement)this.setReassuredImage(n);else{if(o&&n instanceof HTMLImageElement){var d=u.succeeded[0],o=u.finished;return d||o?void(d&&d!==n.src?n.src=d:(this.setReassuredImage(n),u.succeeded=[])):void u.finalCallback.push(function(t,e){e?r.setReassuredImage(n,t):n.src=t})}zt(n)||(n instanceof HTMLImageElement&&!this.assetRetry.logger.config.reportImageRetryLog||l.call(this.assetRetry,{result:\\\"0\\\",retryTimes:null==u?void 0:u.retryTimes,src:e}),u.retryTimes++,u.failed.push(e));d=u.retryTimes\\u003Es;if(a[c]&&!d){l=a[c],s=Bt(e,c,l);if(null!==s){if(\\\"string\\\"!=typeof s)throw new Error(\\\"a string should be returned in onRetry function\\\");n instanceof HTMLImageElement&&!n.getAttribute(ee)&&n.setAttribute(ee,At());l=(l=n)?l instanceof HTMLElement?[l.nodeName,l.src,l.href,l.rel,l.getAttribute(\\\"data-retry-id\\\")].join(\\\";\\\"):\\\"not_supported\\\":\\\"null\\\";this.retryCache[l]||(this.retryCache[l]=!0,n instanceof HTMLScriptElement&&!n.getAttribute(Xt)&&n.src?Ut(n,s):n instanceof HTMLLinkElement&&!n.getAttribute(Xt)&&n.href&&\\\"image\\\"!==n.getAttribute(\\\"as\\\")?Ft(n,s):n instanceof HTMLImageElement&&n.src&&(n.setAttribute(ee,At()),n.src=s))}}else if(n instanceof HTMLImageElement)if(a[c]&&d&&t&&!u.isContainerFallback){t=this.assetRetry.fallbackContainerResource(e);n.src=t,n.setAttribute(se,e),u.isContainerFallback=!0}else if(this.setReassuredImage(n),u){for(var f=0;f\\u003Cu.finalCallback.length;f++)try{u.finalCallback[f](e,!0)}catch(t){}u.finalCallback=[],u.finished=!0}}}}},ye.prototype.onLoad=function(t){var r,n,e,o,i,a,s,c,l,u,d=this;t&&(r=t.target||t.srcElement||Array.isArray(t.path)&&t.path[0],(n=Nt(r))&&((l=r.getAttribute(ie))||(l=At(),r.setAttribute(ie,l)),u=(e=this.assetRetry).domainMap,o=e.extractInfoFromUrl,i=e.countRetryTime,a=r.getAttribute(se)||n,u=o.call(this.assetRetry,a,u,l),s=u[1],c=u[2],l=function(){var t=r.getAttribute(ae)||\\\"\\\";if(!c&&a!==t){if(s){s.succeeded.push(n);for(var e=0;e\\u003Cs.finalCallback.length;e++)try{s.finalCallback[e](n)}catch(t){}s.finalCallback=[],s.finished=!0}r instanceof HTMLImageElement&&!d.assetRetry.logger.config.reportImageRetryLog||i.call(d.assetRetry,{result:\\\"1\\\",retryTimes:null==s?void 0:s.retryTimes,src:a})}},r instanceof HTMLLinkElement?document.styleSheets&&!zt(r)&&(u=[].slice.call(document.styleSheets).filter(function(t){return t.href===r.href})[0],(u=Kt(u))&&0===u.length?this.onError(t):l()):l()))},ye);function ye(t){this.assetRetry=t,this.retryCache={},document.addEventListener(\\\"error\\\",this.onError.bind(this),!0),document.addEventListener(\\\"load\\\",this.onLoad.bind(this),!0)}var me=\\\"data-css-bg\\\",ve=window.MutationObserver||window.WebKitMutationObserver,be=(ke.prototype.onLoad=function(){var a=this;setTimeout(function(){try{a.bgImageDetect();var t=(n=a.bgImageDetect.bind(a),o=a.delay,i=null,function(){var t=this,e=arguments;i&&clearTimeout(i),i=window.setTimeout(function(){n.apply(t,e)},o)}),e=new ve(function(){a.retryTimer&&clearTimeout(a.retryTimer),t()}),r=document.querySelector(\\\"body\\\");e.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[\\\"style\\\"]}),setTimeout(function(){e.disconnect()},5e3)}catch(t){console.error(t)}var n,o,i},3e3)},ke.prototype.getLoadedBgImgs=function(){var e=this.assetRetry.domainMap;return performance.getEntries().filter(function(t){return(\\\"css\\\"===t.initiatorType||\\\"img\\\"===t.initiatorType)&&!(!t.duration&&!t.decodedBodySize)&&\\u002F^https{0,1}:\\\\\\u002F\\\\\\u002F.+\\\\.(jpg|png|jpeg|webp|svg|apng)\\u002Fgi.test(t.name)}).map(function(t){t=t.name;return Pt(t,e)[0]})},ke.prototype.getLoadingBgImgs=function(){function i(t,e,r,n){var o=(i=a.splitBgImgUrl(t))[0],t=i[1],i=i[2];e&&o&&t&&(c[o]=c[o]||{selectors:[],domain:\\\"\\\",pseudoEltSeletors:[],originalUrl:i},c[o].domain=t,r?c[o].pseudoEltSeletors.push(n+\\\"[\\\"+me+'=\\\"'+e+'\\\"]::'+r):c[o].selectors.push(e))}var a=this,s=this,t=document.querySelectorAll(\\\"[\\\"+me+\\\"]\\\"),c={};return t.forEach(function(r){try{var n,t=getComputedStyle(r).getPropertyValue(\\\"background-image\\\"),o=r.getAttribute(me),e=r.getAttribute(\\\"data-pseudo-elt\\\");i(t,o),e&&(n=s.getEltSelector(r),e.split(\\\",\\\").forEach(function(t){var e=getComputedStyle(r,\\\":\\\"+t).getPropertyValue(\\\"background-image\\\");i(e,o,t,n)}))}catch(t){console.error(t)}}),c},ke.prototype.diff=function(n,o){var i=this,a={},s=this.assetRetry.countRetryTime;return Object.keys(o).forEach(function(t){var e,r;-1===n.indexOf(t)?a[t]=o[t]:(e=i.extractInfo(t),r=o[t].originalUrl,t&&r&&(e.succeeded.push(r),s.call(i.assetRetry,{result:\\\"1\\\",retryTimes:e.retryTimes,src:r,type:\\\"bgimg-retry-diff\\\"})))}),a},ke.prototype.bgImgsRetry=function(c){var l=this,t=this.assetRetry,u=t.domainMap,d=t.countRetryTime,f=t.maxRetryCount,p=t.hasIgnoreBgImgRetry,h=t.fallbackConfig;Object.keys(c).forEach(function(t){var e,r=c[t],n=r.selectors,o=r.domain,i=r.pseudoEltSeletors,a=r.originalUrl,s=u[o],r=\\\"\\u002F\\u002F\\\"+s+t,o=l.extractInfo(t);a&&t&&(d.call(l.assetRetry,{result:\\\"0\\\",retryTimes:null==o?void 0:o.retryTimes,src:a}),o.retryTimes++,o.failed.push(a),o=o.retryTimes\\u003Ef,!s||o&&!h||p||(a=l.assetRetry.fallbackContainerResource(a),e=o&&h?a:r,n.forEach(function(t){t=document.querySelector(\\\"[\\\"+me+'=\\\"'+t+'\\\"]');t&&t.style&&(t.style.backgroundImage=\\\"url(\\\"+e+\\\")\\\")}),i&&i.forEach(function(t){l.addStylesheetRules(t+\\\"{background-image:url(\\\"+e+\\\"); }\\\")})))})},ke.prototype.bgImageDetect=function(){var t=this.getLoadedBgImgs(),e=this.getLoadingBgImgs(),e=this.diff(t,e);!!Object.keys(e).length?(this.bgImgsRetry(e),this.retryTimer=setTimeout(function(){},this.delay)):this.retryTimer&&clearTimeout(this.retryTimer)},ke.prototype.splitBgImgUrl=function(t){var e=this.assetRetry.domainMap,t=\\u002F^url\\\\(\\\"(.+)\\\"\\\\)$\\u002F.exec(t=void 0===t?\\\"\\\":t),t=t&&t[1]||\\\"\\\";return\\u002Fhttps*:\\\\\\u002F\\\\\\u002F\\u002Fgi.test(t)?Pt(t,e).concat(t):[]},ke.prototype.extractInfo=function(t){var e=this.assetRetry.retryCollector;return t?(e[t]||(this.assetRetry.retryCollector[t]={retryTimes:0,firstTagId:\\\"\\\",failed:[],succeeded:[],finalCallback:[],finished:!1}),this.assetRetry.retryCollector[t]):{}},ke.prototype.getEltSelector=function(t){for(var e=[];t.parentNode&&e.length\\u003C=5;){var r,n,o=null!==(n=null===(r=t.nodeName)||void 0===r?void 0:r.toLocaleLowerCase())&&void 0!==n?n:\\\"\\\";o&&\\\"html\\\"!==o&&(r=o,n=t.id,o=t.classList,n?r=\\\"#\\\"+n:o&&o[0]&&(r=\\\".\\\"+o[0]),e.unshift(r)),t=t.parentNode}return e.join(\\\" \\\")},ke.prototype.getLastStylesheetIndex=function(){var t,e,r=0,n=0;return document.styleSheets.length?(r=document.styleSheets.length-1,n=(e=Kt(document.styleSheets[r]))&&e.length?e.length-1:0):(t=document.createElement(\\\"style\\\"),null!=(e=document.querySelector(\\\"head\\\"))&&e.appendChild(t)),[r,n]},ke.prototype.addStylesheetRules=function(t){var e=this.getLastStylesheetIndex(),r=e[0],e=e[1];document.styleSheets[r].insertRule(t,e)},ke);function ke(t){this.retryTimer=null,this.delay=2e3,this.assetRetry=t;t=this.onLoad.bind(this);window.addEventListener(\\\"load\\\",t,!1)}var _e=\\\"data-css-bg\\\",Se={},Ee=[\\\"backgroundImage\\\"];Object.values||(Object.values=function(t){if(t!==Object(t))throw new TypeError(\\\"Object.values called on a non-object\\\");var e,r=[];for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&r.push(t[e]);return r});var we=(Re.prototype.bgImageDetect=function(){return n(this,void 0,void 0,function(){var e,i,a,s=this;return o(this,function(t){switch(t.label){case 0:return null!==document&&void 0!==document&&document.styleSheets?(e=Object.values(document.styleSheets),a=i=!1,e.map(function(t){var e,r;try{var n,o=t.href||\\\"\\\";if(o&&(n=s.getUrlPathname(o),Se[n]=!0),null!==(r=null===(e=null==t?void 0:t.ownerNode)||void 0===e?void 0:e.dataset)&&void 0!==r&&r.assetsRetryHooked)return;s.getCssRules(t)||(i=!0),o||a||(a=!0)}catch(t){console.log(t),i=!0}}),a?[4,function(r){return n(s,void 0,void 0,function(){return o(this,function(t){return[2,new Promise(function(t){var e=new Image;e.src=r,e.onload=function(){t(r)},e.onerror=function(){i=!0,t(r)}})]})})}(this.retryImg)]:[3,2]):[2];case 1:t.sent(),t.label=2;case 2:return setTimeout(function(){s.processCssStyleSheet(e,{isCssRulesErr:i})},this.delay),[2]}})})},Re.prototype.processCssStyleSheet=function(t,o){var i=this,e=this.assetRetry.reportLog,r=Date.now();t.map(function(r){try{var t=i.getCssRules(r),n=t&&Object.values(t);null!=n&&n.map(function(e){e.selectorText&&Ee.map(function(t){i.processRules(t,e,r,n,o),i.processDom(t,e,o)})})}catch(t){console.log(t)}});r=Date.now()-r;e.call(this.assetRetry,{name:\\\"bgimg-retry-time\\\",duration:r})},Re.prototype.setDomCssBgId=function(t){t.getAttribute(_e)||null!=t&&t.setAttribute(_e,At())},Re.prototype.processDom=function(i,t,a){var s=this,e=this.assetRetry,c=e.domainMap,l=e.reportLog;document.querySelectorAll(t.selectorText).forEach(function(t){var e,r=s.toSlug(i),n=null===(e=window.getComputedStyle(t))||void 0===e?void 0:e.getPropertyValue(r),o=null==t?void 0:t.getAttribute(\\\"style\\\");t.getAttribute(_e)||(!\\u002Furl\\\\([\\\"']?data:\\u002F.test(n)&&\\u002Furl\\\\([\\\"']?(.+?)[\\\"']?\\\\)\\u002F.test(n)&&s.setDomCssBgId(t),!o||null==o||!o.includes(\\\"background\\\")||\\u002Furl\\\\([\\\"']?data:\\u002F.test(o)||(e=(o.match(\\u002Furl\\\\([\\\"']?(.+?)[\\\"']?\\\\)\\u002F)||[])[1])&&(s.setDomCssBgId(t),a.isCssRulesErr&&(r=Pt(e,c)[1],n=c[r],n=o.replace(r,n),t.setAttribute(\\\"style\\\",n),l.call(s.assetRetry,{src:s.getFullUrl(e),name:\\\"bgimg-retry-dom\\\"}))))})},Re.prototype.processRules=function(t,e,r,n,o){var i=this.assetRetry,a=i.domainMap,s=i.reportLog,c=null===(l=null==e?void 0:e.style)||void 0===l?void 0:l[t];if(c&&!\\u002F^url\\\\([\\\"']?data:\\u002F.test(c)){var i=c.match(\\u002F^url\\\\([\\\"']?(.+?)[\\\"']?\\\\)\\u002F)||[],l=i[0],c=i[1];if(c&&(null!==(u=null==e?void 0:e.cssText)&&void 0!==u&&u.includes(\\\"!important\\\")&&(o.styleImageImportant=!0),o.isCssRulesErr)){var i=Pt(c,a),u=i[0],i=i[1],a=a[i],a=u&&l.replace(i,a),o=e.selectorText+(\\\"{ \\\"+this.toSlug(t)+\\\": \\\"+a+\\\" \\\"+(null!=o&&o.styleImageImportant?\\\"!important\\\":\\\"\\\"))+\\\"; }\\\";if(a&&o){try{r.insertRule(o,n.length)}catch(t){r.insertRule(o,0)}s.call(this.assetRetry,{src:this.getFullUrl(c),name:\\\"bgimg-retry-css\\\"})}}}},Re.prototype.toSlug=function(t){return t.replace(\\u002F([a-z])([A-Z])\\u002Fg,function(t,e,r){return e+\\\"-\\\"+r.toLowerCase()})},Re);function Re(t){this.delay=1e3,this.retryImg=\\\"https:\\u002F\\u002Fcdn-static.kwai.net\\u002Fkos\\u002Fs101\\u002Fnlav11312\\u002Fincentive\\u002Fcss-bg-retry.51cfecbde35e8dd1.png\\\",this.getUrlPathname=function(t){return t&&(null===(t=new URL(t))||void 0===t?void 0:t.pathname)},this.getFullUrl=function(t){return t.includes(\\\"http\\\")?t:\\\"\\\"+location.protocol+t},this.getCssRules=function(e){try{return e.rules}catch(t){try{return e.cssRules}catch(t){return null}}},this.assetRetry=t;t=this.bgImageDetect.bind(this);window.addEventListener(\\\"load\\\",t,!1)}var Te=(Ce.prototype.extractInfoFromUrl=function(t,e,r){var n=Pt(t,e),o=n[0],t=n[1];if(!o)return[];e=this.retryCollector[o],n=!!e&&e.firstTagId!==r;return e||(this.retryCollector[o]={retryTimes:0,firstTagId:r,failed:[],succeeded:[],finalCallback:[],finished:!1,isContainerFallback:!1}),[t,this.retryCollector[o],n]},Ce.prototype.getRetryCollector=function(){return this.retryCollector},Ce.prototype.countRetryTime=function(t){var e=t.result,r=t.retryTimes,n=t.src,o=t.type,t=t.duration;this.logger.reportData(d({key:Gt,value:{name:\\\"retry_times\\\",count:r,src:n,msg:n&&n.split(\\\".\\\").pop(),result:e,type:o,duration:t||xt()-Dt()}}))},Ce.prototype.reportLog=function(t){this.logger.reportData(d({key:Qt,value:e({name:\\\"retry_label\\\"},t)}))},Ce.prototype.fallbackContainerResource=function(t){var e,r=this.fallbackConfig,n=null;return\\\"function\\\"==typeof r?n=r(t):null!=r&&r.reg&&(e=r.reg,r=r.domain,n=t.replace(e,r||location.origin)),n},Ce);function Ce(t){this.logger=t.logger;var e=t.config,r=e.retryDomain,n=e.retryMaxRetryTime,t=e.hasIgnoreBgImgRetry,e=e.resourceFallbackConfig;this.fallbackConfig=e,this.domain=r||[],this.maxRetryCount=n||3,this.hasIgnoreBgImgRetry=!!t,this.retryCollector={},this.scriptAndLinkProperties=[],this.domainMap=jt(this.domain)||{},he(this),new ge(this),new we(this),new be(this)}var Le=\\\"__WHITE_SCREEN_DETECT_LOG__\\\",Ie=(xe.prototype.init=function(){var t,e=this.getData();e.key===$t&&(t=(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(oe))||\\\"\\\",e.value=e.value||{},e.value.msg=\\\"localstorage-\\\"+e.value.msg,this.detect.report(e,t),this.clearData()),this.setData({},It,!0)},xe.prototype.setData=function(t,e,r){var n=this;void 0===t&&(t={}),void 0===r&&(r=!1),this.timer&&clearTimeout(this.timer),r?(this._setData(t,e),this.timer=null):this.timer=setTimeout(function(){n._setData(t,e),n.timer=null},1e3)},xe.prototype._setData=function(t,e){var r=this.data.value,n=null==r?void 0:r.result;t&&t.result!==n&&(t.duration=xt()-Dt(),t.src=location.href,Mt(r,t),r.count++,this.data.value=r,r=JSON.stringify(this.data),null!==localStorage&&void 0!==localStorage&&localStorage.setItem(Le,r),null!==localStorage&&void 0!==localStorage&&localStorage.setItem(oe,window.__radarSeedStore__.radarSessionId),\\\"0\\\"===t.result&&e(this.data))},xe.prototype.getData=function(){var t={},e=(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(Le))||\\\"{}\\\";try{t=JSON.parse(e)}catch(t){}return t},xe.prototype.clearData=function(){null!==localStorage&&void 0!==localStorage&&localStorage.removeItem(Le),null!==localStorage&&void 0!==localStorage&&localStorage.removeItem(oe)},xe);function xe(t){this.timer=null,this.detect=t,this.data={key:$t,value:{name:\\\"white_screen_detect\\\",count:-1,src:location.href,msg:\\\"init\\\",result:\\\"0\\\"}},this.init()}var De=window.MutationObserver||window.WebKitMutationObserver,Oe=(Ae.prototype.init=function(){var n=this;try{var t=new De(function(t){t.forEach(function(e){var t,r=null==e?void 0:e.target;\\\"body\\\"===(null===(t=null==r?void 0:r.nodeName)||void 0===t?void 0:t.toLocaleLowerCase())?[\\\"addedNodes\\\",\\\"removedNodes\\\"].forEach(function(t){t=e[t];t&&t.forEach&&Ot(t.forEach)&&t.forEach(function(t){n.isTarget(t,n.tag)&&n.contentDetect()})}):n.isTarget(r,n.tag)&&(t=e.addedNodes,r=e.removedNodes,(t.length||r.length)&&n.contentDetect())})}),e=document.querySelector(\\\"html\\\");return t.observe(e,{childList:!0,subtree:!0}),t}catch(t){return void console.log(t)}},Ae.prototype.parseSelector=function(){var t=this.selector.trim(),e=t[0];this.id=\\\"#\\\"===e?t.slice(1):\\\"\\\",this.className=\\\".\\\"===e?t.slice(1):\\\"\\\"},Ae.prototype.isTarget=function(t,e){var r;return(null===(r=null==t?void 0:t.nodeName)||void 0===r?void 0:r.toLocaleLowerCase())===e&&((null==t?void 0:t.id)===this.id||(null==t?void 0:t.className)===this.className)},Ae.prototype.contentDetect=function(){var t=document.querySelector(this.selector),e=this.deepFirstDetect(t,0);t instanceof HTMLElement&&this.detect.updateStore({result:e?\\\"1\\\":\\\"0\\\"})},Ae.prototype.deepFirstDetect=function(t,e){var r=this.isText(t),n=Ot(null==t?void 0:t.hasChildNodes)&&t.hasChildNodes(),o=!1;if(10\\u003C++e||this.isInVisible(t)||!n&&!r)o=!1;else if(n)for(var i=null!==(t=null==t?void 0:t.childNodes)&&void 0!==t?t:[],a=i.length,s=0;s\\u003Ca;s++){var c=i[s];if(o=this.deepFirstDetect(c,e))break}else r&&(o=r);return o},Ae.prototype.isInVisible=function(t){if(!(t instanceof Element))return!1;var e={overflow:\\\"hidden\\\",opacity:0,visibility:\\\"hidden\\\",display:\\\"none\\\"},r=window.getComputedStyle(t);return Object.keys(e).some(function(t){return r.getPropertyValue(t)===e[t]})},Ae.prototype.isText=function(t){return t instanceof Text&&!!(\\\"string\\\"==typeof(null==t?void 0:t.data)?t.data:\\\"\\\").replace(\\u002F\\\\r|\\\\n|\\\\s\\u002Fgi,\\\"\\\").length},Ae);function Ae(t,e,r){this.id=\\\"\\\",this.className=\\\"\\\",this.detect=t,this.selector=e,this.tag=r,this.parseSelector(),this.observer=this.init()}var Me=(je.prototype.init=function(t){var e=new Ie(this);this.store=e;e=null!==(e=null==t?void 0:t.detectSelector)&&void 0!==e?e:\\\"#app\\\",t=null!==(t=null==t?void 0:t.detectElement)&&void 0!==t?t:\\\"div\\\";this.observer=new Oe(this,e,t),document.addEventListener(\\\"DOMContentLoaded\\\",this.onDOMContentLoaded.bind(this)),window.addEventListener(\\\"beforeunload\\\",this.onBeforeUnLoad.bind(this))},je.prototype.updateStore=function(t){var e,r=this;(t=(this.status=t)||{}).msg=\\\"MutationObserver\\\",null!==(e=this.store)&&void 0!==e&&e.setData(t,function(t){r.report(t)})},je.prototype.report=function(t,e){void 0===e&&(e=\\\"\\\"),(null==t?void 0:t.key)===$t&&null!=t&&t.value&&(this.logger.reportData(d(t),\\\"event\\\",e),null!==(e=this.store)&&void 0!==e&&e.clearData())},je.prototype.onDOMContentLoaded=function(){this.status=this.status||{},this.status.msg=\\\"DOMContentLoaded\\\",null!==(e=this.store)&&void 0!==e&&e.setData(this.status,It,!0),this.status={};var t=null===(r=this.store)||void 0===r?void 0:r.getData(),e=(null==t?void 0:t.value)||{},r=e.count,e=e.result;(\\\"0\\\"===e&&0===r||\\\"1\\\"===e)&&(this.report(t),\\\"1\\\"===e&&(this.count=r))},je.prototype.onBeforeUnLoad=function(){var t=null===(r=this.store)||void 0===r?void 0:r.getData(),e=(null==t?void 0:t.value)||{},r=e.count;\\\"1\\\"===e.result&&r&&r!==this.count&&(t.value=t.value||{},t.value.msg=\\\"beforeunload\\\",this.report(t)),null!==(t=null===(t=this.observer)||void 0===t?void 0:t.observer)&&void 0!==t&&t.disconnect()},je);function je(t){this.store=null,this.observer=null,this.count=0,this.status={},this.logger=t.logger,this.init(null==t?void 0:t.config)}function He(t){void 0===t&&(t={}),this.logCollect=null,this.assetRetry=null,this.logger=new Ct,this.startTimeStamp=xt(),t.product=t.product||function(t){if(!i){i={};for(var e,r=document.cookie.split(\\\"; \\\"),n=0;n\\u003Cr.length;n++)e=r[n].split(\\\"=\\\"),i[e[0]]=decodeURIComponent(e[1]||\\\"\\\")}return i[t]||\\\"\\\"}(\\\"kpn\\\"),this.config=this.initConfig(t),this.init()}return He.prototype.init=function(){var t,r=this,n=Object.keys(this.config),e=[\\\"radarProjectId\\\",\\\"retryDomain\\\",\\\"retryMaxRetryTime\\\",\\\"detectSelector\\\"].filter(function(t){var e=-1===n.indexOf(t)||!r.config[t];if(e||\\\"detectSelector\\\"!==t)return e;e=r.config[t]||\\\"\\\",t=!\\u002F^(\\\\.|#)\\\\w+\\u002Fgi.test(e);return t&&console.error(\\\"白屏检测的节点选择器 \\\"+e+\\\" 不符预期,请使用id或class\\\"),t});e.length?setTimeout(function(){throw new Error(\\\"configs of Kibt-log: \\\"+e.join(\\\", \\\")+\\\" are invalid\\\")}):this.config.debug||(this.logger.init(this.config),this.logCollect=new ue(this),this.assetRetry=new Te(this),new Me(this),t=function(){r.countLoadFile(),window.removeEventListener(\\\"load\\\",t,!1)},window.addEventListener(\\\"load\\\",t,!1),this.logger.reportData(d({key:Gt,value:{name:\\\"count_inject\\\",duration:xt()-this.startTimeStamp}})))},He.prototype.initConfig=function(t){return e(e(e(e({debug:!1},Jt),Vt),Yt),t)},He.prototype.generateLog=function(r,n){var o=this,i={};return Object.keys(r).forEach(function(t){var e=o.calculate(t,r,n);null!=e&&(i[t]=e)}),i},He.prototype.calculate=function(t,e,r){var n=e[t];if(n){if(n.cachedSkip)if(this.calculate(\\\"cached\\\",e,r))return;if(\\\"function\\\"==typeof n.custom){var o=n.custom(r);return this.filter(o,n)}e=n.end,o=n.start,e=+r[e]||performance.timing[e],o=+r[o]||performance.timing[o];if(!n.notCatchIfUndefined||void 0!==e&&void 0!==o)return this.filter(e-o,n)}else console.error(\\\"[warn 310]\\\",\\\"[KibtLog] perf key \\\"+t+\\\" is unexpected!\\\")},He.prototype.filter=function(t,e){return e.noThrottle||\\\"number\\\"!=typeof t?t:t\\u003C0||isNaN(t)?null:Math.round(t)},He.prototype.countLoadFile=function(){var s=this,c={},n=this.assetRetry.getRetryCollector()||{};Object.keys(n).forEach(function(t){var e=n[t],r=e.failed,r=void 0===r?[]:r,e=e.succeeded;c[t]={added:!1,list:r.concat(void 0===e?[]:e)}});var t=window.performance,t=t&&Ot(t.getEntriesByType)&&t.getEntriesByType(\\\"resource\\\")||[],l=jt(this.config.retryDomain)||{},u=[];t.forEach(function(t){var e,r=t.name,n=t.initiatorType,o=t.duration,i=t.encodedBodySize,a=t.transferSize;(\\\"script\\\"===n||\\u002F\\\\.(js|css)$\\u002F.test(r)&&\\\"link\\\"===n||s.config.reportImageRetryLog&&\\\"img\\\"===n)&&(e=Pt(r,l)[0],n=c[e],e=s.generateLog(Zt,t),s.logger.reportData(d({key:Wt,value:{name:\\\"static_resource\\\",src:r,msg:r&&r.split(\\\".\\\").pop(),duration:Math.round(o),count:i,transferSize:a,detail:e}})),!n||n.list&&-1===n.list.indexOf(r)?u.push(t):n.added||(u.push(t),n.added=!0))}),this.logger.reportData(d({key:Gt,value:{name:\\\"count_load\\\",resources:u.map(function(t){return{name:t.name,startTime:t.startTime,duration:t.duration,initiatorType:t.initiatorType,transferSize:t.transferSize}}),msg:u.length,count:u.length,duration:xt()-Dt()}}))},He});\\n;window.__kibtlog__ = new window.KibtLog({\\\"radarProjectId\\\":\\\"4fedaf2ec1\\\",\\\"sampleRate\\\":1});} catch(e) {setTimeout(function() {throw 'kibt-log error: '+e;});}})()\"}],\"__dangerouslyDisableSanitizers\":[\"script\"],\"style\":[]},\n\n store,\n router,\n nuxt: {\n defaultTransition,\n transitions: [defaultTransition],\n setTransitions (transitions) {\n if (!Array.isArray(transitions)) {\n transitions = [transitions]\n }\n transitions = transitions.map((transition) => {\n if (!transition) {\n transition = defaultTransition\n } else if (typeof transition === 'string') {\n transition = Object.assign({}, defaultTransition, { name: transition })\n } else {\n transition = Object.assign({}, defaultTransition, transition)\n }\n return transition\n })\n this.$options.nuxt.transitions = transitions\n return transitions\n },\n\n err: null,\n dateErr: null,\n error (err) {\n err = err || null\n app.context._errored = Boolean(err)\n err = err ? normalizeError(err) : null\n let nuxt = app.nuxt // to work with @vue/composition-api, see https://github.com/nuxt/nuxt.js/issues/6517#issuecomment-573280207\n if (this) {\n nuxt = this.nuxt || this.$options.nuxt\n }\n nuxt.dateErr = Date.now()\n nuxt.err = err\n // Used in src/server.js\n if (ssrContext) {\n ssrContext.nuxt.error = err\n }\n return err\n }\n },\n ...App\n }\n\n // Make app available into store via this.app\n store.app = app\n\n const next = ssrContext ? ssrContext.next : location => app.router.push(location)\n // Resolve route\n let route\n if (ssrContext) {\n route = router.resolve(ssrContext.url).route\n } else {\n const path = getLocation(router.options.base, router.options.mode)\n route = router.resolve(path).route\n }\n\n // Set context to app.context\n await setContext(app, {\n store,\n route,\n next,\n error: app.nuxt.error.bind(app),\n payload: ssrContext ? ssrContext.payload : undefined,\n req: ssrContext ? ssrContext.req : undefined,\n res: ssrContext ? ssrContext.res : undefined,\n beforeRenderFns: ssrContext ? ssrContext.beforeRenderFns : undefined,\n beforeSerializeFns: ssrContext ? ssrContext.beforeSerializeFns : undefined,\n ssrContext\n })\n\n function inject(key, value) {\n if (!key) {\n throw new Error('inject(key, value) has no key provided')\n }\n if (value === undefined) {\n throw new Error(`inject('${key}', value) has no value provided`)\n }\n\n key = '$' + key\n // Add into app\n app[key] = value\n // Add into context\n if (!app.context[key]) {\n app.context[key] = value\n }\n\n // Add into store\n store[key] = app[key]\n\n // Check if plugin not already installed\n const installKey = '__nuxt_' + key + '_installed__'\n if (Vue[installKey]) {\n return\n }\n Vue[installKey] = true\n // Call Vue.use() to install the plugin into vm\n Vue.use(() => {\n if (!Object.prototype.hasOwnProperty.call(Vue.prototype, key)) {\n Object.defineProperty(Vue.prototype, key, {\n get () {\n return this.$root.$options[key]\n }\n })\n }\n })\n }\n\n // Inject runtime config as $config\n inject('config', config)\n\n if (process.client) {\n // Replace store state before plugins execution\n if (window.__NUXT__ && window.__NUXT__.state) {\n store.replaceState(window.__NUXT__.state)\n }\n }\n\n // Add enablePreview(previewData = {}) in context for plugins\n if (process.static && process.client) {\n app.context.enablePreview = function (previewData = {}) {\n app.previewData = Object.assign({}, previewData)\n inject('preview', previewData)\n }\n }\n // Plugin execution\n\n if (typeof nuxt_plugin_pluginutils_f24e485a === 'function') {\n await nuxt_plugin_pluginutils_f24e485a(app.context, inject)\n }\n\n if (typeof nuxt_plugin_pluginrouting_2bdc7f44 === 'function') {\n await nuxt_plugin_pluginrouting_2bdc7f44(app.context, inject)\n }\n\n if (typeof nuxt_plugin_pluginmain_e15f905e === 'function') {\n await nuxt_plugin_pluginmain_e15f905e(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_workbox_42d38a84 === 'function') {\n await nuxt_plugin_workbox_42d38a84(app.context, inject)\n }\n\n if (typeof nuxt_plugin_metaplugin_4f67e4d2 === 'function') {\n await nuxt_plugin_metaplugin_4f67e4d2(app.context, inject)\n }\n\n if (typeof nuxt_plugin_axios_3bcd6130 === 'function') {\n await nuxt_plugin_axios_3bcd6130(app.context, inject)\n }\n\n if (typeof nuxt_plugin_axios_397e53b5 === 'function') {\n await nuxt_plugin_axios_397e53b5(app.context, inject)\n }\n\n if (typeof nuxt_plugin_context_fd0a6fdc === 'function') {\n await nuxt_plugin_context_fd0a6fdc(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_bus_24831a6b === 'function') {\n await nuxt_plugin_bus_24831a6b(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_lazy_5b41718f === 'function') {\n await nuxt_plugin_lazy_5b41718f(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_vant_6b946232 === 'function') {\n await nuxt_plugin_vant_6b946232(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_log_35398f27 === 'function') {\n await nuxt_plugin_log_35398f27(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_kwaiplayerweb_3cadac0a === 'function') {\n await nuxt_plugin_kwaiplayerweb_3cadac0a(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_yoda_21955e90 === 'function') {\n await nuxt_plugin_yoda_21955e90(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_router_aacea2cc === 'function') {\n await nuxt_plugin_router_aacea2cc(app.context, inject)\n }\n\n if (typeof nuxt_plugin_env_29405cde === 'function') {\n await nuxt_plugin_env_29405cde(app.context, inject)\n }\n\n if (typeof nuxt_plugin_getSchema_77532418 === 'function') {\n await nuxt_plugin_getSchema_77532418(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_gtag_71c5e2d0 === 'function') {\n await nuxt_plugin_gtag_71c5e2d0(app.context, inject)\n }\n\n // Lock enablePreview in context\n if (process.static && process.client) {\n app.context.enablePreview = function () {\n console.warn('You cannot call enablePreview() outside a plugin.')\n }\n }\n\n // Wait for async component to be resolved first\n await new Promise((resolve, reject) => {\n // Ignore 404s rather than blindly replacing URL in browser\n if (process.client) {\n const { route } = router.resolve(app.context.route.fullPath)\n if (!route.matched.length) {\n return resolve()\n }\n }\n router.replace(app.context.route.fullPath, resolve, (err) => {\n // https://github.com/vuejs/vue-router/blob/v3.4.3/src/util/errors.js\n if (!err._isRouter) return reject(err)\n if (err.type !== 2 /* NavigationFailureType.redirected */) return resolve()\n\n // navigated to a different route in router guard\n const unregister = router.afterEach(async (to, from) => {\n if (process.server && ssrContext && ssrContext.url) {\n ssrContext.url = to.fullPath\n }\n app.context.route = await getRouteData(to)\n app.context.params = to.params || {}\n app.context.query = to.query || {}\n unregister()\n resolve()\n })\n })\n })\n\n return {\n store,\n app,\n router\n }\n}\n\nexport { createApp, NuxtError }\n","import cookies from 'js-cookie';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Context } from '@nuxt/types';\nimport { getCurrentInstance } from 'vue';\nimport { isTMA } from '../hooks/useTelegram';\nimport { radarLog } from './radar';\nimport { checkSnack } from '@/common/seo';\nimport { getKpn } from '@/common/common-params';\nimport { SafetyLocalStorage } from '@/common/storage';\n\n// share项目\nconst UNIQUE_ID_COOKIE_KEY = 'web_uq';\nconst P_STR_COOKIE_KEY = 'web_pstr';\n// 生成onelink 和targetUrl时,url中没有share_id时的默认的值\nconst defaultShareId = 'ANDROID_e0f3886421c986d7_1649757887990';\n\nexport const getQuery = function () {\n const url = location.search; // 获取url中\"?\"符后的字串\n const theRequest = Object.create(null);\n if (url.includes('?')) {\n const str = url.substr(1);\n const strs = str.split('&');\n for (let i = 0; i < strs.length; i++) {\n theRequest[strs[i].split('=')[0]] = unescape(strs[i].split('=')[1]);\n }\n }\n return theRequest;\n};\n\nexport const getVideoClipType = (videoWidth: number, videoHeight: number): number => {\n if (videoWidth === 0 && videoHeight === 0) {\n return 0; // 全屏cover\n }\n if (typeof window !== 'undefined') {\n const h = videoHeight / (videoWidth / window.innerWidth);\n if (h >= window.innerHeight) {\n return 0; // 全屏cover\n }\n if (h >= window.innerHeight - 90 * 2) {\n return 1; // 切底cover\n }\n return 2; // 全屏contain\n }\n return 2;\n};\n\n// 将http转换称https 不让转了 废掉这个方法的转换逻辑\nexport const formatUrls = function (url: string) {\n const regex = /(http):\\/\\/(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})/;\n if (url?.startsWith('http:') && regex.test(url)) {\n radarLog({\n name: 'HTTP_IP_URLS',\n event_type: 'pwa',\n category: 'KWAI_SHARE',\n message: `${url}`,\n src: window.location.pathname,\n });\n return url;\n }\n // if (url?.startsWith('http:')) {\n // return url.replace(/http:/, 'https:');\n // }\n return url;\n};\n\nexport function toFixedWithOutRounding(val: number, n: number = 1) {\n const re = new RegExp(`^\\\\d+(?:\\\\.\\\\d{0,${n}})?`);\n\n return Number(val.toString().match(re));\n}\n// <10000 正常展示 10000<=x <1000000 >= 100万 m单位 10亿 b 不四舍五入\nexport function formateNum(num: number, fixedNumber?: number) {\n if (num >= 1000000000) {\n return `${toFixedWithOutRounding(num / 1000000000, fixedNumber)}B`;\n }\n if (num >= 1000000) {\n return `${toFixedWithOutRounding(num / 1000000, fixedNumber)}M`;\n }\n if (num >= 1000) {\n return `${toFixedWithOutRounding(num / 1000, fixedNumber)}K`;\n }\n return num || 0;\n}\n// 带四舍五入的\nexport function roundingNum(num: number, reserveNum = 2, toFixedNumber = 1) {\n if (num >= 1000000000) {\n return `${Number(toFixedWithOutRounding(num / 1000000000, reserveNum).toFixed(toFixedNumber))}B`;\n }\n if (num >= 1000000) {\n return `${Number(toFixedWithOutRounding(num / 1000000, reserveNum).toFixed(toFixedNumber))}M`;\n }\n if (num >= 1000) {\n return `${Number(toFixedWithOutRounding(num / 1000, reserveNum).toFixed(toFixedNumber))}K`;\n }\n return num || 0;\n}\n\nexport function isPwa() {\n const { pwa_source } = getQuery();\n return ['fullscreen'].some(displayMode => window.matchMedia(`(display-mode: ${displayMode})`).matches) || pwa_source === 'desktop';\n}\n\nexport function genCheckPwaParams() {\n const { pwa_source } = getQuery();\n return {\n fullscreen: window.matchMedia('(display-mode: fullscreen)').matches,\n standalone: window.matchMedia('(display-mode: standalone)').matches,\n 'minimal-ui': window.matchMedia('(display-mode: minimal-ui)').matches,\n pwa_source: pwa_source === 'desktop',\n };\n}\n\nexport function getNetworkType() {\n let connection: any;\n if ('connection' in navigator) {\n connection = navigator.connection;\n } else if ('mozConnection' in navigator) {\n connection = navigator.mozConnection;\n } else if ('webkitConnection' in navigator) {\n connection = navigator.webkitConnection;\n }\n return connection?.type || connection?.effectiveType;\n}\n\n/**\n * 获取ikwai协议的target url\n * @param href\n * @returns\n */\nexport const getTargetUrl = (href: string, targetUrlExtraParams?: Record) => {\n const { share_id } = getQuery();\n const deviceId = (cookies.get('_did') || '') as string;\n const uId = (cookies.get(UNIQUE_ID_COOKIE_KEY) || '') as string;\n const pstrId = (cookies.get(P_STR_COOKIE_KEY) || '') as string;\n\n const shareId = share_id || defaultShareId;\n genFirstReferrer();\n const { referrer, fReferrer } = getReferrers();\n\n let url = href;\n let p = '&';\n if (!href.includes('?')) {\n p = '?';\n }\n url = `${href + p}web_did=${deviceId}`;\n\n if (uId) {\n url += `&web_uq=${uId}`;\n }\n if (pstrId) {\n url += `&web_pstr=${pstrId}`;\n }\n\n if (!url.includes('share_id')) {\n url += `&share_id=${shareId}`;\n }\n\n if (referrer) {\n url += `&referrer=${encodeURIComponent(referrer)}`;\n }\n\n if (fReferrer) {\n url += `&fReferrer=${encodeURIComponent(fReferrer)}`;\n }\n\n // 额外的那些参数拼接到targeturl\n if (targetUrlExtraParams) {\n const extraParams = [];\n for (const p in targetUrlExtraParams) {\n // eslint-disable-next-line no-prototype-builtins\n if (targetUrlExtraParams.hasOwnProperty(p) && targetUrlExtraParams[p]) {\n extraParams.push(`${p}=${encodeURIComponent(targetUrlExtraParams[p])}`);\n }\n }\n url += `&${extraParams.join('&')}`;\n }\n return encodeURIComponent(url);\n};\n\nexport const getTargetUrlFromWebOrDesktop = (targetUrlExtraParams?: Record) => {\n const isPwaOpen = isPwa();\n const { href } = window.location;\n let targetUrl;\n if (isPwaOpen) {\n // href 为当前拉app的链接\n const savehref = `${href}&customPullAppType=pwa_desktop&pwa_install_source=${SafetyLocalStorage.getItem('cachePwaSource')}`;\n targetUrl = getTargetUrl(savehref, targetUrlExtraParams);\n } else {\n targetUrl = getTargetUrl(href, targetUrlExtraParams);\n }\n return targetUrl;\n};\n\nexport const getTgTargetUrl = (targetUrlExtraParams?: Record) => {\n const isPwaOpen = isPwa();\n const { href } = window.location;\n const hrefURL = new URL(href);\n hrefURL.hash = '';\n const tgHref = hrefURL.toString();\n let targetUrl;\n if (isPwaOpen) {\n // href 为当前拉app的链接\n const savehref = `${tgHref}&customPullAppType=pwa_desktop&pwa_install_source=${SafetyLocalStorage.getItem('cachePwaSource')}`;\n targetUrl = getTargetUrl(savehref, targetUrlExtraParams);\n } else {\n targetUrl = getTargetUrl(tgHref, targetUrlExtraParams);\n }\n return targetUrl;\n};\n\nexport const generateUUID = () => {\n return uuidv4();\n};\n\n// 没有就生成 有就拿值\n// export const genWebDidAndSessionId = () => {\n// let webDid = SafetyLocalStorage.getItem('webDid');\n// if (!webDid) {\n// webDid = generateUUID();\n// SafetyLocalStorage.setItem('webDid', webDid);\n// }\n// cookies.set('webDid', webDid)\n// cookies.set('did', webDid)\n// // 每次打开设置sessionId\n// let sessionId = sessionStorage.getItem('sessionId');\n// if (!sessionId) {\n// sessionId = generateUUID();\n// sessionStorage.setItem('sessionId', sessionId);\n// }\n// cookies.set('sessionId', sessionId)\n// return {\n// webDid,\n// sessionId\n// }\n// };\nexport const genWebDidAndSessionId = () => {\n let webDid = SafetyLocalStorage.getItem('webDid') || cookies.get('webDid');\n\n if (!webDid) {\n webDid = generateUUID();\n SafetyLocalStorage.setItem('webDid', webDid);\n }\n\n cookies.set('webDid', webDid, { expires: 365 });\n const { $isAppEnvironment } = getCurrentInstance()?.proxy || {};\n if (!isTiny() && !$isAppEnvironment) {\n cookies.set('did', webDid, { expires: 365 });\n }\n\n // 每次打开设置sessionId\n let sessionId = sessionStorage.getItem('sessionId');\n if (!sessionId) {\n sessionId = generateUUID();\n sessionStorage.setItem('sessionId', sessionId);\n }\n cookies.set('sessionId', sessionId);\n return {\n webDid,\n sessionId,\n };\n};\n\n// 记录以session维度的第一次进入页面时的referrer\nexport const genFirstReferrer = () => {\n let fReferrer = sessionStorage.getItem('fReferrer');\n if (fReferrer) return;\n fReferrer = document?.referrer || 'null';\n sessionStorage.setItem('fReferrer', fReferrer);\n};\n\nexport const getReferrers = () => {\n return {\n fReferrer: sessionStorage.getItem('fReferrer'),\n referrer: document?.referrer,\n };\n};\n\nexport const getOneLinkUrl = (targetUrl: string, callAppPath?: string) => {\n const { pwa_source, share_id } = getQuery();\n\n let oneLinkUrl = 'https://go.onelink.me/iGO2';\n\n const { isSnack } = checkSnack();\n\n const kpn = getKpn({ bucket: sessionStorage.getItem('bucket') || '', host: window.location.host });\n\n // todo 后续要条件是否为kwai-me\n if (isSnack) {\n oneLinkUrl = 'https://sharefor2.onelink.me/Z4b7';\n }\n\n if (kpn === 'KWAI.ME') {\n oneLinkUrl = 'https://kwaime.onelink.me/V16i';\n }\n\n const af_sub1 = JSON.stringify({\n shareId: share_id || defaultShareId,\n shareInfo: {\n target_url: targetUrl,\n },\n });\n let oneLink = `${oneLinkUrl}?pid=kwai_pwa&af_sub1=${af_sub1}&af_channel=${pwa_source}`;\n\n if (callAppPath) {\n const deep_link_value = encodeURIComponent(`ikwai://${callAppPath}?target_url=${targetUrl}`);\n oneLink = `${oneLink}&deep_link_value=${deep_link_value}`;\n }\n\n return oneLink;\n};\n\nexport const getOneLinkUrlNew = (targetUrl: string, callAppPath?: string) => {\n const { pwa_source, share_id } = getQuery();\n\n let oneLinkUrl = 'https://kpro.onelink.me/vrlH';\n\n const { isSnack } = checkSnack();\n\n const kpn = getKpn({ bucket: sessionStorage.getItem('bucket') || '', host: window.location.host });\n\n // todo 后续要条件是否为kwai-me\n if (isSnack) {\n oneLinkUrl = 'https://sck.onelink.me/UxxP';\n }\n\n if (kpn === 'KWAI.ME') {\n oneLinkUrl = 'https://kme.onelink.me/KtRN';\n }\n\n const af_sub1 = JSON.stringify({\n shareId: share_id || defaultShareId,\n shareInfo: {\n target_url: targetUrl,\n },\n });\n\n const queryStr = `&is_retargeting=true&af_force_deeplink=true&land_info=%7B%22linkParams%22%3A%7B%22primary_directory%22%3A%22SHARE%22%2C%22secondary_directory%22%3A%22bra_abtest%22%2C%22link_id%22%3A%22kwai_pwa_1697788105802%22%2C%22item_type%22%3A%22none%22%2C%22item_info%22%3A%22%22%7D%7D&deep_link_sub1=pid%253Dkwai_pwa`;\n let oneLink = `${oneLinkUrl}?pid=kwai_pwa&af_sub1=${af_sub1}&af_channel=${pwa_source}${queryStr}`;\n\n if (callAppPath) {\n const deep_link_value = encodeURIComponent(`ikwai://${callAppPath}?target_url=${targetUrl}`);\n oneLink = `${oneLink}&deep_link_value=${deep_link_value}&af_dp=${deep_link_value}`;\n }\n return oneLink;\n};\n\nexport const getTgOneLinkUrl = (targetUrl: string, callAppPath?: string) => {\n const { pwa_source, share_id } = getQuery();\n let oneLinkUrl = 'https://go.onelink.me/iGO2';\n const { isSnack } = checkSnack();\n const kpn = getKpn({ bucket: sessionStorage.getItem('bucket') || '', host: window.location.host });\n // todo 后续要条件是否为kwai-me\n if (isSnack) {\n oneLinkUrl = 'https://sharefor2.onelink.me/Z4b7';\n }\n if (kpn === 'KWAI.ME') {\n oneLinkUrl = 'https://kwaime.onelink.me/V16i';\n }\n const af_sub1 = JSON.stringify({\n shareId: share_id || defaultShareId,\n shareInfo: {\n target_url: targetUrl,\n },\n });\n let oneLink = `${oneLinkUrl}?pid=kwai_pwa&af_sub1=${af_sub1}&af_channel=${pwa_source}&af_force_deeplink=true`;\n if (callAppPath) {\n const deep_link_value = `${encodeURIComponent(`ikwai://${callAppPath}`)}?target_url=${targetUrl}`;\n oneLink = `${oneLink}&deep_link_value=${deep_link_value}&af_dp=${deep_link_value}`;\n }\n return oneLink;\n};\n\n// 需要node client 都用\nexport const getUrlKwaiId = (ctx?: Context) => {\n if (!process.server) {\n const uerName = window.location.href.match(/@(.*?)(\\/|\\?|$)/);\n return uerName && `@${uerName[1]}`;\n }\n return `@${ctx?.params?.pathMatch}`;\n};\n\nconst getAppInfo = () => {\n return {\n pkg: cookies.get('pkg'),\n appver: cookies.get('appver'),\n };\n};\n\nexport const commonPvParams = ({ defaultPageSource }: { defaultPageSource: string }) => {\n const { webDid, sessionId } = genWebDidAndSessionId();\n const { pwa_source, page_source, _p, bundle_id, click_id, traffic_from, bidid } = getQuery();\n genFirstReferrer();\n const { referrer, fReferrer } = getReferrers();\n const { pkg, appver } = getAppInfo();\n\n return {\n share_chain: window.location.href,\n session_id: sessionId,\n web_did: webDid,\n did: cookies.get('did'),\n pwa_source,\n page_source: page_source || defaultPageSource,\n pwa_install_source: SafetyLocalStorage.getItem('cachePwaSource'),\n open_mode: isPwa() ? 'desktop' : 'other',\n check_pwa_params: genCheckPwaParams(),\n network_type: getNetworkType(),\n anther_id: getUrlKwaiId(),\n extra_source: _p,\n referrer,\n fReferrer,\n is_kwai_tiny: isTiny() ? 1 : 0,\n is_telegram: isTMA(),\n pkg,\n appver,\n bundle_id,\n click_id,\n traffic_from,\n bidid,\n };\n};\n\nexport const isTiny = () => {\n return !!cookies.get('isKwaiTiny');\n};\n\nexport const getInterestExperimentStr = () => {\n return cookies.get('InterestExperimentGroup') || '';\n};\n\nexport const getPageSource = (str: string) => {\n const expStr = getInterestExperimentStr();\n let res = `${str}-exp2`;\n if (expStr) res = `${str}-${expStr}`;\n console.log('getPageSource->', res);\n return res;\n};\n\nexport const getFullPath = function (ctx: Context) {\n if (process.server) {\n return ctx.req.headers.referer?.split('?')[0] || '';\n }\n return window.location.href?.split('?')[0] || '';\n};\n// 根据 name 合并 content\nexport const mergeArrays = function (a: Array, b: Array) {\n return a.map(objA => {\n const objB = b.find(obj => obj.name === objA.name);\n if (objB && objB.content) {\n return {\n ...objA,\n content: objB.content,\n };\n }\n return objA;\n });\n};\n\nexport const checkSeoReferrer = () => {\n const r = /google/g;\n const fReferrer = sessionStorage.getItem('fReferrer')?.toLocaleLowerCase() || '';\n return r.test(fReferrer);\n};\n\nexport const checkTMAReferrer = () => {\n return isTMA();\n};\n\nexport function isAndroid() {\n const ua: string = navigator.userAgent || navigator.vendor;\n return ua.includes('Android') || ua.includes('Adr');\n}\n\nexport const serialize = function (obj: Record) {\n const str = [];\n for (const p in obj) {\n // eslint-disable-next-line no-prototype-builtins\n if (obj.hasOwnProperty(p)) {\n str.push(`${encodeURIComponent(p)}=${encodeURIComponent(obj[p])}`);\n }\n }\n return str.join('&');\n};\n\nexport function objectToCookieString(obj: Record) {\n return Object.entries(obj)\n .map(([key, value]) => {\n // 处理布尔值,将其转换成 'true' 或 'false'\n if (typeof value === 'boolean') {\n value = value ? 'true' : 'false';\n }\n // 对于其他非字符串类型,转换成字符串\n else if (typeof value !== 'string') {\n value = String(value);\n }\n // 对于字符串类型,需要进行编码\n value = encodeURIComponent(value);\n\n return `${encodeURIComponent(key)}=${value}`;\n })\n .join('; ');\n}\n\nexport const getMilSeconds = (min: number) => {\n return min * 60 * 1000;\n};\n\nexport const storageData = (name: string, time: string, redisTime: number) => {\n // 当前时间戳\n const timestamp = new Date().getTime();\n // 上次时间戳\n const prevTimestamp = SafetyLocalStorage.getItem(time) ?? 0;\n const data = SafetyLocalStorage.getItem(name);\n return {\n data: data || '',\n isExpired: prevTimestamp ? timestamp - +prevTimestamp > getMilSeconds(redisTime) : true,\n };\n};\n\nexport const getStatusHT = () => {\n const regex = /StatusHT\\/(\\d+)/;\n const match = window?.navigator?.userAgent.match(regex);\n let statusht_value = 0;\n if (match != null && match[1] != null) {\n statusht_value = Number(match[1] || 0);\n } else {\n console.log('StatusHT value not found in user agent string');\n }\n return statusht_value;\n};\n\nexport const getiOSVersion = () => {\n const ua = navigator.userAgent;\n const isIPhone = /iPhone/.test(ua);\n const isIPad = /iPad/.test(ua);\n\n // 提取 iOS 系统版本\n const iosVersionMatch = ua.match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n const iosVersion = iosVersionMatch ? `${iosVersionMatch[1]}.${iosVersionMatch[2]}` : 'Unknown';\n\n console.log('device type', `设备类型: ${isIPhone ? 'iPhone' : isIPad ? 'iPad' : '未知'}`);\n console.log('device version', `系统版本: iOS ${iosVersion}`);\n return iosVersion;\n};\nexport const addHashtagLinks = (str: string, isAd = false) => {\n str = str.replace(/\\([^()]*\\)/g, '');\n const hashtagRegex = /#[\\p{L}\\p{Mn}\\p{Pc}]+/gu;\n // 将匹配到的 hashtag 替换为带a标签的字符串,如果是广告的话,不跳转\n const replacedStr = isAd\n ? str.replace(hashtagRegex, `$&`)\n : str.replace(hashtagRegex, `$&`);\n // 将 a 标签的 href 属性中的 \"#\" 符号删除\n const replacedStrNoHashLink = replacedStr.replace(/href=\"(.+?)#(.+?)\"/g, 'href=\"$1$2\"');\n // 返回带 a 标签的字符串,但是 a 标签的跳转链接中的 \"#\" 符号均被删除\n return replacedStrNoHashLink;\n};\n\n// 格式化时间 gpt\nexport const timeStampToDisplayString = (timestamp: number) => {\n // 获取当前时间戳以及一天的时间戳\n const now = Date.now();\n const oneDay = 24 * 60 * 60 * 1000;\n\n // 计算时间戳和当前时间之间的差距\n const timeDiff = now - timestamp;\n\n // 判断是否在24小时内\n if (timeDiff < oneDay) {\n return '刚刚发布';\n }\n\n // 判断是否在七天内\n if (timeDiff < 7 * oneDay) {\n // 计算相差的天数\n const diffDays = Math.floor(timeDiff / oneDay);\n return `${diffDays}天前`;\n }\n // 7天外\n return '7天前';\n};\n\n// 版本对比\n// vStr1 > vStr2 return 1\n// vStr1 < vStr2 return -1\n// vStr1 = vStr2 return 0\nexport function compareVersion(vStr1: string, vStr2: string) {\n const v1 = vStr1.split('.');\n const v2 = vStr2.split('.');\n const len = Math.max(v1.length, v2.length);\n\n while (v1.length < len) {\n v1.push('0');\n }\n while (v2.length < len) {\n v2.push('0');\n }\n\n for (let i = 0; i < len; i++) {\n const num1 = parseInt(v1[i], 10);\n const num2 = parseInt(v2[i], 10);\n\n if (num1 > num2) {\n return 1;\n }\n\n if (num1 < num2) {\n return -1;\n }\n }\n return 0;\n}\n\n// 复制字符串到剪切板并弹出提示\nexport function copyToClipboard(str: string) {\n // 创建一个临时的输入元素,设置其值为网页链接\n const tempInput = document.createElement('input');\n tempInput.value = str;\n document.body.appendChild(tempInput);\n\n // 选中该输入元素的文本内容,并执行复制到剪切板的操作\n tempInput.select();\n document.execCommand('copy');\n\n // 将该输入元素从文档中移除\n document.body.removeChild(tempInput);\n\n // 如果想要给出复制成功或失败的提示,可以使用以下代码:\n document.execCommand('copy');\n}\n\nexport function objToQueryString(obj: Record, isEncode: boolean) {\n if (typeof obj !== 'object') {\n return '';\n }\n const str = [];\n for (const p in obj) {\n if (obj.hasOwnProperty(p)) {\n if (obj[p] === '') continue;\n if (isEncode) {\n str.push(`${encodeURIComponent(p)}=${encodeURIComponent(obj[p])}`);\n } else {\n str.push(`${p}=${obj[p]}`);\n }\n }\n }\n return str.join('&');\n}\n\nexport function replacePath(path: string, params?: object) {\n const query = { ...getQuery(), ...(params || {}) };\n const querystring = objToQueryString(query, true);\n history?.replaceState(null, '', `${path}${querystring ? `?${querystring}` : ''}`);\n}\n\nexport async function replaceRoutePhotoId(proxy: NonNullable>['proxy'] | undefined) {\n return new Promise(resolve => {\n const route = proxy?.$route;\n\n const { $isAppEnvironment } = proxy || {};\n\n if ($isAppEnvironment || !route?.meta?.replacePhotoId) {\n resolve(true);\n return;\n }\n\n const path = route?.path || '';\n const pathArr = path.split('/').filter(Boolean);\n const lastIdx = pathArr.length - 1;\n const pathPhotoId = pathArr[lastIdx];\n const currentFeedPhotoId = proxy?.$store?.state?.feedMoudle?.currentFeed?.photo_id_str;\n\n if (pathPhotoId && currentFeedPhotoId && pathPhotoId !== currentFeedPhotoId) {\n pathArr[lastIdx] = currentFeedPhotoId;\n const newPath = pathArr.join('/');\n proxy?.$router?.replace(`/${newPath}`).then(() => {\n resolve(true);\n });\n } else {\n resolve(true);\n }\n });\n}\n\nexport const parseJsonSatefy = (str?: string) => {\n try {\n if (typeof str !== 'string') {\n return undefined;\n }\n return JSON.parse(str) as T;\n } catch {\n return undefined;\n }\n};\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { Context } from '@nuxt/types';\n\nexport const checkSnack = (ctx?: Context) => {\n let host;\n if (process.server) {\n host = ctx?.req?.headers?.host || '';\n } else {\n host = window.location.host || '';\n }\n const isSnack = host.includes('snack');\n return {\n isSnack,\n };\n};\n\ninterface MetaInfo {\n property?: string;\n name?: string;\n hid?: string;\n content?: string;\n}\n\ninterface AppInfo {\n title?: string;\n appIcon?: string;\n appName?: string;\n packageName?: string;\n}\n\n/**\n * @zh 仅对 ldjson 里的 <> 标签\n */\nfunction escapeSeoLdJsonHTML(str?: string) {\n if (typeof str !== 'string') {\n return str; // 如果不是字符串,直接返回\n }\n\n return str.replace(//g, '>');\n}\n\nexport function header(that: any) {\n const KwaiAppInfo: AppInfo = {\n title: that?.$t?.('Make_Everyone_Shine') || 'Kwai',\n appIcon: 'https://g-static.ap4r.com/kos/s101/nlav11312/icon/kwai/2/favicon.ico',\n appName: 'Kwai',\n packageName: 'com.kwai.video',\n };\n\n const SnackAppInfo: AppInfo = {\n title: that?.$t?.('Make_Everyone_Shine') || 'Snack',\n appIcon: 'https://cdn-static.kwai.net/kos/s101/nlav11312/icon/snack/2/favicon.ico',\n appName: 'SnackVideo',\n packageName: 'com.kwai.bulldog',\n };\n\n const WeeeyeAppInfo: AppInfo = {\n title: 'Weeeye',\n appIcon: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/pwa-images/ai_chat_logo.png',\n appName: 'Weeeye',\n packageName: 'ai.questionai.chat.bot',\n };\n const isSnack = that?.$isSnack;\n const isWeeeye = that?.$isWeeeye;\n\n let appInfo;\n let content;\n switch (true) {\n case isWeeeye:\n appInfo = WeeeyeAppInfo;\n content = 'Weeeye';\n break;\n case isSnack:\n appInfo = SnackAppInfo;\n content = 'SnackVideo is the newest party for short funny videos!';\n break;\n default:\n appInfo = KwaiAppInfo;\n content = that.$t('seo_description');\n break;\n }\n\n const { title, appIcon, appName, packageName } = appInfo;\n const defaultTdkInfo: Array = [\n { property: 'og:title', hid: 'og:title', content },\n { property: 'og:description', hid: 'og:description', content },\n { property: 'og:site_name', hid: 'og:site_name', content },\n { name: 'keywords', hid: 'keywords', content },\n { name: 'description', hid: 'description', content },\n ];\n\n const meta: Array = [\n // 服务端下发\n // /* twitter */\n // {\n // hid: 'twitter:image',\n // name: 'twitter:image',\n // content: appIcon,\n // },\n // /* facebook, vk使用的header */\n // {\n // hid: 'og:image',\n // name: 'og:image',\n // content: appIcon,\n // },\n { property: 'al:ios:app_name', content: appName },\n { property: 'al:android:app_name', content: appName },\n { property: 'al:android:package', content: packageName },\n { name: 'apple-mobile-web-app-title', hid: 'apple-mobile-web-app-title', content: appName },\n ];\n\n // 拼接scriptArr前需要先过滤innerHTML后端下发空的case,防止拼接的innerHTML为undefined,优化GSC(google search console)爬虫\n const scriptArr =\n that.seoData\n ?.filter((item: { innerHTML: string }) => item.innerHTML)\n .map((item: { innerHTML: string }) => {\n return {\n ...item,\n innerHTML: `${escapeSeoLdJsonHTML(JSON.stringify(item.innerHTML))}`,\n };\n }) || [];\n\n return {\n htmlAttrs: {\n pc: that.$platform ? 'no' : 'yes',\n dir: that.$isRtl ? 'rtl' : 'ltr',\n },\n title: that.title || title,\n meta: [\n ...meta,\n ...(that?.metaInfoData || []),\n ...defaultTdkInfo.filter(\n info => !(that?.metaInfoData || []).find((item: MetaInfo) => item.name !== info.name && item.property !== info.property)\n ),\n ],\n link: [\n {\n rel: 'image_src',\n href: appIcon,\n },\n {\n rel: 'shortcut icon',\n href: appIcon,\n type: 'image/x-icon',\n },\n {\n rel: 'apple-touch-icon-precomposed',\n href: appIcon,\n },\n ],\n script: scriptArr,\n };\n}\n\nexport function adSenseHeader(head: any) {\n head.script.push({\n src: 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9623430102442126',\n crossorigin: 'anonymous',\n async: true,\n });\n}\n// https://docs.corp.kuaishou.com/d/home/fcAAMdFdz7E2fZBp4EFnUEV_a\n\n// Meta标签查询\nexport function getMetaInfo({ ctx, params }: Record) {\n return ctx.$axios.$$post(`overseaAPI::/rest/o/w/seo/metaInfo/getByType`, params);\n}\n\n// Script标签查询\nexport function getLdJson({ ctx, params }: Record) {\n return ctx.$axios.$$post(`overseaAPI::/rest/o/w/seo/ldJson/getByType`, params);\n}\n\n/**\n * @deprecated Use `getMetaInfo` instead.\n */\nexport function getTitle({ ctx, params }: Record) {\n return ctx.$axios.$$get(`overseaAPI::/rest/o/w/seo/title/getByType`, { params });\n}\n\n// 从服务端的MetaInfo接口数据中提取Title信息\nexport function extractTitleFromMetaInfo({ ctx, metaInfoData }: Record) {\n const titleItem = metaInfoData?.length && metaInfoData?.find((item: { name: string }) => item?.name === 'title');\n let title = titleItem?.content;\n\n if (!title) {\n const { isSnack } = checkSnack(ctx);\n title = ctx?.i18n?.t?.('Make_Everyone_Shine') ? ctx?.i18n?.t?.('Make_Everyone_Shine') : isSnack ? 'Snack' : 'Kwai';\n }\n\n return title;\n}\n\n// 获取兜底的页面Title\nexport function getDefaultTitle(ctx?: Context) {\n const { isSnack } = checkSnack(ctx);\n return ctx?.i18n?.t?.('Make_Everyone_Shine') ? ctx?.i18n?.t?.('Make_Everyone_Shine') : isSnack ? 'Snack' : 'Kwai';\n}\n","import { onMounted, ref, Ref, getCurrentInstance } from 'vue';\nimport { getStatusHT } from '~/common/utils';\n\nenum PackageName {\n BOMDIA_APP = 'bom.dia.video.imagen.frases.download',\n AI_CHAT_APP = 'ai.questionai.chat.bot',\n AI_CHAT_APP_IOS = 'ai.questionai.chat.bot',\n}\n\nexport const isIOS_CSR = ref(false);\n\nexport const useAppEnvironment = () => {\n const { proxy } = getCurrentInstance() || {};\n\n const isAppEnvironment = proxy?.$isAppEnvironment ?? false;\n\n const isBomdiaApp = proxy?.$isAppEnvironment && proxy?.$appConfig?.pkg === PackageName.BOMDIA_APP;\n\n const isAiChatApp =\n proxy?.$isAppEnvironment && (proxy?.$appConfig?.pkg === PackageName.AI_CHAT_APP || proxy?.$appConfig?.pkg === PackageName.AI_CHAT_APP_IOS);\n\n // const isIOS = ref(proxy?.$appConfig?.isIOS === 'true'); // 以后用\n const isIOS = ref(false);\n const isKwaiApp = isAppEnvironment && !isBomdiaApp && !isAiChatApp;\n\n const isKwaiAppCSR = ref(false);\n\n const statusHT: Ref = ref(0);\n\n onMounted(() => {\n statusHT.value = getStatusHT();\n isKwaiAppCSR.value = isAppEnvironment && !isBomdiaApp && !isAiChatApp;\n // isIOS.value = proxy?.$appConfig?.isIOS === 'true';\n isIOS_CSR.value = isIOS_CSR.value || proxy?.$appConfig?.isIOS === 'true';\n });\n\n return {\n isAppEnvironment,\n isBomdiaApp,\n isAiChatApp,\n isKwaiApp,\n statusHT,\n isKwaiAppCSR,\n isIOS,\n };\n};\n\nexport default useAppEnvironment;\n","import { IncomingMessage } from 'http'\n\nexport interface DeviceInfo {\n isIOS: boolean;\n isAndroid: boolean;\n}\n\nconst device = {\n isIOS(ua: string) {\n return !!ua.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/)\n },\n isAndroid(ua: string) {\n return ua.includes('Android') || ua.includes('Adr')\n },\n}\n\nexport default (req?: IncomingMessage) => {\n let ua = null\n if (process.server) {\n ua = req?.headers['user-agent'] || ''\n } else {\n ua = navigator.userAgent;\n }\n\n return {\n isIOS: device.isIOS(ua),\n isAndroid: device.isAndroid(ua),\n }\n}\n","import { AIConversationModelImpl } from '../models/UIAIConversationModel';\nimport { AIConversationStore } from '../stores/AIConversationStore';\nimport getDB from '../utils/index';\nimport { AIConversationModel, AIMessageModel, AIUserID } from '../models/AIModel';\nimport generateUUID from '../utils/aiTools';\nimport { UIAIStore } from '../stores/UIAIStore';\n\nexport class AIConversationService {\n private conversationStore: AIConversationStore;\n\n private currentConversationId?: string;\n\n constructor(conversationStore: AIConversationStore) {\n this.conversationStore = conversationStore;\n }\n\n async addConversation(participants: AIUserID[], updatedAt: Date, attachment?: T) {\n const conversationId = this._createC2CConversationId(participants?.shift());\n const conversation: AIConversationModel = new AIConversationModelImpl(conversationId, participants, updatedAt, attachment);\n await this.conversationStore.addConversation(conversation);\n console.log('social-ai-im', `create new conversation with ID: ${conversationId}`);\n return conversation;\n }\n\n async switchConversation(conversationId: string, participants: string[], updatedAt: Date, attachment: T): Promise {\n let conversation = this.conversationStore.getConversationById(conversationId);\n if (conversation) {\n console.log('social-ai-im', `Switched to conversation with ID: ${conversationId}`);\n this.currentConversationId = conversation.id;\n return conversation;\n }\n // create new conversation\n conversation = await this.addConversation(participants, updatedAt, attachment);\n this.currentConversationId = conversation.id;\n console.log('social-ai-im', `Created new conversation with ID: ${conversation.id}`);\n return conversation;\n }\n\n getConversations(): AIConversationModel[] {\n return this.conversationStore.getConversations();\n }\n\n getConversation(conversationId: string) {\n const conversation = this.conversationStore.getConversationById(conversationId);\n return conversation;\n }\n\n async updateLastMessage(conversationId: string, lastMessage: AIMessageModel) {\n const conversation = this.conversationStore.getConversationById(conversationId);\n if (conversation) {\n conversation.lastMessage = lastMessage;\n conversation.updatedAt = new Date();\n this.conversationStore.updateConversation(conversation);\n }\n }\n\n async clearHistoryMessage(conversationId: string): Promise {\n const db = await getDB();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(['messages'], 'readwrite');\n const store = tx.objectStore('messages');\n const index = store.index('conversationId');\n const request = index.getAll(conversationId);\n request.onsuccess = async event => {\n const { result } = event.target as IDBRequest;\n const messages = result as any[];\n if (messages.length > 0) {\n messages.forEach(async message => {\n store.delete(message.id);\n });\n console.log(`Cleared history messages for conversation with ID: ${conversationId}`);\n resolve(true);\n }\n };\n request.onerror = event => {\n console.error(`Failed to clear history messages for conversation with ID: ${conversationId}`, event);\n reject(request.error);\n };\n });\n }\n\n getcurrentConversationId() {\n return this.currentConversationId;\n }\n\n getConversationIdByParticipants(participants: string[]) {\n return this._createC2CConversationId(participants?.shift());\n }\n\n private _createC2CConversationId(userId?: string) {\n return `C2C${userId || generateUUID()}`;\n }\n\n private _createGroupConversationId(userId?: string) {\n return `GROUP${userId || generateUUID()}`;\n }\n}\n\nexport const UIAIConversationService = new AIConversationService(UIAIStore.conversationStore);\n","export const isProduction = process.env.NODE_ENV === 'production';\n\nexport const isLocal = process.env.NODE_ENV === 'local';\n\nexport const isTest = process.env.VUE_APP_ENV === 'test';\n","import { AIUserModel } from '../models/AIModel';\nimport { AIUserStore } from '../stores/AIUserStore';\nimport generateUUID from '../utils/aiTools';\nimport { UIAIStore } from '../stores/UIAIStore';\nimport AIUserModelImpl from '../models/UIAIUserModel';\n\nexport class AIUserService {\n private userStore: AIUserStore;\n\n constructor(userStore: AIUserStore) {\n this.userStore = userStore;\n }\n\n async addUser(name: string, like: boolean, attachment?: H): Promise {\n const userId = this._createC2CUserId(name);\n const user: AIUserModel = new AIUserModelImpl(userId, name, '', new Date(), like, attachment);\n console.log('social-ai-im', 'add user', user);\n\n await this.userStore.addUser(user);\n return user;\n }\n\n getUsers(): AIUserModel[] {\n return this.userStore.getUsers();\n }\n\n getUserById(userId: string): AIUserModel | undefined {\n return this.userStore.getUserById(userId);\n }\n\n async deleteUser(userId: string): Promise {\n await this.userStore.deleteUser(userId);\n console.log('social-ai-im', `Deleted user with ID: ${userId}`);\n return true;\n }\n\n async updateUser(userId: string, name: string, like: boolean): Promise {\n const user = this.userStore.getUserById(userId);\n if (user) {\n user.name = name;\n user.like = like;\n await this.userStore.updateUser(user);\n console.log('social-ai-im', `Updated user with ID: ${userId}`, like);\n return user;\n }\n console.log('social-ai-im', `User with ID ${userId} not found`);\n return undefined;\n }\n\n getUserIdByUserName(name: string) {\n return this._createC2CUserId(name);\n }\n\n private _createC2CUserId(name?: string) {\n return `User${name || generateUUID()}`;\n }\n}\n\nexport const UIAIUserService = new AIUserService(UIAIStore.userStore);\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\nimport { computed, getCurrentInstance } from 'vue';\nimport { UIAIConversationService } from '@/pages/aichat/scripts/ai-im/services/UIAIConversationService';\nimport { UIAIChatService } from '@/pages/aichat/scripts/ai-im/services/UIAIChatService';\nimport { AIFeed } from '~/api/ai-feed';\nimport { AIConversationModel, AIMessageModel, AIUserModel } from '~/pages/aichat/scripts/ai-im/models/AIModel';\nimport { UIAIStore } from '@/pages/aichat/scripts/ai-im/stores/UIAIStore';\nimport { UIAIUserService } from '~/pages/aichat/scripts/ai-im/services/UIUserServies';\nimport { AIFeedPageEnum } from './ai-feed';\n\nexport enum AIMessageType {\n me = 0,\n other = 1,\n introducation = 2,\n hi = 3,\n hi_mock_message = 4,\n}\n\nexport enum AIMessageStatus {\n done = 0, // 默认\n loading = 1,\n progressing = 2,\n error = 3,\n}\n\n/**\n * @zh 消息是否已读\n */\nexport enum AIMessageReadStatus {\n Unknown = 0, // 用于非常规对话,如 introduce 等\n Unread = 1,\n Read = 2,\n}\n\ntype BotId = string;\nexport interface AIMessage {\n botId: string;\n messageId: string;\n messageType: AIMessageType;\n content: string;\n messageStatus: AIMessageStatus;\n\n messageReadStatus?: AIMessageReadStatus;\n}\n\nexport interface AIChat {\n botId?: string;\n bot?: AIFeed;\n messages: AIMessage[];\n cached: boolean;\n timestamp: Date;\n}\n\nexport type AIConversationOriginalType = Partial>;\n\nexport type AISelectedMessageInfo = AIMessage & {\n messageIndex?: number;\n};\n\nexport type AIFeedbackMessageInfo = AIMessage & {\n type?: 'agree' | 'disagree';\n showFeedbackPopup?: boolean;\n messageIndex?: number;\n};\n\nexport interface AIConversationModuleType {\n conversations?: AIConversationOriginalType;\n loadingMessages?: AIMessage[];\n likesUsers: AIUserModel[];\n selectedMessageInfo?: AISelectedMessageInfo;\n feedbackMessageInfoMap?: Record;\n reportedBotIds?: Array;\n isMockMessageInserted?: boolean;\n conversationModuleInitialized?: boolean;\n audioPlayMessageId: String;\n hasAutomaticMessage?: boolean;\n}\n\n// 数据库初始化\nconst initConversations = computed[]>(() => {\n return UIAIConversationService.getConversations();\n});\n\nconst defaultConversations = computed(() => {\n let result: AIConversationOriginalType = {};\n initConversations.value.forEach(element => {\n const aifeed = element.attachment;\n const conversationId = element.id;\n const messages: AIMessageModel[] = UIAIChatService.getMessageListByConversationId(conversationId);\n const sortedMessages = messages.sort((a, b) => {\n return a.timestamp.getTime() - b.timestamp.getTime();\n });\n console.log('social-ai-conversation', 'default', messages, sortedMessages);\n const attachments = sortedMessages.map(message => message.attachment!).filter(attachment => attachment !== undefined && attachment !== null);\n if (aifeed?.bot_id_str && attachments) {\n const aichat: AIChat = {\n botId: aifeed.bot_id_str,\n bot: element.attachment,\n messages: attachments,\n cached: true,\n timestamp: element.lastMessage?.timestamp || new Date(),\n };\n result = { ...result, [aifeed.bot_id_str]: aichat };\n }\n });\n\n return result;\n});\n\nconst defaultLikeUsers = () => {\n const users = UIAIUserService.getUsers();\n const filteredUsers = users.filter(user => user.like === true);\n return filteredUsers;\n};\n\nconst defaultState: AIConversationModuleType = {\n conversations: {},\n loadingMessages: [],\n likesUsers: [],\n selectedMessageInfo: undefined,\n feedbackMessageInfoMap: undefined,\n reportedBotIds: [],\n isMockMessageInserted: false,\n conversationModuleInitialized: false,\n audioPlayMessageId: '',\n hasAutomaticMessage: false,\n};\n\nexport const allBotsInfo = computed(() => {\n const { proxy } = (getCurrentInstance() || {}) as { proxy: any };\n let feedListOrigin = proxy?.$store?.state?.aiFeedMoudle?.feedListOrigin;\n let feedList: AIFeed[] = feedListOrigin?.[AIFeedPageEnum.AIForyou] || [];\n const roomFeedList: AIFeed[] = feedListOrigin?.[AIFeedPageEnum.AIChatRoom] || [];\n feedList = [...feedList, ...roomFeedList];\n\n feedListOrigin = proxy?.$store?.state?.aiDiscoverMoudle?.feedListOrigin;\n\n Object.keys(feedListOrigin || {}).forEach(tabName => {\n const feedListDis = feedListOrigin[tabName] || [];\n feedList = [...feedList, ...feedListDis];\n });\n\n const likesUser: AIUserModel[] = proxy?.$store?.state?.conversationModule?.likesUsers;\n const likeBots = (likesUser || []).map(user => {\n return user.attachment;\n });\n\n feedList = [...feedList, ...likeBots];\n\n return feedList;\n});\n\nexport const conversationModule: Module = {\n namespaced: true,\n state: defaultState,\n mutations: {\n insertMockMessage(state) {\n state.isMockMessageInserted = true;\n },\n async initialize(state) {\n if (state.conversationModuleInitialized) {\n return;\n }\n await UIAIStore.initialize();\n state.conversations = defaultConversations.value;\n state.likesUsers = defaultLikeUsers();\n console.log('social-ai-conversation', 'initialize', defaultConversations.value);\n state.conversationModuleInitialized = true;\n },\n async storeMessage(\n state,\n payload: {\n botId?: BotId;\n message?: string;\n messageId?: string;\n type?: AIMessageType;\n messageStatus?: AIMessageStatus;\n messageReadStatus?: AIMessageReadStatus;\n }\n ) {\n if (!payload.botId || !payload?.messageId || payload.type === undefined) {\n return;\n }\n const { botId, messageId, messageStatus, type, message, messageReadStatus } = payload;\n\n let aiChat = state?.conversations?.[payload.botId];\n if (!aiChat) {\n // const { proxy } = getCurrentInstance() as { proxy: any };\n // const { feedListOrigin } = proxy?.$store?.state?.aiFeedMoudle || {};\n // const feedList: AIFeed[] = feedListOrigin?.[AIFeedPageEnum.AIForyou] || [];\n const feedList = allBotsInfo;\n const bot = feedList.value.find(feed => feed.bot_id_str === payload.botId);\n aiChat = { botId: payload.botId, bot, messages: [], cached: false, timestamp: new Date() };\n }\n\n if (messageStatus && messageStatus === AIMessageStatus.loading) {\n const loadingMessage = state.loadingMessages?.find(message => message.messageId === messageId);\n if (!loadingMessage) {\n state.loadingMessages?.push({\n botId,\n messageId,\n messageType: type,\n content: '',\n messageStatus: AIMessageStatus.loading,\n });\n }\n const lastMessage = aiChat?.messages?.length > 0 ? aiChat?.messages[aiChat?.messages?.length - 1] : null;\n if (lastMessage?.messageId === messageId) {\n // 如果已经存在,则不再添加(回复较快时,updateMessage先触发)\n return;\n }\n }\n\n const messageObj: AIMessage = {\n botId,\n messageType: payload.type,\n messageId,\n content: message || '',\n messageStatus: messageStatus || AIMessageStatus.done,\n messageReadStatus,\n };\n\n if (type === AIMessageType.introducation || type === AIMessageType.hi) {\n const targetMessage = aiChat.messages.find(amessage => amessage.content === message);\n if (targetMessage) return;\n aiChat.messages.unshift(messageObj);\n } else {\n aiChat.cached = true;\n aiChat.messages.push(messageObj);\n aiChat.timestamp = new Date();\n }\n\n // 重复的hi mock消息不再添加\n if (\n type === AIMessageType.hi_mock_message &&\n aiChat?.messages?.map(message => message.messageType).includes(AIMessageType.hi_mock_message)\n ) {\n return;\n }\n\n if (messageStatus === AIMessageStatus.loading) {\n // 保证loading的message不入库\n const targetMessage = aiChat.messages.find(amessage => amessage.messageId === messageId);\n if (targetMessage) return;\n }\n\n state.conversations = { ...state.conversations, ...{ [payload.botId]: aiChat } };\n // 同步数据库\n if (\n (type === AIMessageType.other || type === AIMessageType.me || type === AIMessageType.hi_mock_message) &&\n (messageStatus === AIMessageStatus.done || messageStatus === undefined)\n ) {\n const userId = UIAIUserService.getUserIdByUserName(`${payload?.botId}-${aiChat?.bot?.bot_name}` || '');\n let user = UIAIUserService.getUserById(userId);\n if (!user) {\n user = await UIAIUserService.addUser(`${payload?.botId}-${aiChat?.bot?.bot_name}` || '', false, aiChat?.bot);\n }\n const conversationID = UIAIConversationService.getConversationIdByParticipants([userId || '']);\n let conversationModel = UIAIStore.getConversationById(conversationID || '');\n if (!conversationModel) {\n conversationModel = await UIAIConversationService.addConversation([user.id], new Date(), aiChat?.bot);\n }\n console.log('social-ai-conversation', 'sync to indexDB', userId, conversationID, type, conversationModel);\n UIAIChatService.sendTextMessage(conversationModel?.id, '', messageObj?.content, messageObj);\n }\n\n // to-do 可以添加最多缓存多少条的控制\n console.log('social-ai-conversation', 'storeMessage', state.conversations, messageStatus);\n },\n\n async updateMessage(\n state,\n payload: { botId?: BotId; message?: string; messageId?: string; type?: AIMessageType; messageStatus?: AIMessageStatus }\n ) {\n if (!payload.botId || !payload?.messageId || payload.type === undefined) {\n return;\n }\n const aiChat = state?.conversations?.[payload.botId] || { botId: payload.botId, messages: [], cached: false, timestamp: new Date() };\n\n const { messageId, messageStatus } = payload;\n const targetMessage = aiChat.messages.find(message => message.messageId === messageId);\n console.log('social-ai-conversation', 'updateMessage', messageStatus, payload.message);\n if (!targetMessage || targetMessage.messageStatus === AIMessageStatus.done) {\n return;\n }\n const modifiedContent = `${targetMessage?.content}${payload.message ? payload.message : ''}`;\n targetMessage.content = modifiedContent;\n targetMessage.messageStatus = messageStatus !== undefined ? messageStatus : AIMessageStatus.done;\n state.conversations = { ...state.conversations, ...{ [payload.botId]: aiChat } };\n // 同步数据库\n if (messageStatus === AIMessageStatus.done) {\n const userId = UIAIUserService.getUserIdByUserName(`${payload?.botId}-${aiChat?.bot?.bot_name}` || '');\n const conversationID = UIAIConversationService.getConversationIdByParticipants([userId || '']);\n const conversationModel = UIAIStore.getConversationById(conversationID || '');\n UIAIChatService.sendTextMessage(conversationModel?.id, '', targetMessage.content, targetMessage);\n }\n // to-do 可以添加最多缓存多少条的控制\n },\n /**\n * @zh 点开 bot 对话即认为所有信息已读\n */\n async updateMessageReadStatus(state, payload: { botId?: BotId }) {\n const aiChat = state?.conversations?.[payload?.botId || ''];\n if (!aiChat) {\n return;\n }\n const newMessageList = (aiChat?.messages || []).map(item => ({\n ...item,\n messageReadStatus: item.messageType === AIMessageType.other ? AIMessageReadStatus.Read : undefined,\n }));\n state.conversations = {\n ...state.conversations,\n ...{\n [payload?.botId || '']: {\n ...(aiChat || {}),\n messages: newMessageList,\n },\n },\n };\n\n // 同步数据库\n const userId = UIAIUserService.getUserIdByUserName(`${payload?.botId}-${aiChat?.bot?.bot_name}` || '');\n const conversationID = UIAIConversationService.getConversationIdByParticipants([userId || '']);\n const conversationModel = UIAIStore.getConversationById(conversationID || '');\n UIAIChatService.clearMessagesByConversationId(conversationModel?.id);\n // 加一个批量接口\n newMessageList.forEach(message => {\n UIAIChatService.sendTextMessage(conversationModel?.id, '', message.content, message);\n });\n },\n deleteMessage(state, payload: { botId?: BotId; messageId?: string }) {\n if (!payload.botId || !payload?.messageId) {\n return;\n }\n const aiChat = state?.conversations?.[payload.botId];\n if (!aiChat) return;\n const { messageId } = payload;\n const targetMessage = aiChat.messages.find(message => message.messageId === messageId);\n console.log('social-ai-conversation', 'deleteMessage', targetMessage);\n if (!targetMessage) {\n console.log('social-ai-conversation', 'deleteMessage', 'no target message', targetMessage);\n return;\n }\n\n const indexToDelete = aiChat.messages.indexOf(targetMessage);\n if (indexToDelete > -1) {\n aiChat.messages.splice(indexToDelete, 1);\n }\n state.conversations = { ...state.conversations, ...{ [payload.botId]: aiChat } };\n },\n updateLikeUsers(state, payload: { botId?: BotId }) {\n state.likesUsers = defaultLikeUsers();\n },\n setSelectedMessageInfo(state, selectedMessageInfo?: AISelectedMessageInfo) {\n state.selectedMessageInfo = selectedMessageInfo;\n },\n setFeedbackMessageInfo(state, feedbackMessageInfoMap?: Record) {\n state.feedbackMessageInfoMap = {\n ...(state.feedbackMessageInfoMap || {}),\n ...feedbackMessageInfoMap,\n };\n },\n setReportedBotIds(state, reportedBotIds?: string[]) {\n state.reportedBotIds = reportedBotIds || [];\n },\n setAudioPlayMessageId(state, audioPlayMessageId?: String) {\n state.audioPlayMessageId = audioPlayMessageId || '';\n },\n setHasAutomaticMessage(state, hasAutomaticMessage?: boolean) {\n state.hasAutomaticMessage = !!hasAutomaticMessage;\n },\n },\n actions: {\n storeMessage({ commit }, payload) {\n commit('storeMessage', payload);\n },\n updateMessage({ commit, state }, payload) {\n if (!payload.botId || !payload?.messageId || payload.type === undefined) {\n return;\n }\n const aiChat = state?.conversations?.[payload.botId];\n const { messageId } = payload;\n const targetMessage = aiChat?.messages.find(message => message.messageId === messageId);\n if (!targetMessage) {\n // commit('storeMessage', { ...payload, message: '' });\n return;\n }\n commit('updateMessage', payload);\n },\n deleteMessage({ commit }, payload) {\n commit('deleteMessage', payload);\n },\n },\n};\n","import { getCurrentInstance, onMounted, onUnmounted, ref } from 'vue';\nimport { isTiny, isPwa, getQuery } from '~/common/utils';\nimport device from '@/common/device-info';\nimport { sendLog } from '~/common/radar';\nimport { SafetyLocalStorage } from '@/common/storage';\n\nenum OpenStatus {\n Close = 0,\n Opend = 1,\n Opening = 2,\n}\nexport enum OpenPageStatus {\n pwa = 1, // pwa打开\n hasPwaInWeb = 2, // web打开 已安装pwa\n noPwaInWeb = 3, // web打开 未安装pwa\n}\nconst pageBlackList = ['account-management', 'direct'];\nconst hostWhiteList = ['kwai.com', 'test.gifshow.com', 'localhost'];\n\nfunction delay(seconds = 0) {\n const delayTime = Math.max(0, seconds * 1000);\n return new Promise(resolve => setTimeout(resolve, delayTime));\n}\n\nconst NO_TRIGGER_POPUP_DELAY = -1;\n\nconst getWebToAppPopupTriggerDelay = () => {\n const { proxy } = getCurrentInstance() || {};\n\n const defaultStrategy = { daygap: 7, atime: NO_TRIGGER_POPUP_DELAY };\n let webToAppStrategy = defaultStrategy;\n\n if (proxy?.$store?.state?.startup?.addapp_switch) {\n try {\n webToAppStrategy = JSON.parse(proxy.$store.state.startup.addapp_switch);\n } catch (error) {\n console.error('Failed to parse webToAppStrategy:', error);\n }\n }\n\n const delayTime = webToAppStrategy?.atime ?? -1;\n\n // 实验下发不命中,不触发弹窗\n if (delayTime < 0) {\n console.log('webToAppStrategy', 'not hit exp');\n return NO_TRIGGER_POPUP_DELAY;\n }\n\n // 投放过来的,不触发弹窗\n const { pwa_source } = getQuery();\n if (pwa_source === 'web_roas' || pwa_source === 'web_dsp') {\n console.log('webToAppStrategy', 'web_roas or web_dsp source');\n return NO_TRIGGER_POPUP_DELAY;\n }\n\n // 非br桶,不触发弹窗\n if (proxy?.$store?.state?.startup?.bucket !== 'br') {\n console.log('webToAppStrategy', 'not br');\n return NO_TRIGGER_POPUP_DELAY;\n }\n\n // App环境或者iOS设备,不触发弹窗\n const { isIOS } = device() || {};\n if (proxy?.$isAppEnvironment || isTiny() || isIOS) {\n console.log('webToAppStrategy', 'app or ios');\n return NO_TRIGGER_POPUP_DELAY;\n }\n\n // path在黑名单中,不触发\n if (pageBlackList.includes(proxy?.$route?.name || '')) {\n console.log('webToAppStrategy', proxy?.$route?.name);\n return NO_TRIGGER_POPUP_DELAY;\n }\n\n // host不在白名单中,不触发\n const host = window?.location?.host.toLowerCase();\n if (!hostWhiteList.some(allowedHost => host.includes(allowedHost))) {\n console.log('webToAppStrategy', host);\n return NO_TRIGGER_POPUP_DELAY;\n }\n\n // 两次之间的频控不满足dayGap天,不触发\n const dayGap = webToAppStrategy?.daygap ?? 7;\n let lastPopupShowTime = 0;\n try {\n lastPopupShowTime = parseInt(SafetyLocalStorage.getItem('web-app-log') || '0', 10);\n } catch (error) {\n console.log('Error accessing SafetyLocalStorage:', error);\n return NO_TRIGGER_POPUP_DELAY;\n }\n const timeDifference = Date.now() - lastPopupShowTime;\n const sevenDaysInMilliseconds = dayGap * 24 * 60 * 60 * 1000;\n if (timeDifference <= sevenDaysInMilliseconds) {\n console.log('webToAppStrategy', 'day gap');\n return NO_TRIGGER_POPUP_DELAY;\n }\n\n return delayTime;\n};\n\nconst tryShowPromptPopup = async () => {\n try {\n const deferredPrompt = window?.deferredPrompt;\n if (!deferredPrompt) return;\n\n await deferredPrompt.prompt?.();\n const res = await deferredPrompt.userChoice;\n\n sendLog({\n type: 'click',\n name: 'INSTALLED_PWA',\n value: {\n type: 'BACKGROUND_TASK_EVENT',\n is_install: res.outcome === 'accepted' ? OpenStatus.Opening : OpenStatus.Close,\n },\n });\n } catch (error) {\n console.log(error, 'error');\n }\n};\n\nexport const useWebToApp = () => {\n const webToAppPopupVisible = ref(false);\n\n // 多访问几次才会触发\n const handleInstallPromptCallback = (event: Event) => {\n const { isIOS } = device() || {};\n if (!event || isIOS) {\n return;\n }\n\n event.preventDefault();\n // eslint-disable-next-line no-undef\n window.deferredPrompt = event as BeforeInstallPromptEvent;\n\n // 未安装\n SafetyLocalStorage.setItem('uninstallApp', 'true');\n };\n\n // 检测当前打开状态\n /**\n *\n * @returns\n * 1: pwa打开\n * 2: 已安装 web 打开\n * 3: 未安装\n *\n */\n const checkIfInstalled = () => {\n const uninstallApp = SafetyLocalStorage.getItem('uninstallApp');\n console.log('locale', uninstallApp);\n if (isPwa()) {\n SafetyLocalStorage.setItem('uninstallApp', 'false');\n return OpenPageStatus.pwa;\n }\n // 已安装pwa web打开\n if (uninstallApp === 'false') {\n return OpenPageStatus.hasPwaInWeb;\n }\n return OpenPageStatus.noPwaInWeb;\n };\n\n // 点击安装app\n const installPwa = () => {\n return new Promise((resolve, reject) => {\n if (window.deferredPrompt) {\n try {\n // 触发PWA安装\n window.deferredPrompt?.prompt?.();\n // 监听安装结果\n window.deferredPrompt?.userChoice?.then?.(choiceResult => {\n if (choiceResult.outcome === 'accepted') {\n // 已安装\n SafetyLocalStorage.setItem('uninstallApp', 'false');\n sessionStorage.setItem('untempInstallStatus', 'false');\n resolve(true);\n } else {\n resolve(false);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(false);\n }\n });\n };\n\n // 检查浏览器是否支持 PWA\n const isPwaSupported = () => {\n // 检查浏览器是否支持 Service Worker\n const isServiceWorkerSupported = 'serviceWorker' in navigator;\n\n // 检查浏览器是否支持 Web App Manifest\n const isManifestSupported = 'getManifest' in document;\n\n // 检查浏览器是否支持 beforeinstallprompt 事件 (即是否支持安装提示)\n const isBeforeInstallPromptSupported = 'BeforeInstallPromptEvent' in window;\n\n return isServiceWorkerSupported && isManifestSupported && isBeforeInstallPromptSupported;\n };\n\n const handleWebToAppPopupConfirm = () => {\n webToAppPopupVisible.value = false;\n window.location.href = 'market://details?id=ai.questionai.chat.bot';\n };\n\n const handleWebToAppPopupClose = () => {\n webToAppPopupVisible.value = false;\n };\n\n onMounted(async () => {\n window.addEventListener('beforeinstallprompt', handleInstallPromptCallback);\n\n const delayTime = getWebToAppPopupTriggerDelay();\n if (delayTime >= 0) {\n await delay(delayTime);\n webToAppPopupVisible.value = true;\n try {\n SafetyLocalStorage.setItem('web-app-log', Date.now().toString());\n } catch (error) {\n console.log(error, 'error');\n }\n }\n });\n\n onUnmounted(() => {\n window.removeEventListener('beforeinstallprompt', handleInstallPromptCallback);\n });\n\n return {\n handleWebToAppPopupConfirm,\n handleWebToAppPopupClose,\n\n webToAppPopupVisible,\n checkIfInstalled,\n installPwa,\n isPwaSupported,\n };\n};\n","import { v4 as uuidv4 } from 'uuid';\n\nexport const generateUUID = () => {\n return uuidv4();\n};\n\nexport default generateUUID;\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\n\ninterface ABTestMoudleType {\n /**\n * @zh 从接口中获取实验参数\n */\n abTestParams?: {\n /**\n * @zh 每刷从接口获取的 feed 数量\n */\n FetchFeedListDefaultCount?: number;\n\n /**\n * @zh 保留上滑的 video 数量\n */\n HoldPreVideoCount?: number;\n\n /**\n * @zh 下滑 feed 最小剩余量\n */\n NextFeedListMinCount?: number;\n\n /**\n * @zh 下滑预加载的最大数量\n */\n NextPreLoadVideoCount?: number;\n\n /**\n * @zh 拉端弹窗延迟的ms\n */\n isDropLaunchApp?: boolean;\n /**\n * @zh 开启pwa\n */\n if_open_guide_to_desktop?: string;\n /**\n * @zh 自动引导安装pwa时间 秒\n */\n open_guide_seconds?: string;\n /**\n * @zh 放开安装弹窗频率\n */\n install_pwa_no_limit?: string;\n /**\n * @zh 上下滑实验\n */\n install_pwa_touch?: string;\n /**\n * @zh 安装后打开pwa 时间\n */\n openPwaafterInstall?: string;\n\n /**\n * @zh discover seo 标签改造实验\n */\n discover_seo_html_tag?: boolean;\n\n /**\n * @zh 切换 discover 新接口\n */\n new_discover_api?: boolean;\n\n /**\n * @zh discover 用 keywords 内联的个数实验\n */\n discover_keywords_length?: number;\n\n /**\n * @zh IOS feed 预加载优化实验\n */\n isNewIOSFeedStrategy?: boolean;\n\n /**\n * @zh 激励挂件入口展示图标 cdn\n */\n web_fission_enrty_2?: string;\n\n /**\n * @zh feed 场景是否命中全屏实验\n */\n is_full_screen?: boolean;\n\n /**\n * @zh ai 场景是否命中全屏实验\n */\n is_ai_full_screen?: boolean;\n\n /**\n * @xq ai 开启ai-follow\n */\n ai_follow_tab?: boolean;\n\n /**\n * @zh 开启 message feedback 按钮\n */\n ai_message_feedback_action?: boolean;\n\n /**\n * @zh 主动对话 chat tab\n */\n a_chat_tab_entry?: boolean;\n };\n}\n\nexport const defaultFeedListPreLoadParams = {\n FetchFeedListDefaultCount: 4,\n HoldPreVideoCount: 1,\n NextFeedListMinCount: 1,\n NextPreLoadVideoCount: 2,\n};\n\nconst defaultABTestModule: ABTestMoudleType = {\n abTestParams: {\n ...defaultFeedListPreLoadParams,\n isDropLaunchApp: false,\n },\n};\n\nexport const abTestModule: Module = {\n namespaced: true,\n state: defaultABTestModule,\n actions: {},\n mutations: {\n setABTestParams(state, data: ABTestMoudleType['abTestParams']) {\n state.abTestParams = {\n ...(state.abTestParams || {}),\n ...(data || {}),\n };\n },\n },\n};\n","/* eslint-disable import/named */\nimport { NuxtAxiosInstance } from 'vue/types/vue';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { AxiosRequestConfig } from 'axios';\nimport { CdnWithUrl, RequestSource, ResponseBase } from './base';\n\nimport axios from './request';\nimport { Feed } from './feed';\n\nexport enum AIFeedLiked {\n UnLike = 0,\n Like = 1,\n}\n\nexport enum AIAuthorFollowing {\n Unfollowed = 0,\n Following = 1,\n}\n\nexport enum AIFeedSlideScene {\n DiscoverScene = 0,\n ForyouScene = 1,\n BigCardScene = 2,\n MyProfileScene = 3,\n}\n\ninterface AIForwardStatsParams {\n fid?: string;\n et?: string;\n}\n\ninterface AIFeedAuthor {\n user_name: string;\n}\n\nexport interface AIFeed {\n bot_id_str?: string;\n bot_name?: string;\n bot_text?: string;\n bot_introduction?: string;\n head_url?: string;\n bg_url?: string;\n bot_first_line_url: string;\n bg_mp4_url?: string;\n cover_url?: string;\n feed?: Feed;\n ugc_uid?: string;\n compliance_mark_show?: boolean;\n author?: AIFeedAuthor;\n // extra\n conversation_id?: string;\n index: number;\n liked?: AIFeedLiked;\n create_conversation_time_interval?: number;\n showTone?: boolean;\n\n /**\n * @zh 前端自定义记录,是否用户举报\n */\n is_bot_reported?: boolean;\n}\n\n/** *** Api *** */\ninterface AIFeedListRequest {\n botId?: string;\n count?: number;\n request_source?: RequestSource;\n mobile?: boolean;\n tag?: string;\n offset?: number;\n scene?: number;\n}\n\ninterface AIDiscoverFeedListRequest {\n tag?: string;\n request_source?: RequestSource;\n mobile?: boolean;\n}\n\ninterface AIFeedListResponse extends ResponseBase {\n feeds?: Array;\n}\n\ninterface AIDicoverFeedListResponse extends ResponseBase {\n rawConfig: { feeds?: Array };\n}\n\ninterface ChangeAIFeedLikedStatusRequest {\n fromPage?: string;\n cancel?: boolean;\n botId?: string;\n}\n\ntype ChangeAIFeedLikedStatusResponse = ResponseBase;\n\ninterface AIFollowActionRequest {\n fromPage?: string;\n toUid?: string | number; // 可以是 user_id, 也可以是 `@${kwai_id}`\n fType?: number;\n photoId?: string;\n noticeId?: string;\n}\n\ntype AIFollowActionResponse = ResponseBase;\n\nexport class AIFeedApiService {\n private $axios?: NuxtAxiosInstance;\n\n constructor() {\n this.$axios = axios;\n }\n\n async getFeedList(data: AIFeedListRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('/rest/o/w/pwa/aifeed/slides', data, config);\n\n return res;\n }\n\n async changeAIFeedLikedStatus(data: ChangeAIFeedLikedStatusRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('/rest/o/w/pwa/likeAction', data, config);\n\n return res;\n }\n\n async followAction(data: AIFollowActionRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('/rest/o/w/pwa/followAction', data, config);\n\n return res;\n }\n\n async getDiscoverFeedList(data: AIDiscoverFeedListRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('/rest/o/w/pwa/aifeed/bots/config', data, config);\n return res;\n }\n}\n\nexport const AIFeedApi = new AIFeedApiService();\n","import { immediateSendLog, sendLog } from '~/common/radar';\nimport { AIFeed } from '~/api/ai-feed';\nimport { AIActionType } from '../components/ai-actions-bar/scripts/ai_common';\nimport { commonPvParams, getQuery } from '~/common/utils';\nimport { AIFeedPageEnum } from '~/store/modules/ai-feed';\n\n/* PV */\nexport const logForBotPageShow = (bot_index: number, user_id: string, country: string, botId: string) => {\n const params = commonPvParams({ defaultPageSource: 'aichat' });\n immediateSendLog({\n type: 'pv',\n name: 'AI_FRIENDS',\n value: {\n bot_id: botId || '',\n country,\n user_id,\n ...params,\n bot_index,\n },\n });\n};\n\n/* Click */\nexport const logForClickTopbarAction = (type: 'search' | 'history') => {\n sendLog({\n type: 'click',\n name: 'AI_CLICK_TOPBAR',\n value: {\n type,\n },\n });\n};\n\n// 引导对话点击消息\nexport const logForClickGuideChatAction = (feed: AIFeed, reply: string, reply_index: number) => {\n sendLog({\n type: 'click',\n name: 'GUIDE_DIALOG',\n value: {\n bot_id: feed.bot_id_str,\n reply_content: reply,\n reply_index,\n },\n });\n};\n\n// ai机器人点赞按钮\nexport const logForClickLikeButton = (feed: AIFeed, bot_index: Number, pageScene: AIFeedPageEnum | 'profile_pops') => {\n let scene = '';\n switch (pageScene) {\n case AIFeedPageEnum.AIForyou:\n scene = 'foryou';\n break;\n case AIFeedPageEnum.AIHistory:\n scene = 'history';\n break;\n case AIFeedPageEnum.AIChatRoom:\n scene = 'detail_page';\n break;\n case 'profile_pops':\n scene = 'profile_pops';\n break;\n default:\n break;\n }\n sendLog({\n type: 'click',\n name: 'AIFRIENDS_LIKE_BUTTON',\n value: {\n bot_id: feed.bot_id_str,\n bot_index,\n scene,\n },\n });\n};\n\n// ai机器人分享按钮\nexport const logForClickShareButton = (feed: AIFeed, bot_index: Number, pageScene: AIFeedPageEnum | 'profile_pops') => {\n let scene = '';\n switch (pageScene) {\n case AIFeedPageEnum.AIForyou:\n scene = 'foryou';\n break;\n case AIFeedPageEnum.AIHistory:\n scene = 'history';\n break;\n case AIFeedPageEnum.AIChatRoom:\n scene = 'detail_page';\n break;\n case 'profile_pops':\n scene = 'profile_pops';\n break;\n default:\n break;\n }\n sendLog({\n type: 'click',\n name: 'AIFRIENDS_SHARE_BUTTON',\n value: {\n bot_id: feed.bot_id_str,\n bot_index,\n scene,\n },\n });\n};\n\n// ai机器人举报按钮\nexport const logForClickReportButton = (feed: AIFeed, bot_index: Number, pageScene: AIFeedPageEnum | 'profile_pops') => {\n let scene = '';\n switch (pageScene) {\n case AIFeedPageEnum.AIForyou:\n scene = 'foryou';\n break;\n case AIFeedPageEnum.AIHistory:\n scene = 'history';\n break;\n case AIFeedPageEnum.AIChatRoom:\n scene = 'detail_page';\n break;\n case 'profile_pops':\n scene = 'profile_pops';\n break;\n default:\n break;\n }\n sendLog({\n type: 'click',\n name: 'AIFRIENDS_REPORT_BUTTON',\n value: {\n bot_id: feed.bot_id_str,\n bot_index,\n scene,\n },\n });\n};\n\n// Input Box\nexport const logForInputBox = (bot_id: string = '', input_type: 'voice' | 'text', click_area: 'chat_input' | 'type_to_vocie' | 'type_to_text') => {\n sendLog({\n type: 'click',\n name: 'CHAT_BOX_BUTTON',\n value: {\n bot_id,\n input_type,\n click_area,\n },\n });\n};\n\nexport const logForInputBoxSwitchMode = (\n bot_id: string = '',\n input_type: 'text' | 'voice',\n click_area: 'chat_input' | 'type_to_vocie' | 'type_to_text'\n) => {\n logForInputBox(bot_id, input_type, click_area);\n};\n\nexport const logForInputBoxTextClick = (bot_id: string = '') => {\n logForInputBox(bot_id, 'text', 'chat_input');\n};\n\nexport const logForInputBoxVoiceClick = (bot_id: string = '') => {\n logForInputBox(bot_id, 'voice', 'chat_input');\n};\n\n// 功能区\nexport const logForClickAction = (type: AIActionType, feed?: AIFeed) => {\n let typeStr = '';\n if (type === AIActionType.Like) {\n typeStr = 'like';\n } else if (type === AIActionType.UnLike) {\n typeStr = 'unlike';\n } else if (type === AIActionType.Share) {\n typeStr = 'share';\n } else {\n typeStr = 'view_history';\n }\n sendLog({\n type: 'click',\n name: 'INTERACT_BUTTON',\n value: {\n click_type: typeStr,\n bot_id: feed?.bot_id_str || '',\n },\n });\n};\n\n// bot信息弹窗内部点击\nexport const logForClickInfoPopupAction = (type: 'share' | 'report' | 'add_to_desktop', feed?: AIFeed) => {\n sendLog({\n type: 'click',\n name: 'CHARACTER_INFO_POPUP',\n value: {\n click_type: type,\n bot_id: feed?.bot_id_str || '',\n },\n });\n};\n\n// 安装pwa弹窗\nexport const logForClickInstallAction = (type: 'ok' | 'cancel', feed?: AIFeed) => {\n sendLog({\n type: 'click',\n name: 'ADD_TO_DESKTOP_POPUP',\n value: {\n type,\n bot_id: feed?.bot_id_str || '',\n },\n });\n};\n\n/* Show */\n// bot信息弹窗展示\nexport const logForInfoShowAction = (feed?: AIFeed) => {\n sendLog({\n type: 'show',\n name: 'CHARACTER_INFO_POPUP',\n value: {\n bot_id: feed?.bot_id_str || '',\n },\n });\n};\n\n// bot展示埋点\nexport const logForBotShow = (bot_id: string, index: number, userId: string, country: string) => {\n logForBotPageShow(index + 1, userId, country, bot_id);\n};\n\n/* Task(show/click) */\n\n// bot 发送、回复消息\nexport const logForChatWithBot = (\n botId?: string,\n conversationId?: string,\n index?: number,\n senderContent?: string,\n replierContent?: string,\n inputType?: 'text' | 'vioce',\n result?: 'none' | 'success' | 'failed',\n responseTime?: number,\n isMyself?: boolean,\n replyType?: 'auto_send' | undefined\n) => {\n const newIndex = index ? index + 1 : 1;\n sendLog({\n type: 'show',\n name: 'AI_BOT_CHAT',\n value: {\n conversation_id: conversationId || '',\n bot_id: botId || '',\n index: newIndex,\n send_content: senderContent || '',\n reply_content: replierContent || '',\n send_content_type: inputType,\n result,\n response_time: responseTime,\n is_myself: isMyself,\n reply_type: replyType,\n },\n });\n};\n\n// bot发送事件\nexport const logForChatWithBotSend = (\n botId?: string,\n conversationId?: string,\n index?: number,\n senderContent?: string,\n inputType?: 'text' | 'vioce',\n isMyself?: boolean,\n reply_type?: 'auto_send' | undefined\n) => {\n logForChatWithBot(botId, conversationId, index, senderContent, '', inputType, 'none', 0, isMyself, reply_type);\n};\n\n// bot回复事件\nexport const logForChatWithBotResponse = (\n botId?: string,\n conversationId?: string,\n index?: number,\n senderContent?: string,\n replierContent?: string,\n inputType?: 'text' | 'vioce',\n result?: 'success' | 'failed',\n responseTime?: number,\n isMyself?: boolean,\n replyType?: 'auto_send' | undefined\n) => {\n logForChatWithBot(botId, conversationId, index, senderContent, replierContent, inputType, result, responseTime, isMyself, replyType);\n};\n\n// bot回复task失败\nexport const logForChatWithBotFailed = (\n botId?: string,\n conversationId?: string,\n index?: number,\n sender?: string,\n replier?: string,\n inputType?: 'text' | 'vioce',\n responseTime?: number\n) => {\n logForChatWithBotResponse(botId, conversationId, index, sender, replier, inputType, 'failed', responseTime, false);\n};\n\n// 顶部Top Tab\nexport const logForTopTabsSwitchShow = (tab_name: 'discovers' | 'ai_friends') => {\n sendLog({\n type: 'show',\n name: 'AIFRIEND_TAB',\n value: {\n tab_name,\n },\n });\n};\n\nexport const logForTopTabsSwitchClick = (tab_name: 'discovers' | 'ai_friends' | 'messages' | 'history' | 'chat_list') => {\n sendLog({\n type: 'click',\n name: 'AIFRIEND_TAB',\n value: {\n tab_name,\n },\n });\n};\n\n// 顶部Top Bar\nexport const logForTopBarInboxBtnClick = (bot_id?: string, bot_index?: string) => {\n sendLog({\n type: 'click',\n name: 'MESSAGE_BUTTON',\n value: {\n bot_id,\n bot_index,\n },\n });\n};\n\n// 顶部Top Bar性别选择按钮\nexport const logForTopBarGenderSelectBtnClick = (bot_id?: string, bot_index?: string) => {\n sendLog({\n type: 'click',\n name: 'GENDER_SELECT_BUTTON',\n value: {\n bot_id,\n bot_index,\n },\n });\n};\n\n// 顶部Top Bar UGC入口\nexport const logForTopBarUGCEntranceBtnClick = (bot_id?: string, bot_index?: string) => {\n sendLog({\n type: 'click',\n name: 'ADD_NEWBOT_BUTTON',\n value: {\n bot_id,\n bot_index,\n },\n });\n};\n","// import {} from '@tma.js/sdk'\nimport Vue, { Ref, getCurrentInstance } from 'vue';\n// import { TonConnectUI } from '@tonconnect/ui';\nimport { generateUUID } from '@/common/utils';\n\ninterface Window {\n google?: any;\n dataLayer?: any[];\n}\n\nlet tgInviteLink: string = 'https://t.me/+CP084ol7tohmYmFl';\n\nexport const isTMA = () => {\n const locationHash = location?.hash?.toString() || '';\n return locationHash.includes('tgWebAppData');\n};\n\n// 页面挂载执行\nexport const initTg = (onloaded: () => void) => {\n // const tgScript = document.head.querySelector('script[src=\"https://telegram.org/js/telegram-web-app.js\"]') as HTMLScriptElement;\n if (!isTMA()) {\n return;\n }\n const scriptAllLoaded = () => {\n const { ready } = useTelegram();\n ready();\n onloaded();\n console.log('tg webApp: ', 'tg script is loaded');\n };\n\n const tgScript = document.createElement('script');\n tgScript.src = 'https://telegram.org/js/telegram-web-app.js';\n // const tonconectScript = document.createElement('script');\n // tonconectScript.src = 'https://unpkg.com/@tonconnect/ui@latest/dist/tonconnect-ui.min.js';\n\n document.head.appendChild(tgScript);\n // document.head.appendChild(tonconectScript);\n if ((window as any).Telegram !== undefined) {\n const { ready } = useTelegram();\n ready();\n onloaded();\n console.log('tg webApp: ', 'ts script loaded when initialization');\n return;\n }\n let tgScriptLoaded = false;\n const tonconectScriptLoaded = false;\n tgScript.onload = () => {\n tgScriptLoaded = true;\n // if (tonconectScriptLoaded) {\n // scriptAllLoaded();\n // }\n scriptAllLoaded();\n };\n // tonconectScript.onload = () => {\n // tonconectScriptLoaded = true;\n // if (tgScriptLoaded) {\n // scriptAllLoaded();\n // }\n // };\n};\n\nexport const tgNetworkHelper = () => {\n const { proxy } = getCurrentInstance() as { proxy: any };\n const tgWebAppStartup = async () => {\n const { user } = useTelegram();\n if (!user?.id) {\n console.log('tg webApp: ', 'upload ts startup but user-id is nil');\n return;\n }\n const { result, errorMsg, data } = await proxy.$axios.$$post('overseaAPI::/rest/o/w/pwa/tg/startup', {\n telegramUid: user?.id || '',\n // telegramUid: \"5007755080\"\n });\n\n if (result === 1) {\n if (data?.telegramGroupInviteLink) {\n tgInviteLink = data?.telegramGroupInviteLink;\n }\n console.log('tg webApp: ', 'startup interface success');\n }\n };\n\n const tgPraiseAmountList = async () => {\n console.log('tg webApp: ', 'tg fetch praise amount list');\n await proxy.$store.dispatch('initTgPraiseAmounts', { $axios: proxy.$axios, route: proxy.$route });\n };\n\n const createTgWalletOrder = async (amount: string) => {\n const { user, openTelegramLink } = useTelegram();\n // curl -X POST -H \"Wpay-Store-Api-Key: SbKrJeCONjgU9jI7TC4L6dtU7qUpWINVBXdz\" -H \"Content-Type: application/json\" -H \"Accept:application/json\" -d '{\"amount\":{\"amount\":\"0.1\",\"currencyCode\":\"USD\"},\"autoConversionCurrency\":\"USDT\",\"externalId\":\"te\",\"timeoutSeconds\":10800,\"description\":\"VPN for 1 month\",\"returnUrl\":\"https://t.me/wallet\",\"failReturnUrl\":\"https://t.me/wallet\",\"customData\":\"unknown\",\"customerTelegramUserId\":\"5007755080\"}' https://pay.wallet.tg/wpay/store-api/v1/order\n const headers = {\n // 'Wpay-Store-Api-Key': walletKey,\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n };\n const bodyData = {\n amount: { amount, currencyCode: 'USD' },\n autoConversionCurrency: 'USDT',\n externalId: `ORD-${generateUUID()}`,\n timeoutSeconds: 10800,\n description: 'Create a wallet order',\n customData: 'unknown',\n customerTelegramUserId: user?.id,\n };\n\n // https://pay.wallet.tg/wpay/store-api/v1/orde 实际由服务端请求这个接口\n const { status, message, data } = await proxy.$axios.$$post('overseaAPI::/rest/o/group/tg/order/create', bodyData, { headers });\n console.log('tg webApp: ', `create tg order result: ${status}${message}${data}`);\n if (status === 'SUCCESS') {\n if (data?.directPayLink) {\n openTelegramLink(data?.directPayLink);\n }\n }\n };\n\n const tonapiExchangeUSDToTon = async (usd: string) => {\n console.log('tg webApp: ', 'tonapiExchange USD To Ton');\n const { rates } = await proxy.$axios.$$get('https://tonapi.io/v2/rates?tokens=usd¤cies=ton,rub');\n if (rates?.USD?.prices?.TON) {\n return (parseFloat(rates.USD.prices.TON) * parseFloat(usd) * 1000000000).toFixed(0);\n }\n };\n\n /*\n curl -X POST https://api.telegram.org/bot7672511021:AAFEnAhXfxQbIk53tUjZmaWvJJAu4dJBBBE/createInvoiceLink \\\n -d \"title=Praise\" \\\n -d \"description=Praise%20creator\" \\\n -d \"payload=123e4567-e89b-12d3-a456-426614174000\" \\\n -d \"provider_token=7672511021:AAFEnAhXfxQbIk53tUjZmaWvJJAu4dJBBBE\" \\\n -d \"currency=XTR\" \\\n -d \"prices=[{\\\"label\\\":\\\"商品1\\\",\\\"amount\\\":1}]\"\n */\n const createTgInvoiceLink = async (amount: number) => {\n const { user } = useTelegram();\n // curl -X POST -H \"Wpay-Store-Api-Key: SbKrJeCONjgU9jI7TC4L6dtU7qUpWINVBXdz\" -H \"Content-Type: application/json\" -H \"Accept:application/json\" -d '{\"amount\":{\"amount\":\"0.1\",\"currencyCode\":\"USD\"},\"autoConversionCurrency\":\"USDT\",\"externalId\":\"te\",\"timeoutSeconds\":10800,\"description\":\"VPN for 1 month\",\"returnUrl\":\"https://t.me/wallet\",\"failReturnUrl\":\"https://t.me/wallet\",\"customData\":\"unknown\",\"customerTelegramUserId\":\"5007755080\"}' https://pay.wallet.tg/wpay/store-api/v1/order\n const headers = {\n // 'Wpay-Store-Api-Key': walletKey,\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n };\n const payload = generateUUID();\n const prices = [{ label: '商品', amount }];\n const bodyData = {\n title: 'Praise',\n description: 'Praise creator',\n payload,\n currency: 'XTR',\n prices,\n customData: 'unknown',\n customerTelegramUserId: user?.id,\n };\n\n // https://api.telegram.org/bot{token}/createInvoiceLink 实际由服务端请求这个接口\n const { result } = await proxy.$axios.$$post('overseaAPI::/rest/o/group/tg/invoice/create', bodyData, { headers });\n console.log('tg webApp: ', `create tg invoice result: ${result}`);\n // res:{\"ok\":true,\"result\":\"https://t.me/$UEoM2GBE8VV6AQAARPPem4y6fHs\"}\n return result;\n };\n\n return { tgWebAppStartup, createTgWalletOrder, tgPraiseAmountList, tonapiExchangeUSDToTon, createTgInvoiceLink };\n};\n\nconst parseJsonSatefy = (str?: string) => {\n try {\n if (typeof str !== 'string') {\n return undefined;\n }\n return JSON.parse(str) as T;\n } catch {\n return undefined;\n }\n};\n\n// tg快捷实例\nexport const useTelegram = () => {\n const webApp = (window as any).Telegram?.WebApp;\n const webView = (window as any).Telegram?.WebView;\n console.log('tg webApp: \\n', `webApp${JSON.stringify(webApp)}\\n webView${JSON.stringify(webView)}`);\n\n let user = webApp?.initDataUnsafe?.user;\n if (user === undefined || user === null) {\n // note: %7B%22id%22%3A5007755080%2C%22first_name%22%3A%22Qi%22%2C%22last_name%22%3A%22Xin%22%2C%22language_code%22%3A%22zh-hans%22%2C%22allows_write_to_pm%22%3Atrue%7D\n if (webView?.initParams?.user) {\n const userStr = decodeURIComponent(webView?.initParams?.user);\n if (userStr !== undefined) {\n user = parseJsonSatefy(userStr);\n console.log('tg webApp: ', `parse user info from webview: ${userStr}`);\n }\n }\n }\n /**\n * Informs the Telegram app that the Web App is ready to be displayed.\n */\n const ready = () => {\n webApp?.ready();\n webApp?.expand();\n webApp?.enableClosingConfirmation();\n };\n\n const openLink = (url: string) => {\n console.log('tg webApp: ', 'Telegram webapp Open URL: {url}');\n webApp?.openLink(url, { try_instant_view: true });\n };\n\n const openTelegramLink = (url: string) => {\n console.log('tg webApp: ', 'Telegram webapp Open Telegram URL: {url}');\n webApp?.openTelegramLink(url);\n };\n\n const openGroup = () => {\n console.log('tg webApp: ', `tglog openGroup${tgInviteLink}`);\n webApp?.openTelegramLink(tgInviteLink);\n };\n\n return {\n user,\n isTMA,\n ready,\n openLink,\n openTelegramLink,\n openGroup,\n parseJsonSatefy,\n };\n};\n\nlet TonConnectUI_: any;\nexport const tonConnectUI = async () => {\n if (TonConnectUI_) {\n return TonConnectUI_;\n }\n const { TonConnectUI } = await import('@tonconnect/ui');\n TonConnectUI_ = new TonConnectUI({\n manifestUrl: `${window.location.origin}/tonconnect-manifest.json`,\n // buttonRootId: 'connectWalletId',\n });\n TonConnectUI_.uiOptions = { actionsConfiguration: { twaReturnUrl: 'https://t.me/KwaiPro_Bot' } };\n return TonConnectUI_ as typeof TonConnectUI;\n};\n","import { AIMessageModelImpl } from '../models/UIAIMessageModel';\nimport { AIChatStore } from '../stores/AIChatStore';\nimport { AIMessageModel, AIMessageType } from '../models/AIModel';\nimport generateUUID from '../utils/aiTools';\nimport { UIAIStore } from '../stores/UIAIStore';\nimport { UIAIConversationService } from './UIAIConversationService';\n\nexport class AIChatService {\n private chatStore: AIChatStore;\n\n constructor(chatStore: AIChatStore) {\n this.chatStore = chatStore;\n }\n\n async sendTextMessage(conversationId: string, senderId: string, content: string, attachment: T) {\n const messageId = this._createC2CMessageId();\n this._sendMessage(messageId, conversationId, senderId, content, AIMessageType.TEXT, attachment);\n console.log('social-ai-im', `send me message: ${messageId}`);\n }\n\n getMessageListByConversationId(conversationId?: string): AIMessageModel[] {\n if (!conversationId) return [];\n return this.chatStore.getMessageById(conversationId);\n }\n\n async clearMessagesByConversationId(conversationId?: string): Promise {\n if (!conversationId) return false;\n await this.chatStore.clearMessagesByConversationId(conversationId);\n console.log('social-ai-im', `No messages to clear for conversation with ID: ${conversationId}`);\n return false;\n }\n\n private async _sendMessage(id: string, conversationId: string, senderId: string, content: string, messageType: AIMessageType, attachment: T) {\n const message: AIMessageModel = new AIMessageModelImpl(id, conversationId, senderId, content, messageType, new Date(), attachment);\n this.chatStore.addMessage(message);\n UIAIConversationService.updateLastMessage(conversationId, message);\n }\n\n private _createC2CMessageId(userId?: string) {\n return `Message${generateUUID()}`;\n }\n}\n\nexport const UIAIChatService = new AIChatService(UIAIStore.chatStore);\n","import dayjs from 'dayjs';\nimport { sendLog } from '@/common/radar';\nimport { SafetyLocalStorage } from '@/common/storage';\n\nexport enum continueMap {\n noLimit = 3, // 无频率限制\n limit = 2, // 达到频率\n first = 1, // 首次弹窗\n error = -1, // 报错\n refuse = 0, // 拒绝\n}\n\n// 判断pwa频率\n/**\n *\n * @param key 判断字段\n * @param isLimit 是否限制\n * @returns 1: 首次弹窗 0:达到频率 3:无频率限制, 继续执行\n */\nexport const isContinue = (key: 'install' | 'openPwa', isLimit = true) => {\n if (!isLimit) return Promise.resolve(continueMap.noLimit);\n const date = dayjs().format('YYYY-MM-DD');\n const pwaDataStr =\n SafetyLocalStorage.getItem('pwaData') ||\n JSON.stringify({\n install: '',\n openPwa: '',\n });\n const pwaData = JSON.parse(pwaDataStr);\n return new Promise((resolve, reject) => {\n // 日期相同 || 本地没有安装标记\n if (pwaData[key] === date || (key === 'install' && SafetyLocalStorage.getItem('uninstallApp') !== 'true')) {\n resolve(continueMap.limit);\n } else {\n pwaData[key] = date;\n SafetyLocalStorage.setItem('pwaData', JSON.stringify(pwaData));\n resolve(continueMap.first);\n }\n });\n};\n\n// 执行安装pwa\n/**\n *\n * @param installPwa 系统安装pwa 弹窗\n * @param logType 埋点类型\n * @param isLimit 是否有频控\n * @returns 1: 安装成功 0:取消安装 -1: 报错捕获 2:达到频率控制,继续执行\n */\nexport const installPwaFun = async (installPwa: () => Promise, logType: string, isLimit = true) => {\n if (isLimit) {\n const res = await isContinue('install', isLimit);\n // 频率控制\n if (res === continueMap.limit)\n return Promise.resolve({\n status: 2,\n });\n }\n sendLog({\n type: 'show',\n name: 'ADD_TO_DESKTOP',\n value: {\n install_reason: logType,\n },\n });\n return installPwa()\n .then((res: any) => {\n sendLog({\n type: 'click',\n name: 'ADD_TO_DESKTOP',\n value: {\n install_reason: logType,\n is_success: res ? 1 : 0,\n },\n });\n return Promise.resolve({\n status: res ? 1 : 0,\n });\n })\n .catch(() => {\n return Promise.resolve({\n status: -1,\n message: 'install err',\n });\n });\n};\n","const middleware = {}\n\nmiddleware['web-redirect'] = require('../middleware/web-redirect.js')\nmiddleware['web-redirect'] = middleware['web-redirect'].default || middleware['web-redirect']\n\nexport default middleware\n","import { invoke, InvocationOptions } from '@yoda/bridge';\nimport { Capacitor } from '@capacitor/core';\nimport commonPlugin from './capacitor-plugins';\nimport { isIOS_CSR } from '~/pages/aichat/hooks/useAppEnvironment';\n\n/** ========= common start ========= */\n\nenum CommonBridgeResultCode {\n Failed = 0,\n Success = 1,\n}\n\ninterface CommonBridgeRes {\n result?: CommonBridgeResultCode;\n message?: string;\n businessCode?: number;\n}\n\n/** ========= common end ========= */\n\n/** ========= business start ========= */\n\ninterface OpenWebviewParams {\n url: string;\n}\n\ninterface SaveMediaToAlbumParams {\n mediaType: 'video' | 'image';\n url: string;\n}\n\ninterface SetWebConfigParams {\n key: string;\n value: string;\n}\n\n/** ========= business end ========= */\n\nclass Bridge {\n private invokeBridge>(bridgeName: string, params?: Record, options?: InvocationOptions) {\n return invoke(...([bridgeName, params, options] as Parameters)) as unknown as CommonBridgeRes & T;\n }\n\n async openWebview(params: OpenWebviewParams) {\n const res = await this.invokeBridge('webview.open', params);\n\n return res;\n }\n\n async closeWebview() {\n const res = await this.invokeBridge('component.backOrCloseWeb', {\n closeWeb: true,\n });\n\n return res;\n }\n\n async saveMediaToAlbum(params: SaveMediaToAlbumParams) {\n const res = await this.invokeBridge('component.saveMediaToAlbum', params);\n\n return res;\n }\n\n async openWhatsAppStatusSaver() {\n const res = await this.invokeBridge('ug.openWhatsAppStatusSaver');\n\n return res;\n }\n\n async setWebConfig(params: SetWebConfigParams) {\n const res = await this.invokeBridge('component.setWebConfig', params);\n\n return res;\n }\n\n async openPrivatePrivacyPage() {\n if (isIOS_CSR.value && Capacitor.isNativePlatform()) {\n const res = await commonPlugin.openPrivatePrivacyPage();\n return res;\n }\n\n const res = await this.invokeBridge('ug.openPrivatePrivacyPage');\n return res;\n }\n}\n\nexport const PwaBridge = new Bridge();\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { NuxtAxiosInstance } from 'vue/types/vue';\nimport { AxiosRequestConfig } from 'axios';\nimport { CdnWithUrl, PWAFromPage, ResponseBase } from './base';\n\nimport axiosInstance from './request';\n\n/**\n * @zh 用户基础信息\n */\nexport interface UserInfo {\n following?: boolean;\n user_id?: number;\n user_name?: string;\n user_sex?: string;\n user_text?: string;\n headurl?: string;\n headurls?: CdnWithUrl[];\n verified?: boolean;\n kwai_id?: string;\n eid?: string;\n}\n\n/**\n * @zh 通过登录接口获取到的聚合过的用户信息\n */\nexport interface UserInfoByLogin {\n user?: UserInfo;\n user_id?: number | string;\n userId?: number | string;\n is_new?: boolean;\n user_name?: string;\n headurl?: string;\n user_sex?: string;\n user_profile_bg_url?: string;\n user_text?: string;\n /**\n * @zh 安全风控相关字段\n */\n 'kwaipro.pwa_ph'?: string;\n 'kwaipro.pwa_st'?: string;\n 'kwaipro.pwa.at'?: string;\n}\n\ntype GetUserInfoRequest = {};\n\ninterface GetUserInfoResponse extends ResponseBase {\n user?: UserInfo;\n}\n\nexport interface ReportFirebaseTokenRequest {\n push_token?: string;\n timestamp?: number;\n domain?: string;\n url?: string;\n ua?: string;\n web_did?: string;\n kwai_id?: string;\n user_id_str?: string;\n kpn?: string;\n session_id?: string;\n countryInfo?: string;\n bucket?: string;\n subscription?: {\n endpoint?: string;\n auth?: string;\n p256dh?: string;\n expirationTime?: string;\n };\n extra_params?: Record;\n}\n\ntype ReportFirebaseTokenResponse = ResponseBase;\n\ninterface GetProfileFeedRequest {\n userId?: string;\n albumId?: string;\n fromPage?: PWAFromPage;\n beforePage?: string;\n pcursor?: string;\n count?: number;\n}\n\ninterface GetProfileInfoRequest {\n userId?: string;\n mcc?: any;\n deviceId?: string;\n fromPhoto?: boolean;\n}\n\ninterface GetFeedAlbumRequest {\n albumId?: string;\n pcursor?: string;\n count?: number;\n}\n\ninterface GetFeedAlbumResponse extends ResponseBase {\n album?: {\n albumId?: number;\n albumIdStr?: string;\n authorId?: number;\n authorName?: string;\n averagePlayTime?: number;\n count?: number;\n firstPhotoCaption?: string;\n firstPhotoCover?: Array;\n lastUpdateTime?: number;\n subscribed?: boolean;\n subscribedCount?: number;\n totalPlayTime?: number;\n type?: number;\n viewCount?: number;\n };\n cursor?: string;\n feeds?: Array>;\n}\n\nexport class UserApiService {\n private $axios?: NuxtAxiosInstance;\n\n constructor() {\n this.$axios = axiosInstance;\n }\n\n async getUserInfo(data: GetUserInfoRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('/rest/o/w/user/login/visitor/info', data, config);\n\n return res;\n }\n\n async reportFirebaseToken(data: ReportFirebaseTokenRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('/rest/o/w/pwa/token/report', data, config);\n return res;\n }\n\n async getFeedAlbum(data: GetFeedAlbumRequest, config?: AxiosRequestConfig) {\n const path = `${process.server ? 'overseaAPI::' : ''}/rest/o/w/pwa/feed/album`;\n const res = await this.$axios?.$$post?.(path, data, config);\n return res;\n }\n\n async getPWAProfileFeed(data: GetProfileFeedRequest, config?: AxiosRequestConfig) {\n const path = `${process.server ? 'overseaAPI::' : ''}/rest/o/w/pwa/feed/profile`;\n /**\n * @zh 历史逻辑,先 Record\n */\n const res = await this.$axios?.$$post?.>(path, data, config);\n return res;\n }\n\n async getPWAProfileInfo(data: GetProfileInfoRequest, config?: AxiosRequestConfig) {\n const path = `${process.server ? 'overseaAPI::' : ''}/rest/o/w/pwa/profile`;\n /**\n * @zh 历史逻辑,先 Record\n */\n const res = await this.$axios?.$$post?.>(path, data, config);\n return res;\n }\n}\n\nexport const UserApi = new UserApiService();\n","import { AIFeed } from '~/api/ai-feed';\nimport { AIFeedPageEnum } from '~/store/modules/ai-feed';\nimport PWALikeIcon from '@/pages/aichat/images/pwa_like.png';\nimport PWALikedIcon from '@/pages/aichat/images/liked.png';\nimport PWAShareIcon from '@/pages/aichat/images/pwa_share.png';\nimport AiChatModeIcon from '@/pages/aichat/images/ai_chat_mode.png';\nimport AiHistoryModeIcon from '@/pages/aichat/images/ai_history_mode.png';\nimport AiBotReportIcon from '@/pages/aichat/images/ai-bot-report-icon.png';\nimport AiExtraActionIcon from '@/pages/aichat/images/extra-action-icon.png';\n\nexport type AIActionBarProps = {\n aiFeed: AIFeed;\n currentIndex?: number;\n feedPage?: AIFeedPageEnum;\n};\n\nexport enum AIActionType {\n Like = 1,\n UnLike = 2,\n Share = 3,\n ChatMode = 4,\n HistroyMode = 5,\n Report = 6,\n ExtraActionList = 99,\n}\n\nexport const AIActionLogNameMap: Record = {\n [AIActionType.Like]: 'PWA_LIKE_BOT',\n [AIActionType.UnLike]: undefined, // 这个不用报,只需要点赞的\n [AIActionType.Share]: 'PWA_SHARE_BOT',\n [AIActionType.ChatMode]: 'PWA_CHAT_MODE_BOT',\n [AIActionType.HistroyMode]: 'PWA_CHAT_HISTORY_BOT',\n [AIActionType.Report]: undefined, // 这个不用报\n [AIActionType.ExtraActionList]: undefined, // 这个不用报\n};\n\nexport interface AIActionItem {\n type?: AIActionType;\n icon?: string;\n count?: string | number;\n hidden?: boolean;\n onClick?: () => Promise | void;\n _tag?: string;\n}\n\n/**\n * @zh 避免 IOS 出现资源加载失败问题\n */\n// export const AIIconMap: Record = {\n// [AIActionType.Like]: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kwai-share/assets/pwa_like.png',\n// [AIActionType.UnLike]: 'https://aws-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/liked.png',\n// [AIActionType.Share]: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kwai-share/assets/pwa_share.png',\n// [AIActionType.ChatMode]: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/ai_chat_mode.png',\n// [AIActionType.HistroyMode]: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/ai_history_mode.png',\n// [AIActionType.Report]: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/aichat/ai-bot-report-icon.png',\n// [AIActionType.ExtraActionList]: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/kos/s101/nlav11312/pwa/mobile/extra-action-icon.png',\n// };\nexport const AIIconMap: Record = {\n [AIActionType.Like]: PWALikeIcon,\n [AIActionType.UnLike]: PWALikedIcon,\n [AIActionType.Share]: PWAShareIcon,\n [AIActionType.ChatMode]: AiChatModeIcon,\n [AIActionType.HistroyMode]: AiHistoryModeIcon,\n [AIActionType.Report]: AiBotReportIcon,\n [AIActionType.ExtraActionList]: AiExtraActionIcon,\n};\n","export enum AIStoreType {\n Conversation = 'conversation',\n Chat = 'chat',\n User = 'user',\n}\n\nexport enum AIActionType {\n Add = 'add',\n Update = 'update',\n Delete = 'delete',\n}\n","import CallApp from '@ks/call-app';\nimport { radarLog } from './radar';\nimport { checkSeoReferrer, checkTMAReferrer, getQuery } from '@/common/utils';\nimport { getPwaSource } from '@/common/ids-utils';\n\ninterface CallOption {\n onelink: string;\n protocol?: string;\n host?: string;\n path?: string;\n param?: Record;\n timeout?: number;\n}\n\n// path: 不加协议\nexport function callApp(option: CallOption) {\n const { shareBucket } = getQuery();\n const { protocol = 'ikwai', host, onelink, path, param, timeout = 3000 } = option;\n\n const callApp = new CallApp({\n scheme: {\n protocol,\n host,\n },\n appstore: onelink,\n fallback: onelink,\n timeout,\n });\n\n radarLog({\n name: 'PWA_CALL_APP',\n event_type: 'show',\n category: 'KWAI_SHARE',\n message: `protocal: ${protocol}, oneLink: ${onelink}`,\n extra_info: JSON.stringify({\n queryBucket: shareBucket || '',\n serverBucket: sessionStorage.getItem('bucket') || '',\n onelink,\n }),\n src: window.location.href,\n });\n\n callApp.open({\n path,\n param,\n });\n}\n\nexport function evokeByTagA(uri: string, delay?: number) {\n const tagA = document.createElement('a');\n tagA.setAttribute('href', uri);\n tagA.style.display = 'none';\n document.body.appendChild(tagA);\n tagA.addEventListener('click', e => {\n e.stopPropagation();\n });\n\n setTimeout(() => {\n tagA.click();\n }, delay || 500);\n}\n\nexport function autoLaunchAppWarp(uri: string) {\n // 如果是来自seo的来源 不自动拉\n if (checkSeoReferrer()) return;\n // 如果是来气Telegram的来源 不自动拉\n if (checkTMAReferrer()) return;\n radarLog({\n name: 'PWA_AUTO_LAUNCH',\n event_type: 'show',\n category: 'KWAI_SHARE',\n message: `auto_launch`,\n src: window.location.href,\n });\n evokeByTagA(uri);\n}\n\nexport const tokenCollectedCallApp = (proxy: any) => {\n if (getPwaSource() !== 'token_collect') {\n return;\n }\n try {\n proxy.$bus.emit('launchApp', {\n callAppPath: 'home?need_intercept_uri=true',\n });\n // autoLaunchAppWarp('ikwai://home?need_intercept_uri=true');\n } catch (e) {\n console.log('launch app error: ', e);\n }\n};\n","import type { Plugin, PluginListenerHandle } from '@capacitor/core';\n\nimport { registerPlugin, WebPlugin } from '@capacitor/core';\n\nexport interface CommonPlugin extends Plugin {\n openPrivatePrivacyPage(options?: { value: string }): Promise<{ value: string }>;\n}\nclass CommonWeb extends WebPlugin implements CommonPlugin {\n constructor() {\n super();\n }\n\n async install(): Promise {\n console.log('Common 插件在浏览器中不可用');\n }\n\n async openPrivatePrivacyPage(): Promise<{ value: string }> {\n console.log('Common 插件在浏览器中不可用');\n return { value: 'Common 插件在浏览器中不可用' };\n }\n}\nconst commonPlugin = registerPlugin('Common', { web: new CommonWeb() });\n\nexport default commonPlugin;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"loading-mask\"},[_c('svg',{staticClass:\"sp-icon is-spinner\",style:({ stroke: '#fff', height: '40px', width: '40px', strokeWidth: '2px' }),attrs:{\"viewBox\":\"0 0 80 80\"}},[_c('path',{attrs:{\"stroke-dasharray\":\"160\",\"stroke-linecap\":\"round\",\"d\":\"M40 40l8.201-8.201c4.53-4.53 11.873-4.53 16.402 0A11.598 11.598 0 0 1 68 40c0 6.405-5.193 11.598-11.598\\n 11.598a11.598 11.598 0 0 1-8.201-3.397L40 40l-8.201-8.201c-4.53-4.53-11.873-4.53-16.402 0A11.598 11.598 0 0\\n 0 12 40c0 6.405 5.193 11.598 11.598 11.598 3.076 0 6.026-1.222 8.201-3.397L40 40z\",\"stroke-width\":\"7\",\"fill\":\"none\",\"fill-rule\":\"evenodd\"}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5b44c195&scoped=true&\"\nvar script = {}\nimport style0 from \"./index.vue?vue&type=style&index=0&id=5b44c195&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5b44c195\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\n\nconst requestIdleCallback = window.requestIdleCallback ||\n function (cb) {\n const start = Date.now()\n return setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: () => Math.max(0, 50 - (Date.now() - start))\n })\n }, 1)\n }\n\nconst cancelIdleCallback = window.cancelIdleCallback || function (id) {\n clearTimeout(id)\n}\n\nconst observer = window.IntersectionObserver && new window.IntersectionObserver((entries) => {\n entries.forEach(({ intersectionRatio, target: link }) => {\n if (intersectionRatio <= 0 || !link.__prefetch) {\n return\n }\n link.__prefetch()\n })\n})\n\nexport default {\n name: 'NuxtLink',\n extends: Vue.component('RouterLink'),\n props: {\n prefetch: {\n type: Boolean,\n default: true\n },\n noPrefetch: {\n type: Boolean,\n default: false\n }\n },\n mounted () {\n if (this.prefetch && !this.noPrefetch) {\n this.handleId = requestIdleCallback(this.observe, { timeout: 2e3 })\n }\n },\n beforeDestroy () {\n cancelIdleCallback(this.handleId)\n\n if (this.__observed) {\n observer.unobserve(this.$el)\n delete this.$el.__prefetch\n }\n },\n methods: {\n observe () {\n // If no IntersectionObserver, avoid prefetching\n if (!observer) {\n return\n }\n // Add to observer\n if (this.shouldPrefetch()) {\n this.$el.__prefetch = this.prefetchLink.bind(this)\n observer.observe(this.$el)\n this.__observed = true\n }\n },\n shouldPrefetch () {\n return this.getPrefetchComponents().length > 0\n },\n canPrefetch () {\n const conn = navigator.connection\n const hasBadConnection = this.$nuxt.isOffline || (conn && ((conn.effectiveType || '').includes('2g') || conn.saveData))\n\n return !hasBadConnection\n },\n getPrefetchComponents () {\n const ref = this.$router.resolve(this.to, this.$route, this.append)\n const Components = ref.resolved.matched.map(r => r.components.default)\n\n return Components.filter(Component => typeof Component === 'function' && !Component.options && !Component.__prefetched)\n },\n prefetchLink () {\n if (!this.canPrefetch()) {\n return\n }\n // Stop observing this link (in case of internet connection changes)\n observer.unobserve(this.$el)\n const Components = this.getPrefetchComponents()\n\n for (const Component of Components) {\n const componentOrPromise = Component()\n if (componentOrPromise instanceof Promise) {\n componentOrPromise.catch(() => {})\n }\n Component.__prefetched = true\n }\n }\n }\n}\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\nimport queryString from 'query-string';\nimport { Feed } from '@/api/feed';\nimport { getPwaSource, nodeIsAppEnvironment, isTiny } from '@/common/ids-utils';\nimport { checkSeoReferrer } from '@/common/utils';\nimport device from '@/common/device-info';\nimport { checkSnack } from '@/common/seo';\n\nexport enum FeedPageEnum {\n Foryou = 'foryou',\n VideoDetail = 'video-detail',\n VideoDetailShare = 'video-detail-share',\n /**\n * @zh 直接访问 /pwa-share-new, 线上测试 path\n */\n PwaShareNew = 'pwa-share-new',\n DiscoverSearch = 'discover-search',\n}\n\nexport type FeedListOriginType = Partial>>;\n\ninterface FeedMoudleType {\n feedListOrigin?: FeedListOriginType;\n isMuted?: boolean;\n lastGoogleAD?: number;\n hasServerFetchedData?: boolean;\n currentFeed?: Feed;\n}\n\nconst defaultState: () => FeedMoudleType = () => ({\n feedListOrigin: {\n [FeedPageEnum.Foryou]: [],\n [FeedPageEnum.VideoDetail]: [],\n [FeedPageEnum.PwaShareNew]: [],\n [FeedPageEnum.DiscoverSearch]: [],\n },\n isMuted: true,\n lastGoogleAD: 0,\n hasServerFetchedData: false, // 标识是否在 node 端请求过数据,如果请求过数据,则不在 feedList 组件的 onMounted 中重新请求数据\n});\n\nexport const feedMoudle: Module = {\n namespaced: true,\n state: defaultState,\n mutations: {\n setFeedList(state, newFeedOrigin: FeedListOriginType) {\n try {\n const newFeedListOrigin = Object.keys(newFeedOrigin || {}).reduce((res, currentKey) => {\n return {\n ...res,\n [currentKey]: [\n ...(state?.feedListOrigin?.[currentKey as FeedPageEnum] || []),\n ...(newFeedOrigin[currentKey as FeedPageEnum] || []),\n ],\n };\n }, {});\n state.feedListOrigin = {\n ...state.feedListOrigin,\n ...newFeedListOrigin,\n };\n } catch {\n // do nothing\n }\n },\n\n /**\n * @zh 包含给 AI 引流的上下滑视频\n */\n setFeedListNew(state, newFeedOrigin: FeedListOriginType) {\n state.feedListOrigin = newFeedOrigin;\n },\n\n insertGoogleADSenseFeed(state, params: { newFeedOrigin: FeedListOriginType; startup: any }) {\n const ads_open = params?.startup?.ads_open?.toLowerCase();\n if (ads_open !== 'true') {\n return;\n }\n let newFeedListOrigin: FeedListOriginType = {};\n Object.keys(params.newFeedOrigin || {}).forEach(key => {\n const pwa_share_origin = state.feedListOrigin?.[key as FeedPageEnum];\n if (!pwa_share_origin) return;\n let ads_load = 1;\n if (params?.startup?.ads_load) {\n ads_load = Number(params.startup.ads_load); // number\n }\n let ads_start_pos = 1;\n if (params?.startup?.ads_start_pos) {\n ads_start_pos = Number(params.startup.ads_start_pos); // number\n }\n const pwa_share_origin_inserted = pwa_share_origin\n .map((feed: Feed, index: number) => {\n if (index >= ads_start_pos - 1 && ads_load > 0 && (index - (ads_start_pos - 1)) % (ads_load + 1) === 0) {\n if (feed.google_ad === undefined) {\n feed.google_ad = true;\n }\n } else {\n feed.google_ad = false;\n }\n return [feed];\n })\n .flat();\n newFeedListOrigin = {\n ...newFeedListOrigin,\n [key]: pwa_share_origin_inserted,\n };\n });\n\n state.feedListOrigin = {\n ...state.feedListOrigin,\n ...newFeedListOrigin,\n };\n },\n\n //\n\n insertLuminaADSenseFeed(state, params: { newFeedOrigin: FeedListOriginType; startup: any }) {\n /**\n * @zh 兜底页面排查广告\n */\n if (process.env.IS_BACKUP_ENV) {\n return;\n }\n if (nodeIsAppEnvironment() || isTiny()) {\n return;\n }\n let ads_time_control_str = params?.startup?.ads_time_control;\n console.log('lumina-ad', 'abtest', params?.startup, ads_time_control_str);\n const parsed = queryString.parse(window.location.search);\n if (parsed.skipAdAB === 'true') {\n ads_time_control_str =\n '{\"share\":{\"lumina_ads_load\":\"2\",\"lumina_ads_start_pos\":\"2\"},\"seo\":{\"lumina_ads_load\":\"2\",\"lumina_ads_start_pos\":\"3\"}}';\n }\n if (!ads_time_control_str) return;\n let ads_time_control;\n try {\n ads_time_control = JSON.parse(ads_time_control_str);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Parse app ads_time_control error: ', error);\n }\n console.log('lumina-ad', 'abtest', params?.startup, ads_time_control);\n const pwa_source = getPwaSource();\n let config;\n if (checkSeoReferrer()) {\n // seo场景pwa_source无\n config = ads_time_control?.seo;\n } else if (!pwa_source) {\n // 无pwa_source 使用下发的no_pwa频控\n config = ads_time_control?.no_pwa;\n } else {\n config = ads_time_control[pwa_source];\n }\n console.log('lumina-ad', 'config', config);\n if (!config) return;\n const lumina_ads_start_pos = Number(config.lumina_ads_start_pos);\n const lumina_ads_load = Number(config.lumina_ads_load);\n let newFeedListOrigin: FeedListOriginType = {};\n Object.keys(params.newFeedOrigin || {}).forEach(key => {\n const pwa_share_origin = state.feedListOrigin?.[key as FeedPageEnum];\n if (!pwa_share_origin) return;\n\n const pwa_share_origin_inserted = pwa_share_origin\n .map((feed: Feed, index: number) => {\n if (\n index >= lumina_ads_start_pos - 1 &&\n lumina_ads_load > 0 &&\n (index - (lumina_ads_start_pos - 1)) % (lumina_ads_load + 1) === 0\n ) {\n if (feed.lumina_ad === undefined) {\n feed.lumina_ad = true;\n console.log('lumina-ad', 'insert ad', index + 1);\n }\n } else {\n feed.lumina_ad = false;\n }\n return [feed];\n })\n .flat();\n newFeedListOrigin = {\n ...newFeedListOrigin,\n [key]: pwa_share_origin_inserted,\n };\n });\n\n console.log('lumina-ad', 'feedlist', newFeedListOrigin);\n state.feedListOrigin = {\n ...state.feedListOrigin,\n ...newFeedListOrigin,\n };\n },\n\n insertAIChatCardToFeed(state, params: { newFeedOrigin: FeedListOriginType; startup: any }) {\n if (process.env.IS_BACKUP_ENV) {\n return;\n }\n const { isSnack } = checkSnack();\n if (nodeIsAppEnvironment() || isTiny() || isSnack) {\n return;\n }\n\n let ai_chat_card_test = params?.startup?.ai_chat_card_test;\n console.log('ai-chat-card', 'abtest', params?.startup, ai_chat_card_test);\n const parsed = queryString.parse(window.location.search);\n if (parsed.skipAIChatAB === 'true') {\n ai_chat_card_test = '{\"ai_chat_card_load\":\"3\",\"ai_chat_card_start_pos\":\"2\"}';\n }\n if (!ai_chat_card_test) return;\n let ai_chat_card_test_config;\n try {\n ai_chat_card_test_config = JSON.parse(ai_chat_card_test);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Parse app ads_time_control error: ', error);\n }\n if (!ai_chat_card_test_config) return;\n const ai_chat_card_start_pos = Number(ai_chat_card_test_config.ai_chat_card_start_pos);\n const ai_chat_card_load = Number(ai_chat_card_test_config.ai_chat_card_load);\n\n const start_pos = ai_chat_card_start_pos > 0 ? Number(ai_chat_card_start_pos) : 1;\n const ads_load = ai_chat_card_load > 0 ? Number(ai_chat_card_load) : 3;\n\n let newFeedListOrigin: FeedListOriginType = {};\n Object.keys(params.newFeedOrigin || {}).forEach(key => {\n const pwa_share_origin = state.feedListOrigin?.[key as FeedPageEnum];\n if (!pwa_share_origin) return;\n\n const pwa_share_origin_inserted = pwa_share_origin\n .map((feed: Feed, index: number) => {\n if (index >= start_pos - 1 && ads_load > 0 && (index - (start_pos - 1)) % (ads_load + 1) === 0) {\n if (feed.ai_chat_card === undefined) {\n feed.ai_chat_card = true;\n console.log('ai-chat-card', 'insert card', index + 1);\n }\n } else {\n feed.ai_chat_card = false;\n }\n return [feed];\n })\n .flat();\n newFeedListOrigin = {\n ...newFeedListOrigin,\n [key]: pwa_share_origin_inserted,\n };\n });\n\n console.log('ai-chat-card', 'feedlist', newFeedListOrigin);\n state.feedListOrigin = {\n ...state.feedListOrigin,\n ...newFeedListOrigin,\n };\n },\n\n resetFeedList(state, feedPage?: FeedPageEnum) {\n if (!feedPage) {\n const _state = defaultState();\n state.feedListOrigin = _state.feedListOrigin;\n return;\n }\n state.feedListOrigin = {\n ...state.feedListOrigin,\n [feedPage]: [],\n };\n },\n\n setMuted(state, isMuted?: boolean) {\n state.isMuted = isMuted;\n },\n\n setHasServerFetchedData(state, isFetched?: boolean) {\n state.hasServerFetchedData = !!isFetched;\n },\n\n setCurrentFeed(state, currentFeed?: Feed) {\n state.currentFeed = currentFeed;\n },\n },\n actions: {\n dispatchSetFeedList({ rootState, commit, state }, newFeedOrigin: FeedListOriginType) {\n try {\n const { ai_guide_config } = rootState?.abTestModule?.abTestParams || {};\n const { first, gap, video_list = [], bucket = [] } = ai_guide_config || {};\n const { isIOS } = device();\n const isAiGuideAbTest =\n !isIOS &&\n typeof first !== 'undefined' &&\n typeof gap !== 'undefined' &&\n bucket.some((item: string) => item === rootState?.startup?.bucket);\n\n const newFeedListOrigin = Object.keys(newFeedOrigin || {}).reduce((res, currentKey) => {\n const newFeedList = newFeedOrigin[currentKey as FeedPageEnum] || [];\n const feedListLength = (state?.feedListOrigin?.[currentKey as FeedPageEnum] || []).length;\n const newFeedListWithAiGuide = !isAiGuideAbTest\n ? newFeedList\n : newFeedList.map((feed, index) => {\n /**\n * @zh 出 AI 导流逻辑\n * @zh first + gap * x = feedCurrentIndex\n * @zh 即 (feedCurrentIndex - first) / gap 为整数时,且 feedCurrentIndex >= first\n */\n const feedCurrentIndex = feedListLength + index;\n const isAiGuide = feedCurrentIndex >= first && Number.isInteger((feedCurrentIndex - first) / gap);\n\n if (isAiGuide) {\n /**\n * @zh 随机选择下发的 cdn 作为播放源\n */\n const videoCdn = video_list[feedCurrentIndex % (video_list.length || 1)];\n return {\n ...feed,\n ai_ad_guide: true,\n /**\n * @zh 设置为 undefined,H265 播放器用的\n */\n transcode_manifest_info: undefined,\n cover_first_frame_urls: undefined,\n /**\n * @zh 从配置里取值并回填\n */\n main_mv_urls: videoCdn\n ? [\n {\n url: videoCdn,\n cdn: '',\n },\n ]\n : feed.main_mv_urls,\n };\n }\n\n return feed;\n });\n\n return {\n ...res,\n [currentKey]: [...(state?.feedListOrigin?.[currentKey as FeedPageEnum] || []), ...newFeedListWithAiGuide],\n };\n }, {});\n\n commit('setFeedListNew', {\n ...state.feedListOrigin,\n ...newFeedListOrigin,\n });\n } catch {\n // do nothing\n }\n },\n },\n};\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\n\nexport enum AIBotGenderType {\n Male = 1,\n Female = 2,\n Nonbinary = 3,\n}\n\nexport enum PermissionType {\n Public = 1,\n Private = 2,\n}\n\nexport interface AICreateMoudleType {\n avatar?: string;\n gender?: AIBotGenderType;\n name?: string;\n intro?: string;\n greeting?: string;\n permission?: PermissionType;\n background?: string;\n agreePP?: boolean;\n selectedTags?: Array<{ tagId: string; tagCategory: string; tagName: string }>;\n\n pushCreatePage?: boolean;\n}\n\nconst defaultState: () => AICreateMoudleType = () => ({\n avatar: '',\n gender: AIBotGenderType.Male,\n name: '',\n intro: '',\n greeting: '',\n permission: PermissionType.Public,\n background: '',\n agreePP: true,\n selectedTags: [],\n pushCreatePage: false,\n});\n\nexport const aiCreateMoudle: Module = {\n namespaced: true,\n state: defaultState,\n mutations: {\n setAvatar(state, data) {\n state.avatar = data;\n },\n setName(state, data) {\n state.name = data;\n },\n setGender(state, data) {\n state.gender = data;\n },\n setIntro(state, data) {\n state.intro = data;\n },\n setGreeting(state, data) {\n state.greeting = data;\n },\n setPermission(state, data) {\n state.permission = data;\n },\n setBackground(state, data) {\n state.background = data;\n },\n setAgreePP(state, data) {\n state.agreePP = data;\n },\n setSelectedTags(state, data) {\n state.selectedTags = data;\n },\n setClear(state) {\n Object.assign(state, defaultState());\n },\n setPushCreatePage(state, data) {\n state.pushCreatePage = data;\n },\n },\n actions: {},\n};\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\nimport { AIFeed, AIFeedLiked } from '@/api/ai-feed';\n\n// 本地兜底\nexport enum AIDiscoverTabNameDefault {\n OC = 'OC',\n Anime = 'Anime',\n Realistic = 'Realistic',\n}\n\nexport type AIDiscoverTabTag = string;\nexport type AIDiscoverListOriginType = Partial>>;\n\nexport interface AIDiscoverTab {\n tag: AIDiscoverTabTag;\n key: string;\n}\ninterface AIDiscoverMoudleType {\n feedListOrigin?: AIDiscoverListOriginType;\n hasServerFetchedData?: boolean;\n currentTab?: AIDiscoverTab;\n discoverTabs?: Array;\n}\n\nconst defaultState: () => AIDiscoverMoudleType = () => ({\n feedListOrigin: {\n [AIDiscoverTabNameDefault.OC]: [],\n [AIDiscoverTabNameDefault.Anime]: [],\n [AIDiscoverTabNameDefault.Realistic]: [],\n },\n hasServerFetchedData: false,\n currentTab: { tag: '', key: '' },\n});\n\nexport const aiDiscoverMoudle: Module = {\n namespaced: true,\n state: defaultState,\n mutations: {\n setFeedList(state, newFeedOrigin: AIDiscoverListOriginType) {\n const newFeedListOrigin = Object.keys(newFeedOrigin || {}).reduce((res, currentKey) => {\n const existingFeeds = state?.feedListOrigin?.[currentKey as AIDiscoverTabTag] || [];\n const newFeeds = (newFeedOrigin[currentKey as AIDiscoverTabTag] || []).map(feed => ({\n ...feed,\n liked: AIFeedLiked.UnLike, // 添加 like 属性,默认值为 false\n index: 0,\n }));\n return {\n ...res,\n [currentKey]: [...existingFeeds, ...newFeeds],\n };\n }, {});\n\n state.feedListOrigin = {\n ...state.feedListOrigin,\n ...newFeedListOrigin,\n };\n },\n\n resetFeedList(state, feedPage?: AIDiscoverTabTag) {\n if (!feedPage) {\n const _state = defaultState();\n state.feedListOrigin = _state.feedListOrigin;\n return;\n }\n state.feedListOrigin = {\n ...state.feedListOrigin,\n [feedPage]: [],\n };\n },\n\n setHasServerFetchedData(state, isFetched?: boolean) {\n state.hasServerFetchedData = !!isFetched;\n },\n\n setCurrentTab(state, currentTab?: AIDiscoverTab) {\n state.currentTab = currentTab;\n },\n\n setDiscoverTabs(state, discoverTabs?: Array) {\n state.discoverTabs = discoverTabs;\n },\n },\n actions: {},\n};\n","// development staging production\nconst MY_NODE_ENV = process.env.MY_NODE_ENV || process.env.NODE_ENV || 'development';\n\nexports.MY_NODE_ENV = MY_NODE_ENV;\n\nconsole.log(process.env.BUSINESS_ENV, '=====BUSINESS_ENV=====');\nconsole.log(process.env.MY_NODE_ENV, '=====MY_NODE_ENV=====');\n\nconst isProduction = MY_NODE_ENV === 'production' || MY_NODE_ENV === 'production_csr';\nexports.isProduction = isProduction;\n\nconst envPath = {\n production: 'https://cdn-static.kwai.net/kos/s101/nlav11312/kwai-nuxt-pwa-online/',\n test: 'https://cdn-static.kwai.net/kos/s101/nlav11312/kwai-nuxt-pwa-test/',\n production_csr: 'https://cdn-static.kwai.net/kos/s101/nlav11312/kwai-nuxt-pwa-csr/',\n test_csr: 'https://cdn-static.kwai.net/kos/s101/nlav11312/kwai-nuxt-pwa-csr-test/',\n backup_test: 'https://cdn-static.kwai.net/kos/s101/nlav11312/kwai-nuxt-pwa-backup-test/',\n backup_production: 'https://cdn-static.kwai.net/kos/s101/nlav11312/kwai-nuxt-pwa-backup-online/',\n};\n\nconst ProjectAPublicPath = {\n test: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/project-a-web-h5-test/',\n production: 'https://cdn-static.ap4r.com/kos/s101/nlav11312/project-a-web-h5-online/',\n};\n\nconst isCsr = MY_NODE_ENV.includes('csr');\nexports.isLocal = process.env.NODE_ENV === 'local';\nexports.isCsr = isCsr; // 这个是用给小包的\nexports.IS_BACKUP_ENV = process.env.IS_BACKUP_ENV; // 这个东西是用在兜底的\nconst IS_PROJECT_A = process.env.BUSINESS_ENV === 'ProjectA';\nexports.IS_PROJECT_A = IS_PROJECT_A;\n\nfunction getPublicPath() {\n if (IS_PROJECT_A) {\n return ProjectAPublicPath[isProduction ? 'production' : 'test'];\n }\n if (isCsr) {\n return envPath[MY_NODE_ENV];\n }\n if (process.env.IS_BACKUP_ENV) {\n return envPath[isProduction ? 'backup_production' : 'backup_test'];\n }\n return envPath[isProduction ? 'production' : 'test'];\n}\n\nexports.publicPath = getPublicPath();\n\nconsole.log(getPublicPath(), '====PublicPath=====');\n\nexports.swConfig = isCsr\n ? {\n swFileName: 'sw-tiny.js',\n swScope: '/tiny',\n }\n : {\n swFileName: 'sw.js',\n swScope: '/',\n };\n\nconst serverHosts =\n MY_NODE_ENV === 'production'\n ? {\n overseaAPI: 'http://sgp.kwaipro-api.internal',\n // overseaAPI: 'https://kwai-pwa-hzs.test.gifshow.com',\n abGroup: 'http://sgp.kwaipro-api.internal',\n kconfAPI: 'http://sgp.kwaipro-api.internal',\n }\n : {\n // overseaAPI: 'https://kwai-pwa-mobile.test.gifshow.com',\n // overseaAPI: 'https://kwai-pwa-pc.test.gifshow.com',\n overseaAPI: 'https://kwai-pwa-hzs.test.gifshow.com',\n abGroup: 'https://kwai-common-service.test.gifshow.com',\n kconfAPI: 'https://kwai-h5.test.gifshow.com',\n };\n\nexports.serverHosts = serverHosts;\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\nimport { UserInfoByLogin } from '@/api/user';\n\ninterface UserModuleType {\n userInfo?: UserInfoByLogin;\n}\n\nconst defaultState: UserModuleType = {\n userInfo: undefined,\n};\n\nexport const userModule: Module = {\n namespaced: true,\n state: defaultState,\n mutations: {\n setUserInfo(state, userInfo?: UserInfoByLogin) {\n state.userInfo = {\n ...(state.userInfo || {}),\n ...(userInfo || {}),\n };\n },\n },\n actions: {},\n};\n","import { Module } from 'vuex';\n\ntype SingleSchema = {\n [componentName: string]: {\n [seoOrAppName: string]: Record;\n };\n};\n\ntype AllSchema = {\n [pageRouteName: string]: SingleSchema;\n};\n\ntype SchemaState = {\n allSchema?: AllSchema;\n currentSchema?: SingleSchema;\n};\n\nconst defaultState: () => SchemaState = () => ({\n allSchema: undefined,\n currentSchema: undefined,\n});\n\nexport const schemaModule: Module = {\n namespaced: true,\n state: defaultState,\n mutations: {\n setAllSchema(state, data: AllSchema) {\n state.allSchema = data;\n },\n setCurrentSchema(state, data: string) {\n const currentSchema = state.allSchema?.[data] || {};\n state.currentSchema = currentSchema;\n },\n },\n actions: {},\n};\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\n\nexport type PopupModuleType = {\n showAIInfo?: boolean;\n installPWA?: boolean;\n showOver18?: boolean;\n showGenderPrefer?: boolean;\n showAdsPopup?: boolean;\n showSideBar?: boolean;\n loginPopupFlag?: number;\n logoutPopupFlag?: number;\n};\n\nexport const defaultState: PopupModuleType = {\n showAIInfo: false,\n installPWA: false,\n showOver18: false,\n showGenderPrefer: false,\n showAdsPopup: false,\n showSideBar: false,\n loginPopupFlag: 0,\n logoutPopupFlag: 0,\n};\n\nexport const popupModule: Module = {\n namespaced: true,\n state: defaultState,\n mutations: {\n setShowAIInfo(state, showAIInfo: boolean) {\n state.showAIInfo = showAIInfo;\n },\n setInstallPWA(state, installPWA: boolean) {\n state.installPWA = installPWA;\n },\n setshowOver18(state, showOver18: boolean) {\n state.showOver18 = showOver18;\n },\n setShowGenderPrefer(state, showGenderPrefer: boolean) {\n state.showGenderPrefer = showGenderPrefer;\n },\n setShowAdsPopup(state, showAdsPopup: boolean) {\n state.showAdsPopup = showAdsPopup;\n },\n setShowSideBar(state, showShowSideBar: boolean) {\n state.showSideBar = showShowSideBar;\n },\n triggerLoginPopup(state) {\n state.loginPopupFlag = (state.loginPopupFlag || 0) + 1;\n },\n triggerLogoutPopup(state) {\n state.logoutPopupFlag = (state.logoutPopupFlag || 0) + 1;\n },\n },\n actions: {},\n};\n","/* eslint-disable import/prefer-default-export */\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\n\nexport type KConfMoudleType = {\n kConf?: Record;\n};\n\nconst defaultKConfModule: KConfMoudleType = {\n kConf: {},\n};\n\nexport const kConfModule: Module = {\n namespaced: true,\n state: defaultKConfModule,\n actions: {},\n mutations: {\n setKConf(state, data: Record) {\n state.kConf = {\n ...(state.kConf || {}),\n ...(data || {}),\n };\n },\n },\n};\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Module } from 'vuex';\nimport { AIFeed, AIFeedLiked } from '@/api/ai-feed';\nimport { AIFeedPageEnum } from './ai-feed';\n\n/*\n * foryou 单列 AI 引导\n */\nexport type AIChatBigCardType = string;\nexport type AIChatBigCardListOriginType = Partial>>;\n\ninterface AIChatBigCardMoudleType {\n feedListOrigin?: AIChatBigCardListOriginType;\n hasServerFetchedData?: boolean;\n}\n\nconst defaultState: () => AIChatBigCardMoudleType = () => ({\n feedListOrigin: {\n [AIFeedPageEnum.AIChatBigCard]: [],\n },\n hasServerFetchedData: false,\n});\n\nexport const aiChatBigCardMoudle: Module = {\n namespaced: true,\n state: defaultState,\n mutations: {\n setFeedList(state, newFeedOrigin: AIChatBigCardListOriginType) {\n const newFeedListOrigin = Object.keys(newFeedOrigin || {}).reduce((res, currentKey) => {\n const existingFeeds = state?.feedListOrigin?.[currentKey as AIFeedPageEnum] || [];\n const newFeeds = (newFeedOrigin[currentKey as AIFeedPageEnum] || []).map(feed => ({\n ...feed,\n liked: AIFeedLiked.UnLike, // 添加 like 属性,默认值为 false\n index: 0,\n }));\n return {\n ...res,\n [currentKey]: [...existingFeeds, ...newFeeds],\n };\n }, {});\n\n state.feedListOrigin = {\n ...state.feedListOrigin,\n ...newFeedListOrigin,\n };\n },\n\n resetFeedList(state, feedPage?: AIChatBigCardType) {\n if (!feedPage) {\n const _state = defaultState();\n state.feedListOrigin = _state.feedListOrigin;\n return;\n }\n state.feedListOrigin = {\n ...state.feedListOrigin,\n [feedPage]: [],\n };\n },\n },\n actions: {},\n};\n","async function register() {\n if (!'serviceWorker' in navigator) {\n throw new Error('serviceWorker is not supported in current browser!')\n }\n\n const { Workbox } = await import('workbox-cdn/workbox/workbox-window.prod.es5.mjs')\n\n const workbox = new Workbox('/sw.js', {\n scope: '/'\n })\n\n await workbox.register()\n\n return workbox\n}\n\nwindow.$workbox = register()\n .catch(error => {})\n","export interface ResponseBase {\n result?: number;\n error_msg?: string;\n}\n\nexport enum ResponseBaseResult {\n RESULT_OK = 1,\n SERVER_BUSY = 15,\n RESULT_TOKEN_EXPIRED = 109,\n RESULT_LOGIN_EXPIRED = 6002,\n RESULT_USER_ACCOUNT_ERROR = 1047232003,\n}\n\nexport enum RequestSource {\n REQUEST_SOURCE_UNKNOWN = 0,\n REQUEST_SOURCE_PYMK = 1, // 搜索主页\n REQUEST_SOURCE_PROFILE = 2,\n REQUEST_SOURCE_INTERESTED = 3, // 感兴趣的人推荐(其他无结果)\n REQUEST_SOURCE_FOLLOW = 4, // 关注页面推荐\n REQUEST_SOURCE_RECO_HOT = 5, // 从reco组热门页发起的调用\n REQUEST_SOURCE_RECO_FOLLOW = 6, // 从reco组关注页发起的调用\n REQUEST_SOURCE_RECO_NEARBY = 7, // 从reco组同城页发起的调用\n REQUEST_SOURCE_OFFLINE = 8, // 离线调用\n REQUEST_SOURCE_PROFILE_NOTIFY = 9, // 个人中心页的通知跳转而来\n REQUEST_SOURCE_SEARCH_NO_RESULT = 10, // 搜索无结果推荐\n REQUEST_SOURCE_OVERSEA_PUSH = 11, // 海外push\n REQUEST_SOURCE_OVERSEA_EXPLORE = 12, // 海外发现页\n REQUEST_SOURCE_OVERSEA_FIRST_LOGIN = 13, // 海外首次登录推荐\n\n // ---- 以上 Copy 自 user_reco_base.proto:RecoPortal ----\n\n REQUEST_SOURCE_WEB_PUSH = 14, // 海外H5 Push页推荐\n REQUEST_SOURCE_NEARBY = 16, // 同城推荐好友\n REQUEST_SOURCE_NEARBY_LIST = 17, // 同城推荐好友更多列表页\n REQUEST_SOURCE_SEARCH_FRIENDS = 18, // \"查找好友\" 页面\n REQUEST_SOURCE_USER_FOLLOWER = 19, // 海外粉丝列表空状态PYMK\n REQUEST_SOURCE_HOME_FOLLOW = 20, // 海外首页关注页空状态PYMK\n REQUEST_SOURCE_USER_FOLLOWING = 21, // 海外关注列表空状态PYMK\n REQUEST_SOURCE_NOTICE = 22, // 海外消息列表空状态PYMK\n REQUEST_SOURCE_NEWS = 23, // 海外动态列表空状态PYMK\n REQUEST_SOURCE_MESSAGE = 24, // 海外私信列表空状态PYMK\n REQUEST_SOURCE_USER_FOLLOWER_MORE = 25, // 海外粉丝列表非空状态PYMK\n REQUEST_SOURCE_USER_FOLLOWING_MORE = 26, // 海外关注列表空状态PYMK\n REQUEST_SOURCE_NOTICE_MORE = 27, // 海外动态列表非空状态PYMK\n REQUEST_SOURCE_NEWS_MORE = 28, // 海外消息列表非空状态PYMK\n REQUEST_SOURCE_MESSAGE_MORE = 29, // 海外私信列表非空状态PYMK\n REQUEST_SOURCE_SEARCH_RECOMMEND = 30, // 海外搜索推荐页\n REQUEST_SOURCE_PROFILE_RECOMMEND = 31, // 海外主态profile页pymk\n REQUEST_SOURCE_UNLOGIN_FOLLOW = 32, // 海外未登录关注页PYMK\n REQUEST_SOURCE_PROMOTION_ACTIVITY = 33, // 海外运营活动支持PYMK\n REQUEST_SOURCE_PROFILE_NOTIFY_GUIDE = 34, // 海外个人主页小红点引导PYMK\n REQUEST_SOURCE_GUEST_PROFILE_NO_PHOTO = 35, // 海外用户主页无可显示作品PYMK\n REQUEST_SOURCE_GROWTH_ACTIVITY_PAGE = 36, // 海外裂变拉新关注任务PYMK\n REQUEST_SOURCE_SELECTED_BUTTON_FOLLOW = 37, // 海外单列关注引导按钮样式PYMK\n REQUEST_SOURCE_GUEST_PROFILE_MORE = 38, // 海外用户主页有可显示作品PYMK\n REQUEST_SOURCE_SELECTED_POPUP_FOLLOW = 39, // 海外单列关注引导弹窗样式PYMK\n REQUEST_SOURCE_SELECTED_CARD_FOLLOW = 40, // 海外单列关注引导卡片样式PYMK\n REQUEST_SOURCE_SEARCH_AGGREGATION_RECOMMEND = 41, // 海外搜索聚合页找朋友PYMK\n REQUEST_SOURCE_SELECTED_LOGIN_POPUP = 42, // 海外单列精选页登录弹窗PYMK\n REQUEST_SOURCE_FOLLOW_TOP_CARD = 43, // 海外关注页置顶卡片的PYMK\n REQUEST_SOURCE_FOLLOW_NOT_LOGIN_SLIDE_CARD = 44, // 海外关注页未登录上下滑大卡片\n REQUEST_SOURCE_FOLLOW_CONTENT_FEED_CARD = 45, // 海外关注页内容流feed卡片\n REQUEST_SOURCE_NOTIFICATIONS_LIST = 46, // 海外通知页pymk通知\n REQUEST_SOURCE_FACEBOOK_THIRD_FIND_FRIENDS_LIST = 47, // 海外fb渠道发现好友页列表PYMK\n REQUEST_SOURCE_TWITTER_THIRD_FIND_FRIENDS_LIST = 48, // 海外twitter渠道发现好友页三方渠道好友列表PYMK\n REQUEST_SOURCE_FIND_CONTACT_LIST = 49, // 海外发现好友通讯录联系人列表PYMK\n REQUEST_SOURCE_PROFILE_RELATION_FRIENDS = 50, // 海外客态profile页关系好友pymk\n REQUEST_SOURCE_PROFILE_SHARE_REFLOW_MINI_POPUP = 51, // 海外客态pofile页分享回流小弹窗\n REQUEST_SOURCE_FIND_FRIENDS = 52, // 海外找朋友页pymk\n REQUEST_SOURCE_HOME_FOLLOW_MORE_PHOTO = 53, // 海外关注页有作品pymk\n REQUEST_SOURCE_FORU_FOLLOWALL = 54, // for u 页面一键关注\n REQUEST_SOURCE_SOCIAL_NOTIFICATION = 55, // 通知页聚合消息pymk\n REQUEST_SOURCE_GUEST_PROFILE_SUGGESTED = 56, // 客态P页推荐\n REQUEST_SOURCE_NOTIFICATIONS_SOCIAL_FINDFRIENDS = 57, // 通知页notification顶部新增【get more friends】落地页\n REQUEST_SOURCE_FOLLOW_FOLLOWALL = 58, // follow 页面一键关注 pymk弹窗\n REQUEST_SOURCE_FORU_PYMK_CARD = 59, // for u 页面pymk推人大卡\n REQUEST_SOURCE_PROFILE_RECOMMEND_REDNUM = 60, // 主态profile页招朋友按钮(透出新增潜在关系数字)\n REQUEST_SOURCE_PROFILE_RECOMMEND_REDNUM_RECO = 61, // 用于用于查红点数量\n\n // PWA 场景\n REQUEST_SOURCE_PWA_SHARE_SLIDE = 1001, // 用于pwa的分享上下滑内流\n REQUEST_SOURCE_PWA_SHARE_DISCOVER = 1101, // 用于pwa的分享discover页\n REQUEST_SOURCE_PWA_SEO_DISCOVER = 1102, // 用于pwa的SEO来源的discover页\n REQUEST_SOURCE_PWA_DIRECT_DISCOVER = 1103, // 用于pwa的直接输入来源的discover页\n\n REQUEST_SOURCE_PWA_VIDEO_DETAIL = 1104, // 用于视频详情页的上下滑内流\n REQUEST_SOURCE_PWA_NEW_FORYOU = 1105, // 用于新版 foryou 页面的上下滑\n REQUEST_SOURCE_PWA_DISCOVER_SEARCH = 1106, // 用于新专题页的上下滑\n}\n\n/**\n * Web体裁枚举\n */\nexport enum WebFeedType {\n UNKNOWN = 'UNKNOWN',\n PHOTO_CARD = 'PHOTO_CARD', // 视频卡片\n PICTURE_CARD = 'PICTURE_CARD', // 图片卡片\n TYML_CARD = 'TYML_CARD', // TYML(terms you may like)卡片\n ARTICLE_CARD = 'ARTICLE_CARD', // 文章卡片\n}\n\nexport interface CdnWithUrl {\n cdn?: string;\n url?: string;\n}\n\nexport enum PWAFromPage {\n PWA_FOR_YOU = 'PWA_FOR_YOU',\n PWA_DETAIL = 'PWA_DETAIL',\n PWA_PROFILE = 'PWA_PROFILE',\n}\n\n/**\n * @zh 后端下发的人虫分离枚举\n */\nexport enum PWACrawlersReferer {\n Googlebot = 'Googlebot',\n SpecialCaseCrawlers = 'Special-case crawlers',\n unidentified = 'unidentified',\n}\n","/* eslint-disable import/named */\nimport { NuxtAxiosInstance } from 'vue/types/vue';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { AxiosRequestConfig } from 'axios';\nimport { ResponseBase } from './base';\nimport { AIChatBeginResEventContentType, AIChatResponseBase } from '~/pages/aichat/scripts/ai-chat-handler';\nimport axios from './request';\n\n/**\n * Api AIChatApiService\n *\n */\n\n// create chat\ninterface AIChatCreateRequest {\n botId?: string;\n userId?: string;\n}\n\ninterface AIChatTextAudioRequest {\n botId?: string;\n content?: string;\n}\n\nexport interface AIChatTextAudioResponse extends ResponseBase {\n data: {\n audioUrl?: string;\n audio_base64?: string;\n };\n}\n\n// speech synthesis\ninterface AIChatSpeechSynReq {\n botId?: string;\n content?: string;\n}\n\ninterface AIChatSpeechSynRes extends ResponseBase {\n data: {\n audioUrl?: string;\n };\n}\n\nexport interface AIChatBeginResEventExtra {\n toolName?: string;\n toolArgs?: string;\n toolResponse?: string;\n toolCallId?: string;\n timeCost?: number;\n inputTokens?: number;\n outputTokens?: number;\n}\n\nexport enum AIChatBeginResEventType {\n UNKNOWN_EVENT = 'UNKNOWN_EVENT',\n CHAT_MESSAGE_GENERATED = 'CHAT_MESSAGE_GENERATED',\n CHAT_MESSAGE_GENERING = 'CHAT_MESSAGE_GENERING',\n FUNCTION_CALLING = 'FUNCTION_CALLING',\n FUNCTION_CALLED = 'FUNCTION_CALLED',\n CHAT_STREAM_END = 'CHAT_STREAM_END',\n KNOWLEDGE_QUERYING = 'KNOWLEDGE_QUERYING',\n KNOWLEDGE_QUERIED = 'KNOWLEDGE_QUERIED',\n OPENING_DIALOG = 'OPENING_DIALOG',\n}\n\nexport interface AIChatBeginResEvent {\n type: AIChatBeginResEventType;\n messageId: number;\n runId: number;\n sessionId: number;\n senderId: string;\n contentType: AIChatBeginResEventContentType;\n content: string;\n extraInfo?: AIChatBeginResEventExtra;\n}\n\nexport interface AIChatBeginResEventList {\n chatEvent: AIChatBeginResEvent[];\n}\n\nexport interface AIChatBeginResEventMap {\n chatEventTypeMap: { [key: string]: AIChatBeginResEventList };\n}\n\ninterface AIChatCreateResponseData {\n conversationId?: string;\n name?: string;\n botId?: string;\n userId?: string;\n channel?: string;\n createTime?: string;\n}\n\ninterface AIChatCreateResponse extends AIChatResponseBase {\n data?: AIChatCreateResponseData;\n}\n\nexport interface AIChatBeginResponse extends AIChatResponseBase {\n data?: string;\n}\n\ninterface AiBotsReportRequest {\n botId?: string;\n reason?: string;\n content?: string;\n}\n\nexport interface TagListItem {\n tagCategory?: string;\n tags?: Array<{\n tagName?: string;\n tagId?: string;\n icon?: string;\n }>;\n}\n\nexport interface ProfilePostItem {\n auditId?: string;\n botId?: string;\n status?: number;\n botName?: string;\n intro?: string;\n botBgUrl?: string;\n compliance_mark_show?: boolean;\n}\n\nexport interface GetProfilePostResponse extends ResponseBase {\n data?: {\n list?: Array;\n };\n}\n\nexport interface GetTagListResponse extends ResponseBase {\n data?: {\n list?: Array;\n };\n}\n\ninterface AiGetToneLisRequest {\n toneCategory?: string;\n pageSize?: number;\n offset?: number;\n}\n\ninterface AiGetMyprofileRequest {\n pageSize?: number;\n offset?: number;\n}\n\ninterface AiDeleteMyBotRequest {\n botId?: string;\n}\n\ninterface AiCreateRequest {\n bgImg?: string;\n avatar?: string;\n botName?: string;\n gender?: number;\n botIntroduction?: string;\n greeting?: string;\n toneId?: string;\n permission?: number;\n background?: string;\n tags?: string;\n}\n\ninterface AiUploadAvatarRequest {\n img?: File;\n}\n\ninterface AiUploadAvatarResponse extends ResponseBase {\n url?: string;\n}\n\ninterface AiLeadChatRequest {\n botId?: string;\n}\n\ninterface AiLeadChatResponse extends ResponseBase {\n greetingList?: string[];\n}\n\nexport interface ToneListItem {\n toneId?: string;\n toneCategory?: string;\n toneName?: string;\n toneTags?: Array;\n audioUrl?: string;\n}\n\nexport interface GetToneListResponse extends ResponseBase {\n data?: {\n list?: Array;\n };\n}\n\nexport type AiBotsReportResponse = ResponseBase;\n\nexport interface GetBotAutomaticChatResponse extends ResponseBase {\n data?: {\n status?: string;\n nextRequestSecond?: number; // seconds\n greetingList?: {\n // key: bot id\n [key: string]: {\n gt?: string; // greeting text\n ts?: number; // timestamp\n };\n };\n };\n}\n\nexport class AIChatApiService {\n private $axios?: NuxtAxiosInstance;\n\n constructor() {\n this.$axios = axios;\n }\n\n // create AI Chat\n public async createAIChat(data: AIChatCreateRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/aifeed/bots/getConversationId`, data, config);\n return res;\n }\n\n // ai speech\n public async aiSpeechSynthesis(data: AIChatSpeechSynReq, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/aifeed/speechSynthesis`, data, config);\n return res;\n }\n\n // ai audio player\n public async aiChatTextAudio(data: AIChatTextAudioRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/aifeed/speechSynthesis`, data, { timeout: 20000 });\n return res;\n }\n\n // 举报接口\n async reportAiBots(data: AiBotsReportRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/aifeed/bots/report`, data, config);\n return res;\n }\n\n // bot 主动打招呼\n async getBotAutomaticChat(data: Record, config?: AxiosRequestConfig) {\n // const date = new Date();\n // const time = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`;\n // const Mockconversations: GetBotAutomaticChatResponse = {\n // data: {\n // status: 'success',\n // greetingList: {\n // '721342653757674524': {\n // greet: `${time} this is a test message `,\n // },\n\n // '721342653757674608': {\n // greet: `${time} this is a test message `,\n // },\n // },\n // },\n // };\n\n // return {\n // ...Mockconversations,\n // result: 1,\n // };\n const res = await this.$axios?.$$post?.(`rest/o/w/pwa/aifeed/bots/greeting`, data, config);\n return res;\n }\n\n // 获取机器人Tag接口\n async getTagList(config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/bot/w/ugc/getTagList`, config);\n return res;\n }\n\n // 获取机器人音色接口\n async getToneList(data: AiGetToneLisRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/bot/w/ugc/getToneList`, data, config);\n return res;\n }\n\n // 获取个人主态P页数据\n async getMyProfileFeed(data: AiGetMyprofileRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/bot/w/ugc/myprofile`, data, config);\n return res;\n }\n\n // 删除创建的机器人\n async deleteMyBot(data: AiDeleteMyBotRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/bot/w/ugc/del`, data, config);\n return res;\n }\n\n // 上传图片生成CDN地址接口\n async uploadAvatar(data: AiUploadAvatarRequest) {\n const toFormData = (data: AiUploadAvatarRequest): FormData => {\n const formData = new FormData();\n Object.entries(data).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n formData.append(key, value);\n }\n });\n return formData;\n };\n\n const formData = toFormData(data);\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/bot/w/ugc/upload/img`, formData, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n timeout: 30000,\n });\n return res;\n }\n\n // 创建机器人接口\n async createBot(data: AiCreateRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.(`/rest/o/w/pwa/bot/w/ugc/create`, data, config);\n return res;\n }\n\n // 引导对话接口\n async getGreeting(data: AiLeadChatRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$get?.('/rest/o/w/pwa/aifeed/bots/encourage/greet', {\n ...config,\n params: data,\n });\n return res;\n }\n}\n\nexport const AIChatApi = new AIChatApiService();\n","import cookies from 'js-cookie';\nimport axios from 'axios';\nimport Toast from 'vant/lib/toast';\nimport { getCommonParamsByKpn, getKpn } from '@/common/common-params';\nimport { isTiny } from '@/common/utils';\nimport { UserApi } from '@/api/user';\nimport { SafetyLocalStorage } from '@/common/storage';\n\nexport const kwai_client_id = '21144182060-h4jroop36kitfgjd8v6bl48otppponc2.apps.googleusercontent.com';\nexport const snack_client_id = '1085491065542-umvch4l14qrm5np356v5ft2t4dnljpuk.apps.googleusercontent.com';\nexport const topick_client_id = '436181982591-kkqcs8ie8tfdt2o87h9419rfr0rvl0ij.apps.googleusercontent.com';\n\nexport enum KpnClient {\n KWAI = 'KWAI',\n KWAI_BULLDOG = 'KWAI_BULLDOG',\n KWAI_ME = 'KWAI_ME',\n TOPICK = 'TOPICK',\n}\n\nexport const kpnClientMap: Record = {\n [KpnClient.KWAI]: kwai_client_id,\n [KpnClient.KWAI_BULLDOG]: snack_client_id,\n [KpnClient.KWAI_ME]: kwai_client_id,\n [KpnClient.TOPICK]: topick_client_id,\n};\n\nexport const did = cookies.get('webDid');\nexport const getLoginPara = function ({ startup, kpn }: Record) {\n const param = getCommonParamsByKpn(kpn, startup);\n\n const formData = new FormData();\n for (const key in param) {\n formData.append(key, param[key]);\n }\n return formData;\n};\n\nexport const isLogin = async function () {\n const res = await UserApi.getUserInfo({});\n setCurrentUserHeadUrl(res);\n if (res?.result === 1) return true;\n return false;\n};\n\nexport const setLoginCookie = function (params: any) {\n // for(let i in params.user) {\n // cookies.set(i, i === 'headurls'? JSON.stringify(params[i]): params[i])\n // }\n cookies.set('userId', params?.user?.user_id, { expires: 30, path: '' });\n cookies.set('user_id', params?.user?.user_id, { expires: 30, path: '' });\n // if (!isTiny()) {\n // cookies.set('did', cookies.get('webDid') || '', { expires: 30, path: '' })\n // }\n};\n\nexport const removeLoginCookie = function () {\n cookies.remove('userId');\n cookies.remove('user_id');\n};\n\nexport const setCurrentUserHeadUrl = function (params: any) {\n if (params?.user?.headurls?.[0]?.url) {\n SafetyLocalStorage.setItem('CURRENT_USER_HEADURL', params?.user?.headurls?.[0]?.url ?? '');\n } else {\n SafetyLocalStorage.removeItem('CURRENT_USER_HEADURL');\n }\n};\n\n// export const tinyLoginNew = async (proxy:any) => {\n// const res = await window.$yoda?.invoke('component.login')\n// console.log('component.login', res);\n// if(res.businessCode === 1) {\n// const loginStatus = await isLogin()\n// if(loginStatus) {\n// Toast({\n// message: proxy.$root.$t('k_326761'),\n// })\n// } else {\n// Toast({\n// message: proxy.$root.$t('k_327320'),\n// })\n// }\n// proxy.$store.commit('setIsLogin', loginStatus);\n// }\n// return res\n// }\n\nexport const tinyLoginMessage = async (proxy: any) => {\n window.$yoda?.invoke('event.addEventListener', {\n type: 'pwa_login',\n listener: (res: any) => {\n console.log('event.addEventListener', res);\n tinyLogiNextStep(proxy, { message: res?.token });\n },\n });\n};\n\nexport const tinyLogin = async (proxy: any) => {\n proxy.$bus.emit('isLoad', true);\n try {\n const res = await window.$yoda?.invoke('ug.tinyAuthLogin', { authType: 'google' });\n proxy.$bus.emit('isLoad', false);\n if (res.businessCode === 1) return await tinyLogiNextStep(proxy, res);\n if (res.businessCode === -1001) {\n Toast({\n message: proxy.$root.$t('k_401901'),\n });\n return false;\n }\n console.log('err', res);\n Toast({\n message: res?.message,\n });\n return false;\n } catch (error) {\n proxy.$bus.emit('isLoad', false);\n }\n\n // .then(async (res: any) => {\n // console.log('result: ', res);\n // if (res.result === 1) return await tinyLogiNextStep(proxy, res);\n // }).catch((err: any) => {\n // console.log('err', err)\n // Toast({\n // message: err?.message,\n // })\n // return false;\n // })\n};\nexport const tinyLogiNextStep = async (proxy: any, para: any) => {\n const did = cookies.get('webDid');\n proxy.$bus.emit('isLoad', true);\n // const params = getLoginPara(proxy.$store.state.startup);\n\n const params = getLoginPara({\n startup: proxy.$store.state.startup,\n kpn: getKpn({ bucket: proxy.$store.state.startup.bucket, host: window.location.host }),\n });\n\n const res = await proxy.$axios.$$post(\n `loginApi::/rest/o/w/user/thirdPlatformLogin?access_token=${para.message || ''}&platform=google&did=${did}`,\n params\n );\n setLoginCookie(res);\n\n proxy.$bus.emit('isLoad', false);\n // 服务端service token\n if (res.result === 1 && res['kwaipro.pwa_st']) {\n await proxy.$axios.$$post(`loginApi::/rest/infra/sts`, {\n authToken: res['kwaipro.pwa.at'],\n sid: 'kwaipro.pwa',\n followUrl: location.href,\n setRootDomain: true,\n });\n const loginStatus = await isLogin();\n window.$yoda?.invoke('ug.tinySetCookies', {\n cookies: {\n 'kwaipro.pwa_st': res['kwaipro.pwa_st'],\n 'kwaipro.pwa_ph': cookies.get('kwaipro.pwa_ph'),\n userId: res.user.user_id,\n user_id: res.user.user_id,\n },\n host: location.hostname,\n });\n if (loginStatus) {\n Toast({\n message: proxy.$root.$t('k_326761'),\n });\n } else {\n Toast({\n message: proxy.$root.$t('k_327320'),\n });\n }\n proxy.$store.commit('setIsLogin', loginStatus);\n } else {\n Toast({\n message: proxy.$root.$t('k_327320'),\n });\n proxy.$store.commit('setIsLogin', await isLogin());\n }\n proxy.$bus.emit('sendPv');\n};\n","class ClassSafetyLocalStorage {\n setItem(...args: Parameters) {\n try {\n window.localStorage.setItem(...args);\n } catch {\n // do nothing\n }\n }\n\n getItem(...args: Parameters) {\n try {\n return window.localStorage.getItem(...args);\n } catch {\n return null;\n }\n }\n\n removeItem(...args: Parameters) {\n try {\n return window.localStorage.removeItem(...args);\n } catch {\n // do nothing\n }\n }\n}\n\nexport const SafetyLocalStorage = new ClassSafetyLocalStorage();\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { NuxtAxiosInstance } from 'vue/types/vue';\nimport { AxiosRequestConfig } from 'axios';\nimport { ResponseBase } from './base';\n\nimport axiosInstance from './request';\n\ninterface GetDidByWebDidRequest {\n webDid?: string;\n}\n\ninterface GetDidByWebDidResponse extends ResponseBase {\n /**\n * @zh 历史逻辑,先 Record\n */\n [key: string]: any;\n}\n\ninterface GetDidByCookieIdRequest {\n cookieId?: string;\n}\n\ninterface GetDidByCookieIdResponse extends ResponseBase {\n /**\n * @zh 历史逻辑,先 Record\n */\n [key: string]: any;\n}\n\nexport class SystemApiService {\n private $axios?: NuxtAxiosInstance;\n\n constructor() {\n this.$axios = axiosInstance;\n }\n\n async getDidByWebDid(data: GetDidByWebDidRequest, config?: AxiosRequestConfig) {\n const path = `${process.server ? 'overseaAPI::' : ''}/rest/o/w/pwa/v2/getDidByWebDid`;\n const res = await this.$axios?.$$get?.(path, {\n ...config,\n params: data,\n });\n return res;\n }\n\n async getDidByCookieId(data: GetDidByCookieIdRequest, config?: AxiosRequestConfig) {\n const path = `${process.server ? 'overseaAPI::' : ''}/rest/o/w/pwa/v2/getDidByCookieId`;\n const res = await this.$axios?.$$get?.(path, {\n ...config,\n params: data,\n });\n return res;\n }\n}\n\nexport const SystemApi = new SystemApiService();\n","import cookies from 'js-cookie';\nimport queryString from 'query-string';\nimport { SystemApi } from '@/api/system';\n\n// tools\nexport function nodeIsAppEnvironment() {\n return !!cookies?.get('pkg') && !!cookies?.get('appver');\n}\n\nexport function isTiny() {\n return /^\\/tiny\\/.*/.test(window.location.pathname || '');\n}\n\n// Test\nexport function getNotExecuteRedirectQuey(key: string) {\n const parsed = queryString.parse(window.location.search);\n return parsed[key];\n}\n\n// get pwaSource\nexport function getPwaSource() {\n const parsed = queryString.parse(window.location.search);\n return parsed.pwa_source;\n}\n\nexport function isFilmHost() {\n return window.location.host === 'www.kwai.film';\n}\n\nexport function changeDidWithDeviceID(deviceID: string) {\n cookies.set('did', deviceID);\n}\n\nexport async function getCkid(app: any) {\n const { status, data } = await app.$axios.$$get(`https://ads.mythad.com/rest/n/adintl/ad/getCkid`, { withCredentials: true });\n if (status === 200 && data) {\n return data;\n }\n}\n\nconst getDeviceId = async ({ webDid, ckid }: { webDid?: string; ckid?: string }) => {\n if (ckid) {\n const res = await SystemApi.getDidByCookieId({ cookieId: ckid });\n return res;\n }\n const res = await SystemApi.getDidByWebDid({ webDid });\n return res;\n};\n\nexport async function getDeviceIDByWebDid(app: any, webDid?: string | undefined, ckid?: string | undefined) {\n if (!webDid && !ckid) {\n // console.log('ids-utils', 'client', 'webDid and ckid is null', webDid, ckid);\n return;\n }\n const { result, data } = (await getDeviceId({ webDid, ckid })) || {};\n // console.log('ids-utils', 'client', 'result & data', result, data);\n let deviceId;\n let redirectAB;\n if (result === 1) {\n // const data = { redirectAB: 'share', white: 'true', deviceId: 'ANDROID_f89df9ed896e511f' };\n deviceId = data.deviceId;\n redirectAB = data.redirectAB;\n const testDevideId = getNotExecuteRedirectQuey('test_deviceId');\n const testRedirectab = getNotExecuteRedirectQuey('test_redirectab');\n if (testDevideId) {\n deviceId = testDevideId;\n }\n if (testRedirectab) {\n redirectAB = testRedirectab;\n }\n }\n return { deviceId, redirectAB };\n}\n\nexport const checkWebDidCollect = () => {\n const _webDid_collect = cookies.get('_webDid_collect');\n if (!_webDid_collect) {\n cookies.set('_webDid_collect', '1');\n return false;\n }\n return true;\n};\n","// style-loader: Adds some css to the DOM by adding a