/** * 附件对象 */ declare class Attachment { /** * 文件主键 */ id: string; /** * 网盘主键 */ diskId: string; /** * 文件标识 */ code: string /** * 版本号 */ version: string; /** * 文件名 */ name: string; /** * 原始文件名 */ originName: string; /** * 文件大小 */ size: number; /** * 文件摘要(MD5) */ digest: string; /** * 文件类型 */ type: string; /** * 文件状态 */ confirmed: string; /** * 文件路径 */ path: string; /** * 父级主键 */ parentId: string; /** * 备注 */ description: string; /** * 扩展名 */ extension: string; } /** * 附件上传选项 */ declare class AttachmentUploadOption { /** * 指定文件名,如果为空的话,则取文件的原生名字 */ fileName?: string; /** * 同一路径下发现同名文件时的冲突行为(1:返回失败[默认],2:添加后缀重命名) */ fileNameConflictBehavior?: string; /** * 文件标识 */ code?: string; /** * 文件版本号,默认使用时间作为版本号 */ version?: string; /** * 文件存储路径,默认保存到根路径("/") */ path?: string; /** * 异步上传(0:同步[默认],1:异步) * 这个异步上传是指存储中心将用户上传的附件同步传输到指定的存储插件中 */ async?: string; /** * 备注信息 */ description?: string; /** * 是否已确认(0: 待确认[默认],1:已确认) */ confirmed?: string; /** * 监控上传进度 */ progress?: (progress: number) => void; } /** * 压缩文件节点信息 */ declare class AttachmentCompressNode { /** * 文件类型,1: 文件,2: 文件夹,3: 压缩文件 */ type: string; /** * 文件主键,如果 type 为 1 时,此值不能为空。如果 type 为 2、3 时,此值必须为空 */ id?: string; /** * 文件名称。如果 type 为 1 时,name 允许为空,为空时使用文件的原文件名。 */ name?: string; /** * 子文件列表。如果 type 为 1 时,此值必须为空。 */ children?: Array; } /** * 附件下载选项 */ class AttachmentDownloadOption { /** * 文件版本。如果为空的话,则下载最新版本的附件(根据 createDate 排序) * @type {String} */ version; /** * 使用指定的文件名下载文件。如果为空,则使用上传时附件中心保存的文件名 * @type {String} */ fileName; /** * 使用指定的 Content-Type 下载文件 * @type {String} */ contentType; /** * 使用指定的 Content-Dispostion 下载文件 * @type {String} */ contentDisposition; } /** * 附件中心接口 */ declare class AttachmentClient { /** * 上传附件 * 本接口会自动判断是否支持秒传,并自动执行分片上传 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param file 待上传文件 * @param options 附件上传选项(可选参数) */ upload(diskPath: string, token: string, file: File, options?: AttachmentUploadOption): Promise; /** * 二次确认文件 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param fileIds 待确认的文件主键 */ confirm(diskPath: string, token: string, fileIds: Array): Promise; /** * 删除文件 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param fileIds 待删除的文件主键 */ delete(diskPath: string, token: string, fileIds: Array): Promise; /** * 复制文件 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param id 待复制的文件主键 * @param options 文件上传选项 */ copy(diskPath: string, token: string, id: string, options?: AttachmentUploadOption): Promise; /** * 压缩文件 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param fileName 压缩文件文件名 * @param structure 压缩文件结构 * @param options 文件上传选项 */ compress(diskPath: string, token: string, fileName: string, structure: Array, options?: AttachmentUploadOption): Promise; /** * 下载文件 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param id 文件主键 * @param options 文件下载选项 */ downloadFile(diskPath: string, token: string, id: string, options?: AttachmentDownloadOption): Promise; /** * 下载文件-版本 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param code 文件标识 * @param options 文件下载选项 */ downloadFileVersion(diskPath: string, token: string, code: string, options?: AttachmentDownloadOption): Promise; /** * 获取文件信息 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param id 文件主键 */ getDetails(diskPath: string, token: string, id: string): Promise; /** * 批量获取文件信息 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param fileIds 文件主键列表 */ getList(diskPath: string, token: string, fileIds: Array): Promise<[Attachment]>; /** * 获取文件版本信息 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param code 文件标识 */ getVersions(diskPath: string, token: string, code: string): Promise<[Attachment]>; /** * 重命名文件 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param id 文件主键 * @param fileName 文件新名称 * @param path 文件新路径 */ rename(diskPath: string, token: string, id: string, fileName?: string, path?: string): Promise; /** * 预览文件 * * @param diskPath 网盘路径 * @param token 接口凭证 * @param source 预览来源,允许是附件主键或者 http 文件下载地址 * @param options 选项 */ preview(diskPath: string, token: string, source: string, options?: object): Promise; /** * 渲染模板 * * @param token 接口凭证 * @param code 文件模板标识 * @param fileName 生成文件的名称 * @param params 模板数据源参数 */ render(token: string, code: string, fileName: string, params?: object): Promise; }