{"version":3,"sources":["webpack://_N_E/./new/home/components/dong-che-fen/value-card.tsx","webpack://_N_E/./new/home/components/dong-che-fen/index.tsx","webpack://_N_E/./new/home/components/dong-che-fen/index.module.scss","webpack://_N_E/./new/home/components/dong-che-fen/value-card.module.scss"],"names":["RadarChart","dynamic","ssr","Stars","star","require","star_black","TryCatchRender","props","score","author_info","series_name","series_id","content","cover_url","car_id","appearance_score","power_score","control_score","comfort_score","space_score","configuration_score","interiors_score","related_group_id","car_name","rank","item_rank","total_review_count","year","series_review","group_id","group_id_str","review_detail_url","score_url","author_profile_url","user_id","React","showStatus","setShowStatus","styleModule","onMouseEnter","setTimeout","onMouseLeave","onClick","window","open","sendTeaCommEvent","event_id","car_series_id","car_series_name","module_id","author_id","toFixed","e","stopPropagation","preventDefault","className","src","lazy","width","height","alt","cusDefaultImg","carLoading","theStyle","margin","type","target","href","size","avatar","avatar_url","username","user_name","starIcon","starVacantIcon","maxScore","starWidth","starHeight","classNames","filterConfig","is_new_energy","series_type","value","avatar_uri","decodeUri","substr","getDcarScoreData","req","formatList","list","data","Array","isArray","propsFilter","metrics","emitCounter","undefined","url","params","fetch","getUrl","serializeObject","catch","error","logger","message","json","tabList","car_review_v2_list","forEach","item","car_review_list","pageConfig","5","page","types","4","cols","sm","md","lg","xl","rows","DongCheFen","dcarScoreData","responsive","useResponsive","useState","setTabList","curTab","setCurTab","swiperCarList","setSwiperCarList","timerRef","useRef","prevEl","setPrevEl","nextEl","setNextEl","useEffect","then","res","num","defaultNum","tab_type","result","slice","carList","typeList","newEnergy","push","splice","isContinue","times","currentPageConfig","isAdd","tmp","index","length","concat","computedCarList","data-log-view-config","JSON","stringify","repeated","data-log-view","event","page_id","style","map","current","button_name","tab_name","clearTimeout","classnames","ref","buttonStyle","justifySelf","marginLeft","gap","slideCount","slideClass","navigation","onSlideChange","activeIndex","computedResponsive","module","exports"],"mappings":"qqBASMA,GAAaC,cAAQ,kBAAM,2DAAuC,CACtEC,KAAK,EADiE,sJAGlEC,GAAQF,cAAQ,kBAAM,iCAAmB,CAC7CC,KAAK,EADwC,iIAIzCE,EAAOC,EAAQ,MACfC,EAAaD,EAAQ,OA8D3B,GAAeE,QAAe,SAAmBC,GAAmB,QAEhEC,EAsBED,EAtBFC,MACAC,EAqBEF,EArBFE,YACAC,EAoBEH,EApBFG,YACAC,EAmBEJ,EAnBFI,UACAC,EAkBEL,EAlBFK,QACAC,EAiBEN,EAjBFM,UASAC,GAQEP,EAhBFQ,iBAgBER,EAfFS,YAeET,EAdFU,cAcEV,EAbFW,cAaEX,EAZFY,YAYEZ,EAXFa,oBAWEb,EAVFc,gBAUEd,EATFe,iBASEf,EARFO,QACAS,EAOEhB,EAPFgB,SACAC,EAMEjB,EANFiB,KACAC,EAKElB,EALFkB,UACAC,EAIEnB,EAJFmB,mBACAC,EAGEpB,EAHFoB,KACAC,EAEErB,EAFFqB,cACcC,EACZtB,EADFuB,aAgBIC,EAAoB,WAAH,OAAcF,GAE/BG,GADgB,gBAAH,OAAmBrB,EAAnB,kBAAsCG,GACvC,sBAAH,OAAyBH,EAAzB,eACTsB,EAAqB,SAAH,cAAYxB,QAAZ,IAAYA,OAAZ,EAAYA,EAAayB,SA1CiB,EA4C9BC,YAAe,GA5Ce,eA4C3DC,EA5C2D,KA4C/CC,EA5C+C,KA8ClE,OACE,6DAiNgCjC,EAAQ,OAGdA,EAAQ,WApNlC,KAAgBkC,UAAhB,eACE,gBAEEC,aAAc,WACZC,YAAW,WACTH,GAAc,KACb,MAELI,aAAc,WACZD,YAAW,WACTH,GAAc,KACb,MAVP,4CAgN8BjC,EAAQ,OAGdA,EAAQ,WAnNhC,cACgBkC,mBADhB,0BAaE,iBACEI,QAAS,WACPC,OAAOC,KAAKZ,EAAW,WACvBa,QAAiB,YAAa,CAC5BC,SAAU,0BACVC,cAAe,GAAF,OAAKpC,GAClBqC,gBAAiBtC,EACjBmB,SAAU,GAAF,OAAKA,GACbL,KAAM,GAAF,OAAKA,GACTC,UAAW,GAAF,OAAKA,GACdwB,UAAW,gBACXC,UAAW,GAAF,OAAKzC,EAAYyB,YAXhC,4CAmM4B9B,EAAQ,OAGdA,EAAQ,WAtM9B,WAeE,4DAoL0BA,EAAQ,OAGdA,EAAQ,WAvL5B,cAAmBkC,kBAAnB,yBACE,2DAmLwBlC,EAAQ,OAGdA,EAAQ,WAtL1B,KAAckC,UAAd,yBACiB,OAAbV,QAAa,IAAbA,OAAA,EAAAA,EAAepB,OAAQ,WAD3B,aACG,EAAgC2C,QAAQ,GAD3C,KAC+C,6DAkLvB/C,EAAQ,OAGdA,EAAQ,WArLqB,0BAGjD,eAEEsC,QAAS,SAACU,GACRA,EAAEC,kBACFD,EAAEE,iBACFX,OAAOC,KAAKZ,EAAW,WAL3B,4CA+K0B5B,EAAQ,OAGdA,EAAQ,WAlL5B,KACakC,sBADb,0CASE,0DAsKwBlC,EAAQ,OAGdA,EAAQ,WAzK1B,kDAEF,6DAoK0BA,EAAQ,OAGdA,EAAQ,WAvK5B,KAAgBkC,wBAAhB,eACE,4DAmKwBlC,EAAQ,OAGdA,EAAQ,WAtK1B,KAAgBkC,kBAAhB,cACE,SAAC,KAAD,CACEiB,UAAWjB,qBACXkB,IAAK3C,EACL4C,MAAM,EACNC,MAAO,IACPC,OAAQ,GACRC,IAAKlD,EACLmD,cAAeC,UAGnB,6DAwJwB1D,EAAQ,OAGdA,EAAQ,WA3J1B,KAAgBkC,0BAAhB,eACE,0DAuJsBlC,EAAQ,OAGdA,EAAQ,WA1JxB,cAAiBkC,kBAAjB,6BACG5B,KAEH,0DAoJsBN,EAAQ,OAGdA,EAAQ,WAvJxB,iDACGsB,EAAkB,gBACXA,EADW,sBAEf,oCAIV,4DA6I0BtB,EAAQ,OAGdA,EAAQ,WAhJ5B,KAAgBkC,mBAAhB,aACGF,IACC,SAACrC,EAAD,CACEgE,SAAU,CACRJ,OAAQ,QACRD,MAAO,QACPM,OAAQ,UAEV9C,cAAa,OAAEU,QAAF,IAAEA,OAAF,EAAEA,EAAeV,cAC9BH,iBAAgB,OAAEa,QAAF,IAAEA,OAAF,EAAEA,EAAeb,iBACjCK,oBAAmB,OAAEQ,QAAF,IAAEA,OAAF,EAAEA,EAAeR,oBACpCH,cAAa,OAAEW,QAAF,IAAEA,OAAF,EAAEA,EAAeX,cAC9BD,YAAW,OAAEY,QAAF,IAAEA,OAAF,EAAEA,EAAeZ,YAC5BG,YAAW,OAAES,QAAF,IAAEA,OAAF,EAAEA,EAAeT,YAC5BE,gBAAe,OAAEO,QAAF,IAAEA,OAAF,EAAEA,EAAeP,gBAChCb,MAAK,OAAEoB,QAAF,IAAEA,OAAF,EAAEA,EAAepB,MACtByD,KAAM,iBAMhB,6DAuH8B7D,EAAQ,OAGdA,EAAQ,WA1HhC,KAAgBkC,qBAAhB,eACE,6DAsH4BlC,EAAQ,OAGdA,EAAQ,WAzH9B,KAAgBkC,uBAAhB,eACE,cACE4B,OAAQ,SACRC,KAAMlC,EACNS,QAAS,YACPG,QAAiB,YAAa,CAC5BC,SAAU,6BACVC,cAAe,GAAF,OAAKpC,GAClBqC,gBAAiBtC,EACjBmB,WACAL,OACAC,YACAwB,UAAW,gBACXC,UAAW,GAAF,OAAKzC,EAAYyB,YAZhC,4CAqH0B9B,EAAQ,OAGdA,EAAQ,WAxH5B,UAgBE,SAAC,IAAD,CACEgE,KAAM,GACNC,OAAM,OAAE5D,QAAF,IAAEA,OAAF,EAAEA,EAAa6D,WACrBC,SAAQ,OAAE9D,QAAF,IAAEA,OAAF,EAAEA,EAAa+D,UACvBjB,UAAU,yDAGd,6DA8F0BnD,EAAQ,OAGdA,EAAQ,WAjG5B,cACgBkC,2BADhB,8BAGE,cACE4B,OAAQ,SACRC,KAAMlC,EACNS,QAAS,YACPG,QAAiB,YAAa,CAC5BC,SAAU,6BACVC,cAAe,GAAF,OAAKpC,GAClBqC,gBAAiBtC,EACjBmB,WACAL,OACAC,YACAwB,UAAW,gBACXC,UAAW,GAAF,OAAKzC,EAAYyB,YAZhC,4CA2FwB9B,EAAQ,OAGdA,EAAQ,WA9F1B,UAgBE,6DA2EsBA,EAAQ,OAGdA,EAAQ,WA9ExB,KAAiBkC,oBAAjB,8BACM7B,QADN,IACMA,OADN,EACMA,EAAa+D,UADnB,YAKJ,6DAsE0BpE,EAAQ,OAGdA,EAAQ,WAzE5B,KAAiBkC,wBAAjB,8CAEF,4DAoE4BlC,EAAQ,OAGdA,EAAQ,WAvE9B,KAAgBkC,2BAAhB,cACE,eACE4B,OAAQ,SACRC,KAAMpC,EACNW,QAAS,YACPG,QAAiB,YAAa,CAC5BC,SAAU,4BACVC,cAAe,GAAF,OAAKpC,GAClBqC,gBAAiBtC,EACjBmB,WACAL,OACAC,YACAwB,UAAW,gBACXC,UAAW,GAAF,OAAKzC,EAAYyB,YAZhC,4CAmE0B9B,EAAQ,OAGdA,EAAQ,WAtE5B,WAgBE,0DAmDwBA,EAAQ,OAGdA,EAAQ,WAtD1B,cAAiBkC,qBAAjB,8BACE,8DAkDsBlC,EAAQ,OAGdA,EAAQ,WArDxB,cAAoBkC,gBAApB,8BACGX,EAAO,GAAH,OAAMA,EAAN,UAAgB,GACpBJ,QAGL,2DA6CwBnB,EAAQ,OAGdA,EAAQ,WAhD1B,KAAckC,kBAAd,eACE,6DA4CsBlC,EAAQ,OAGdA,EAAQ,WA/CxB,KAAiBkC,WAAjB,uBACI9B,EAAQ,WADZ,aACG,EAAiB2C,QAAQ,MAE5B,SAAC,IAAD,yBAEF,4DAuCwB/C,EAAQ,OAGdA,EAAQ,WA1C1B,KAAgBkC,iBAAhB,cACE,SAACpC,EAAD,CACEuE,SAAUtE,EACVuE,eAAgBrE,EAChBG,MAAOA,EAAQ,IACfmE,SAAU,EACVC,UAAW,EACXC,WAAY,YAKpB,cAAGX,OAAQ,SAAUC,KAAMpC,EAA3B,4CA2B4B3B,EAAQ,OAGdA,EAAQ,WA9B9B,UACE,cAMEsC,QAAS,YACPG,QAAiB,YAAa,CAC5BC,SAAU,0BACVC,cAAe,GAAF,OAAKpC,GAClBqC,gBAAiBtC,EACjBmB,WACAL,OACAC,YACAwB,UAAW,gBACXC,UAAW,GAAF,OAAKzC,EAAYyB,YAfhC,4CA0B0B9B,EAAQ,OAGdA,EAAQ,WA7B5B,KACa0E,IACTxC,YACA,SACa,KAAbT,EAAkB,iBAAmB,sBAJzC,aAmBGjB,UA1MT,6CAiNgCR,EAAQ,OAGdA,EAAQ,QApNlC,mFAiNgCA,EAAQ,OAjNxC,yEAoN0BA,EAAQ,OApNlC,sC,osBCxGJ,IAAM2E,EAA8B,CAClCd,KAAM,QACN1D,MAAO,CACLyE,cAAe,GACfC,YAAa,GACbzE,MAAO,GACPC,YAAa,SAACyE,GAAD,MAAY,CACvBhD,QAAO,OAAEgD,QAAF,IAAEA,OAAF,EAAEA,EAAOhD,QAChBsC,UAAS,OAAEU,QAAF,IAAEA,OAAF,EAAEA,EAAOV,UAClBF,YACO,OAALY,QAAK,IAALA,OAAA,EAAAA,EAAOC,cAAcC,OAAS,OAACF,QAAD,IAACA,OAAD,EAACA,EAAOZ,cAAtC,OAAqDY,QAArD,IAAqDA,OAArD,EAAqDA,EAAOZ,cAEhE5D,YAAa,GACbC,UAAW,GACXC,QAAS,SAACsE,GAAD,cAAWA,QAAX,IAAWA,OAAX,EAAWA,EAAOG,OAAO,EAAG,KACrCxE,UAAW,SAACqE,GAAD,OAAWE,OAAUF,IAAUA,GAC1CpE,OAAQ,GACRS,SAAU,GACVC,KAAM,GACNC,UAAW,GACXC,mBAAoB,GACpBC,KAAM,GACNC,cAAe,CACbqC,KAAM,SACN1D,MAAO,CACLW,cAAe,GACfH,iBAAkB,GAClBK,oBAAqB,GACrBH,cAAe,GACfD,YAAa,GACbG,YAAa,GACbE,gBAAiB,GACjBb,MAAO,KAGXsB,aAAc,KAILwD,EAAgB,mCAAG,WAAOC,GAAP,UAiBrBC,EAjBqB,0EAiBrBA,EAjBqB,SAiBVC,GAClB,IAAIC,EAAOD,GAAQ,GACdE,MAAMC,QAAQF,KACjBA,EAAO,IAET,IACE,OAAOG,OAAYH,EAAMX,GACzB,MAAO3B,GAMP,OALA,OAAImC,QAAJ,IAAIA,OAAJ,EAAIA,EAAKO,UACPP,EAAIO,QAAQC,YAAY,oBAAqB,OAAGC,EAAW,CACzDC,IAAK,wCAGFP,IA7BLQ,EAAS,GADe,UAIXC,QACjBC,OAAO,uCAAD,OACmCC,IAAgBH,IACvD,wBAEF,CACEX,QAEFe,OAAM,SAACC,GAEP,OADAC,SAAA,uCAA4CD,EAAME,UAC3C,MAdqB,cAIxBC,EAJwB,QAiCxBC,GAAc,OAAJD,QAAI,IAAJA,GAAA,UAAAA,EAAMhB,YAAN,eAAYkB,qBAAsB,IAC1CC,SAAQ,SAACC,GACfA,EAAKC,gBAAkBvB,EAAWsB,EAAKC,oBAnCX,kBAqCvBJ,GArCuB,2CAAH,sDAsDvBK,EAAsB,CAC1BC,EAAG,CACDC,KAAM,EACNC,MAAO,CAAC,EAAG,EAAG,EAAG,IAEnBC,EAAG,CACDF,KAAM,EACNC,MAAO,CAAC,EAAG,EAAG,EAAG,KAMfE,EAAyB,CAC7BC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJ,MAAO,GAGHC,EAAyB,CAC7BJ,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJ,MAAO,GASM,SAASE,EAAT,GAIZ,EAHDC,cAGC,IAEKC,GAAaC,UAFlB,GAG6BC,cAA0B,IAAjDpB,EAHN,KAGeqB,EAHf,QAI2BD,cAAS,IAA9BE,EAJN,KAIcC,EAJd,QAKyCH,cAAuB,IAA1DI,EALN,KAKqBC,EALrB,KAMKC,GAAWC,cANhB,GAO2BP,cAA6B,MAAlDQ,EAPN,KAOcC,EAPd,QAQ2BT,cAA6B,MAAlDU,EARN,KAQcC,EARd,MAUDC,gBAAU,WACRrD,IAAmBsD,MAAK,SAACC,GACvBb,EAAWa,GACXX,EAAUW,EAAI,SAEf,IAmEH,OAtBAF,gBAAU,WACR,GAAKV,EAAL,CAGA,IAAIa,EA5FW,EAiGf,GAJIjB,EAAW,SACbiB,EAAMC,GAGgB,QAApBd,EAAOe,SAAX,CAKA,IAAMC,GAAUhB,EAAOlB,iBAAmB,IAAImC,MAC5C,EACAlC,EAAW8B,GAAK5B,KAAO4B,GAEzBV,EAAiBa,OATjB,CAA+B,IACrBA,EApDY,SAACH,EAAaK,GACpC,IAAMC,EAA2B,CAAC,GAAI,GAAI,IACpCC,EAA0B,GAChCF,EAAQtC,SAAQ,SAACC,GACXA,EAAK9B,cACPqE,EAAUC,KAAKxC,GAEXsC,EAAStC,EAAK7B,cAChBmE,EAAStC,EAAK7B,aAAaqE,KAAKxC,MAKtCsC,EAASG,OAAO,EAAG,EAAGF,GAKtB,IAJA,IAAIJ,EAAuB,GACvBO,GAAa,EACbC,EAAQ,EACNC,EAAoB1C,EAAW8B,GAjByB,aAmB5D,IAAIa,GAAQ,EACRC,EAAoB,GACxBF,EAAkBvC,MAAMN,SAAQ,SAAC3B,EAAO2E,GAClCT,EAASS,GAAOC,OAAS5E,EAC3ByE,GAAQ,EAGVC,EAAMA,EAAIG,OAAOX,EAASS,GAAON,OAAO,EAAGrE,OAEzCyE,GACFV,EAASA,EAAOc,OAAOH,GACvBH,KAEAD,GAAa,EAEXP,EAAOa,QA5FE,KA6FXN,GAAa,IAjBVA,GAAY,IAoBnB,MAAO,CAAEP,SAAQQ,SAcIO,CAAgBlB,EAAKb,EAAOlB,iBAAmB,IAA1DkC,OACRb,EAAiBa,OAQlB,QAACpB,QAAD,IAACA,OAAD,EAACA,EAAa,OAAQI,KAIvB,UAAC,WAAD,YACE,iBAEEgC,uBAAsBC,KAAKC,UAAU,CACnCC,UAAU,IAEZC,gBAAeH,KAAKC,UAAU,CAC5BG,MAAO,aACPpE,OAAQ,CACNqE,QAAS,gBACTzH,SAAU,0BACVG,UAAW,mBAVjB,4CAoH8B7C,EAAQ,WApHtC,KACaoK,gBADb,eAcE,6DAsG4BpK,EAAQ,WAtGpC,sCACE,iBAEEsC,QAAS,YACPG,QAAiB,YAAa,CAC5BC,SAAU,sBACVG,UAAW,mBALjB,4CAqG0B7C,EAAQ,WArGlC,cACgBoK,UADhB,aASA,2DA4F0BpK,EAAQ,WA5FlC,sDACGuG,EAAQ8D,KAAI,SAAC3D,GACZ,OACE,eAQEvE,aAAc,WACZ8F,EAASqC,QAAU/H,OAAOH,YAAW,WACnC0F,EAAUpB,IACVjE,QAAiB,cAAe,CAC9B0H,QAAS,gBACTtH,UAAW,gBACXH,SAAU,yBACV6H,YAAa7D,EAAK8D,aAEnB,MAELnI,aAAc,WACR4F,EAASqC,SACX/H,OAAOkI,aAAaxC,EAASqC,UArBnC,4CAyFoBtK,EAAQ,WAzF5B,KACa0K,IACT,wEADmB,UAGhBN,kBAAsBvC,EAAO2C,WAAa9D,EAAK8D,YAJtD,aAyBG9D,EAAK8D,UAlBD9D,EAAK8D,mBAwBpB,SAAC,IAAD,CACEG,IAAKvC,EACLvE,KAAK,OACL+G,YAAa,CACXC,YAAa,WACbC,WAAY,QAEd3H,UAAU,4BAEZ,SAAC,IAAD,CACEwH,IAAKrC,EACLzE,KAAK,OACL+G,YAAa,CACXC,YAAa,kBAInB,SAAC,IAAD,CACEE,IAAK,GACLC,WAAYjD,EAAc2B,QAAU,EACpCzC,KAAMA,EACNK,KAAMA,EACN2D,WAAW,yBACXC,WAAY,CACV/C,SACAE,UAEF8C,cAAe,YACb1I,QAAiB,YAAa,CAC5BC,SAAU,uBACVG,UAAW,mBAIfM,UAAU,oBAjBZ,SAmBG,YAA4B,IAAzBsG,EAAyB,EAAzBA,MAAO2B,EAAkB,EAAlBA,YACT,OAAOrD,EAAc2B,QACnB,SAAC,EAAD,OACM3B,EAAc0B,IADpB,IAEErI,KAAMgK,EACN/J,UAAWoI,GAAsC,EAA7BxC,GAAKoE,gBAG3B,gBACEjB,MAAO,CAAE7G,OAAQ,KADnB,4CAcwBvD,EAAQ,WAdhC,KAEa0K,IAAW,CACpB,mBAAmB,EACnB,YAAajB,GAAS,EACtB,eAAgBA,GAAS,KAL7B,QAXC5B,EAAO2C,WA5FhB,6CAqHgCxK,EAAQ,QArHxC,6EAqHgCA,EAAQ,OArHxC,e,kBC5OJsL,EAAOC,QAAU,CAAC,qBAAqB,yCAAyC,UAAU,8BAA8B,MAAQ,4BAA4B,KAAO,2BAA2B,aAAa,mC,kBCA3MD,EAAOC,QAAU,CAAC,cAAc,gCAAgC,aAAa,+BAA+B,gBAAgB,kCAAkC,aAAa,+BAA+B,KAAO,yBAAyB,aAAa,+BAA+B,KAAO,yBAAyB,eAAe,iCAAiC,iBAAiB,mCAAmC,YAAY,8BAA8B,sBAAsB,wCAAwC,cAAc,gCAAgC,kBAAkB,oCAAoC,oBAAoB,sCAAsC,YAAY,8BAA8B,gBAAgB,kCAAkC,YAAY,8BAA8B,MAAQ,0BAA0B,WAAW,6BAA6B,kBAAkB,oCAAoC,WAAW,6BAA6B,QAAU,8B","file":"static/chunks/6859.670dba43a0cecfc1c205.js","sourcesContent":["import * as React from 'react'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { Image, carLoading } from 'Components/view-image'\nimport dynamic from 'next/dynamic'\nimport TryCatchRender from 'Components/try-catch-render'\nimport FontSize10 from 'Components/font-size-10'\nimport classNames from 'classnames'\nimport Avatar from 'Components/author/avatar'\nimport styleModule from './value-card.module.scss'\nconst RadarChart = dynamic(() => import('Components/radar-charts-new'), {\n ssr: false,\n})\nconst Stars = dynamic(() => import('./stars'), {\n ssr: false,\n})\n\nconst star = require('static/yellow-star.png')\nconst star_black = require('static/black-star-little.png')\n\ninterface ISeriesReview {\n comfort_score: number\n appearance_score: number\n configuration_score: number\n control_score: number\n power_score: number\n space_score: number\n interiors_score: number\n score: number\n}\n\nexport interface ICarReview {\n series_id: number\n series_name: string\n author_info: {\n user_id: number\n user_name: string\n avatar_url: string\n auth_info: string\n }\n related_group_id: {\n group_count: number\n group_list: string[]\n }\n cover_url: string\n score: number\n content: string\n comfort_score: number\n appearance_score: number\n configuration_score: number\n control_score: number\n power_score: number\n space_score: number\n interiors_score: number\n is_new_energy: boolean // 是否是新能源\n series_type: number //车系类型 0 轿车 1 suv 2 mpv\n car_id: number\n car_name: string //车型名称\n year: number\n top?: string\n right?: string\n rank?: number // 分页页数\n item_rank?: number // list 排序\n total_review_count: number\n series_review: ISeriesReview\n group_id_str: string\n}\n\ninterface IConfig {\n appearance_score: number\n power_score: number\n control_score: number\n comfort_score: number\n space_score: number\n configuration_score: number\n interiors_score: number\n score: number\n [key: string]: number\n}\n\nexport default TryCatchRender(function ValueCard(props: ICarReview) {\n const {\n score,\n author_info,\n series_name,\n series_id,\n content,\n cover_url,\n appearance_score,\n power_score,\n control_score,\n comfort_score,\n space_score,\n configuration_score,\n interiors_score,\n related_group_id,\n car_id,\n car_name,\n rank,\n item_rank,\n total_review_count,\n year,\n series_review,\n group_id_str: group_id,\n } = props\n\n const scoreObj: IConfig = {\n appearance_score,\n power_score,\n control_score,\n comfort_score,\n space_score,\n configuration_score,\n interiors_score,\n score,\n }\n\n const scorePartial = score / 500.0\n\n const review_detail_url = `/koubei/${group_id}`\n const car_model_url = `/auto/series/${series_id}/model-${car_id}`\n const score_url = `/auto/series/score/${series_id}-x-x-x-x-x`\n const author_profile_url = `/user/${author_info?.user_id}`\n\n const [showStatus, setShowStatus] = React.useState(false)\n\n return (\n
\n {\n setTimeout(() => {\n setShowStatus(true)\n }, 140)\n }}\n onMouseLeave={() => {\n setTimeout(() => {\n setShowStatus(false)\n }, 200)\n }}\n >\n {\n window.open(score_url, '_blank')\n sendTeaCommEvent('clk_event', {\n event_id: 'dscore_module_item_card',\n car_series_id: `${series_id}`,\n car_series_name: series_name,\n group_id: `${group_id}`,\n rank: `${rank}`,\n item_rank: `${item_rank}`,\n module_id: 'dscore_module',\n author_id: `${author_info.user_id}`,\n })\n }}\n >\n
\n

