{"version":3,"sources":["webpack://_N_E/./components/links/series-detail.tsx","webpack://_N_E/./new/home/components/car-atlas/index.tsx","webpack://_N_E/./new/home/components/car-atlas/index.module.scss"],"names":["SeriesDetailLink","props","id","children","className","onClick","href","as","target","pageConfig","8","page","types","6","getCarAtlasData","req","params","limousine_pic_num","suv_pic_num","mpv_pic_num","energy_pic_num","panoramic_pic_num","total_pic_num","url","getUrl","serializeObject","fetch","catch","err","logger","message","json","data","cols","sm","md","lg","xl","rows","carList","value","text","link","useState","seriesList","setSeriesList","swiperCarList","setSwiperCarList","panoramicCarList","setPanoramicCarList","responsive","useResponsive","textLink","item","index","type","button_name","series_id","sendTeaCommEvent","event_id","car_series_id","car_series_name","series_name","rank","module_id","renderTextLine","style","useEffect","num","typeList","newEnergy","forEach","is_new_energy","push","series_type","result","isContinue","currentPageConfig","isAdd","tmp","length","concat","splice","computedCarList","batchedUpdates","nice_series_list","panoramic_car_list","init","prevEl","setPrevEl","nextEl","setNextEl","data-log-view-config","JSON","stringify","repeated","data-log-view","event","map","param","renderCar","slideCount","gap","slideClass","navigation","onSlideChange","activeIndex","material_url","cover_url","src","alt","lazy","width","height","layout","hoverTransition","autoPixelRatio","classnames","ref","buttonStyle","position","right","top","module_title","panoramicCar","rel","panoramic_url","includes","undefined","ns_cover_url","module","exports"],"mappings":"0LAUe,SAASA,EAAiBC,GAAe,IAC9CC,EAAqCD,EAArCC,GAAIC,EAAiCF,EAAjCE,SAAUC,EAAuBH,EAAvBG,UAAWC,EAAYJ,EAAZI,QACjC,OACE,SAAC,UAAD,CACEC,KAAI,qCAAgCJ,GACpCK,GAAE,uBAAkBL,EAAlB,cAFJ,UAIE,cACEE,UAAWA,EACXC,QAAO,8GAAE,WACPA,GAAWA,EAAQH,MAErBM,OAAO,SALT,SAOGL,Q,6YC+BHM,EAAsB,CAC1BC,EAAG,CACDC,KAAM,EACNC,MAAO,CAAC,EAAG,EAAG,EAAG,IAEnBC,EAAG,CACDF,KAAM,EACNC,MAAO,CAAC,EAAG,EAAG,EAAG,KAORE,EAAe,mCAAG,WAAOC,GAAP,oFACvBC,EAAS,CACbC,kBAAmB,GACnBC,YAAa,GACbC,YAAa,GACbC,eAAgB,GAChBC,kBAAmB,EACnBC,cAAe,IAEXC,GAAMC,OAAO,6BAAD,OACaC,IAAgBT,IAC7C,oBAX2B,UAaVU,OAAMH,EAAK,CAC5BR,QACCY,OAAM,SAACC,GAER,OADAC,SAAA,0CAA+CD,EAAIE,UAC5C,MAjBoB,cAavBC,EAbuB,OAmBvBC,GAAW,OAAJD,QAAI,IAAJA,OAAA,EAAAA,EAAMC,OAAQ,GAnBE,kBAoBtBA,GApBsB,2CAAH,sDAuBtBC,EAAyB,CAC7BC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJ,MAAO,GAGHC,EAAyB,CAC7BJ,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJ,MAAO,GAmaT,UAhaA,WACE,IAAME,EAAU,CACd,CACEC,MAAO,EACPC,KAAM,eACNC,KAAM,2DAER,CACEF,MAAO,EACPC,KAAM,MACNC,KAAM,2DAER,CACEF,MAAO,EACPC,KAAM,MACNC,KAAM,2DAER,CACEF,MAAO,EACPC,KAAM,eACNC,KAAM,2DAER,CACEF,MAAO,QACPC,KAAM,qBACNC,KAAM,+DAER,CACEF,MAAO,EACPC,KAAM,eACNC,KAAM,2DAER,CACEF,MAAO,EACPC,KAAM,eACNC,KAAM,2DAER,CACEF,MAAO,EACPC,KAAM,eACNC,KAAM,2DAER,CACEF,MAAO,EACPC,KAAM,eACNC,KAAM,4DA7CQ,GAiDkBC,cAAS,IAAtCC,EAjDW,KAiDCC,EAjDD,QAkDwBF,cAAwB,IAA3DG,EAlDW,KAkDIC,EAlDJ,QAmD8BJ,cAAS,IAAlDK,EAnDW,KAmDOC,EAnDP,KAqDZC,GAAaC,UAwFnB,SAASC,EACPC,EACAC,EACApD,EACAqD,EACAC,GAEA,OACE,cACEhD,OAAQ,SACRJ,UAAU,sBACVE,KAAI,8BAAkB+C,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAMI,UAAxB,mBAA4CF,GAAQ,MACxDlD,QAAS,YACPqD,QAAiB,YAAa,CAC5BC,SAAUzD,EACV0D,cAAe,GAAF,cAAKP,QAAL,IAAKA,OAAL,EAAKA,EAAMI,WACxBI,gBAAiBL,IAAW,OAAIH,QAAJ,IAAIA,OAAJ,EAAIA,EAAMS,aACtCC,KAAMT,EACNU,UAAW,oBACXR,YAAaA,GAAe,MAXlC,UAeE,iBAAMpD,UAAU,UAAhB,SAA2BoD,IAAW,OAAIH,QAAJ,IAAIA,OAAJ,EAAIA,EAAMS,iBAMtD,SAASG,EAAeZ,EAAWC,GACjC,OACE,iBAAKlD,UAAW8D,mBAAhB,WACE,cACE9D,UAAS,UAAK8D,kBAAL,wCADX,SAGGd,EAASC,EAAMC,EAAO,gCAAiC,OAE1D,eAAGlD,UAAW8D,mBAAd,UACGd,EAASC,EAAMC,EAAO,4BAA6B,KAAM,gBAD5D,IAEGF,EAASC,EAAMC,EAAO,4BAA6B,KAAM,gBAF5D,IAGGF,EAASC,EAAMC,EAAO,4BAA6B,KAAM,uBAtFlEa,gBAAU,WACR,IAAIC,EA1IM,EA2INlB,EAAW,SACbkB,EA3IQ,GAgGY,SAACA,EAAaxB,GACpC,IAAMyB,EAA4B,CAAC,GAAI,GAAI,IACrCC,EAA2B,GACvB,OAAV1B,QAAU,IAAVA,KAAY2B,SAAQ,SAAClB,IACnB,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAMmB,eACC,OAATF,QAAS,IAATA,KAAWG,KAAKpB,IAEhB,OAAIgB,QAAJ,IAAIA,OAAJ,EAAIA,EAAWhB,EAAKqB,eAClBL,EAAShB,EAAKqB,aAAaD,KAAKpB,MAI9B,OAARgB,QAAQ,IAARA,KAAUI,KAAKH,GAKf,IAJA,IAAIK,EAAwB,GACxBC,GAAa,EAEXC,EAAiB,OAAGpE,QAAH,IAAGA,OAAH,EAAGA,EAAa2D,GAhB2B,qBA2BrD,EATPU,GAAQ,EACRC,EAAqB,GACR,OAAjBF,QAAiB,IAAjBA,GAAA,UAAAA,EAAmBjE,aAAnB,SAA0B2D,SAAQ,SAAC/B,EAAOc,GAAU,SACtC,OAARe,QAAQ,IAARA,GAAA,UAAAA,EAAWf,UAAX,eAAmB0B,QAASxC,EAC9BsC,GAAQ,EAGVC,EAAMA,EAAIE,OAAJ,OAAWZ,QAAX,IAAWA,GAAX,UAAWA,EAAWf,UAAtB,aAAW,EAAmB4B,OAAO,EAAG1C,OAE5CsC,EACFH,EAAM,UAAGA,SAAH,aAAG,EAAQM,OAAOF,GAGxBH,GAAa,GAEL,QAAN,EAAAD,SAAA,eAAQK,UAA2B,OAAjBH,QAAiB,IAAjBA,OAAA,EAAAA,EAAmBlE,MAAOyD,IAC9CQ,GAAa,IAjBVA,GAAY,IAoBnB7B,EAAiB4B,GAQjBQ,CAAgBf,EAAKxB,GAAc,MAClC,CAACA,EAAD,OAAaM,QAAb,IAAaA,OAAb,EAAaA,EAAa,UAE7BiB,gBAAU,WAAM,wCACd,6GAEuBrD,EAAgB,MAFvC,OAEUkB,EAFV,QAGIoD,QAAe,WACbvC,GAAkB,OAAJb,QAAI,IAAJA,OAAA,EAAAA,EAAMqD,mBAAoB,IACxCpC,GAAwB,OAAJjB,QAAI,IAAJA,OAAA,EAAAA,EAAMsD,qBAAsB,OALtD,gDAQIzD,SAAA,0CACqC,KAAiBC,UAT1D,0DADc,0DAcdyD,KACC,IAtHe,OA0LU5C,cAA6B,MAAlD6C,EA1LW,KA0LHC,EA1LG,QA2LU9C,cAA6B,MAAlD+C,EA3LW,KA2LHC,EA3LG,KA6LlB,OACE,iBAEEvF,UAAW8D,yBACX0B,uBAAsBC,KAAKC,UAAU,CACnCC,UAAU,IAEZC,gBAAeH,KAAKC,UAAU,CAC5BG,MAAO,aACPjF,OAAQ,CACN2C,SAAU,0BACVK,UAAW,uBAVjB,WAcE,gBAAK5D,UAAW8D,iBAAhB,UACE,iBAAK9D,UAAU,oCAAf,WACE,iBAAKA,UAAS,UAAK8D,WAAL,YAAwBA,yBAAtC,WACE,gBAAK9D,UAAS,UAAK8D,UAAL,OAAd,UACE,cACE1D,OAAQ,SACRF,KAAK,WACLD,QAAS,YACPqD,QAAiB,YAAa,CAC5BC,SAAU,0BACVK,UAAW,uBANjB,yCAaF,iBAAK5D,UAAW8D,mBAAhB,iBACG3B,QADH,IACGA,OADH,EACGA,EAAS2D,KAAI,SAAC7C,EAAgBC,GAAjB,OArG1B,SAAmB6C,EAAiB7C,GAClC,OACE,cAEE9C,OAAQ,SACRJ,UAAS,UAAK8D,wBAAL,OACT5D,KAAM6F,EAAMzD,KACZrC,QAAS,YACPqD,QAAiB,YAAa,CAC5BC,SAAU,6BACVK,UAAW,oBACXR,YAAa2C,EAAM1D,QATzB,SAaG0D,EAAM1D,MAbT,UACUa,EADV,YACmB6C,EAAM3D,QAmGf4D,CAAU/C,EAAMC,OAElB,eACE9C,OAAQ,SACRJ,UAAW8D,SACX5D,KAAK,0DACLD,QAAS,YACPqD,QAAiB,YAAa,CAC5BC,SAAU,6BACVK,UAAW,oBACXR,YAAa,kBARnB,0BAaE,cAAGpD,UAAS,UAAK8D,iBAAL,iCAIlB,iBACE9D,UAAS,UAAK8D,yBAAL,4BADX,WAGE,SAAC,IAAD,CACEmC,YAAyB,OAAbvD,QAAa,IAAbA,OAAA,EAAAA,EAAekC,SAAU,EACrC/C,KAAMA,EACNK,KAAMA,EACNgE,IAAK,GACLC,WAAW,0BACXC,WAAY,CACVhB,SACAE,UAEFe,cAAe,YACb/C,QAAiB,YAAa,CAC5BC,SAAU,2BACVK,UAAW,uBAbjB,SAiBG,YAA4B,IAAzBV,EAAyB,EAAzBA,MAAOoD,EAAkB,EAAlBA,YACHrD,EAAI,OAAGP,QAAH,IAAGA,OAAH,EAAGA,EAAgBQ,GAC7B,OAAoB,OAAbR,QAAa,IAAbA,OAAA,EAAAA,EAAekC,SACpB,gBAAK5E,UAAW8D,qBAAhB,UACE,iBACE9D,UAAS,UAAK8D,wBAAL,YAAkCA,wBAAlC,oBADX,WAGE,SAAC,IAAD,CACEhE,GAAE,iBAAKmD,QAAL,IAAKA,OAAL,EAAKA,EAAMI,WACbpD,QAAS,YACPqD,QAAiB,YAAa,CAC5BC,SAAU,wBACVC,cAAe,GAAF,cAAKP,QAAL,IAAKA,OAAL,EAAKA,EAAMI,WACxBI,gBAAe,OAAER,QAAF,IAAEA,OAAF,EAAEA,EAAMS,YACvBC,KAAM2C,EACNC,aAAY,OAAEtD,QAAF,IAAEA,OAAF,EAAEA,EAAMuD,UACpB5C,UAAW,uBATjB,UAaE,SAAC,KAAD,CACE6C,IAAG,OAAExD,QAAF,IAAEA,OAAF,EAAEA,EAAMuD,UACXE,IAAG,OAAEzD,QAAF,IAAEA,OAAF,EAAEA,EAAMS,YACXiD,MAAM,EACNC,MAAO,IACPC,OAAQ,IACRC,OAAO,OACPC,iBAAe,EACfC,gBAAc,MAGjBnD,EAAeZ,EAAMC,SAI1B,gBAAKlD,UAAW8D,qBAAhB,UACE,gBACE9D,UAAWiH,IACTnD,wBACAA,wBACA,kBACA,CACE,YAAaZ,GAAS,EACtB,eAAgBA,GAAS,IAP/B,UAWE,gBAAKuD,IAAI,uJAOnB,SAAC,IAAD,CACES,IAAK7B,EACLlC,KAAK,OACLgE,YAAa,CACXC,SAAU,WACVC,MAAO,OACPC,IAAK,OAEPtH,UAAU,4BAEZ,SAAC,IAAD,CACEkH,IAAK3B,EACLpC,KAAK,OACLgE,YAAa,CACXC,SAAU,WACVC,MAAO,OACPC,IAAK,kBAMf,iBAAKtH,UAAS,UAAK8D,wBAAL,OAAd,WACE,gBAAK9D,UAAW8D,WAAhB,UACE,gBACE9D,UAAW8D,UACX7D,QAAS,YACPqD,QAAiB,YAAa,CAC5BC,SAAU,wBACVgE,aAAc,wBACd3D,UAAW,qBANjB,sCAae,OAAhBhB,QAAgB,IAAhBA,OAAA,EAAAA,EAAkBgC,QAAlB,OACChC,QADD,IACCA,OADD,EACCA,EAAkBkD,KAChB,SAAC0B,EAA6BtE,GAAkB,MAC9C,OACE,cAEEjD,QAAS,YACPqD,QAAiB,YAAa,CAC5BC,SAAU,uBACVC,cAAe,GAAF,cAAKgE,QAAL,IAAKA,OAAL,EAAKA,EAAcnE,WAChCI,gBAAe,OAAE+D,QAAF,IAAEA,OAAF,EAAEA,EAAc9D,YAC/BC,KAAM,GAAF,OAAKT,GACTU,UAAW,qBAGfxD,OAAQ,SACRqH,KACc,OAAZD,QAAY,IAAZA,GAAA,UAAAA,EAAcE,qBAAd,eAA6BC,SAAS,2BAClCC,EACA,WAEN1H,KAAI,OAAEsH,QAAF,IAAEA,OAAF,EAAEA,EAAcE,cAjBtB,UAmBE,iBACE1H,UAAS,UAAK8D,gBAAL,YAA0BA,wBAA1B,YAAuDA,wBAAvD,oBADX,WAGE,gBAAK9D,UAAW8D,wBAChB,SAAC,KAAD,CACE2C,IAAG,OAAEe,QAAF,IAAEA,OAAF,EAAEA,EAAcK,aACnBlB,MAAM,EACNC,MAAO,IACPC,OAAQ,IACRH,IAAG,OAAEc,QAAF,IAAEA,OAAF,EAAEA,EAAc9D,YACnBqD,iBAAe,EACfD,OAAO,gBAET,gBAAK9G,UAAW8D,mBAAhB,UACE,eACE9D,UAAS,UAAK8D,kBAAL,wCADX,iBAGG0D,QAHH,IAGGA,OAHH,EAGGA,EAAc9D,YAHjB,8CAhCCR,OA4Cb,iCACE,gBACElD,UAAS,UAAK8D,gBAAL,YAA0BA,wBAA1B,YAAuDA,wBAAvD,uBAEX,gBACE9D,UAAS,UAAK8D,gBAAL,YAA0BA,wBAA1B,YAAuDA,wBAAvD,iC,kBClgBvBgE,EAAOC,QAAU,CAAC,mBAAmB,oCAAoC,oBAAoB,qCAAqC,mBAAmB,oCAAoC,YAAY,6BAA6B,OAAS,0BAA0B,mBAAmB,oCAAoC,cAAc,+BAA+B,MAAQ,yBAAyB,KAAO,wBAAwB,YAAY,6BAA6B,mBAAmB,oCAAoC,cAAc,+BAA+B,cAAc,+BAA+B,WAAW,4BAA4B,aAAa,8BAA8B,gBAAgB","file":"static/chunks/2492.0ac16ee9580f47931ddd.js","sourcesContent":["import * as React from 'react'\nimport Link from 'next/link'\n\ninterface IProps {\n id: string\n className?: string\n children: React.ReactNode\n onClick?(gid: string): void\n}\n\nexport default function SeriesDetailLink(props: IProps) {\n const { id, children, className, onClick } = props\n return (\n \n {\n onClick && onClick(id)\n }}\n target=\"_blank\"\n >\n {children}\n \n \n )\n}\n","/* eslint-disable no-unused-expressions */\n/* eslint-disable @typescript-eslint/class-name-casing */\n/* eslint-disable @typescript-eslint/interface-name-prefix */\nimport React, { useEffect, useState } from 'react'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport SeriesDetailLink from 'Components/links/series-detail'\nimport classnames from 'classnames'\nimport { useResponsive } from 'Components/hooks/use-responsive'\nimport getUrl from 'lib/url'\nimport fetch from 'lib/decorated-fetch'\nimport SwiperButton from 'Components/swiper-button'\nimport { Image } from 'Components/view-image'\nimport serializeObject from '@arsenal/arsenal/modules/serializeObject'\nimport { logger } from 'lib/slardar-utils'\nimport TryCatchRender from 'Components/try-catch-render'\nimport ResponsiveSwiper, {\n ResponsiveConfig,\n} from 'Components/new/responsive-swiper'\nimport useLazyRender from 'Components/hooks/use-lazy-render'\nimport style from './index.module.scss'\nimport batchedUpdates from 'lib/batched-updates'\n\nexport interface IPanoramicCar {\n ns_cover_url: string\n panoramic_url: string\n series_name: string\n series_id: number\n}\n\ninterface ICarData {\n value: number | string\n text: string\n link: string\n}\n\nexport interface ISeriesData {\n series_id: number\n series_name: string\n cover_url: string\n series_type: number //车系类型 0 轿车 1 suv 2 mpv\n is_new_energy: boolean // 是否是新能源\n}\ninterface IConfig {\n [key: string]: {\n page: number\n types: number[]\n }\n}\n\n// - 4列(1920):4列*2行*6切=48个内容(最大值)\n// - 3列(1680/1440/1280/1024):3列*2行*8切=48个内容(最大值)\n\n// - 1)4列(1920): 每一组数据8个(轿车2、suv2、mpv 2、新能源2);排序(轿车>suv>mpv>新能源); 点击后跳转车系首页\n// - 2) 3列(1680/1440/1280/1024):每一组数据6个(轿车2、suv2、mpv1、新能源1);排序(轿车>suv>mpv>新能源);点击后跳转车系首页\n\nconst pageConfig: IConfig = {\n 8: {\n page: 6,\n types: [2, 2, 2, 2],\n },\n 6: {\n page: 8,\n types: [2, 2, 1, 1],\n },\n}\n\nconst smNum = 6\nconst lgNum = 8\n\nexport const getCarAtlasData = async (req?: any) => {\n const params = {\n limousine_pic_num: 16,\n suv_pic_num: 16,\n mpv_pic_num: 12,\n energy_pic_num: 12,\n panoramic_pic_num: 2,\n total_pic_num: 58,\n }\n const url = getUrl(\n `/motor/pc/car/rcm_picture?${serializeObject(params)}`,\n 'motor.pc_car.api'\n )\n const json = await fetch(url, {\n req,\n }).catch((err) => {\n logger.warn(`[fetch] carAtlasData error. err=${err.message}`)\n return {}\n })\n const data = json?.data || {}\n return data\n}\n\nconst cols: ResponsiveConfig = {\n sm: 3,\n md: 3,\n lg: 3,\n xl: 3,\n '2xl': 4,\n}\n\nconst rows: ResponsiveConfig = {\n sm: 2,\n md: 2,\n lg: 2,\n xl: 2,\n '2xl': 2,\n}\n\nfunction CarAtlas() {\n const carList = [\n {\n value: 0,\n text: '轿车',\n link: '/auto/library-picture/x-0-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x',\n },\n {\n value: 1,\n text: 'SUV',\n link: '/auto/library-picture/x-1-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x',\n },\n {\n value: 2,\n text: 'MPV',\n link: '/auto/library-picture/x-2-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x',\n },\n {\n value: 4,\n text: '跑车',\n link: '/auto/library-picture/x-4-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x',\n },\n {\n value: '4,5,6',\n text: '新能源',\n link: '/auto/library-picture/x-x-x-x-x-x-4,5,6-x-x-x-x-x-x-x-x-x-x',\n },\n {\n value: 3,\n text: '皮卡',\n link: '/auto/library-picture/x-3-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x',\n },\n {\n value: 7,\n text: '微面',\n link: '/auto/library-picture/x-7-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x',\n },\n {\n value: 8,\n text: '微卡',\n link: '/auto/library-picture/x-8-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x',\n },\n {\n value: 6,\n text: '轻客',\n link: '/auto/library-picture/x-6-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x',\n },\n ]\n\n const [seriesList, setSeriesList] = useState([])\n const [swiperCarList, setSwiperCarList] = useState([])\n const [panoramicCarList, setPanoramicCarList] = useState([])\n\n const responsive = useResponsive()\n\n const computedCarList = (num: number, seriesList: ISeriesData[]) => {\n const typeList: ISeriesData[][] = [[], [], []]\n const newEnergy: ISeriesData[] = []\n seriesList?.forEach((item) => {\n if (item?.is_new_energy) {\n newEnergy?.push(item)\n } else {\n if (typeList?.[item.series_type]) {\n typeList[item.series_type].push(item)\n }\n }\n })\n typeList?.push(newEnergy)\n let result: ISeriesData[] = []\n let isContinue = true\n let times = 0\n const currentPageConfig = pageConfig?.[num]\n while (isContinue) {\n let isAdd = true // 必须遍历添加完整的一组数组\n let tmp: ISeriesData[] = []\n currentPageConfig?.types?.forEach((value, index) => {\n if (typeList?.[index]?.length < value) {\n isAdd = false\n return\n }\n tmp = tmp.concat(typeList?.[index]?.splice(0, value))\n })\n if (isAdd) {\n result = result?.concat(tmp)\n times++\n } else {\n isContinue = false\n }\n if (result?.length >= currentPageConfig?.page * num) {\n isContinue = false\n }\n }\n setSwiperCarList(result)\n }\n\n useEffect(() => {\n let num = smNum\n if (responsive['2xl']) {\n num = lgNum\n }\n computedCarList(num, seriesList || [])\n }, [seriesList, responsive?.['2xl']])\n\n useEffect(() => {\n async function init() {\n try {\n const data = await getCarAtlasData(null)\n batchedUpdates(() => {\n setSeriesList(data?.nice_series_list || [])\n setPanoramicCarList(data?.panoramic_car_list || [])\n })\n } catch (error) {\n logger.warn(\n `[fetch] carAtlasData error. err=${(error as Error).message}`\n )\n }\n }\n init()\n }, [])\n\n /* 渲染车型的分类 */\n function renderCar(param: ICarData, index: number) {\n return (\n {\n sendTeaCommEvent('clk_event', {\n event_id: 'series_pic_module_keywords',\n module_id: 'series_pic_module',\n button_name: param.text,\n })\n }}\n >\n {param.text}\n \n )\n }\n\n function textLink(\n item: any,\n index: number,\n id: string,\n type: string,\n button_name?: string\n ) {\n return (\n {\n sendTeaCommEvent('clk_event', {\n event_id: id,\n car_series_id: `${item?.series_id}`,\n car_series_name: button_name || item?.series_name,\n rank: index,\n module_id: 'series_pic_module',\n button_name: button_name || '',\n })\n }}\n >\n {button_name || item?.series_name}\n \n )\n }\n\n /* 底部文字 */\n function renderTextLine(item: any, index: number) {\n return (\n
\n \n {textLink(item, index, 'series_pic_module_series_text', '')}\n

\n

\n {textLink(item, index, 'series_pic_module_pic_btn', 'wg', '外观')}|\n {textLink(item, index, 'series_pic_module_pic_btn', 'ns', '内饰')}|\n {textLink(item, index, 'series_pic_module_pic_btn', 'kj', '空间')}\n

\n
\n )\n }\n const [prevEl, setPrevEl] = useState(null)\n const [nextEl, setNextEl] = useState(null)\n\n return (\n \n
\n
\n
\n
\n {\n sendTeaCommEvent('clk_event', {\n event_id: 'series_pic_module_tilte',\n module_id: 'series_pic_module',\n })\n }}\n >\n 精美车图\n \n
\n
\n {carList?.map((item: ICarData, index: number) =>\n renderCar(item, index)\n )}\n {\n sendTeaCommEvent('clk_event', {\n event_id: 'series_pic_module_keywords',\n module_id: 'series_pic_module',\n button_name: '更多',\n })\n }}\n >\n 更多\n \n \n
\n
\n \n {\n sendTeaCommEvent('clk_event', {\n event_id: 'series_pic_module_change',\n module_id: 'series_pic_module',\n })\n }}\n >\n {({ index, activeIndex }) => {\n const item = swiperCarList?.[index]\n return swiperCarList?.length ? (\n
\n \n {\n sendTeaCommEvent('clk_event', {\n event_id: 'series_pic_module_pic',\n car_series_id: `${item?.series_id}`,\n car_series_name: item?.series_name,\n rank: activeIndex,\n material_url: item?.cover_url,\n module_id: 'series_pic_module',\n })\n }}\n >\n \n \n {renderTextLine(item, index)}\n
\n
\n ) : (\n
\n = 6,\n '2xl:tw-block': index >= 6,\n }\n )}\n >\n \n
\n
\n )\n }}\n \n\n \n \n \n \n \n
\n
\n {\n sendTeaCommEvent('clk_event', {\n event_id: '360_view_module_title',\n module_title: '360度看车',\n module_id: '360_view_module',\n })\n }}\n >\n 360度看车\n
\n
\n {panoramicCarList?.length ? (\n panoramicCarList?.map(\n (panoramicCar: IPanoramicCar, index: number) => {\n return (\n {\n sendTeaCommEvent('clk_event', {\n event_id: '360_view_module_item',\n car_series_id: `${panoramicCar?.series_id}`,\n car_series_name: panoramicCar?.series_name,\n rank: `${index}`,\n module_id: '360_view_module',\n })\n }}\n target={'_blank'}\n rel={\n panoramicCar?.panoramic_url?.includes('www.dongchedi.com')\n ? undefined\n : 'nofollow'\n }\n href={panoramicCar?.panoramic_url}\n >\n \n
\n \n
\n \n {panoramicCar?.series_name} - 360°全景内饰\n

\n
\n
\n \n )\n }\n )\n ) : (\n <>\n \n \n \n )}\n \n \n )\n}\n\nexport default CarAtlas\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-list-item\":\"car-atlas_header-list-item__534eA\",\"car-atlas-wrapper\":\"car-atlas_car-atlas-wrapper__3iGKI\",\"small-image-wrap\":\"car-atlas_small-image-wrap__jaWIH\",\"car-atlas\":\"car-atlas_car-atlas__1tklX\",\"header\":\"car-atlas_header__2rJ2-\",\"car-atlas-header\":\"car-atlas_car-atlas-header__3nxIV\",\"header-list\":\"car-atlas_header-list__20tGZ\",\"title\":\"car-atlas_title__Y9LjU\",\"more\":\"car-atlas_more__1Zpge\",\"more-icon\":\"car-atlas_more-icon__3p_Mc\",\"image-transition\":\"car-atlas_image-transition__UlnBv\",\"series-name\":\"car-atlas_series-name__aqXc3\",\"series-link\":\"car-atlas_series-link__1DsFZ\",\"car-pano\":\"car-atlas_car-pano__2KzVm\",\"name-title\":\"car-atlas_name-title__1YKR-\",\"car-pano-mask\":\"car-atlas_car-pano-mask__7riDt\"};"],"sourceRoot":""}