Files
template-10556/src/article/detail.tsx
2025-07-11 23:25:45 +08:00

52 lines
1.6 KiB
TypeScript

import {useEffect, useState} from 'react'
import Taro from '@tarojs/taro'
import {useRouter} from '@tarojs/taro'
import {Divider} from '@nutui/nutui-react-taro'
import {CmsArticle} from "@/api/cms/cmsArticle/model"
// import {Eye} from '@nutui/icons-react-taro'
// 显示html富文本
import {View, RichText} from '@tarojs/components'
import {getCmsArticle} from "@/api/cms/cmsArticle";
import './detail.scss';
function Detail() {
const {params} = useRouter();
// 文章详情
const [item, setItem] = useState<CmsArticle>()
// 浏览量
// const [views, setViews] = useState<number>()
const reload = () => {
getCmsArticle(Number(params.id)).then(data => {
if (data) {
setItem(data)
Taro.setNavigationBarTitle({title: `${data.categoryName} - 文章详情`})
// setViews(data.actualViews)
}
})
}
useEffect(() => {
reload();
}, []);
return (
<div className={'bg-white'}>
<div className={'p-3 font-bold text-lg'}>{item?.title}</div>
{/*<div className={'flex justify-between px-3'}>*/}
{/* <Tag type={'success'}>{item?.categoryName}</Tag>*/}
{/* <div className={'flex items-center gap-2 text-xs text-gray-400'}><Eye size={14}/>{views}</div>*/}
{/*</div>*/}
<Divider/>
<View className={'content text-gray-700 text-sm'}>
<RichText
nodes={item?.content || '暂无内容'}
space="nbsp"
/>
</View>
</div>
)
}
export default Detail