/** * 实体接口定义 * 所有实体都应该实现这些基础接口 */ import { ContentItem, LensType, TagValueObject } from "./valueObject"; /** * 基础实体接口 */ export interface BaseEntity { /** 唯一标识 */ readonly id: string; } /** * AI文本实体接口 */ export interface AITextEntity { /** 唯一标识 */ readonly id: string; /** 文本内容 */ content: string; } /** * 角色实体接口 */ export interface RoleEntity { /** 唯一标识 */ readonly id: string; /** 角色名称 */ name: string; /** 角色提示词 */ generateText: string; /**角色标签 */ tags: TagValueObject[]; /** 角色图片URL */ imageUrl: string; /**来源于草稿箱 */ fromDraft: boolean; /**发生角色形象的生成或者替换 */ isChangeRole: boolean; } /** * 场景实体接口 */ export interface SceneEntity { /** 唯一标识 */ readonly id: string; /** 场景名称 */ name: string; /** 场景图片URL */ imageUrl: string; /** 场景标签 */ tagIds: TagValueObject[]; /** 场景提示词 */ generateText: string; } /** * 视频片段实体接口 */ export interface VideoSegmentEntity { /** 唯一标识 */ readonly id: string; /** 视频片段名称 */ name: string; /**视频片段草图Url */ sketchUrl: string; /**视频片段视频Url */ videoUrl: { video_url: string; video_id: string; video_status: number | null; }[]; /**视频片段状态 0:视频加载中 1:任务已完成 2:任务失败 */ status: number; /**镜头项 */ lens: LensType[]; } /** * 图片故事类型枚举 * @description 标识图片故事的来源类型 */ export enum ImageStoryType { /** 空文案自动生成故事 */ autoStory = "autoStory", /** 用户描述生成故事 */ userStory = "userStory", /** 模板故事 */ templateStory = "templateStory", } /** * 图片故事实体接口 * @description 表示一条图片故事及其相关信息 */ export interface ImageStoryEntity { /** 唯一标识 */ readonly id: string; /** 图片URL */ imageUrl: string; /** 图片描述 */ imageDescription: string; /** 图片故事内容 */ imageStory: string; /** 图片故事剧本 */ imageScript: string; /** 故事涉及的角色 */ storyRole: RoleEntity[]; /** 故事类型 */ storyType: ImageStoryType; } export interface StoryTemplateEntity { /** 唯一标识 */ readonly id: string; /** 故事模板名称 */ name: string; /** 故事模板描述 */ description: string; /** 故事模板图片 */ imageUrl: string; /** 故事模板提示词 */ generateText: string; /**故事角色 */ storyRole: RoleEntity[]; }