{"version":3,"file":"pages-video-index-1b728334.js","sources":["../../../../../src/components/page/video/swiper.vue","../../../../../src/components/page/video/hooks/home-list.ts","../../../../../src/components/page/video/home-list.vue","../../../../../src/pages/video/hooks/index.ts","../../../../../src/pages/video/index.vue"],"sourcesContent":["\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ v.title }}\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import { isClient } from '@qcwp/utils'\r\nimport { ARTICLE_TYPE } from '@qcwp/common'\r\nimport { remToPx } from '~~/src/common/theme/naive'\r\nimport { LogicArticleList } from '~~/src/logic/article/list'\r\nimport { useCustomInfiniteScroll } from '~~/src/components/base/list/hooks/useInfiniteScroll'\r\nimport { LogicLivePolymer } from '~~/src/logic/video/live-list-polymer'\r\n\r\nexport function useVideoTabs() {\r\n const tabNavRef = ref(null)\r\n const tabs = ['视频', '直播']\r\n const currentTab = ref(0)\r\n // const scrollTops = ref([0, 0])\r\n const initOffsetTop = ref(0)\r\n\r\n function scrollHandle(oldIndex: number, newIndex: number) {\r\n if (!tabNavRef.value || !isClient)\r\n return\r\n // scrollTops.value[oldIndex] = document.documentElement.scrollTop || document.body.scrollTop\r\n // const preScrollValue = scrollTops.value[newIndex]\r\n // const newScrollValue = (preScrollValue && preScrollValue > initOffsetTop.value)\r\n // ? preScrollValue\r\n // : initOffsetTop.value\r\n nextTick(() => {\r\n window.scrollTo(0, initOffsetTop.value)\r\n })\r\n }\r\n function tabActiveChange(index: number) {\r\n scrollHandle(currentTab.value, index)\r\n currentTab.value = index\r\n }\r\n\r\n let stop = watch(tabNavRef, () => {\r\n if (tabNavRef.value && isClient)\r\n initOffsetTop.value = tabNavRef.value.offsetTop - remToPx(3)\r\n })\r\n onUnmounted(() => {\r\n stop?.()\r\n stop = null!\r\n })\r\n\r\n return {\r\n tabNavRef,\r\n tabs,\r\n currentTab,\r\n tabActiveChange,\r\n }\r\n}\r\n\r\nexport function useVideoHomeListComponent() {\r\n const params = { articleType: `${ARTICLE_TYPE.VIDEO},${ARTICLE_TYPE.LINK_VIDEO}` as ARTICLE_TYPE }\r\n const { currentTab, tabActiveChange, tabs } = useVideoTabs()\r\n // video list\r\n const {\r\n PAGE_SIZE: videoPageSize,\r\n list: videoPageList,\r\n state: videoPageState,\r\n pagination: videoPagePagination,\r\n serverHandler: getVideoPageServerHandler,\r\n clientHandler: getVideoPageClientHandler,\r\n } = LogicArticleList()\r\n\r\n const {\r\n initHandle: initLiveHandle,\r\n startLiveList,\r\n startPagePagination,\r\n getStartLive,\r\n livePageList,\r\n livePagePagination,\r\n getLivePage,\r\n // 直播回放\r\n oldList,\r\n liveOldPagination,\r\n getLiveOld,\r\n } = LogicLivePolymer()\r\n\r\n async function initHandle() {\r\n const promises = [\r\n getVideoPageServerHandler(params),\r\n initLiveHandle(),\r\n ]\r\n await Promise.all(promises)\r\n }\r\n\r\n const currentTabPagination = computed(() => {\r\n switch (currentTab.value) {\r\n case 0:\r\n return videoPagePagination\r\n case 1:\r\n return liveOldPagination\r\n }\r\n })\r\n const currentTabLoadState = computed(() => currentTabPagination.value?.pagination?.status)\r\n function getData() {\r\n if (currentTab.value === 0)\r\n getVideoPageClientHandler?.(params)\r\n else if (currentTab.value === 1)\r\n getLiveOld?.()\r\n }\r\n\r\n function refreshData() {\r\n if (currentTab.value === 0) {\r\n getVideoPageClientHandler(params, undefined, true)\r\n }\r\n else if (currentTab.value === 1) {\r\n getLivePage(true)\r\n getStartLive(true)\r\n getLiveOld(true)\r\n }\r\n }\r\n\r\n onMounted(() => {\r\n let scrollStop: any = null\r\n\r\n const watchEffectStopHandle = watchEffect(() => {\r\n scrollStop = useCustomInfiniteScroll(isClient ? document : undefined, getData, { distance: 10, direction: 'bottom' })\r\n })\r\n\r\n onUnmounted(() => {\r\n watchEffectStopHandle?.()\r\n scrollStop?.()\r\n })\r\n })\r\n\r\n return {\r\n currentTab,\r\n tabActiveChange,\r\n tabs,\r\n currentTabPagination,\r\n currentTabLoadState,\r\n getCurrentTabList: getData,\r\n\r\n videoPageParams: params,\r\n videoPageSize,\r\n videoPageList,\r\n videoPageState,\r\n videoPagePagination,\r\n\r\n // 直播中\r\n startLiveList,\r\n startPagePagination,\r\n startPageState: computed(() => startPagePagination?.pagination?.status),\r\n getLivePage,\r\n // 直播预告\r\n livePageList,\r\n livePagePagination,\r\n livePageState: computed(() => livePagePagination?.pagination?.status),\r\n getStartLive,\r\n // 直播回放\r\n oldList,\r\n refreshData,\r\n initHandle,\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n {{ v }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 正在直播\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ getLoadText(startPageState) }}\r\n \r\n \r\n \r\n \r\n 直播预告\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ getLoadText(livePageState) }}\r\n \r\n \r\n \r\n \r\n 往期直播\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ currentTabLoadState !== PaginationStatus.NO_MORE ? '加载更多' : '没有更多数据了' }}\r\n \r\n \r\n \r\n\r\n\r\n\r\n","import { ARTICLE_TYPE } from '@qcwp/common'\r\nimport { LogicSwiper } from '~~/src/logic/swiper'\r\nimport { BannerShowLocation } from '~~/src/server/modules/article/type'\r\nimport { LogicLiveList } from '~~/src/logic/video/live-list'\r\nexport function useVideoHomePage() {\r\n const params = { articleType: `${ARTICLE_TYPE.VIDEO},${ARTICLE_TYPE.LINK_VIDEO}` }\r\n const {\r\n list: liveRecommendList,\r\n serverHandler: liveRecommendServerHandler,\r\n } = LogicLiveList({ pageSize: 8 })\r\n // 轮播数据\r\n const SWIPER_PARAMS = { bannerShowLocation: BannerShowLocation.VIDEO, pageNum: 1, pageSize: 8 }\r\n const { swiperList, serverInitHandler: swiperServerInitHandler } = LogicSwiper()\r\n async function initHandle() {\r\n const promises = [\r\n swiperServerInitHandler(SWIPER_PARAMS),\r\n liveRecommendServerHandler({ liveRecom: '1' }),\r\n ]\r\n await Promise.all(promises)\r\n }\r\n return {\r\n params,\r\n swiperList,\r\n liveRecommendList,\r\n initHandle,\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 推荐视频\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 推荐直播\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n"],"names":["isDesktop","isMobile","useDevice","width","height","swiperActive","ref","swiperChangeHandle","index","getConfig","LogicConfig","isAutoPlay","props","swiperConfig","__temp","__restore","_withAsyncContext","error","timer","swiperInterval","isClient","onMounted","onUnmounted","useVideoTabs","tabNavRef","tabs","currentTab","initOffsetTop","scrollHandle","oldIndex","newIndex","nextTick","tabActiveChange","stop","watch","remToPx","useVideoHomeListComponent","params","ARTICLE_TYPE","videoPageSize","videoPageList","videoPageState","videoPagePagination","getVideoPageServerHandler","getVideoPageClientHandler","LogicArticleList","initLiveHandle","startLiveList","startPagePagination","getStartLive","livePageList","livePagePagination","getLivePage","oldList","liveOldPagination","getLiveOld","LogicLivePolymer","initHandle","promises","currentTabPagination","computed","currentTabLoadState","_b","_a","getData","refreshData","scrollStop","watchEffectStopHandle","watchEffect","useCustomInfiniteScroll","getLoadText","getPaginationStateText","getCurrentTabList","videoPageParams","startPageState","livePageState","__expose","useVideoHomePage","liveRecommendList","liveRecommendServerHandler","LogicLiveList","SWIPER_PARAMS","BannerShowLocation","swiperList","swiperServerInitHandler","LogicSwiper","siteMeta","useSite","VIDEO_HOME_SITE_META","newRef","refreshFn","useNuxtApp","useRoute"],"mappings":"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"}