127 lines
2.5 KiB
TypeScript

/**
* 实体接口定义
* 所有实体都应该实现这些基础接口
*/
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 interface ImageStoryEntity {
/** 唯一标识 */
readonly id: string;
/** 图片URL */
imageUrl: string;
/** 图片故事内容 */
imageStory: string;
/** 图片故事剧本 */
imageScript: string;
/** 故事涉及的角色 */
storyRole: RoleEntity[];
/** 故事分类 */
storyType: string;
}
/**
* 故事模板实体接口
* @description 表示一个故事模板及其相关信息
*/
export interface StoryTemplateEntity {
/** 唯一标识 */
readonly id: string;
/** 故事模板名称 */
name: string;
/** 故事模板图片 */
imageUrl: string;
/** 故事模板提示词 */
generateText: string;
/**故事角色 */
storyRole: string[];
/**用户自定义演绎资源 */
userResources: {
/**对应角色名 */
role_name: string;
/**照片URL */
photo_url: string;
/**声音URL */
voice_url: string;
}[];
}