\n {(series_review?.score / 100.0)?.toFixed(2)} \n

\n
\n {\n e.stopPropagation()\n e.preventDefault()\n window.open(score_url, '_blank')\n }}\n >\n 全部评分\n \n

\n
\n
\n \n
\n
\n

\n {series_name}\n

\n

\n {total_review_count\n ? `共${total_review_count}人评分`\n : '暂无评分'}\n

\n
\n
\n
\n {showStatus && (\n \n )}\n
\n
\n \n
\n
\n {\n sendTeaCommEvent('clk_event', {\n event_id: 'dscore_module_item_profile',\n car_series_id: `${series_id}`,\n car_series_name: series_name,\n group_id,\n rank,\n item_rank,\n module_id: 'dscore_module',\n author_id: `${author_info.user_id}`,\n })\n }}\n >\n \n \n \n {\n sendTeaCommEvent('clk_event', {\n event_id: 'dscore_module_item_profile',\n car_series_id: `${series_id}`,\n car_series_name: series_name,\n group_id,\n rank,\n item_rank,\n module_id: 'dscore_module',\n author_id: `${author_info.user_id}`,\n })\n }}\n >\n \n {`${author_info?.user_name} `}\n \n \n \n 点评车型\n
\n
\n {\n sendTeaCommEvent('clk_event', {\n event_id: 'dscore_module_item_series',\n car_series_id: `${series_id}`,\n car_series_name: series_name,\n group_id,\n rank,\n item_rank,\n module_id: 'dscore_module',\n author_id: `${author_info.user_id}`,\n })\n }}\n >\n

