@aplus-frontend/ui
Version:
46 lines (45 loc) • 1.16 kB
TypeScript
import { accessCreate } from '@aplus-frontend/oss';
import { VNodeChild } from 'vue';
import { CreateModalFuncProps } from '../../ap-modal';
export type ApFilePreviewParser = {
/**
* 文件格式
*/
format: string[];
/**
* 文件解析
* @param option.src 文件地址
* @param option.originalSrc 原始文件地址
* @param option.format 文件格式
* @param option.fileName 文件名
* @returns
*/
parser: (option: {
src: string;
originalSrc: string;
format: string;
fileName?: string;
}) => VNodeChild;
};
export interface ApFilePreviewProps {
/**
* 文件地址,支持网络地址和Oss路径
*/
src?: string;
/**
* 文件名
*/
fileName?: string;
/**
* 文件格式,默认为文件后缀
*/
format?: string;
/**
* 文件解析器,默认支持PDF和图片
*/
parserPlugin?: ApFilePreviewParser[];
getOssAccess?: (bucket?: string) => Promise<accessCreate>;
}
export type CreateFilePreviewModal = (option: ApFilePreviewProps & {
modalProps?: CreateModalFuncProps;
}) => void;