import type { ISysFileInfo } from '@/domain/iSysFile'; import type { ImgCropProps } from 'antd-img-crop'; /** * 图片上传器组件属性 */ export interface ImageUploaderProps { /** * 上传地址 */ action: string; /** * 当前值 * - 单选模式:ISysFileInfo | null * - 多选模式:ISysFileInfo[] */ value?: ISysFileInfo | ISysFileInfo[] | null; /** * 赋值类型 * 上传完成后赋值的类型。 */ changeType?: 'id' | 'object'; /** * 上传完成回调 * @param value ISysFileInfo | ISysFileInfo[] | null */ onChange?: (value?: ISysFileInfo | ISysFileInfo[] | number | number[] | null) => void; /** * 上传模式 * @default 'single' */ mode?: 'single' | 'multiple'; /** * 是否禁用 * @default false */ disabled?: boolean; /** * 最大上传数量 * @default 1 (单选模式) | 9 (多选模式) */ maxCount?: number; /** * 图片宽度限制 (px) * @default 1920 */ maxWidth?: number; /** * 图片高度限制 (px) * @default 1080 */ maxHeight?: number; /** * 图片大小限制 (MB) * @default 5 */ maxSize?: number; /** * 是否支持裁剪 * @default false */ croppable?: boolean; /** * 剪裁参数 */ cropperOptions?: Omit; }