\n \n {year ? `${year}款` : ''}\n {car_name}\n \n

\n

\n \n {(score / 100.0)?.toFixed(2)}\n \n \n

\n
\n \n
\n \n
\n \n {\n sendTeaCommEvent('clk_event', {\n event_id: 'dscore_module_item_card',\n car_series_id: `${series_id}`,\n car_series_name: series_name,\n group_id,\n rank,\n item_rank,\n module_id: 'dscore_module',\n author_id: `${author_info.user_id}`,\n })\n }}\n >\n {content}\n

\n
\n
\n \n \n )\n})\n","import React, { useState, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport ValueCard, { ICarReview } from './value-card'\nimport getUrl from 'lib/url'\nimport getCityName from 'lib/get-city-name'\nimport fetch from 'lib/decorated-fetch'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { logger } from 'lib/slardar-utils'\nimport serializeObject from '@arsenal/arsenal/modules/serializeObject'\nimport {\n computedResponsive,\n useResponsive,\n} from 'Components/hooks/use-responsive'\nimport SwiperButton from 'Components/swiper-button'\n// import TryCatchRender from 'Components/try-catch-render'\nimport ResponsiveSwiper, {\n ResponsiveConfig,\n} from 'Components/new/responsive-swiper'\nimport propsFilter, { IFilterConfig } from 'lib/props-filter'\nimport { decodeUri } from 'Components/view-image/decode'\nimport style from './index.module.scss'\n\nconst filterConfig: IFilterConfig = {\n type: 'array',\n props: {\n is_new_energy: '',\n series_type: '',\n score: '',\n author_info: (value) => ({\n user_id: value?.user_id,\n user_name: value?.user_name,\n avatar_url:\n value?.avatar_uri || decodeUri(value?.avatar_url) || value?.avatar_url,\n }),\n series_name: '',\n series_id: '',\n content: (value) => value?.substr(0, 80),\n cover_url: (value) => decodeUri(value) || value,\n car_id: '',\n car_name: '',\n rank: '',\n item_rank: '',\n total_review_count: '',\n year: '',\n series_review: {\n type: 'object',\n props: {\n comfort_score: '',\n appearance_score: '',\n configuration_score: '',\n control_score: '',\n power_score: '',\n space_score: '',\n interiors_score: '',\n score: '',\n },\n },\n group_id_str: '',\n },\n}\n\nexport const getDcarScoreData = async (req?: any) => {\n const params = {\n // city_name: getCityName(asPath, req),\n }\n const json = await fetch(\n getUrl(\n `/motor/pc/content/pc_car_reviews/v2?${serializeObject(params)}`,\n 'motor.pc_content.api'\n ),\n {\n req,\n }\n ).catch((error) => {\n logger.warn(`[fetch] dCarScore error. err=${error.message}`)\n return []\n })\n\n function formatList(list: any[]) {\n let data = list || []\n if (!Array.isArray(data)) {\n data = []\n }\n try {\n return propsFilter(data, filterConfig)\n } catch (e) {\n if (req?.metrics) {\n req.metrics.emitCounter('props.filter.fail', 1, undefined, {\n url: '/motor/pc/content/pc_car_reviews/v2',\n })\n }\n return data\n }\n }\n const tabList = json?.data?.car_review_v2_list || []\n tabList.forEach((item: any) => {\n item.car_review_list = formatList(item.car_review_list)\n })\n return tabList\n}\n\n// is_new_energy?: boolean; // 是否是新能源 前端处理\n// series_type?: number; //车系类型 0 轿车 1 suv 2 mpv\n// 数据切换:切换不固定次数,确保不丢弃数据\n// - 5列(1920):5列*6切 =30个内容(最大值);轿车-2、suv-1、新能源-1、mpv-1\n// - 4列(1680/1440/1280/1024):4列*8切 , 满足30(最大值); 轿车-1、suv-1、新能源-1、mpv-1\n\n// 通过一个配置遍历获取\ninterface IConfig {\n [key: string]: {\n page: number\n types: number[]\n }\n}\nconst MAX_LENGTH = 30 //\nconst pageConfig: IConfig = {\n 5: {\n page: 6,\n types: [2, 1, 1, 1], // 轿车、suv、新能源、mvp\n },\n 4: {\n page: 8,\n types: [1, 1, 1, 1],\n },\n}\n\nconst defaultNum = 4\n\nconst cols: ResponsiveConfig = {\n sm: 4,\n md: 4,\n lg: 4,\n xl: 4,\n '2xl': 5,\n}\n\nconst rows: ResponsiveConfig = {\n sm: 1,\n md: 1,\n lg: 1,\n xl: 1,\n '2xl': 1,\n}\n\nexport interface IDcarScoreTab {\n tab_name: string\n tab_type: string\n car_review_list: ICarReview[]\n}\n\nexport default function DongCheFen({\n dcarScoreData,\n}: {\n dcarScoreData?: IDcarScoreTab[]\n}) {\n // (1) 基本数据\n const responsive = useResponsive()\n const [tabList, setTabList] = useState([])\n const [curTab, setCurTab] = useState({} as IDcarScoreTab)\n const [swiperCarList, setSwiperCarList] = useState([])\n const timerRef = useRef()\n const [prevEl, setPrevEl] = useState(null)\n const [nextEl, setNextEl] = useState(null)\n\n useEffect(() => {\n getDcarScoreData().then((res) => {\n setTabList(res)\n setCurTab(res[0])\n })\n }, [])\n\n /** (2) 按规则计算得到热门懂车分下的车辆列表 */\n const computedCarList = (num: number, carList: ICarReview[]) => {\n const typeList: ICarReview[][] = [[], [], []]\n const newEnergy: ICarReview[] = []\n carList.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 // 新能源顺序的第三个\n typeList.splice(2, 0, newEnergy)\n let result: ICarReview[] = []\n let isContinue = true\n let times = 0\n const currentPageConfig = pageConfig[num]\n while (isContinue) {\n let isAdd = true // 必须遍历添加完整的一组数组\n let tmp: ICarReview[] = []\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 >= MAX_LENGTH) {\n isContinue = false\n }\n }\n return { result, times }\n }\n\n // (3) 响应式初始化\n useEffect(() => {\n if (!curTab) {\n return\n }\n let num = defaultNum\n if (responsive['2xl']) {\n num = defaultNum + 1\n }\n // 热门则按规则排列数据\n if (curTab.tab_type === 'hot') {\n const { result } = computedCarList(num, curTab.car_review_list || [])\n setSwiperCarList(result)\n return\n }\n const result = (curTab.car_review_list || []).slice(\n 0,\n pageConfig[num].page * num\n )\n setSwiperCarList(result)\n }, [responsive?.['2xl'], curTab])\n\n // (4) 返回 react 元素\n return (\n \n \n
\n {\n sendTeaCommEvent('clk_event', {\n event_id: 'dscore_module_title',\n module_id: 'dscore_module',\n })\n }}\n />\n
    \n {tabList.map((item) => {\n return (\n {\n timerRef.current = window.setTimeout(() => {\n setCurTab(item)\n sendTeaCommEvent('hover_event', {\n page_id: 'page_main_new',\n module_id: 'dscore_module',\n event_id: 'car_category_tab_hover',\n button_name: item.tab_name,\n })\n }, 200)\n }}\n onMouseLeave={() => {\n if (timerRef.current) {\n window.clearTimeout(timerRef.current)\n }\n }}\n >\n {item.tab_name}\n \n )\n })}\n
