@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
85 lines (84 loc) • 2.21 kB
TypeScript
import { FUploadFileExtend, UploadFile, UploadInput, UploadOutput, UploaderOptions } from "../composition/type";
import { Ref, SetupContext } from "vue";
export declare class UploaderService {
private stateChangeRecord;
private serverToken;
queue: UploadFile[];
uploadOpts: UploaderOptions;
/**
* 服务器端扩展
*/
private extendServerConfig;
private uploadServerSer;
private uploadContext;
constructor(stateChangeRecord: Ref<UploadOutput>, serverToken: string);
setUploadContext(context: SetupContext): void;
/**
* 处理从服务器端返回的结果
*/
private handleResultFromServer;
setOptions(options: UploaderOptions): void;
/**
* 处理上传的附件信息
* @param incomingFiles
*/
handleFiles(incomingFiles: FileList): void;
/**
* 获取上传被拒绝的理由
* @param name
* @param queuelength
* @param size
* @returns
*/
rejectedReason(name: string, queuelength: number, size: number): {
allowed: boolean;
message: string;
};
/**
* 超出最大上传数值
* @param queuelength
* @returns
*/
private exceedMaxUpload;
/**
* 从前端传来事件,进行服务器端方法类型判断
* @param input
*/
handleUploadEvent(event: UploadInput): void;
/**
* 处理上传的扩展参数
* @param extendSer
*/
setExtendServerConfig(extendSer: any): void;
/**
* 处理服务器接口的方法
* @param upload
* @returns
*/
serverMethod(upload: {
event: UploadInput;
files: UploadFile[] | FUploadFileExtend[];
}): void;
/**
* 上传附件
* @param files
* @param event
* @returns
*/
upload(files: UploadFile[], event: UploadInput, eventEmit: (any: any) => void): Promise<UploadOutput>;
/**
* 删除附件
* @param files
* @param event
* @returns
*/
remove(files: FUploadFileExtend[], event: UploadInput, eventEmit: (any: any) => void): Promise<UploadOutput>;
/**
* 重置
*/
reset(): void;
/**
* 销毁
*/
destroyed(): void;
}