{"version":3,"sources":["webpack:///./pages/video/_photoId.vue","webpack:///./pages/video/_photoId.vue?bd06","webpack:///./pages/video/_photoId.vue?b69e","webpack:///./pages/video/_photoId.vue?0737","webpack:///./api/seo.ts"],"names":["defineComponent","name","ComponentNameMap","VideoDetail","components","PwaVideoDetailShare","layout","ctx","$pwaLayout","setup","proxy","getCurrentInstance","sendPv","params","commonPvParams","defaultPageSource","isShareDetail","MobilePageSource","country","_c","_b","_a","$store","state","startup","countryInfo","user_id","cookies","get","immediateSendLog","type","value","_objectSpread","onMounted","_asyncToGenerator","regeneratorRuntime","mark","_callee","_d","_e","_f","_g","_h","webLogger","wrap","_context","prev","next","reportFMP","getKwaiLog","abTestModule","abTestParams","cache_exp","plugins","radar","customStage","setTimeout","tokenCollectedCallApp","stop","FeedPageEnum","asyncData","_callee3","seoData","metaInfoData","title","query","request_source","_yield$Promise$all","_yield$Promise$all2","seoRes","metaInfoRes","_context3","getDefaultTitle","Number","RequestSource","REQUEST_SOURCE_PWA_SHARE_SLIDE","_ref2","_callee2","_j","res","_context2","CrawlersApiRequest","getFeedList","count","store","FetchFeedListDefaultCount","mobile","REQUEST_SOURCE_PWA_VIDEO_DETAIL","photo_id_str","route","photoId","crawler","sent","abrupt","feeds","t0","apply","arguments","_slicedToArray","status","data","extractTitleFromMetaInfo","head","header","this","component","_vm","_self","_setupProxy","attrs","VideoDetailShare","SEOApiService","_createClass","_classCallCheck","$axios","axiosInstance","key","_getMetaInfo","config","$$post","call","_x","_x2","_getLdJson","_x3","_x4","_getTDKLdJson","_x5","_x6","SEOApi"],"mappings":"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","file":"pages/video/_photoId.ac9e7d1f9a81b2d940e0.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('PwaVideoDetailShare',{attrs:{\"feed-page\":_vm.isShareDetail ? _vm.FeedPageEnum.VideoDetailShare : _vm.FeedPageEnum.VideoDetail}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport cookies from 'js-cookie';\nimport { defineComponent, getCurrentInstance, onBeforeMount, onMounted } from 'vue';\nimport { commonPvParams, getTargetUrlFromWebOrDesktop } from '@/common/utils';\nimport { immediateSendLog, reportFMP, getKwaiLog } from '@/common/radar';\nimport { tokenCollectedCallApp } from '@/common/call-app';\nimport { extractTitleFromMetaInfo, getDefaultTitle, getLdJson, getMetaInfo, header } from '@/common/seo';\nimport { setCommonParamsCookiesInServer } from '@/common/common-params';\nimport { MobilePageSource, ComponentNameMap } from '@/constants/base';\nimport PwaVideoDetailShare from '@/pages/pwa-share-new/index.vue';\nimport { RequestSource } from '@/api/base';\nimport { FeedPageEnum } from '@/store/modules/feed';\nimport device from '@/common/device-info';\nimport { SEOApi } from '@/api/seo';\nimport { ABTestApi } from '@/api/ab-test';\nimport { CrawlersApiRequest } from '@/common/crawlers';\n\nexport default defineComponent({\n name: ComponentNameMap.VideoDetail,\n components: {\n PwaVideoDetailShare,\n },\n layout(ctx) {\n return ctx.$pwaLayout || 'default';\n },\n setup() {\n const { proxy } = getCurrentInstance() as { proxy?: Record };\n const sendPv = () => {\n const params = commonPvParams({ defaultPageSource: proxy?.isShareDetail ? MobilePageSource.PwaVideoDetailShare : 'detail' });\n\n // 获取启动config\n const country = proxy?.$store?.state?.startup?.countryInfo;\n const user_id = cookies.get('user_id');\n immediateSendLog({\n type: 'pv',\n name: proxy?.isShareDetail ? 'PWA_DETAIL_PAGE_SHARE' : 'PWA_DETAIL_PAGE',\n value: {\n country,\n user_id,\n ...params,\n },\n });\n };\n\n onMounted(async () => {\n reportFMP();\n sendPv();\n const webLogger = getKwaiLog();\n // 自定义性能指标上报\n if (proxy?.$store?.state?.abTestModule?.abTestParams?.cache_exp) {\n webLogger?.plugins?.radar?.customStage('custom_fmp_cache');\n } else {\n webLogger?.plugins?.radar?.customStage('custom_fmp');\n }\n setTimeout(() => {\n tokenCollectedCallApp(proxy);\n }, 10000);\n });\n\n return {\n FeedPageEnum,\n };\n },\n\n async asyncData(ctx) {\n let seoData = [];\n let metaInfoData = [];\n let title = getDefaultTitle(ctx);\n\n const query = (ctx?.query || {}) as {\n request_source?: string;\n pwa_source?: string;\n photoId?: string;\n share_device_id?: string;\n shareBucket?: string;\n };\n const { request_source } = query;\n const isShareDetail = Number(request_source) === RequestSource.REQUEST_SOURCE_PWA_SHARE_SLIDE;\n\n const getFeedList = async () => {\n try {\n const res = await CrawlersApiRequest.getFeedList({\n count: ctx?.store?.state?.abTestModule?.abTestParams?.FetchFeedListDefaultCount,\n mobile: true,\n request_source: RequestSource.REQUEST_SOURCE_PWA_VIDEO_DETAIL,\n photo_id_str: ctx?.route?.params?.photoId,\n crawler: ctx?.store?.state?.startup?.crawler,\n });\n\n return res?.feeds || [];\n } catch {\n return [];\n }\n };\n\n if (process.server) {\n setCommonParamsCookiesInServer({\n bucket: ctx.store.state.startup.bucket,\n host: ctx.req.headers.host,\n ctx,\n countryInfo: ctx.store.state.startup.countryInfo,\n });\n\n try {\n const url = `https://${ctx?.req?.headers?.host}${ctx?.route?.path}` || '';\n // 获取google ldjson 标签\n const seoPromise = SEOApi.getLdJson({ url });\n // // 获取meta info\n const metaInfoPromise = SEOApi.getMetaInfo({ url, locale: ctx.req.headers['accept-language'] });\n\n const [seoRes, metaInfoRes] = await Promise.all([seoPromise, metaInfoPromise]);\n\n if (seoRes.status === 200) {\n seoData = seoRes.data;\n }\n\n if (metaInfoRes.status === 200) {\n metaInfoData = metaInfoRes.data;\n title = extractTitleFromMetaInfo({ ctx, metaInfoData });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n return {\n isShareDetail,\n seoData,\n metaInfoData,\n title,\n };\n },\n\n head() {\n const head = header(this);\n return {\n ...head,\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!./_photoId.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!./_photoId.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./_photoId.vue?vue&type=template&id=710b788e&\"\nimport script from \"./_photoId.vue?vue&type=script&lang=ts&\"\nexport * from \"./_photoId.vue?vue&type=script&lang=ts&\"\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","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { AxiosRequestConfig } from 'axios';\nimport { NuxtAxiosInstance } from 'vue/types/vue';\nimport axiosInstance from './request';\n\ninterface GetMetaInfoRequest {\n url: string;\n pidStrList?: Array;\n locale?: string;\n}\n\ninterface GetLdJsonRequest {\n url: string;\n pidStrList?: Array;\n}\n\ninterface GetTDKLdJsonRequest {\n url: string;\n needTdk?: boolean;\n}\n\nclass SEOApiService {\n private $axios?: NuxtAxiosInstance;\n\n constructor() {\n this.$axios = axiosInstance;\n }\n\n async getMetaInfo(data: GetMetaInfoRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('overseaAPI::/rest/o/w/seo/metaInfo/getByType', data, config);\n\n return res;\n }\n\n async getLdJson(data: GetLdJsonRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('overseaAPI::/rest/o/w/seo/ldJson/getByType', data, config);\n\n return res;\n }\n\n async getTDKLdJson(data: GetTDKLdJsonRequest, config?: AxiosRequestConfig) {\n const res = await this.$axios?.$$post?.('overseaAPI::/rest/o/w/pwa/v2/tdkLdJson/get', data, config);\n\n return res;\n }\n}\n\nexport const SEOApi = new SEOApiService();\n"],"sourceRoot":""}