\n
\n \n \n \n {\n sendTeaCommEvent('clk_event', {\n event_id: 'dscore_module_change',\n module_id: 'dscore_module',\n })\n }}\n key={curTab.tab_name}\n className=\"tw-mt-12 tw-bb-15\"\n >\n {({ index, activeIndex }) => {\n return swiperCarList.length ? (\n \n ) : (\n = 4,\n '2xl:tw-block': index >= 4,\n })}\n />\n )\n }}\n \n \n
\n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper-car-review\":\"dong-che-fen_wrapper-car-review__16WxK\",\"top-bar\":\"dong-che-fen_top-bar__kck4G\",\"title\":\"dong-che-fen_title__3_2dm\",\"text\":\"dong-che-fen_text__18fxv\",\"tab-active\":\"dong-che-fen_tab-active__1dGae\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"top-card-bg\":\"value-card_top-card-bg__1t8VK\",\"chart-wrap\":\"value-card_chart-wrap__2ZMOp\",\"top-card-info\":\"value-card_top-card-info__3wM9Y\",\"score-wrap\":\"value-card_score-wrap__2WdB5\",\"mark\":\"value-card_mark__3otwI\",\"card-title\":\"value-card_card-title__14_7X\",\"card\":\"value-card_card__vMWHA\",\"content-wrap\":\"value-card_content-wrap__7sEv4\",\"user-info-wrap\":\"value-card_user-info-wrap__E2_Kn\",\"auth-info\":\"value-card_auth-info__RB7jj\",\"user-info-wrap-text\":\"value-card_user-info-wrap-text__1g8TM\",\"author-name\":\"value-card_author-name__2Rb50\",\"top-bottom-wrap\":\"value-card_top-bottom-wrap__QL2zt\",\"top-car-name-wrap\":\"value-card_top-car-name-wrap__lh826\",\"car-cover\":\"value-card_car-cover__3S6M3\",\"car-name-wrap\":\"value-card_car-name-wrap__k-GzP\",\"car-score\":\"value-card_car-score__2q_Ok\",\"score\":\"value-card_score__1wjpJ\",\"car-star\":\"value-card_car-star__V7BDK\",\"car-name-before\":\"value-card_car-name-before__mWGR7\",\"car-name\":\"value-card_car-name__1E3V4\",\"content\":\"value-card_content__3klCi\"};"],"sourceRoot":""}