hybrid_plus
Version:
Hybrid Flutter Javascript SDK
139 lines (138 loc) • 3.91 kB
TypeScript
import { ExecOptions } from "./core.ts";
/**
* 文件实体
* @description 文件实体
* @param {string} path 文件本地路径
* @param {string?} url 文件远程地址
* @param {string?} base64 文件base64
* @param {string} name 文件名称
* @param {string} 远程文件存储id
* @param {string} identifier 文件信息
* @param {number} size 文件大小
*/
export interface FileEntity {
name: string;
identifier?: string;
path: string;
url?: string;
id?: string;
base64?: string;
size: number;
}
/** 文件类型 */
export declare enum FileType {
any = 0,
media = 1,
image = 2,
video = 3,
audio = 4,
custom = 5
}
/**
* 文件选择选项
* @param {string} dialogTitle 选择页面标题
* @param {string?} initialDirectory 初始目录
* @param {FileType?} type 文件类型
* @param {string[]?} allowedExtensions 允许选择的文件类型
* @param {boolean} allowCompression 是否允许压缩
* @param {boolean} lockParentWindow 选择器窗口是否锁定在Native页面上方
* @param {boolean} toBase64 是否返回base64
* @param {boolean} upload 是否上传
* @param {boolean} multiple 是否多选
*/
export interface PickFileOptions extends ExecOptions<FileEntity | FileEntity[], any> {
upload?: boolean;
multiple?: boolean;
toBase64?: boolean;
dialogTitle?: string;
initialDirectory?: string;
type?: FileType;
allowedExtensions?: string[];
allowCompression?: boolean;
lockParentWindow?: boolean;
}
/**
* 打开本地文件选项
* @param {string} path 本地文件路径
*/
export interface OpenFileOptions extends ExecOptions<any, any> {
path: string;
}
/**
* 打开网络文件选项
* @param {string} url 文件地址
* @param {string} name 文件名
*/
export interface OpenNetworkFileOptions extends ExecOptions<any, any> {
url: string;
name: string;
}
/**
* 判断文件是否存在选项
* @param {string} path 文件本地路径
*/
export interface IsFileExistOptions extends ExecOptions<boolean, any> {
path: string;
}
/** Http请求返回数据类型 */
export declare enum HttpResponseType {
json = 0,
stream = 1,
plain = 2,
bytes = 3
}
/**
* Http 请求选项
* @param {string} method 请求方式
* @param {number?} receiveTimeout 响应超时时间,单位ms
* @param {number?} sendTimeout 发送超时事件,单位ms
* @param {object} extra 额外配置
* @param {object} headers 请求头
* @param {boolean} preserveHeaderCase 是否应保留headers的大小写。
* @param {HttpResponseType} responseType 响应数据类型
* @param {string} contentType 请求内容类型
* @param {boolean} receiveDataWhenStatusError 状态码表示请求失败时是否检索数据
*/
export interface HttpOptions {
method?: string;
receiveTimeout?: number;
sendTimeout?: number;
extra?: object;
headers?: object;
preserveHeaderCase?: boolean;
responseType?: HttpResponseType;
contentType?: string;
receiveDataWhenStatusError?: boolean;
followRedirects?: boolean;
maxRedirects?: number;
persistentConnection?: boolean;
}
/**
* 文件下载选项
* @param {string} url 文件远程地址
* @param {string} bane 文件名
* @param {string} savePath 文件本地保存路径
* @param {HttpOptions} options Http请求选项
*/
export interface DownloadOptions extends ExecOptions<any, any> {
url: string;
name?: string;
savePath?: string;
options?: HttpOptions;
}
/**
* 文件上传选项
* @param {string} path 文件本地路径
* @param {string} server 服务器地址
*/
export interface UploadOptions extends ExecOptions<any, any> {
path: string;
server?: string;
}
/**
* 获取文件目录选项
* @param {string} path 自定义路径
*/
export interface GetFileDirectoryOptions extends ExecOptions<string, any> {
path?: string;
}