import {useEffect, useState} from "react"; import {pageCmsArticle} from "@/api/cms/cmsArticle"; import {CmsArticle} from "@/api/cms/cmsArticle/model"; import Taro from '@tarojs/taro' import {useRouter} from '@tarojs/taro' import {Image} from '@nutui/nutui-react-taro' import {InfiniteLoading} from '@nutui/nutui-react-taro' import {getCmsNavigation} from "@/api/cms/cmsNavigation"; import {CmsNavigation} from "@/api/cms/cmsNavigation/model"; /** * 文章终极列表 * @constructor */ const List = () => { const {params} = useRouter(); const [navigation, setNavigation] = useState() const [page, setPage] = useState(1) const [hasMore, setHasMore] = useState(true) const [list, setList] = useState([]) const reload = async () => { // 获取栏目ID const categoryId = Number(params.id); // 当前栏目信息 const navs = await getCmsNavigation(categoryId); // 终极新闻列表 const articles = await pageCmsArticle({categoryId, page}); // 当前栏目信息 if (navs) { setNavigation(navs); } // 新闻列表 if (articles) { if (articles?.list && articles?.list.length > 0) { const newList = list?.concat(articles.list) setList(newList); setHasMore(true) } else { setHasMore(false) } } } const reloadMore = async () => { setPage(page + 1) reload().then(); } useEffect(() => { reload().then() }, []) return ( 加载中 } loadMoreText={ <> 没有更多了 }>
{/* 标题 */}
{navigation?.categoryName}
{ // 终极文章列表 list.map((item, index) => { return (
Taro.navigateTo({url: `./detail?id=${item.articleId}`})} > { // 图片容器 item.image ? (
) :
} {/* 标题 */}

{item.title}

{item.comments || '暂无'}

) }) }
) } export default List