chore: 初始化TikTok短剧后端项目基础架构

创建了完整的NestJS项目结构,包含配置文件、核心模块、工具类、拦截器、过滤器等基础代码,实现了健康检查、用户认证、管理员RBAC、剧集管理、订单支付、媒体管理等核心功能的基础框架,配置了ESLint、TypeScript、Jest等开发工具链。
This commit is contained in:
2026-07-01 13:55:37 +08:00
commit ef8c31d3be
92 changed files with 11462 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import {
IsArray,
IsBoolean,
IsEnum,
IsInt,
IsOptional,
IsString,
IsUrl,
Min,
} from 'class-validator';
import { PublishStatus } from '../drama-status.enum';
export class CreateDramaDto {
@ApiPropertyOptional()
@IsOptional()
@IsString()
tiktokAlbumId?: string;
@ApiProperty()
@IsString()
title: string;
@ApiPropertyOptional()
@IsOptional()
@IsString()
description?: string;
@ApiProperty()
@IsOptional()
@IsUrl({ require_tld: false })
coverUrl: string;
@ApiPropertyOptional()
@IsOptional()
@IsInt()
@Min(1)
coverId?: number;
@ApiPropertyOptional()
@IsOptional()
@IsUrl({ require_tld: false })
portraitCoverUrl?: string;
@ApiPropertyOptional()
@IsOptional()
@IsUrl({ require_tld: false })
landscapeCoverUrl?: string;
@ApiProperty()
@IsString()
type: string;
@ApiPropertyOptional({ type: [String] })
@IsOptional()
@IsArray()
@IsString({ each: true })
tags?: string[];
@ApiPropertyOptional()
@IsOptional()
@IsString()
region?: string;
@ApiPropertyOptional()
@IsOptional()
@IsString()
language?: string;
@ApiPropertyOptional()
@IsOptional()
@IsInt()
@Min(1900)
year?: number;
@ApiPropertyOptional({ enum: PublishStatus })
@IsOptional()
@IsEnum(PublishStatus)
status?: PublishStatus;
@ApiPropertyOptional()
@IsOptional()
@IsInt()
sortOrder?: number;
@ApiPropertyOptional()
@IsOptional()
@IsBoolean()
isRecommended?: boolean;
@ApiPropertyOptional()
@IsOptional()
@IsInt()
@Min(1)
onlineVersion?: number;
}