From 2f4807762469f9d87593b4540c71b254539555ff Mon Sep 17 00:00:00 2001 From: zjl Date: Mon, 23 Dec 2024 12:57:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A3=81=E5=89=AAOSS?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Cropper/src/CropperModal.vue | 36 +++++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/src/components/Cropper/src/CropperModal.vue b/src/components/Cropper/src/CropperModal.vue index 96d7bf6..83fa8e4 100644 --- a/src/components/Cropper/src/CropperModal.vue +++ b/src/components/Cropper/src/CropperModal.vue @@ -173,6 +173,9 @@ ZoomOutOutlined, } from '@ant-design/icons-vue'; + /** + * 定义接收参数 + */ const props = defineProps({ title: { type: String, default: '图片上传' }, circled: { type: Boolean, default: false }, @@ -193,6 +196,9 @@ let scaleX = 1; let scaleY = 1; + /** + * 定义模态 + */ const [modalRegister, { openModal, closeModal, setSubLoading }] = useModal({ title: props.title, width: 800, @@ -201,7 +207,10 @@ // 自定义上传逻辑,这里暂时不做处理 } - // 上传图片 + /** + * 上传图片 + * @param file 文件 + */ const beforeUpload = async (file) => { const reader = new FileReader(); reader.readAsDataURL(file); @@ -214,6 +223,10 @@ return false; }; + /** + * 执行裁剪 + * @param param0 参数 + */ function handleCropend({ imgBase64 }: CropendResult) { previewSource.value = imgBase64; } @@ -232,16 +245,20 @@ cropper?.value?.[event]?.(arg); } + /** + * 执行上传 + */ async function handleOk() { if (!src.value) { setSubLoading(false); return message.error('请先上传图片'); } const uploadApi = props.uploadApi; - const name = props.name + const name = props.name; const file = base64ToFile(previewSource.value, filename); - //接口上传 + // 文件上传 if (uploadApi && isFunction(uploadApi)) { + // 本地文件上传 try { setSubLoading(true); const formData = new FormData(); @@ -254,15 +271,16 @@ setSubLoading(false); } } else { - //oss上传 - actionFiles(file) + // OSS文件上传 + actionFiles(file); } } + /** * 阿里云OSS上传 * @param fileChild 参数 */ - const actionFiles = async (fileChild: any) => { + const actionFiles = async (fileChild: any) => { const configData = await getOssConfig(); let date = new Date(); let year = date.getFullYear(); @@ -309,7 +327,7 @@ // headers, mime: fileChild.type, }); - emit('uploadSuccess', {fileUrl:configData.oss_domain + res.name}); + emit('uploadSuccess', { fileUrl: configData.oss_domain + res.name }); closeModal(); } catch (error) { emit('uploadSuccess', {}); @@ -317,6 +335,10 @@ setSubLoading(false); } }; + + /** + * 执行关闭 + */ function handleClose() { src.value = ''; previewSource.value = '';