- 将 doctor 目录重命名为 dealer 目录 - 更新页面标题从'会员注册'为'注册会员' - 删除银行卡管理、患者报备和订单消息功能 - 重命名组件 AddDoctor 为 AddUserAddress - 添加用户角色管理和默认角色写入逻辑 - 优化注册成功后跳转至用户中心页面 - 更新应用配置中的页面路径和子包结构 - 添加经销商资金管理、团队管理和二维码推广功能 - 更新租户信息配置,增加租户名称和版权信息 - 优化文章列表组件的类型定义和渲染方式 - 修复广告轮播图数据加载和图片兼容性问题
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import Taro from '@tarojs/taro'
|
|
import {useEffect, useState} from 'react'
|
|
import {useRouter} from '@tarojs/taro'
|
|
import {Loading} from '@nutui/nutui-react-taro'
|
|
import {View, RichText} from '@tarojs/components'
|
|
import {wxParse} from "@/utils/common";
|
|
import {getCmsArticle} from "@/api/cms/cmsArticle";
|
|
import {CmsArticle} from "@/api/cms/cmsArticle/model"
|
|
import Line from "@/components/Gap";
|
|
import './index.scss'
|
|
|
|
function Detail() {
|
|
const {params} = useRouter();
|
|
const [loading, setLoading] = useState<boolean>(true)
|
|
// 文章详情
|
|
const [item, setItem] = useState<CmsArticle>()
|
|
const reload = async () => {
|
|
const item = await getCmsArticle(Number(params.id))
|
|
|
|
if (item && item.content) {
|
|
item.content = wxParse(item.content)
|
|
setItem(item)
|
|
Taro.setNavigationBarTitle({
|
|
title: `${item?.categoryName}`
|
|
})
|
|
}
|
|
}
|
|
|
|
useEffect(() => {
|
|
reload().then(() => {
|
|
setLoading(false)
|
|
});
|
|
}, []);
|
|
|
|
if (loading) {
|
|
return (
|
|
<Loading className={'px-2'}>加载中</Loading>
|
|
)
|
|
}
|
|
|
|
return (
|
|
<div className={'bg-white'}>
|
|
<div className={'p-4 font-bold text-lg'}>{item?.title}</div>
|
|
<div className={'text-gray-400 text-sm px-4 '}>{item?.createTime}</div>
|
|
<View className={'content p-4'}>
|
|
{/*如果有视频就显示视频 视频沾满宽度*/}
|
|
{item?.video && <View className={'w-full'}>
|
|
<video src={item?.video} controls={true} width={'100%'}></video>
|
|
</View>}
|
|
<RichText nodes={item?.content}/>
|
|
</View>
|
|
<Line height={44}/>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export default Detail
|