vue-select-avatar-base
Version:
基于vue选择头像的包
129 lines (124 loc) • 2.96 kB
TypeScript
/**
* 图片类型
*/
export type ImageFormat = 'png' | 'jpg' | 'webp';
/**
* 返回数据格式
*/
export type DataType = 'base64' | 'file' | 'all';
/**
* 方向(上、右、下、左)
*/
export type Orientation = 't' | 'r' | 'b' | 'l';
/**
* 加载结果
*/
export type LoadingType = 'pending' | 'success' | 'error';
/**
* 配置项
*/
export interface Config {
/**
* 宽度(接受一个数字或 css 长度单位)
* @default '100%'
*/
width?: number | string;
/**
* 高度(接受一个数字或 css 长度单位)
* @default '100%'
*/
height?: number | string;
/**
* 取景器大小
* @default 300
*/
viewfinderSize?: number;
/**
* 背景色
*/
backgroundColor?: string;
/**
* 是否使用网格背景(会覆盖背景色)
* @default true
*/
gridBackground?: boolean;
/**
* 遮挡层颜色
* @default 'rgba(0, 0, 0, 0.3)'
*/
cropperColor?: string;
/**
* 遮挡层是否长按不透明
* @default true
*/
cropperLongPressOpaque?: boolean;
/**
* 遮挡层不透明颜色
* @default '#000000'
*/
cropperOpaqueColor?: string
/**
* 是否展示边缘线
* @default false
*/
edgeLine?: boolean;
/**
* 边缘线颜色
* @default '#409eff'
*/
edgeLineColor?: string;
/**
* 最大缩放比(大于 0 生效)
* @default 6
*/
maxZoomRatio?: number;
/**
* 限制截取的图片的最大值(大于 0 生效)
* ***
* 当截取的图片大小超过这个值,则将图片的大小缩放至这个值,可以在一定程度保证选择头像的文件不会过大
* @default 0
*/
limitImageMaxSize?: number;
/**
* 限制图片在缩放时真实大小大小不能小于这个值(大于 0 且图片的大小大于这个值生效)
* ***
* 即在取景器范围内图片的真实大小小于等于这个值,就不能放大了,可以在一定程度保证选择头像的清晰度
* @default 0
*/
limitImageMinSize?: number;
/**
* 默认的文件名(即 File 对象的 name 属性,注意不要加扩展名)
* 当这个值为布尔判定为 false 时将使用 File 对象的 name 属性
* @default 'avatar'
*/
defaultFilename?: string;
/**
* 返回图片格式(推荐 webp 同一张图片 webp 的占用的空间更小)
* @default 'png'
*/
imageFormat?: ImageFormat;
/**
* 是否启用加载
* @default true
*/
loading?: boolean;
/**
* 初始化时开始加载
* @default false
*/
immediateLoading?: boolean
/**
* 加载文案
* @default '加载中...'
*/
loadingText?: string;
/**
* 加载失败文案
* @default '加载失败!'
*/
loadingErrorText?: string;
}
/**
* 返回结果
*/
export type Result = File | string | { base64: string; file: File } | null;