import { File, NodeInterface, Plugin, PluginOptions, RequestData, RequestHeaders } from "@aomao/engine"; export interface Options extends PluginOptions { /** * 音频上传地址 */ action: string; /** * 数据返回类型,默认 json */ type?: "*" | "json" | "xml" | "html" | "text" | "js"; /** * 音频文件上传时 FormData 的名称,默认 file */ name?: string; /** * 额外携带数据上传 */ data?: RequestData; /** * 请求类型,默认 multipart/form-data; */ contentType?: string; /** * 是否跨域 */ crossOrigin?: boolean; /** * 请求头 */ headers?: RequestHeaders; /** * 文件接收的格式,默认 "*" */ accept?: string | Array; /** * 文件选择限制数量 */ multiple?: boolean | number; /** * 上传大小限制,默认 1024 * 1024 * 5 就是5M */ limitSize?: number; /** * 解析上传后的Respone,返回 result:是否成功,data:成功:{id:音频唯一标识,url:音频地址},失败:错误信息 */ parse?: (response: any) => { result: boolean; data: { url: string; id?: string; status?: "uploading" | "transcoding" | "done" | "error"; } | string; }; /** * 查询地址 */ query?: { /** * 查询地址 */ action: string; /** * 数据返回类型,默认 json */ type?: "*" | "json" | "xml" | "html" | "text" | "js"; /** * 额外携带数据上传 */ data?: RequestData; /** * 请求类型,默认 multipart/form-data; */ contentType?: string; }; } export default class extends Plugin { private cardComponents; static get pluginName(): string; extensionNames: string[]; init(): void; isAudio(file: File): boolean; execute(files?: Array | MouseEvent | string, ...args: any): Promise; query(audio_id: string, success: (data?: { url: string; name?: string; cover?: string; download?: string; status?: string; }) => void, failed?: (message: string) => void): void; dropFiles(files: Array): false | undefined; pasteFiles(files: Array): false | undefined; pasteEach(node: NodeInterface): void; }