| | |
| | | "element-plus": "2.4.4", |
| | | "file-saver": "2.0.5", |
| | | "fuse.js": "7.0.0", |
| | | "image-conversion": "^2.1.1", |
| | | "js-cookie": "3.0.5", |
| | | "jsencrypt": "3.3.2", |
| | | "nprogress": "0.2.0", |
| | |
| | | import { OssVO } from '@/api/system/oss/types'; |
| | | import { propTypes } from '@/utils/propTypes'; |
| | | import { globalHeaders } from '@/utils/request'; |
| | | import { compressAccurately } from 'image-conversion'; |
| | | |
| | | const props = defineProps({ |
| | | modelValue: { |
| | |
| | | isShowTip: { |
| | | type: Boolean, |
| | | default: true |
| | | } |
| | | }, |
| | | // 是否支持压缩,默认否 |
| | | compressSupport: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | // 压缩目标大小,单位KB。默认300KB以上文件才压缩,并压缩至300KB以内 |
| | | compressTargetSize: propTypes.number.def(300) |
| | | }); |
| | | |
| | | const { proxy } = getCurrentInstance() as ComponentInternalInstance; |
| | |
| | | return false; |
| | | } |
| | | } |
| | | proxy?.$modal.loading('正在上传图片,请稍候...'); |
| | | number.value++; |
| | | |
| | | //压缩图片,开启压缩并且大于指定的压缩大小时才压缩 |
| | | if (props.compressSupport && file.size / 1024 > props.compressTargetSize) { |
| | | proxy?.$modal.loading('正在上传图片,请稍候...'); |
| | | number.value++; |
| | | return compressAccurately(file, props.compressTargetSize); |
| | | } else { |
| | | proxy?.$modal.loading('正在上传图片,请稍候...'); |
| | | number.value++; |
| | | } |
| | | }; |
| | | |
| | | // 文件个数超出 |