74 lines
1.4 KiB
TypeScript

/**
* 实体接口定义
* 所有实体都应该实现这些基础接口
*/
import { ContentItem, LensType, TagValueObject } from "./valueObject";
/**
* 基础实体接口
*/
export interface BaseEntity {
/** 唯一标识 */
readonly id: string;
/** 更新时间 */
readonly updatedAt: number;
/**loading进度 0-100 */
loadingProgress: number;
/** 禁止编辑 */
disableEdit: boolean;
}
/**
* AI文本实体接口
*/
export interface AITextEntity extends BaseEntity {
/** 文本内容 */
content: string;
}
/**
* 角色实体接口
*/
export interface RoleEntity extends BaseEntity {
/** 角色名称 */
name: string;
/** 角色提示词 */
generateText: string;
/**角色标签 */
tagIds: TagValueObject[];
/** 角色图片URL */
imageUrl: string;
}
/**
* 场景实体接口
*/
export interface SceneEntity extends BaseEntity {
/** 场景名称 */
name: string;
/** 场景图片URL */
imageUrl: string;
/** 场景标签 */
tagIds: TagValueObject[];
/** 场景提示词 */
generateText: string;
}
/**
* 视频片段实体接口
*/
export interface VideoSegmentEntity extends BaseEntity {
/** 视频片段名称 */
name: string;
/**视频片段草图Url */
sketchUrl: string;
/**视频片段视频Url */
videoUrl: string[];
/**视频片段状态 0:草稿加载中 1:视频加载中 2:完成 */
status: 0 | 1 | 2;
/**镜头项 */
lens: LensType[];
}