import {FC, useCallback, useEffect, useState} from "react"; import {Swiper, SwiperItem, Text, Video, View} from "@tarojs/components"; import {ArticleRecord, brandApi, BrandRecord} from "@/api"; import styles from './info.module.scss' import Taro, {useReachBottom, useRouter} from "@tarojs/taro"; import LineEllipsis from "@/components/textCollapse/collapse"; import Empty from "@/components/empty/empty"; import Img from "@/components/image/image"; import {rfc33392time} from "@/utils/day"; import Spin from "@/components/spinner"; import Collect from "@/components/collect/collect"; type Params = { id: number } const BrandInfo: FC = () => { const {id} = useRouter().params as unknown as Params const [brandInfo, setBrandInfo] = useState() const [articleList, setArticleList] = useState([]) const [curIndex, setCurIndex] = useState(1) const [page, setPage] = useState(1) const [total, setTotal] = useState(0) const [enable, setEnable] = useState(true) useEffect(() => { getData() }, [id]) const getData = async () => { try { const data = await brandApi.info(id) Taro.setNavigationBarTitle({title: data.name}) setBrandInfo(data) const data1 = await brandApi.articleList(id, page) setTotal(data1.total) setArticleList([ ...(articleList || []), ...data1.list ]) } catch (e) { // setBrandInfo({disabled: 0, graphic_introduction: "", id: 0, introductory_video: "", name: "", brand_album:['1','2','3']}) } setEnable(false) } useReachBottom(useCallback(() => { if (articleList?.length < total) { setPage(page + 1) } }, [total, articleList])) useEffect(() => { brandApi.articleList(id, page).then(res => { setTotal(res.total) setArticleList([ ...(articleList || []), ...res.list ]) }) }, [page]) function onChange(e) { setCurIndex(+e.detail.current + 1) } return ( { (brandInfo?.introductory_video_resource?.url || brandInfo?.brand_album)?.length > 0 && <> {brandInfo?.introductory_video_resource?.url && } { (brandInfo?.brand_album?.length || 0) > 0 && brandInfo?.brand_album?.split(',').map((d) => ) } {curIndex} / {(brandInfo?.brand_album?.split(',').length || 0) + ((brandInfo && brandInfo.introductory_video_resource) ? 1 : 0)} } {brandInfo?.name} { articleList?.length ? <>{ articleList.map((i: any) => Taro.navigateTo({url: `/pages/preview/brand/article/article?id=${i.id}`})}> {i.title} {rfc33392time(i.created_at)} {i.page_view}阅读 )} 暂无更多 : } ); } export default BrandInfo