import { ApiProperty } from '@nestjs/swagger'; export class LevelListItemDto { @ApiProperty({ description: '关卡 ID' }) id!: string; @ApiProperty({ description: '关卡编号' }) level!: number; @ApiProperty({ description: '图片1 URL' }) image1Url!: string; @ApiProperty({ description: '图片1 文本说明', nullable: true }) image1Description!: string | null; @ApiProperty({ description: '图片2 URL' }) image2Url!: string; @ApiProperty({ description: '图片2 文本说明', nullable: true }) image2Description!: string | null; @ApiProperty({ description: '答案(仅已通关时返回)', nullable: true }) answer!: string | null; @ApiProperty({ description: '谐音梗说明(始终返回)', nullable: true }) punchline!: string | null; @ApiProperty({ description: '线索1(始终返回)', nullable: true }) hint1!: string | null; @ApiProperty({ description: '线索2(仅已通关时返回)', nullable: true }) hint2!: string | null; @ApiProperty({ description: '线索3(仅已通关时返回)', nullable: true }) hint3!: string | null; @ApiProperty({ description: '是否已通关' }) completed!: boolean; @ApiProperty({ description: '通关时长(秒),未通关时为 null', nullable: true, }) timeSpent!: number | null; } export class LevelListResponseDto { @ApiProperty({ type: [LevelListItemDto], description: '关卡列表' }) levels!: LevelListItemDto[]; @ApiProperty({ description: '关卡总数' }) total!: number; }