UNPKG

agora-edu-core

Version:

Core APIs for building an online classroom

158 lines (157 loc) 4.69 kB
import { CloudDrivePagingOption, CloudDriveResourceInfo, CloudDriveResourceUploadStatus, ConversionOption } from './type'; import { EduStoreBase } from '../base'; import { CloudDriveResource, CloudDriveUploadingProgress } from './struct'; /** * `CloudDriveStore` 类提供云盘相关能力。 */ /** @en * The `CloudDriveStore` class provides abilities related the cloud drive. */ export declare class CloudDriveStore extends EduStoreBase { /** * 云盘个人资源文件列表 */ /** @en * Personal resources */ personalResources: Map<string, CloudDriveResource>; /** * 云盘资源上传进度 */ /** @en * Progresses of resources */ uploadProgress: Map<string, CloudDriveUploadingProgress>; private _checkpoints; /** * 取消上传资源 * * @param resourceUuid 资源 ID **/ /** @en * Cancels uploading the file * * @param resourceUuid The resource ID */ cancelUpload(resourceUuid: string): Promise<void>; /** * 重新上传资源 * * @param resourceUuid 资源 ID **/ /** @en * Retries uploading the file * @param resourceUuid The resource ID */ retryUpload(resourceUuid: string): void; /** * 获取个人云盘资源 * @param options 分页参数 * @returns 云盘资源分页信息 **/ /** @en * Gets all personal resources * @param options The paging option * @returns Cloud disk resource page information */ fetchPersonalResources(options: CloudDrivePagingOption): Promise<{ list: never[]; total: number; }>; private _initProgress; /** * @internal */ /** @en * @internal */ _updateProgress(resourceUuid: string, progressValue?: number, status?: CloudDriveResourceUploadStatus): Promise<void>; private _putFile; /** * 将已上传的资源文件映射为云盘内的一个文件 * @param resourceUuid 资源 UUID * @param resourceInfo 资源信息 */ /** @en * Create a record that maps to the uploaded resource file * @param resourceUuid Resource UUID * @param resourceInfo Resource Info */ addPersonalResource(resourceUuid: string, resourceInfo: CloudDriveResourceInfo): Promise<any>; /** * 更新云盘文件信息 * @param resourceUuid * @param resourceInfo * @returns */ /** @en * Updates the cloud drive file info * @param resourceUuid * @param resourceInfo * @returns */ updatePersonalResource(resourceUuid: string, resourceInfo: Pick<CloudDriveResourceInfo, 'resourceName'>): Promise<any>; /** * 上传资源到云盘,上传后需要调用 addPersonalResource 方法创建一条资源对应的课件记录即可在云盘中使用。 * @param file 资源文件对象 * @param progressUuid 上传 UUID * @param ext 资源扩展名 * @param contentType static: 静态, dynamic:动态 * @param conversion 转换选项 * @returns 上传成功后的文件信息 **/ /** @en * Uploads a file to personal resources, addPersonalResource is required to call after uploading, which creates a record that will show in cloud drive. * @param file The file * @param progressUuid Progress UUID * @param ext Extension name of the resource * @param contentType static or dynamic * @param conversion conversion options * @returns Information about the uploaded file */ uploadPersonalResource(file: File, progressUuid: string, ext: string, contentType: string, conversion?: ConversionOption): Promise<{ ext: string; resourceName: string; resourceUuid: any; url: string; } | { ext?: undefined; resourceName?: undefined; resourceUuid?: undefined; url?: undefined; } | undefined>; /** * 移除个人资源 * @param resourceUuids 资源 ID **/ /** @en * Removes files from personal resources * @param resourceUuids The resource IDs */ removePersonalResources(resourceUuids: string[]): Promise<undefined>; /** * 计算资源文件 UUID * @param resource * @returns 资源文件 UUID */ /** @en * Figure out a UUID for the resource file * @param resource * @returns Resource file UUID */ calcResourceUuid(resource: File | string): Promise<string>; /** * @internal */ /** @en * @internal */ onInstall(): void; /** * @internal */ /** @en * @internal */ onDestroy(): void; }