From 71f4d36c2119b75e4f90020d74be0c0007eee380 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 20 六月 2024 10:15:08 +0800
Subject: [PATCH] ♥️发布 vue 版本 5.2.0 与 cloud 版本 2.2.0
---
src/components/ImageUpload/index.vue | 31 +++++++++++++++++++++++++------
1 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue
index 47945dd..1c6dcd1 100644
--- a/src/components/ImageUpload/index.vue
+++ b/src/components/ImageUpload/index.vue
@@ -44,9 +44,13 @@
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: [String, Object, Array],
+ modelValue: {
+ type: [String, Object, Array],
+ default: () => []
+ },
// 鍥剧墖鏁伴噺闄愬埗
limit: propTypes.number.def(5),
// 澶у皬闄愬埗(MB)
@@ -57,7 +61,14 @@
isShowTip: {
type: Boolean,
default: true
- }
+ },
+ // 鏄惁鏀寔鍘嬬缉锛岄粯璁ゅ惁
+ compressSupport: {
+ type: Boolean,
+ default: false
+ },
+ // 鍘嬬缉鐩爣澶у皬锛屽崟浣岾B銆傞粯璁�300KB浠ヤ笂鏂囦欢鎵嶅帇缂╋紝骞跺帇缂╄嚦300KB浠ュ唴
+ compressTargetSize: propTypes.number.def(300)
});
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -78,14 +89,14 @@
watch(
() => props.modelValue,
- async (val) => {
+ async (val: string) => {
if (val) {
// 棣栧厛灏嗗�艰浆涓烘暟缁�
let list: OssVO[] = [];
if (Array.isArray(val)) {
list = val as OssVO[];
} else {
- const res = await listByIds(val as string);
+ const res = await listByIds(val);
list = res.data;
}
// 鐒跺悗灏嗘暟缁勮浆涓哄璞℃暟缁�
@@ -135,8 +146,16 @@
return false;
}
}
- proxy?.$modal.loading('姝e湪涓婁紶鍥剧墖锛岃绋嶅��...');
- number.value++;
+
+ //鍘嬬缉鍥剧墖锛屽紑鍚帇缂╁苟涓斿ぇ浜庢寚瀹氱殑鍘嬬缉澶у皬鏃舵墠鍘嬬缉
+ if (props.compressSupport && file.size / 1024 > props.compressTargetSize) {
+ proxy?.$modal.loading('姝e湪涓婁紶鍥剧墖锛岃绋嶅��...');
+ number.value++;
+ return compressAccurately(file, props.compressTargetSize);
+ } else {
+ proxy?.$modal.loading('姝e湪涓婁紶鍥剧墖锛岃绋嶅��...');
+ number.value++;
+ }
};
// 鏂囦欢涓暟瓒呭嚭
--
Gitblit v1.9.3