{"version":3,"sources":["webpack://_N_E/./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?b497","webpack://_N_E/./pages-components/community/header-info.tsx","webpack://_N_E/./pages-components/community/tabList.tsx","webpack://_N_E/./pages-components/community/feedList.tsx","webpack://_N_E/./pages-components/community/recommend-communities.tsx","webpack://_N_E/./pages-components/community/index.tsx","webpack://_N_E/./pages/community/index.tsx","webpack://_N_E/./public/static/dcd-code@3x.png","webpack://_N_E/./components/breadcrumb.tsx","webpack://_N_E/./lib/fetch-community-feed.ts","webpack://_N_E/./components/qr-code.tsx"],"names":["window","__NEXT_P","push","plus_icon","require","HeaderInfo","concern_info","car_info","desc","joined_days","has_master","master_info","community_owner_avatar","avatar_url","master_user_id","user_id","is_concern","sign_count","show_join_button","user_amount","concern_user_info","car_id_type","series_id","image_url","motor_id","motor_name","motor_type","user_avatar_list","useState","isConcern","setIsConcern","joinedDays","setJoinedDays","slice","map","item","avatarList","setAvatarList","globalState","useContext","GlobalStoreContext","state","verified_owner_amount","setVerifiedOwnerAmount","isJoining","setJoining","useEffect","fetch","then","res","json","data","total_follow_count","src","href","target","rel","index","key","style","backgroundImage","left","zIndex","type","className","onClick","sendTeaCommEvent","userData","location","getLoginHref","params","car_id","method","headers","body","serializeObject","credentials","mockJoinSuccess","catch","err","console","log","disabled","loading","TabList","list","currentTab","handleTabClick","chi_name","tab_name","dropdown_enter_name","dropdown_list","data-name","classNames","active","FeedList","ugcType","info","unique_id_str","group_id","rank","content_type","sub_tab","RecommendCommunities","handleClickItem","setList","getUrl","community","series_name","publish_icon","Index","headerData","tab","community_info","tab_info_v2","community_desc","tab_list","setCurrentTab","feedList","setFeedList","hasMore","setHasMore","showPublisher","setShowPublisher","maxCursor","setMaxCursor","cityName","useCityName","brand_name","brand_id","brand","setBrand","switched","encodeURIComponent","concern_obj","getResolvedFeed","useCallback","query","stringify","Promise","reject","tt_from","category","cmg_flag","refer","count","impression_info","city","motor_feed_extra_params","new_feed","feed_type","max_cursor","handleShuffle","length","cursor","getFeedList","a","fetchCommunityFeed","min_behot_time","get","max_behot_time","paging","has_more","concat","loadMoreHandler","handleTogglePublisher","handlePublish","props","isTimer","mockNewCard","newData","handleDelete","gid","filter","ele","color","document","backgroundColor","removeTail","str","indexOf","title","hideLine","path","name","as","Provider","value","onDeletePost","e","dataset","visible","onClose","closable","CloseIcon","CloseIconForPublisher","onPublish","end","onShuffle","getInitialProps","ctx","req","getHeaderData","aid","version_code","version_name","device_platform","_t","Date","now","mode","Cookie","module","exports","Breadcrumb","classnames","text","icon","getLinkHref","opt","channel","web_id","device_id","JSON","page_id","product_name","source","QRCode"],"mappings":"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","file":"static/chunks/pages/community-61f6fb7e16739f2e6721.js","sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/community\",\n function () {\n return require(\"private-next-pages/community/index.tsx\");\n }\n ]);\n ","import React, { useContext, useEffect, useState } from 'react'\nimport serializeObject from '@arsenal/arsenal/modules/serializeObject'\nimport Button from 'Components/button'\nimport { ConcernInfo, CarInfo } from './index'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { GlobalStoreContext } from 'Components/store'\nimport { getLoginHref } from 'lib/get-login-href'\n\nconst plus_icon = require('../../public/static/plus.png')\n\ninterface IProps {\n concern_info: ConcernInfo\n car_info: CarInfo\n name: string\n desc: string\n motor_id: number\n}\nexport default function HeaderInfo({ concern_info, car_info, desc }: IProps) {\n const verified_drivers = 0\n const post_num = 0\n const {\n joined_days,\n has_master,\n master_info: {\n avatar_url: community_owner_avatar,\n user_id: master_user_id,\n },\n sign_count,\n show_join_button,\n is_concern,\n user_amount,\n concern_user_info,\n } = concern_info\n const {\n car_id_type,\n series_id,\n image_url,\n motor_id,\n motor_name,\n motor_type,\n } = car_info\n const { user_avatar_list } = concern_user_info\n const [isConcern, setIsConcern] = useState(is_concern)\n const [joinedDays, setJoinedDays] = useState(joined_days)\n const [avatarList, setAvatarList] = useState(\n user_avatar_list.slice(0, 3).map(item => item.avatar_url)\n )\n const { state: globalState } = useContext(GlobalStoreContext)\n const [verified_owner_amount, setVerifiedOwnerAmount] = useState(0)\n const [isJoining, setJoining] = useState(false)\n useEffect(() => {\n fetch(\n `/motor/discuss_ugc/cheyou_community_fans_list/v1/?motor_id=${motor_id}&cursor=0&verify_status=2`\n )\n .then(res => res.json())\n .then(json => {\n setVerifiedOwnerAmount(json.data?.total_follow_count || 0)\n })\n }, [motor_id])\n\n const mockJoinSuccess = () => {\n setIsConcern(1)\n setJoinedDays('1')\n const avatar_url = globalState?.userData?.avatar_url\n if (!avatar_url) return\n setAvatarList([avatar_url, ...avatarList].slice(0, 3))\n }\n\n const handleJoinClick = () => {\n if (isConcern) return\n setJoining(true)\n sendTeaCommEvent('click_ugc_forum_home_join', {\n motor_id,\n motor_name,\n motor_type,\n })\n const user_id = globalState?.userData?.user_id\n if (!user_id) {\n window.location.href = getLoginHref()\n setJoining(false)\n return\n }\n const params = {\n car_id: series_id,\n car_id_type,\n }\n fetch('/motor/garage/relation/follow_car/', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: serializeObject(params),\n credentials: 'include',\n })\n .then(res => res.json())\n .then(res => {\n if (res.data?.joined_days === 1) {\n mockJoinSuccess()\n } else {\n //\n }\n setJoining(false)\n })\n .catch(err => {\n console.log(err)\n setJoining(false)\n })\n }\n\n return (\n
\n \n
\n
\n

{motor_name}

\n {verified_owner_amount > 0 && (\n \n 认证车主:\n {verified_owner_amount}\n \n )}\n {/* \n 帖子:\n {post_num}\n */}\n
\n
\n {has_master && (\n <>\n 圈主\n \n \n )}\n\n
\n {avatarList.map((item, index) => (\n \n ))}\n
···
\n 等{user_amount}个车友\n
\n
\n
{desc}
\n
\n\n \n {!isConcern && }\n {isConcern ? `已加入${joinedDays}天` : '加入'}\n \n\n \n
\n )\n}\n","import React from 'react'\nimport classNames from 'classnames'\n\nimport { TabItem } from './index'\n\ninterface IProps {\n list: TabItem[]\n currentTab: string\n handleTabClick: (e: React.MouseEvent) => void\n}\n\nconst TabList = ({ list, currentTab, handleTabClick }: IProps) => {\n return (\n
\n {list.map(item => {\n const { chi_name, tab_name, dropdown_enter_name, dropdown_list } = item\n return (\n \n {chi_name}\n
\n )\n })}\n \n \n )\n}\n\nexport default TabList\n","import React from 'react'\nimport getLinkHref from 'lib/get-link-href'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\n\nimport { CarInfo } from './index'\nimport ArticleCard from 'Components/ugc/article-card'\n\ninterface IProps {\n list: any[]\n car_info: CarInfo\n}\n\nconst FeedList = ({ list, car_info }: IProps) => {\n const handleItemClick = (\n rank: number,\n content_type: number,\n group_id: string\n ) => () => {\n const { motor_id, motor_name, motor_type } = car_info\n sendTeaCommEvent('click_ugc_forum_feed_content', {\n rank,\n group_id,\n content_type,\n motor_id,\n motor_name,\n motor_type,\n sub_tab: '', // todo---\n })\n }\n return (\n
\n {list.map((item, index) => {\n const { ugcType, info, unique_id_str } = item\n info.group_id = unique_id_str\n info.ugcType = ugcType\n return (\n handleItemClick(index, ugcType, unique_id_str)}\n >\n \n
\n )\n })}\n \n \n )\n}\n\nexport default FeedList\n","import getUrl from 'lib/url'\nimport React, { useEffect, useState } from 'react'\n\ninterface ICommunity {\n info: {\n series_name: string\n series_id: number\n motor_id: number\n motor_name: string\n }\n type: number\n}\n\nexport default function RecommendCommunities({\n handleClickItem,\n}: {\n handleClickItem: (id: number, name: string) => void\n}) {\n const [list, setList] = useState([])\n useEffect(() => {\n fetch(\n getUrl(\n '/motor/community/get_community_by_offset?offset=0&count=10&tab_name=recommend'\n )\n )\n .then(res => res.json())\n .then(json => {\n setList(json.data?.list || [])\n })\n }, [])\n\n return (\n \n )\n}\n","import React, { useState, useEffect, useCallback, useContext } from 'react'\nimport fetch from 'isomorphic-unfetch'\nimport get from 'lodash/get'\nimport serializeObject from '@arsenal/arsenal/modules/serializeObject'\nimport { stringify } from 'querystring'\nimport ScrollLoader from 'Components/scroll-loader'\nimport Head from 'Components/head'\nimport QRCode from 'Components/qr-code'\nimport Loading from 'Components/loading'\nimport getUrl from 'lib/url'\nimport fetchCommunityFeed, { IFeedData } from 'lib/fetch-community-feed'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { GlobalStoreContext } from 'Components/store'\nimport HeaderInfo from './header-info'\nimport TabList from './tabList'\nimport FeedList from './feedList'\nimport Breadcrumb from 'Components/breadcrumb'\nimport Button from 'Components/button'\nimport RecommendCommunities from './recommend-communities'\nimport { IReSolvedFeedCard } from 'Pages/car_fans_community/home'\nimport QA from 'Pages/car_fans_community/qa'\nimport Modal from 'Components/modal'\nimport Publisher, { IPB } from 'Components/publisher/publisher'\nimport { useCityName } from 'Components/hooks'\nimport { FeedContext } from 'Pages/car_fans_community/feed'\nimport { mockNewCard } from 'lib/mock-new-card'\nimport { CloseIconForPublisher } from 'Components/publisher/close-icon'\n\nconst publish_icon = require('static/publish@3x.png')\n\nexport interface TabItem {\n chi_name: string\n tab_name: string\n dropdown_enter_name: string\n dropdown_list: {\n tab_filter_show_name: string\n name: string\n tab_filter_select_name: string\n }[]\n}\n\nexport interface ConcernInfo {\n joined_days: string\n sign_desc: string\n has_master: boolean\n master_info: any\n sub_master_info: any\n sign_in: number\n sign_count: number\n show_join_button: boolean\n is_concern: number\n user_amount: number\n concern_user_info: {\n user_avatar_list: {\n avatar_url: string\n }[]\n }\n}\n\nexport interface CarInfo {\n image_url: string\n brand_logo: string\n car_id_type: number\n series_name: string\n series_id: number\n motor_type: number\n motor_id: number\n motor_name: string\n concern_info: ConcernInfo\n}\n\ninterface HeaderData {\n tab_info_v2: {\n tab_list: TabItem[]\n enter_tab_name: string\n }\n car_info: CarInfo\n community_info: {\n join_tips: string\n community_desc: string\n }\n type: number\n}\n\ninterface IProps {\n headerData: HeaderData\n tab: string\n series_id: string\n}\n\nconst Index = ({ headerData, tab, series_id }: IProps) => {\n const { car_info, community_info, tab_info_v2 } = headerData\n const { motor_name, concern_info, motor_id, motor_type } = car_info\n const { community_desc } = community_info\n const { tab_list } = tab_info_v2\n const [currentTab, setCurrentTab] = useState(tab || tab_list[0].tab_name)\n const [feedList, setFeedList] = useState([])\n const [hasMore, setHasMore] = useState(true)\n const [showPublisher, setShowPublisher] = useState(false)\n const [list, setList] = useState<\n {\n info: IReSolvedFeedCard\n type: number\n unique_id_str: string\n }[]\n >([])\n const [maxCursor, setMaxCursor] = useState(0)\n const cityName = useCityName()\n const { state: globalState } = useContext(GlobalStoreContext)\n const [brand, setBrand] = useState({\n brand_name: '',\n brand_id: '',\n })\n const my_user_id = globalState?.userData?.user_id || ''\n let loading = false\n // 处理tab切换的请求竟态\n let switched = false\n\n useEffect(() => {\n fetch(\n `/motor/car_page/m/v1/get_head/?series_id=${series_id}&city_name=${encodeURIComponent(\n cityName || '北京'\n )}&data_from=pc_station`\n )\n .then(res => res.json())\n .then(json => {\n setBrand({\n brand_name: json.concern_obj?.brand_name,\n brand_id: json.concern_obj?.brand_id,\n })\n })\n }, [series_id])\n\n const getResolvedFeed = useCallback((query: any) => {\n return fetch(\n getUrl(`/motor/discuss_ugc/cheyou_feed_list_v3/v1/?${stringify(query)}`),\n {\n method: 'GET',\n credentials: 'include',\n }\n )\n .then(res => res.json())\n .then(({ data }) => {\n if (data) {\n return data\n }\n return Promise.reject('获取data失败')\n })\n }, [])\n\n useEffect(() => {\n const query = {\n tt_from: maxCursor === 0 ? 'enter_auto' : 'pre_load_more',\n category: 'series_wenda_reply',\n cmg_flag: 'series_wenda_reply',\n motor_id,\n refer: 1,\n count: 10,\n impression_info: {\n sub_tab: 'series_wenda_reply',\n motor_id: '20000960000000',\n },\n city: '北京市',\n motor_feed_extra_params: {\n new_feed: true,\n feed_type: 0,\n },\n max_cursor: maxCursor,\n }\n getResolvedFeed(query).then(res => {\n setList(res?.list?.slice(0, 10) || [])\n })\n }, [maxCursor])\n\n const handleShuffle = useCallback(() => {\n sendTeaCommEvent('click_change_qa_list')\n setMaxCursor(list[list.length - 1]?.info?.cursor || 0)\n }, [getResolvedFeed, list])\n\n const handleClickItem = (motor_id: number, motor_name: string) => {\n sendTeaCommEvent('click_feed_motor_btn', {\n motor_id,\n motor_name,\n })\n }\n\n const getFeedList = async (type: string) => {\n if (loading || !hasMore) return\n const { motor_id } = headerData.car_info\n loading = true\n const { paging, list } = await fetchCommunityFeed({\n motor_id,\n tab: currentTab,\n type,\n min_behot_time:\n type === 'load_more' ? get(feedList, '0.info.behot_time', 0) : 0,\n max_behot_time:\n type === 'load_more'\n ? get(feedList, `[${feedList.length - 1}].info.behot_time`, 0)\n : 0,\n max_cursor:\n type === 'load_more'\n ? get(feedList, `[${feedList.length - 1}].info.cursor`, 0)\n : 0,\n })\n if (switched) return\n setHasMore(paging.has_more)\n setFeedList(feedList.concat(list))\n if (type === 'refresh') {\n setFeedList(list)\n } else {\n setFeedList(feedList.concat(list))\n }\n\n loading = false\n }\n const handleTabClick = (e: any) => {\n const { motor_id, motor_name, motor_type } = car_info\n const { name } = e.target.dataset\n\n setCurrentTab(name)\n setHasMore(true)\n sendTeaCommEvent('click_ugc_forum_home_tab', {\n motor_id,\n motor_name,\n motor_type,\n sub_tab: name,\n })\n }\n const loadMoreHandler = useCallback(() => {\n if (!feedList.length) return\n getFeedList('load_more')\n }, [feedList])\n\n const handleTogglePublisher = useCallback(() => {\n sendTeaCommEvent('click_forum_home_post', {\n motor_id,\n motor_name,\n motor_type,\n })\n setShowPublisher(!showPublisher)\n }, [showPublisher])\n\n const handlePublish = async (props: IPB) => {\n const { isTimer } = props\n\n if (!isTimer) {\n const user_id = globalState?.userData?.user_id\n if (!user_id) {\n return\n }\n const newData = await mockNewCard({ ...props, user_id })\n setFeedList([newData as any, ...feedList])\n }\n setShowPublisher(false)\n }\n\n const handleDelete = useCallback(\n (gid: string) => {\n setFeedList(feedList.filter(ele => ele.unique_id_str !== gid))\n },\n [feedList]\n )\n\n useEffect(() => {\n loading = false\n setFeedList([])\n setHasMore(true)\n getFeedList('refresh')\n return () => {\n switched = true\n }\n }, [currentTab])\n // 切换车系车友圈主页背景色\n useEffect(() => {\n const color = document.body.style.backgroundColor\n document.body.style.backgroundColor = '#f7f8fc'\n return () => {\n document.body.style.backgroundColor = color\n }\n }, [])\n\n const removeTail = useCallback(\n (str: string) => str.slice(0, str.indexOf('车友圈')),\n []\n )\n return (\n
\n \n \n \n
\n {/* */}\n \n
\n \n \n <>\n \n 发布\n \n \n
\n \n \n \n \n \n \n {hasMore ? : null}\n
\n \n\n \n \n
\n )\n}\n\nIndex.getInitialProps = async (ctx: any) => {\n const { query, req } = ctx\n const { series_id, tab } = query\n const getHeaderData = async () => {\n const params = {\n aid: 36,\n series_id,\n version_code: '4.7.2',\n version_name: '472',\n device_platform: 'iphone',\n _t: Date.now(),\n }\n const res = await fetch(\n getUrl(\n `/motor/discuss_ugc/cheyou_get_head/v1/?${serializeObject(params)}`\n ),\n {\n credentials: 'include',\n mode: 'cors',\n headers: {\n Cookie: get(req, 'headers.cookie', ''),\n },\n }\n )\n const json = await res.json()\n return get(json, 'data', {})\n }\n const headerData = await getHeaderData()\n return {\n headerData,\n tab,\n series_id,\n }\n}\n\nexport default Index\n","import Index from 'Pages/community/index'\n\nexport default Index\n","module.exports = \"https://sf6-scmcdn2-tos.pstatp.com/motor/pc/_next/static/images/dcd-code@3x-7798dc19b4c261272684645a11a3b1dd.png\";","/* 当前位置路径 */\nimport React from 'react'\nimport classnames from 'classnames'\nimport Link from 'next/link'\n\nimport getLinkHref from 'lib/get-link-href'\n\ninterface IPath {\n [prop: string]: string\n}\n\ninterface IProps {\n /* 当前页面路径 */\n path: IPath[]\n hideLine?: boolean\n style?: React.CSSProperties\n className?: string\n}\n\nexport default function Breadcrumb({\n path,\n hideLine = false,\n style,\n className,\n}: IProps) {\n return (\n
\n \n 当前位置:\n {path.map((text: IPath, index: number) => (\n \n {text.href && text.as ? (\n \n {text.name}\n \n ) : (\n text.name\n )}\n \n ))}\n

