64 lines
1.1 KiB
TypeScript
64 lines
1.1 KiB
TypeScript
// 上传相关的基础类型定义
|
|
|
|
/**
|
|
* 上传状态枚举
|
|
*/
|
|
export enum UploadStatus {
|
|
/** 初始状态 */
|
|
INITIAL = 'INITIAL',
|
|
/** 上传中 */
|
|
UPLOADING = 'UPLOADING',
|
|
/** 暂停 */
|
|
PAUSED = 'PAUSED',
|
|
/** 已完成 */
|
|
COMPLETED = 'COMPLETED',
|
|
/** 失败 */
|
|
FAILED = 'FAILED'
|
|
}
|
|
|
|
/**
|
|
* 文件分片信息
|
|
*/
|
|
export interface FileChunk {
|
|
/** 分片索引 */
|
|
index: number;
|
|
/** 分片大小 */
|
|
size: number;
|
|
/** 分片起始位置 */
|
|
start: number;
|
|
/** 分片结束位置 */
|
|
end: number;
|
|
/** 是否已上传 */
|
|
uploaded?: boolean;
|
|
}
|
|
|
|
/**
|
|
* 上传任务信息
|
|
*/
|
|
export interface UploadTask {
|
|
/** 任务ID */
|
|
taskId: string;
|
|
/** 文件ID */
|
|
fileId: string;
|
|
/** 文件信息 */
|
|
file: File;
|
|
/** 上传状态 */
|
|
status: UploadStatus;
|
|
/** 已上传大小 */
|
|
uploadedSize: number;
|
|
/** 总大小 */
|
|
totalSize: number;
|
|
/** 上传进度百分比 */
|
|
progress: number;
|
|
/** 分片大小 */
|
|
chunkSize: number;
|
|
/** 总分片数 */
|
|
totalChunks: number;
|
|
/** 已上传分片索引列表 */
|
|
uploadedChunks: number[];
|
|
/** 创建时间 */
|
|
createdAt: number;
|
|
/** 更新时间 */
|
|
updatedAt: number;
|
|
}
|