/** * 视频审核相关类型定义 */ export type TaskStatus = 'pending' | 'processing' | 'completed' | 'failed' export type RiskLevel = 'high' | 'medium' | 'low' export type ViolationType = | 'forbidden_word' | 'competitor_logo' | 'duration_short' | 'mention_missing' export type ViolationSource = 'speech' | 'subtitle' | 'visual' export interface Violation { id: string type: ViolationType content: string timestamp: number source: ViolationSource riskLevel: RiskLevel suggestion: string } export interface SoftWarning { id: string type: string content: string suggestion: string } export interface ReviewTask { reviewId: string title?: string status: TaskStatus progress?: number currentStep?: string score?: number summary?: string violations?: Violation[] softWarnings?: SoftWarning[] createdAt: string completedAt?: string } export interface VideoReviewRequest { videoUrl?: string platform: string brandId?: string creatorId?: string title?: string } export interface VideoReviewResponse { reviewId: string status: TaskStatus } export interface ReviewProgressResponse { reviewId: string status: TaskStatus progress: number currentStep: string } export interface ReviewResultResponse { reviewId: string status: TaskStatus score: number summary: string violations: Violation[] softWarnings: SoftWarning[] }