\n \n
\n )\n}\n","import serializeObject from '@arsenal/arsenal/modules/serializeObject'\n\nimport getUrl from 'lib/url'\n\nexport interface ILogPb {\n channel_id: null\n impr_id: string\n}\nexport interface IDiscussLabel {\n open_url: string\n activity_flag: null\n concern_source: null\n image: null\n desc: null\n concern_id: number\n name: string\n}\nexport interface ICommunityInfo {\n motor_name: string\n open_url: string\n motor_type: number\n motor_id: number\n}\nexport interface IRepostInfo {\n name: string\n sync_thread: boolean\n title: string\n ui_style: number\n item_id: number\n image_url: string\n item_id_str: string\n community_info: ICommunityInfo\n scheme: string\n}\nexport interface IMotorAuthShowInfo {\n answer_ans_num: number\n answer_medal_url: string\n car_identity_desc: string\n answer_invited_num: number\n answer_medal_desc_url: string\n auth_v_desc: string\n auth_v_type: number\n answer_digg_num: number\n}\nexport interface IUserInfo {\n user_id: number\n name: string\n live_info: null\n description: string\n motor_auth_show_info: IMotorAuthShowInfo\n verified_content: string\n avatar_url: string\n medal_list: null\n follower_count: number\n follow: boolean\n user_auth_info: string\n user_verified: boolean\n schema: string\n}\nexport interface IQuestionInfo {\n status: number\n adopted_id: number\n send_award: string\n award_icon_url: string\n status_display: string\n participated: string\n}\nexport interface IAppImprInfo {\n sub_style: number\n style: number\n}\nexport interface IActionList {\n action: number\n desc: null\n extra_str: null\n}\nexport interface IShareInfo {\n share_text: string\n title: string\n weixin_special_type: number\n weixin_share_schema: string\n share_url: string\n special_share_doc: string\n share_image: string\n}\nexport interface IUrlList {\n url: string\n}\nexport interface IDefaultImageList {\n url: string\n url_list: IUrlList[]\n uri: string\n height: number\n width: number\n type: null\n}\nexport interface IAutoLabel {\n open_url: string\n activity_flag: null\n concern_source: null\n image: null\n desc: null\n concern_id: number\n name: string\n}\nexport interface IMotorIdentityInfo {\n digg_num: number\n medal_desc_url: string\n ans_num: number\n answerer_medal_pop_url: string\n car_identity_desc: string\n answerer_identity_desc: string\n invited_num: number\n answerer_medal_url: string\n cheyou_master_identity_desc: string\n identity_desc: string\n identity: string\n}\nexport interface IStructuredInfo {\n duration_desc: string\n bought_time_desc: string\n display_car_name: string\n extra_info: []\n}\nexport interface IKoubeiInfo {\n is_from_key_frame: boolean\n structured_info: IStructuredInfo\n sub_count_title: string\n recommend_level: number\n recommend_icon: string\n is_recommended: boolean\n audit_status: number\n tag_info_list:\n | {\n Id: number\n TagName: string\n }[]\n | undefined\n}\nexport interface IInfo {\n log_pb: ILogPb\n open_url: string\n behot_time: number\n activity_label: null\n blank_type: number\n image_list: null\n read_count: number\n digg_count: number\n thread_id: number\n discuss_label: IDiscussLabel\n share_url: string\n comment_cells: null\n video_thumb_url: null\n video_duration: number\n repost_info: IRepostInfo\n user_verified: boolean\n article_labels: null\n aggr_type: number\n dislike_info: null\n link_info: null\n title: string\n image_type: number\n folded: boolean\n comment_count: number\n content_rich_span: string\n motor_top_article: boolean\n content: string\n user_info: IUserInfo\n duplicate: boolean\n question_info: IQuestionInfo\n recommend_reason: string\n share_count: number\n poi_list: null\n app_impr_info: IAppImprInfo\n display_time: number\n video_detail_info: null\n action_list: IActionList[]\n wap_display_url: string\n poi_label: null\n share_info: IShareInfo\n motor_koubei_info: IKoubeiInfo\n comment_list: null\n large_image_list: null\n product_label: null\n user_digg: boolean\n activity_theme: null\n abstract_content: string\n operation_status: number\n video_id: null\n thread_type: number\n label: string\n default_image_list: IDefaultImageList[]\n head_label: null\n cursor: number\n product_list: null\n auto_label: IAutoLabel\n motor_identity_info: IMotorIdentityInfo\n motor_car_info: null\n}\nexport interface IFeedData {\n info: IInfo\n duplicate: boolean\n type: number\n unique_id: number\n unique_id_str: string\n}\n\ninterface FeedListParams {\n motor_id: number\n tab: string\n min_behot_time?: number\n max_behot_time?: number\n max_cursor?: number\n type?: string\n}\n\nexport default async (opt: FeedListParams) => {\n const {\n type = 'enter_auto',\n motor_id = '',\n tab = '',\n min_behot_time = 0,\n max_behot_time = 0,\n max_cursor = 0,\n } = opt || {}\n const params = {\n motor_id,\n channel: 'm_web',\n device_platform: 'wap',\n category: tab,\n cmg_flag: tab,\n min_behot_time,\n max_behot_time,\n max_cursor,\n web_id: 0,\n device_id: 0,\n impression_info: JSON.stringify({\n page_id: 'page_forum_home',\n product_name: 'pc',\n }),\n tt_from: type,\n source: 'pc',\n _t: Date.now(),\n }\n const res = await fetch(\n getUrl(\n `${\n tab === 'recommend'\n ? '/motor/stream_entrance/get_feed/v47/'\n : '/motor/discuss_ugc/cheyou_feed_list_v3/v1/'\n }?${serializeObject(params)}`\n )\n )\n const { data } = await res.json()\n return data\n}\n","import React from 'react'\n\nexport default function QRCode() {\n return (\n
\n

扫码下载懂车帝APP

\n
\n \n
\n )\n}\n"],"sourceRoot":""}