From f5f09df348067a57e255a6f7cf608ba7ac07cb53 Mon Sep 17 00:00:00 2001 From: From-wh Date: Thu, 15 Jun 2023 17:05:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=BE=E7=89=87=E5=8E=8B=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/src/components/uploadImg/index.vue | 47 +++++++------- template/admin/src/pages/app/upload/index.vue | 29 +++++++-- template/admin/src/utils/compressImg.js | 65 +++++++++++++++++++ 3 files changed, 110 insertions(+), 31 deletions(-) create mode 100644 template/admin/src/utils/compressImg.js diff --git a/template/admin/src/components/uploadImg/index.vue b/template/admin/src/components/uploadImg/index.vue index 6ccc1bb5c..64f7a96b5 100644 --- a/template/admin/src/components/uploadImg/index.vue +++ b/template/admin/src/components/uploadImg/index.vue @@ -128,6 +128,7 @@ import Setting from '@/setting'; import { getCookies } from '@/libs/util'; import { fileUpload, scanUploadQrcode, scanUploadGet } from '@/api/setting'; import QRCode from 'qrcodejs2'; +import compressImg from '@/utils/compressImg.js'; export default { name: '', @@ -231,33 +232,25 @@ export default { const formData = new FormData(); formData.append('file', file); formData.append('pid', this.treeId); - fileUpload(formData).then((res) => { - if (res.status == 200) { - resolve(); - // this.$emit('uploadImgSuccess', res.data); - } else { - this.$message({ - message: '上传失败', - type: 'error', - duration: 1000, - }); - } - }); + fileUpload(formData) + .then((res) => { + if (res.status == 200) { + resolve(); + // this.$emit('uploadImgSuccess', res.data); + } else { + this.$message({ + message: '上传失败', + type: 'error', + duration: 1000, + }); + } + }) + .catch((err) => { + this.$Message.error(err.msg); + }); }); }, - beforeUpload(file) { - // console.log('1s '); - // if (!/image\/\w+/.test(file.type)) { - // this.$Message.error('请上传以jpg、jpeg、png等结尾的图片文件'); //FileExt.toLowerCase() - // return false; - // } - // let promise = new Promise((resolve) => { - // this.$nextTick(function () { - // resolve(true); - // }); - // }); - // return promise; - }, + beforeUpload(file) {}, creatQrCode(url) { this.$refs.qrCodeUrl.innerHTML = ''; var qrcode = new QRCode(this.$refs.qrCodeUrl, { @@ -286,6 +279,10 @@ export default { fileChange(file, fileList) { console.log(file, fileList); this.ruleForm.imgList = fileList; + compressImg(file.raw).then((res) => { + if (fileList.length) fileList[fileList.length - 1].raw = res; + this.ruleForm.imgList = fileList; + }); }, loadData(item, callback) { getCategoryListApi({ diff --git a/template/admin/src/pages/app/upload/index.vue b/template/admin/src/pages/app/upload/index.vue index d892b3e0e..a60d0d2ac 100644 --- a/template/admin/src/pages/app/upload/index.vue +++ b/template/admin/src/pages/app/upload/index.vue @@ -39,6 +39,7 @@