This commit is contained in:
Rao 2025-03-07 16:27:54 +08:00
parent d7750be126
commit 27e630f200
3 changed files with 37 additions and 23 deletions

View File

@ -7,8 +7,10 @@ import { formatFileSize, getCompressedImageUrl } from "@nice/utils";
export default function ResourcesShower({ export default function ResourcesShower({
resources = [], resources = [],
isShowImage
}: { }: {
resources: ResourceDto[]; resources: ResourceDto[];
isShowImage?: boolean;
}) { }) {
const { resources: dealedResources } = useMemo(() => { const { resources: dealedResources } = useMemo(() => {
if (!resources) return { resources: [] }; if (!resources) return { resources: [] };
@ -36,7 +38,7 @@ export default function ResourcesShower({
const fileResources = dealedResources.filter((res) => !res.isImage); const fileResources = dealedResources.filter((res) => !res.isImage);
return ( return (
<div className="space-y-3"> <div className="space-y-3">
{imageResources.length > 0 && ( {imageResources.length > 0 && isShowImage && (
<Row gutter={[16, 16]} className="mb-6"> <Row gutter={[16, 16]} className="mb-6">
<Image.PreviewGroup> <Image.PreviewGroup>
{imageResources.map((resource) => ( {imageResources.map((resource) => (

View File

@ -14,7 +14,7 @@ import CourseDetailTitle from "./CourseDetailTitle";
export const CourseDetailDisplayArea: React.FC = () => { export const CourseDetailDisplayArea: React.FC = () => {
// 创建滚动动画效果 // 创建滚动动画效果
const { const {
isLoading, isLoading,
canEdit, canEdit,
lecture, lecture,
@ -48,18 +48,22 @@ export const CourseDetailDisplayArea: React.FC = () => {
)} )}
{!lectureIsLoading && {!lectureIsLoading &&
selectedLectureId && selectedLectureId &&
lecture?.meta?.type === LectureType.ARTICLE && ( (
<div className="flex justify-center flex-col items-center gap-2 w-full my-2 "> <div className="flex justify-center flex-col items-center gap-2 w-full my-2 ">
<div className="w-full rounded-lg "> <div className="w-full rounded-lg ">
<CollapsibleContent {lecture?.meta?.type === LectureType.ARTICLE && (
content={lecture?.content || ""} <CollapsibleContent
maxHeight={500} // Optional, defaults to 150 content={lecture?.content || ""}
/> maxHeight={500} // Optional, defaults to 150
/>
)}
<div className="px-6"> <div className="px-6">
<ResourcesShower <ResourcesShower
resources={ resources={
lecture?.resources lecture?.resources
}></ResourcesShower> }
isShowImage = {lecture?.meta?.type === LectureType.ARTICLE}
></ResourcesShower>
</div> </div>
</div> </div>
</div> </div>

View File

@ -175,22 +175,30 @@ export const SortableLecture: React.FC<SortableLectureProps> = ({
/> />
</Form.Item> </Form.Item>
</div> </div>
<div className="mt-4 flex flex-1 "> <div className="mt-4 flex flex-2 flex-col gap-y-5 ">
{lectureType === LectureType.VIDEO ? ( {lectureType === LectureType.VIDEO ? (
<Form.Item <>
name={["meta", "videoIds"]} <Form.Item
className="mb-0 flex-1" name={["meta", "videoIds"]}
rules={[ className="mb-0 flex-1"
{ rules={[
required: true, {
message: "请传入视频", required: true,
}, message: "请传入视频",
]}> },
<TusUploader ]}>
allowTypes={videoMimeTypes} <TusUploader
multiple={false} allowTypes={videoMimeTypes}
/> multiple={false}
</Form.Item> />
</Form.Item>
<Form.Item
name={["meta", "fileIds"]}
className="mb-0 flex-1">
<TusUploader multiple={true} />
</Form.Item>
</>
) : ( ) : (
<div> <div>
<Form.Item <Form.Item