forked from 77media/video-flow
74 lines
1.4 KiB
TypeScript
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;
|
|
/**角色标签 */
|
|
tags: 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[];
|
|
}
|