{"version":3,"sources":["webpack://_N_E/./new/home/services/home.ts","webpack://_N_E/./lib/fetch-feed.ts","webpack://_N_E/./components/floor/floor-tab-title.tsx","webpack://_N_E/./node_modules/core-js/modules/es.map.js","webpack://_N_E/./new/home/components/common-top-text-card/index.tsx","webpack://_N_E/./node_modules/core-js/modules/es.array.find.js","webpack://_N_E/./components/statement-new.tsx","webpack://_N_E/./new/home/components/friendship-link/index.tsx","webpack://_N_E/./new/home/components/home-feed/index.tsx","webpack://_N_E/./node_modules/core-js/modules/es.promise.finally.js"],"names":["PGC_CAGETORY_SROUCE","getHomeOriginal","req","a","fetch","getUrl","json","status","Error","prompts","message","data","getHomeVideo","friendshipLinkData","console","error","getPGCVideoRank","list","getPGCArticleRank","getPGCCategoryList","source","VIDEO","getLiveRoomList","cityName","live_list","getLiveTabsList","getTodayNews","Array","isArray","getFocusPic","params","extraParams","category","window","localStorage","getItem","city","city_name","selected_city_name","defaultParams","impression_info","JSON","stringify","page_id","sub_tab","product_name","car_series_id","concern_id","aid","refer","channel","device_platform","web_id","getFakeWebid","motor_feed_extra_params","max_behot_time","Object","assign","count","url","serializeObject","then","result","FloorTabTitle","className","title","navList","onChange","onTitleClick","useState","swiper","setSwiper","find","item","active","length","link","setList","handleMouseOver","useCallback","e","id","currentTarget","dataset","hitItem","hiteIndex","newList","map","index","slideNext","slidePrev","onClick","spaceBetween","watchOverflow","slidesPerView","preventClicks","onSwiper","simulateTouch","loop","resizeObserver","style","width","key","data-id","onMouseOver","label","collection","collectionStrong","module","exports","init","this","arguments","undefined","List","teaParams","props","href","target","sendTeaCommEvent","group_id","rank","formatNumber","viewCount","$","$find","addToUnscopables","arrayMethodUsesToLength","SKIPS_HOLES","USES_TO_LENGTH","proto","forced","callbackfn","Statement","year","Date","getFullYear","rel","event_id","module_id","button_name","PubSub","publish","FriendshipLink","setFriendshipLinkData","useEffect","getFriendshipLinkData","friendshipLink","name","tabs","HomeFeed","articlePGCRankData","setArticlePGCRankData","conditionRef","useRef","loadCacheRef","timerRef","loading","setLoading","videoList","setVideoList","useResponsive","useInView","threshold","ref","inView","refRelate","inViewRelate","res","handleChange","isIinit","current","clearTimeout","setTimeout","fetchId","Math","random","initLoading","cacheData","playLoad","tt_from","fetchFeed","filter","duplicate","loadMoreHandler","info","behot_time","concat","finally","end","order","uniqueIdStr","unique_id_str","coverUrl","repost_info","image_url","duration","video_duration","avatar","user_info","avatar_url","publishTime","publish_time","videoWatchCount","video_detail_info","video_watch_count","read_count","userId","user_id","userVerified","user_verified","authorTeaParams","contentTeaParams","module_title","IS_PURE","NativePromise","fails","getBuiltIn","speciesConstructor","promiseResolve","redefine","real","prototype","call","onFinally","C","isFunction","x"],"mappings":"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","file":"static/chunks/995b8bc84e58a17c05dbb474cf935ca7b3e32630.f53698222df97b0b66c2.js","sourcesContent":["import fetch from 'lib/decorated-fetch'\nimport getUrl from 'lib/url'\n\nexport interface ICommonVideoInfo {\n cover_url: string\n video_id: string\n video_watch_count: number\n video_type: number\n video_duration: number\n video_size: string\n}\n\nexport interface ICommonUserInfo {\n avatar_url: string\n name: string\n description: string\n user_id: 4661945771\n user_verified: boolean\n verified_content: string\n motor_auth_show_info: {\n auth_v_type: number\n auth_v_desc: string\n }\n}\n\nexport interface ICommonColumn {\n id: 225\n uid: number\n mid: number\n logo: string\n name: string\n description: string\n modify_time: number\n create_time: number\n episode: number\n introduction: string\n}\n\nexport interface ICommonVideoData {\n unique_id_str: string\n title: string\n publish_time: number\n video_info: ICommonVideoInfo\n column: ICommonColumn\n}\n\nexport const getHomeOriginal = async (req: any) => {\n const json = await fetch(\n getUrl(`/motor/pc/content/home_original?count=30`, 'motor.pc_content.api'),\n {\n req,\n }\n )\n\n if (0 !== json?.status) {\n throw Error(json?.prompts || json.message)\n }\n\n return json?.data\n}\n\nexport enum PGC_CAGETORY_SROUCE {\n VIDEO = 1,\n VIDEO_HOME = 2,\n}\n\nexport interface IHomeVideoData {\n unique_id_str: string\n video_info: ICommonVideoInfo\n user_info: ICommonUserInfo\n column: ICommonColumn\n}\n\nexport const getHomeVideo = async (req: any) => {\n const json = await fetch(\n getUrl(\n `/motor/pc/content/home_video?count=48&source=1`,\n 'motor.pc_content.api'\n ),\n {\n req,\n }\n )\n\n if (0 !== json?.status) {\n throw Error(json?.prompts || json.message)\n }\n\n return json?.data\n}\n\nexport const friendshipLinkData = async (req: any) => {\n try {\n const json = await fetch(\n getUrl('/cloud/api/invoke/get_pc_friendship_link'),\n { req }\n )\n return json || []\n } catch (err) {\n console.error(err)\n return []\n }\n}\n\nexport interface ICommonContentRankItem {\n title: string\n count: number\n format_count: string\n group_id: string\n}\n\nexport const getPGCVideoRank = async (req: any) => {\n const json = await fetch(\n getUrl(\n '/motor/pc/content/pgc_content_rank?rank_type=pgc_video_total_rank',\n 'motor.pc_content.api'\n ),\n { req }\n )\n if (0 !== json?.status) {\n throw Error(json?.prompts || json.message)\n }\n return json?.data?.list\n}\n\nexport const getPGCArticleRank = async (req: any) => {\n const json = await fetch(\n getUrl(\n '/motor/pc/content/pgc_content_rank?rank_type=pgc_article_total_rank',\n 'motor.pc_content.api'\n ),\n { req }\n )\n if (0 !== json?.status) {\n throw Error(json?.prompts || json.message)\n }\n return json?.data?.list\n}\n\nexport const getPGCCategoryList = async (\n req: any,\n source: number = PGC_CAGETORY_SROUCE.VIDEO\n) => {\n const json = await fetch(\n getUrl(\n `/motor/pc/content/all_category_list?source=${source}`,\n 'motor.pc_content.api'\n ),\n { req }\n )\n if (0 !== json?.status) {\n throw Error(json?.prompts || json.message)\n }\n return json?.data\n}\n\nexport interface ILiveRoomItem {\n type: string\n room_id: string\n popularity: number\n title: string\n cover_url: string\n user_id: string\n user_name: string\n avatar: string\n rtmp_pull_url: string\n user_verified: boolean\n city_name: string\n}\nexport const getLiveRoomList = async (\n req: any,\n cityName = '',\n selectedCityName = ''\n) => {\n const json = await fetch(\n getUrl(\n `/motor/pc/common/home_live_rooms?count=48&city_name=${cityName}&selected_city_name=${cityName}`,\n 'motor.pc_common.api'\n ),\n { req }\n )\n if (0 !== json?.status) {\n throw Error(json?.prompts || json.message)\n }\n return json?.data?.live_list\n}\n\nexport interface ILiveBrandItem {\n brand_id: string\n brand_name: string\n logo: string\n}\nexport const getLiveTabsList = async (req: any) => {\n const json = await fetch(\n getUrl('/motor/pc/common/live_tabs', 'motor.pc_common.api'),\n { req }\n )\n if (0 !== json?.status) {\n throw Error(json?.prompts || json.message)\n }\n return json?.data\n}\n\nexport const getTodayNews = async (req: any) => {\n try {\n const json = await fetch(\n getUrl('/motor/pc/common/rcm_articles', 'motor.pc_common.api'),\n {\n req,\n }\n )\n let data = json?.data || []\n if (!Array.isArray(data)) {\n data = []\n }\n return data\n } catch (err) {\n console.error(err)\n return []\n }\n}\n\nexport const getFocusPic = async (req: any) => {\n try {\n const json = await fetch(\n getUrl('/motor/pc/common/home/focus_pic', 'motor.pc_common.api'),\n {\n req,\n }\n )\n return json?.data || []\n } catch (err) {\n return []\n }\n}\n\nexport const getFeedData = async (req: any) => {\n const json = await fetch(\n getUrl(\n '/motor/stream_entrance/get_feed/v47/?tt_from=enter_auto&category=motor_car_use&sub_category=&impression_info=%7B\"page_id\"%3A\"page_car_series\"%2C\"sub_tab\"%3A\"motor_car_use\"%2C\"product_name\"%3A\"web\"%7D&aid=1839&refer=1&channel=web&device_platform=web&web_id=5999794205218462&motor_feed_extra_params=%7B\"new_feed\"%3A%20true%2C%20\"feed_type\"%3A%201%7D&source=pc',\n 'motor.stream.entrance'\n ),\n { req }\n )\n return json?.data\n}\n","// feed流接口\n\nimport fetch from 'lib/decorated-fetch'\nimport serializeObject from '@arsenal/arsenal/modules/serializeObject'\nimport getUrl from './url'\nimport getFakeWebid from 'lib/fake-webid'\nimport { IUser } from 'Components/ugc/user'\nimport { IUserInfo } from './fetch-community-feed'\n\nexport interface IParams {\n // 下拉刷新时需要改变\n tt_from: 'enter_auto' | 'load_more' | ''\n // 频道\n category: string\n // 子频道\n sub_category?: string\n /* 车系id */\n concern_id?: number\n // 数量\n count?: number\n // 加载更多时最后一条数据的behot_time.\n max_behot_time?: number\n min_behot_time?: number\n motor_feed_extra_params?: string\n impression_info?: string\n}\n\n/**\n * feed流单个数据\n */\nexport interface IFeedData {\n type: number\n unique_id_str: string\n duplicate?: boolean\n info: {\n abstract_content: string\n source: string\n title: string\n group_id: string\n video_id?: string\n video_duration: number\n image_list: [\n {\n url: string\n width: number\n height: number\n url_list: { url: string }[]\n }\n ]\n repost_info?: {\n image_url?: string\n }\n read_count: number\n comment_count: number\n digg_count: number\n user_digg: boolean\n article_type: number\n behot_time: number\n display_time: number\n publish_time: number\n user_info: IUserInfo\n user_verified?: boolean\n cursor: number\n share_url: string\n video_detail_info: {\n detail_video_large_image: {\n url: string\n }\n }\n }\n}\n\n/**\n * feed流返回数据\n */\nexport interface IFeedResult {\n tips: {\n display_info: string\n }\n data: IFeedData[]\n}\n\nexport default (params: IParams, req?: any): Promise => {\n const { category } = params\n let extraParams = {}\n if (category === 'motor_local') {\n const cityName = window.localStorage.getItem('cityName') || ''\n extraParams = {\n city: cityName,\n city_name: cityName,\n selected_city_name: cityName,\n }\n }\n\n const defaultParams = {\n impression_info:\n params.impression_info ||\n JSON.stringify({\n page_id: 'page_car_series',\n sub_tab: params.category,\n product_name: 'web',\n car_series_id: params.concern_id,\n }),\n concern_id: params.concern_id,\n aid: '1839',\n refer: 1,\n channel: 'web',\n device_platform: 'web',\n web_id: getFakeWebid(),\n motor_feed_extra_params:\n params.motor_feed_extra_params ||\n '{\"new_feed\": true, \"feed_type\": 1, \"source_from\": \"web_pc\"}',\n source: 'pc',\n }\n if (params.max_behot_time) {\n Object.assign(defaultParams, {\n max_behot_time: params.max_behot_time,\n })\n }\n if (params.count) {\n Object.assign(defaultParams, {\n count: params.count,\n })\n }\n // console.log(params)\n const url = getUrl(\n `/motor/stream_entrance/get_feed/v47/?${serializeObject(\n params\n )}&${serializeObject({ ...defaultParams, ...extraParams })}`,\n 'automobile.apigateway.proxy'\n )\n return fetch(url, { req }).then((result: Partial | null) => {\n if (!result || !result.data) {\n throw new Error(`Get Feed Error ${JSON.stringify(result)}`)\n }\n // if (params.category === 'video') {\n // result.data = result.data.filter(item => item.info.video_id)\n // }\n return result as IFeedResult\n })\n}\n","import React, { useCallback, useState } from 'react'\nimport { Swiper, SwiperSlide } from 'swiper/react'\n\ninterface IProps {\n className?: string\n title?: JSX.Element | string\n navList?: { link: string; label: string; icon?: string; active?: boolean }[]\n onChange?: (id: string, isIinit?: boolean) => void\n onTitleClick: () => void\n}\n\nconst FloorTabTitle: React.FC = ({\n className = '',\n title,\n navList = [],\n onChange,\n onTitleClick,\n}) => {\n const [swiper, setSwiper] = useState(null!)\n const [list, setList] = useState(() => {\n const hitItem = navList.find(item => item.active)\n if (!hitItem && navList.length > 0) {\n navList[0].active = true\n }\n onChange && onChange(navList[0]?.link, true)\n return navList\n })\n\n const handleMouseOver = useCallback(\n e => {\n const { id } = e.currentTarget.dataset\n const hitItem = list.find(item => item.active)\n if (hitItem && hitItem.link === id) {\n return\n }\n\n let hiteIndex = -1\n const newList = list.map((item, index) => {\n if (item.link === id) {\n hiteIndex = index\n }\n return {\n ...item,\n active: item.link === id ? true : false,\n }\n })\n\n setList(newList as any)\n onChange && onChange(id)\n\n if (hiteIndex / list.length > 0.5) {\n swiper.slideNext()\n } else {\n swiper.slidePrev()\n }\n },\n [onChange, list, swiper]\n )\n\n return (\n
\n {title && (\n
\n {title}\n
\n )}\n {list?.length > 0 && (\n
\n \n {list.map((item, index) => {\n return (\n \n \n {item.label}\n
\n \n )\n })}\n \n
\n
\n )}\n \n
\n )\n}\n\nexport default FloorTabTitle\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import React from 'react'\nimport formatNumber from '@arsenal/arsenal/modules/formatNumber'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\n\ninterface IProps {\n className?: string\n list: {\n id: string\n title: string\n link: string\n viewCount: number\n }[]\n teaParams: {[key:string]: string}\n [key:string]:any\n}\n\nconst List: React.FC = ({ className, list, teaParams, ...props }) => {\n return (\n
\n {list?.map((item, index) => {\n return (\n {\n if(!teaParams){\n return;\n }\n sendTeaCommEvent('clk_event', Object.assign(teaParams, {\n group_id: item.id,\n rank: index+''\n }))\n }}\n >\n
\n
\n
{item?.title}
\n
{formatNumber(item.viewCount)}次观看
\n
\n \n )\n })}\n \n
\n )\n}\n\nexport default List;\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","/* 声明文件 */\nimport React, { useState } from 'react'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport PubSub from 'pubsub-js'\nexport default function Statement() {\n const year = new Date().getFullYear()\n return (\n
\n

© {year} 懂车帝

\n

www.dongchedi.com

\n

\n \n 京公网安备 11010802026035号\n \n

\n

\n \n 京ICP备17027026号-3\n \n

\n

\n \n 增值电信业务经营许可证(京B2-20180202)\n \n

\n

\n \n 广播电视节目制作经营许可证\n \n

\n

网络文化经营许可证-京网文(2019)4715-493号

\n

公司名称:北京空间变换科技有限公司

\n

\n \n 中央网信办违法和不良信息举报中心\n \n

\n

违法和不良信息举报电话:400-140-2108

\n

\n \n 懂车帝用户协议\n {' '}\n |{' '}\n \n 懂车帝隐私政策\n {' '}\n |{' '}\n \n 营业执照\n \n

\n

\n {\n sendTeaCommEvent('clk_event', {\n page_id: 'page_main_new',\n event_id: 'related_module_bottom_link',\n module_id: 'related_module',\n button_name: '侵权投诉',\n })\n }}\n >\n 侵权投诉\n {' '}\n |{' '}\n {\n PubSub.publish('OPEN_FEEDBACK')\n sendTeaCommEvent('clk_event', {\n page_id: 'page_main_new',\n event_id: 'related_module_bottom_link',\n module_id: 'related_module',\n button_name: '我要反馈',\n })\n }}\n >\n 我要反馈\n {' '}\n |{' '}\n {\n sendTeaCommEvent('clk_event', {\n page_id: 'page_main_new',\n event_id: 'related_module_bottom_link',\n module_id: 'related_module',\n button_name: '加入我们',\n })\n }}\n >\n 加入我们\n \n

\n \n
\n )\n}\n","import React, { useEffect, useState } from 'react'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { friendshipLinkData as getFriendshipLinkData } from '../../services/home'\n\ninterface IFriendshipLink {\n friendshipLinkData: IFriendshipLinkData[]\n}\n\nexport interface IFriendshipLinkData {\n name: string\n link: string\n}\n\nfunction FriendshipLink() {\n const [friendshipLinkData, setFriendshipLinkData] = useState([]!);\n\n useEffect(() => {\n const init = async () => {\n try {\n const list = await getFriendshipLinkData(null)\n setFriendshipLinkData(list);\n }\n catch(e) {\n\n }\n }\n init();\n }, [])\n\n if (!friendshipLinkData || !friendshipLinkData.length) return null\n return (\n
\n
\n {friendshipLinkData?.map((friendshipLink: IFriendshipLinkData) => {\n return (\n {\n sendTeaCommEvent('clk_event', {\n page_id: 'page_main_new',\n event_id: 'related_module_company_link',\n module_id: 'related_module',\n button_name: friendshipLink.name\n })\n }}\n >\n {friendshipLink.name}\n \n )\n })}\n
\n \n
\n )\n}\n\nexport default FriendshipLink\n","import React, { useCallback, useRef, useState, useEffect } from 'react'\nimport FeedItem from './item'\nimport {\n ICommonVideoData,\n ICommonContentRankItem,\n getPGCArticleRank,\n} from '../../services/home'\nimport FloorTabTitle from 'Components/floor/floor-tab-title'\nimport CommonTopTextCard from '../common-top-text-card'\nimport Statement from 'Components/statement-new'\nimport FriendshipLink, { IFriendshipLinkData } from '../friendship-link'\nimport ScrollLoader from 'Components/scroll-loader'\nimport Loading from 'Components/loading'\nimport fetchFeed, { IFeedData, IParams } from 'lib/fetch-feed'\nimport { useResponsive } from 'Components/hooks/use-responsive'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { useInView } from 'react-intersection-observer'\nimport fakeBehottime from 'lib/fake-feed-behottime'\n\ninterface IProps {\n friendshipLinkData: IFriendshipLinkData[]\n}\n\nexport const tabs = [\n {\n id: 'motor_car',\n label: '推荐',\n },\n {\n id: 'motor_car_new_arrival',\n label: '新车',\n },\n {\n id: 'motor_local',\n label: '本地',\n },\n {\n id: 'motor_car_new_guide',\n label: '导购',\n },\n {\n id: 'motor_car_suv',\n label: 'SUV',\n },\n {\n id: 'motor_industry',\n label: '行业',\n },\n {\n id: 'motor_car_new_energy',\n label: '新能源',\n },\n {\n id: 'motor_car_motorcycle',\n label: '摩托车',\n },\n {\n id: 'motor_car_independent_brand',\n label: '中国品牌',\n },\n {\n id: 'motor_car_use',\n label: '用车',\n },\n {\n id: 'motor_car_evaluating',\n label: '试车',\n },\n {\n id: 'motor_car_trail_diary',\n label: '提车作业',\n },\n {\n id: 'motor_car_travel',\n label: '自驾游',\n },\n {\n id: 'motor_car_offroad',\n label: '越野',\n },\n {\n id: 'motor_car_modification',\n label: '改装',\n },\n]\n\nconst HomeFeed: React.FC = ({ friendshipLinkData }) => {\n const [articlePGCRankData, setArticlePGCRankData] = useState<\n ICommonContentRankItem[]\n >([])\n const conditionRef = useRef<{\n id: string\n fetchId: number\n initLoading: boolean\n }>()\n const loadCacheRef = useRef<{ [key: string]: any }>({})\n const timerRef = useRef()\n const [loading, setLoading] = useState(false)\n const [videoList, setVideoList] = useState([])\n const responsive = useResponsive()\n const [ref, inView] = useInView({\n threshold: 0,\n })\n const [refRelate, inViewRelate] = useInView({\n threshold: 0,\n })\n\n useEffect(() => {\n const init = async () => {\n const res = await getPGCArticleRank(null)\n setArticlePGCRankData(res)\n }\n init()\n }, [])\n useEffect(() => {\n if (inView) {\n sendTeaCommEvent('show_event', {\n page_id: 'page_main_new',\n event_id: 'common_conponent_module',\n module_id: 'feed_module',\n })\n sendTeaCommEvent('show_event', {\n page_id: 'page_main_new',\n event_id: 'common_conponent_module',\n module_id: 'group_rank_module',\n })\n }\n }, [inView])\n\n useEffect(() => {\n if (inViewRelate) {\n sendTeaCommEvent('show_event', {\n page_id: 'page_main_new',\n event_id: 'common_conponent_module',\n module_id: 'related_module',\n })\n }\n }, [inViewRelate])\n\n const handleChange = useCallback((id, isIinit) => {\n if (timerRef.current) {\n window.clearTimeout(timerRef.current)\n }\n timerRef.current = setTimeout(async () => {\n if (!isIinit) {\n sendTeaCommEvent('hover_event', {\n page_id: 'page_main_new',\n event_id: 'feed_module_nav',\n module_id: 'feed_module',\n button_name: id,\n })\n }\n\n const fetchId = Math.random()\n conditionRef.current = { id, fetchId, initLoading: true }\n setLoading(false)\n\n const cacheData = loadCacheRef?.current[conditionRef?.current?.id]\n if (cacheData) {\n setVideoList(cacheData)\n conditionRef.current.initLoading = false\n return\n }\n\n setLoading(true)\n setVideoList([])\n //conditionRef.current.initLoading = true;\n const playLoad: IParams = {\n tt_from: 'enter_auto',\n category: conditionRef?.current?.id,\n count: 24,\n }\n\n //feed 接口用的mobile的,无法支持分页,且每次请求参数依赖上次behot_time字段,只有串行加载, 待后端优化\n const result = await fetchFeed(playLoad)\n result.data = result?.data.filter((item: IFeedData) => !item.duplicate)\n\n if (conditionRef?.current?.fetchId !== fetchId) {\n return\n }\n setLoading(false)\n setVideoList(result.data)\n conditionRef.current.initLoading = false\n\n if (conditionRef?.current?.id && loadCacheRef?.current) {\n loadCacheRef.current[conditionRef?.current?.id] = result.data\n }\n }, 200)\n }, [])\n\n /* 懒加载 */\n const loadMoreHandler = () => {\n if (\n !conditionRef?.current?.id ||\n loading ||\n conditionRef.current.initLoading\n ) {\n return\n }\n setLoading(true)\n\n fetchFeed({\n tt_from: 'load_more',\n category: conditionRef?.current?.id,\n count: 20,\n max_behot_time: videoList?.[videoList?.length - 1]?.info?.behot_time,\n })\n .then((res) => {\n const list = res?.data?.filter((item: IFeedData) => !item.duplicate)\n const newList = videoList?.concat(list)\n setVideoList(newList)\n\n if (\n conditionRef?.current?.id &&\n loadCacheRef.current[conditionRef?.current?.id]\n ) {\n loadCacheRef.current[conditionRef?.current?.id] = newList\n }\n })\n .finally(() => {\n setLoading(false)\n })\n }\n\n return (\n
\n
\n
\n 0}\n navList={tabs.map((item) => ({\n link: item.id,\n label: item.label,\n }))}\n onChange={handleChange}\n />\n \n
\n {videoList?.map((item: any, index: number) => {\n return (\n
\n \n
\n )\n })}\n
\n {loading ? : null}\n \n
\n
\n
\n {\n sendTeaCommEvent('clk_event', {\n page_id: 'page_main_new',\n event_id: 'group_rank_module_title',\n module_id: 'group_rank_module',\n module_title: '文章排行榜',\n })\n }}\n />\n ({\n id: item?.group_id,\n link: `/article/${item?.group_id}`,\n title: item?.title,\n viewCount: item?.count,\n }))}\n />\n
\n
\n 0} />\n \n
\n \n
\n
\n
\n )\n}\n\nexport default HomeFeed\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n"],"sourceRoot":""}