Showing
4 changed files
with
174 additions
and
10 deletions
| ... | @@ -11,6 +11,8 @@ | ... | @@ -11,6 +11,8 @@ |
| 11 | "@vitejs/plugin-legacy": "^1.8.2", | 11 | "@vitejs/plugin-legacy": "^1.8.2", |
| 12 | "@vueuse/core": "^8.5.0", | 12 | "@vueuse/core": "^8.5.0", |
| 13 | "animate.css": "^4.1.1", | 13 | "animate.css": "^4.1.1", |
| 14 | + "compress-imgs": "^1.0.1", | ||
| 15 | + "compressorjs": "^1.2.1", | ||
| 14 | "dayjs": "^1.11.3", | 16 | "dayjs": "^1.11.3", |
| 15 | "default-passive-events": "^2.0.0", | 17 | "default-passive-events": "^2.0.0", |
| 16 | "global": "^4.4.0", | 18 | "global": "^4.4.0", |
| ... | @@ -20,9 +22,11 @@ | ... | @@ -20,9 +22,11 @@ |
| 20 | "lodash": "^4.17.21", | 22 | "lodash": "^4.17.21", |
| 21 | "moment": "^2.29.3", | 23 | "moment": "^2.29.3", |
| 22 | "mui-player": "^1.6.0", | 24 | "mui-player": "^1.6.0", |
| 25 | + "picture-compressor-plus": "^1.2.4", | ||
| 23 | "recorder-core": "^1.3.23122400", | 26 | "recorder-core": "^1.3.23122400", |
| 24 | "shrinkpng": "^1.2.0-beta.1", | 27 | "shrinkpng": "^1.2.0-beta.1", |
| 25 | "typescript": "^4.7.3", | 28 | "typescript": "^4.7.3", |
| 29 | + "upng-js": "^2.1.0", | ||
| 26 | "uuid": "^8.3.2", | 30 | "uuid": "^8.3.2", |
| 27 | "vant": "^4.8.10", | 31 | "vant": "^4.8.10", |
| 28 | "vconsole": "^3.14.6", | 32 | "vconsole": "^3.14.6", |
| ... | @@ -1167,6 +1171,11 @@ | ... | @@ -1167,6 +1171,11 @@ |
| 1167 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", | 1171 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", |
| 1168 | "dev": true | 1172 | "dev": true |
| 1169 | }, | 1173 | }, |
| 1174 | + "node_modules/blueimp-canvas-to-blob": { | ||
| 1175 | + "version": "3.29.0", | ||
| 1176 | + "resolved": "https://mirrors.cloud.tencent.com/npm/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.29.0.tgz", | ||
| 1177 | + "integrity": "sha512-0pcSSGxC0QxT+yVkivxIqW0Y4VlO2XSDPofBAqoJ1qJxgH9eiUDLv50Rixij2cDuEfx4M6DpD9UGZpRhT5Q8qg==" | ||
| 1178 | + }, | ||
| 1170 | "node_modules/boolbase": { | 1179 | "node_modules/boolbase": { |
| 1171 | "version": "1.0.0", | 1180 | "version": "1.0.0", |
| 1172 | "resolved": "https://mirrors.cloud.tencent.com/npm/boolbase/-/boolbase-1.0.0.tgz", | 1181 | "resolved": "https://mirrors.cloud.tencent.com/npm/boolbase/-/boolbase-1.0.0.tgz", |
| ... | @@ -1561,6 +1570,20 @@ | ... | @@ -1561,6 +1570,20 @@ |
| 1561 | "node": ">=4.0.0" | 1570 | "node": ">=4.0.0" |
| 1562 | } | 1571 | } |
| 1563 | }, | 1572 | }, |
| 1573 | + "node_modules/compress-imgs": { | ||
| 1574 | + "version": "1.0.1", | ||
| 1575 | + "resolved": "https://mirrors.cloud.tencent.com/npm/compress-imgs/-/compress-imgs-1.0.1.tgz", | ||
| 1576 | + "integrity": "sha512-k61fyqMIlzvl8N2l3Dcoudkxk0QYknU6xcGgRapF2LgcbCjlrpr+L54mS2pQf1miqogEU4YMIqTS9dqdEN5g1w==" | ||
| 1577 | + }, | ||
| 1578 | + "node_modules/compressorjs": { | ||
| 1579 | + "version": "1.2.1", | ||
| 1580 | + "resolved": "https://mirrors.cloud.tencent.com/npm/compressorjs/-/compressorjs-1.2.1.tgz", | ||
| 1581 | + "integrity": "sha512-+geIjeRnPhQ+LLvvA7wxBQE5ddeLU7pJ3FsKFWirDw6veY3s9iLxAQEw7lXGHnhCJvBujEQWuNnGzZcvCvdkLQ==", | ||
| 1582 | + "dependencies": { | ||
| 1583 | + "blueimp-canvas-to-blob": "^3.29.0", | ||
| 1584 | + "is-blob": "^2.1.0" | ||
| 1585 | + } | ||
| 1586 | + }, | ||
| 1564 | "node_modules/concat-map": { | 1587 | "node_modules/concat-map": { |
| 1565 | "version": "0.0.1", | 1588 | "version": "0.0.1", |
| 1566 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | 1589 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
| ... | @@ -3142,6 +3165,17 @@ | ... | @@ -3142,6 +3165,17 @@ |
| 3142 | "node": ">=8" | 3165 | "node": ">=8" |
| 3143 | } | 3166 | } |
| 3144 | }, | 3167 | }, |
| 3168 | + "node_modules/is-blob": { | ||
| 3169 | + "version": "2.1.0", | ||
| 3170 | + "resolved": "https://mirrors.cloud.tencent.com/npm/is-blob/-/is-blob-2.1.0.tgz", | ||
| 3171 | + "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==", | ||
| 3172 | + "engines": { | ||
| 3173 | + "node": ">=6" | ||
| 3174 | + }, | ||
| 3175 | + "funding": { | ||
| 3176 | + "url": "https://github.com/sponsors/sindresorhus" | ||
| 3177 | + } | ||
| 3178 | + }, | ||
| 3145 | "node_modules/is-ci": { | 3179 | "node_modules/is-ci": { |
| 3146 | "version": "3.0.1", | 3180 | "version": "3.0.1", |
| 3147 | "resolved": "https://mirrors.cloud.tencent.com/npm/is-ci/-/is-ci-3.0.1.tgz", | 3181 | "resolved": "https://mirrors.cloud.tencent.com/npm/is-ci/-/is-ci-3.0.1.tgz", |
| ... | @@ -4399,6 +4433,11 @@ | ... | @@ -4399,6 +4433,11 @@ |
| 4399 | "url": "https://github.com/sponsors/jonschlinkert" | 4433 | "url": "https://github.com/sponsors/jonschlinkert" |
| 4400 | } | 4434 | } |
| 4401 | }, | 4435 | }, |
| 4436 | + "node_modules/picture-compressor-plus": { | ||
| 4437 | + "version": "1.2.4", | ||
| 4438 | + "resolved": "https://mirrors.cloud.tencent.com/npm/picture-compressor-plus/-/picture-compressor-plus-1.2.4.tgz", | ||
| 4439 | + "integrity": "sha512-Nqh1eVAgw2mcq8SBxAUbtIQdGlFGkV5KpvUefy8KoTBG1GW/rENXAy7mF+QQe3CiYPfsV3C79bxE4hCLbPnmLA==" | ||
| 4440 | + }, | ||
| 4402 | "node_modules/pify": { | 4441 | "node_modules/pify": { |
| 4403 | "version": "4.0.1", | 4442 | "version": "4.0.1", |
| 4404 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", | 4443 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", |
| ... | @@ -5657,6 +5696,19 @@ | ... | @@ -5657,6 +5696,19 @@ |
| 5657 | "node": ">=8" | 5696 | "node": ">=8" |
| 5658 | } | 5697 | } |
| 5659 | }, | 5698 | }, |
| 5699 | + "node_modules/upng-js": { | ||
| 5700 | + "version": "2.1.0", | ||
| 5701 | + "resolved": "https://mirrors.cloud.tencent.com/npm/upng-js/-/upng-js-2.1.0.tgz", | ||
| 5702 | + "integrity": "sha512-d3xzZzpMP64YkjP5pr8gNyvBt7dLk/uGI67EctzDuVp4lCZyVMo0aJO6l/VDlgbInJYDY6cnClLoBp29eKWI6g==", | ||
| 5703 | + "dependencies": { | ||
| 5704 | + "pako": "^1.0.5" | ||
| 5705 | + } | ||
| 5706 | + }, | ||
| 5707 | + "node_modules/upng-js/node_modules/pako": { | ||
| 5708 | + "version": "1.0.11", | ||
| 5709 | + "resolved": "https://mirrors.cloud.tencent.com/npm/pako/-/pako-1.0.11.tgz", | ||
| 5710 | + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" | ||
| 5711 | + }, | ||
| 5660 | "node_modules/upper-case": { | 5712 | "node_modules/upper-case": { |
| 5661 | "version": "2.0.2", | 5713 | "version": "2.0.2", |
| 5662 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", | 5714 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", |
| ... | @@ -7003,6 +7055,11 @@ | ... | @@ -7003,6 +7055,11 @@ |
| 7003 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", | 7055 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", |
| 7004 | "dev": true | 7056 | "dev": true |
| 7005 | }, | 7057 | }, |
| 7058 | + "blueimp-canvas-to-blob": { | ||
| 7059 | + "version": "3.29.0", | ||
| 7060 | + "resolved": "https://mirrors.cloud.tencent.com/npm/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.29.0.tgz", | ||
| 7061 | + "integrity": "sha512-0pcSSGxC0QxT+yVkivxIqW0Y4VlO2XSDPofBAqoJ1qJxgH9eiUDLv50Rixij2cDuEfx4M6DpD9UGZpRhT5Q8qg==" | ||
| 7062 | + }, | ||
| 7006 | "boolbase": { | 7063 | "boolbase": { |
| 7007 | "version": "1.0.0", | 7064 | "version": "1.0.0", |
| 7008 | "resolved": "https://mirrors.cloud.tencent.com/npm/boolbase/-/boolbase-1.0.0.tgz", | 7065 | "resolved": "https://mirrors.cloud.tencent.com/npm/boolbase/-/boolbase-1.0.0.tgz", |
| ... | @@ -7293,6 +7350,20 @@ | ... | @@ -7293,6 +7350,20 @@ |
| 7293 | "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", | 7350 | "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", |
| 7294 | "dev": true | 7351 | "dev": true |
| 7295 | }, | 7352 | }, |
| 7353 | + "compress-imgs": { | ||
| 7354 | + "version": "1.0.1", | ||
| 7355 | + "resolved": "https://mirrors.cloud.tencent.com/npm/compress-imgs/-/compress-imgs-1.0.1.tgz", | ||
| 7356 | + "integrity": "sha512-k61fyqMIlzvl8N2l3Dcoudkxk0QYknU6xcGgRapF2LgcbCjlrpr+L54mS2pQf1miqogEU4YMIqTS9dqdEN5g1w==" | ||
| 7357 | + }, | ||
| 7358 | + "compressorjs": { | ||
| 7359 | + "version": "1.2.1", | ||
| 7360 | + "resolved": "https://mirrors.cloud.tencent.com/npm/compressorjs/-/compressorjs-1.2.1.tgz", | ||
| 7361 | + "integrity": "sha512-+geIjeRnPhQ+LLvvA7wxBQE5ddeLU7pJ3FsKFWirDw6veY3s9iLxAQEw7lXGHnhCJvBujEQWuNnGzZcvCvdkLQ==", | ||
| 7362 | + "requires": { | ||
| 7363 | + "blueimp-canvas-to-blob": "^3.29.0", | ||
| 7364 | + "is-blob": "^2.1.0" | ||
| 7365 | + } | ||
| 7366 | + }, | ||
| 7296 | "concat-map": { | 7367 | "concat-map": { |
| 7297 | "version": "0.0.1", | 7368 | "version": "0.0.1", |
| 7298 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | 7369 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
| ... | @@ -8439,6 +8510,11 @@ | ... | @@ -8439,6 +8510,11 @@ |
| 8439 | "binary-extensions": "^2.0.0" | 8510 | "binary-extensions": "^2.0.0" |
| 8440 | } | 8511 | } |
| 8441 | }, | 8512 | }, |
| 8513 | + "is-blob": { | ||
| 8514 | + "version": "2.1.0", | ||
| 8515 | + "resolved": "https://mirrors.cloud.tencent.com/npm/is-blob/-/is-blob-2.1.0.tgz", | ||
| 8516 | + "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==" | ||
| 8517 | + }, | ||
| 8442 | "is-ci": { | 8518 | "is-ci": { |
| 8443 | "version": "3.0.1", | 8519 | "version": "3.0.1", |
| 8444 | "resolved": "https://mirrors.cloud.tencent.com/npm/is-ci/-/is-ci-3.0.1.tgz", | 8520 | "resolved": "https://mirrors.cloud.tencent.com/npm/is-ci/-/is-ci-3.0.1.tgz", |
| ... | @@ -9380,6 +9456,11 @@ | ... | @@ -9380,6 +9456,11 @@ |
| 9380 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", | 9456 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", |
| 9381 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" | 9457 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" |
| 9382 | }, | 9458 | }, |
| 9459 | + "picture-compressor-plus": { | ||
| 9460 | + "version": "1.2.4", | ||
| 9461 | + "resolved": "https://mirrors.cloud.tencent.com/npm/picture-compressor-plus/-/picture-compressor-plus-1.2.4.tgz", | ||
| 9462 | + "integrity": "sha512-Nqh1eVAgw2mcq8SBxAUbtIQdGlFGkV5KpvUefy8KoTBG1GW/rENXAy7mF+QQe3CiYPfsV3C79bxE4hCLbPnmLA==" | ||
| 9463 | + }, | ||
| 9383 | "pify": { | 9464 | "pify": { |
| 9384 | "version": "4.0.1", | 9465 | "version": "4.0.1", |
| 9385 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", | 9466 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", |
| ... | @@ -10252,6 +10333,21 @@ | ... | @@ -10252,6 +10333,21 @@ |
| 10252 | "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", | 10333 | "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", |
| 10253 | "dev": true | 10334 | "dev": true |
| 10254 | }, | 10335 | }, |
| 10336 | + "upng-js": { | ||
| 10337 | + "version": "2.1.0", | ||
| 10338 | + "resolved": "https://mirrors.cloud.tencent.com/npm/upng-js/-/upng-js-2.1.0.tgz", | ||
| 10339 | + "integrity": "sha512-d3xzZzpMP64YkjP5pr8gNyvBt7dLk/uGI67EctzDuVp4lCZyVMo0aJO6l/VDlgbInJYDY6cnClLoBp29eKWI6g==", | ||
| 10340 | + "requires": { | ||
| 10341 | + "pako": "^1.0.5" | ||
| 10342 | + }, | ||
| 10343 | + "dependencies": { | ||
| 10344 | + "pako": { | ||
| 10345 | + "version": "1.0.11", | ||
| 10346 | + "resolved": "https://mirrors.cloud.tencent.com/npm/pako/-/pako-1.0.11.tgz", | ||
| 10347 | + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" | ||
| 10348 | + } | ||
| 10349 | + } | ||
| 10350 | + }, | ||
| 10255 | "upper-case": { | 10351 | "upper-case": { |
| 10256 | "version": "2.0.2", | 10352 | "version": "2.0.2", |
| 10257 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", | 10353 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", | ... | ... |
| ... | @@ -21,6 +21,7 @@ | ... | @@ -21,6 +21,7 @@ |
| 21 | "@vitejs/plugin-legacy": "^1.8.2", | 21 | "@vitejs/plugin-legacy": "^1.8.2", |
| 22 | "@vueuse/core": "^8.5.0", | 22 | "@vueuse/core": "^8.5.0", |
| 23 | "animate.css": "^4.1.1", | 23 | "animate.css": "^4.1.1", |
| 24 | + "compressorjs": "^1.2.1", | ||
| 24 | "dayjs": "^1.11.3", | 25 | "dayjs": "^1.11.3", |
| 25 | "default-passive-events": "^2.0.0", | 26 | "default-passive-events": "^2.0.0", |
| 26 | "global": "^4.4.0", | 27 | "global": "^4.4.0", |
| ... | @@ -31,7 +32,6 @@ | ... | @@ -31,7 +32,6 @@ |
| 31 | "moment": "^2.29.3", | 32 | "moment": "^2.29.3", |
| 32 | "mui-player": "^1.6.0", | 33 | "mui-player": "^1.6.0", |
| 33 | "recorder-core": "^1.3.23122400", | 34 | "recorder-core": "^1.3.23122400", |
| 34 | - "shrinkpng": "^1.2.0-beta.1", | ||
| 35 | "typescript": "^4.7.3", | 35 | "typescript": "^4.7.3", |
| 36 | "uuid": "^8.3.2", | 36 | "uuid": "^8.3.2", |
| 37 | "vant": "^4.8.10", | 37 | "vant": "^4.8.10", | ... | ... |
| ... | @@ -63,7 +63,28 @@ import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@ | ... | @@ -63,7 +63,28 @@ import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@ |
| 63 | //import { } from '@/utils/generateModules.js' | 63 | //import { } from '@/utils/generateModules.js' |
| 64 | //import { } from '@/utils/generateIcons.js' | 64 | //import { } from '@/utils/generateIcons.js' |
| 65 | //import { } from '@/composables' | 65 | //import { } from '@/composables' |
| 66 | -import { shrinkImage } from "shrinkpng" | 66 | +import Compressor from 'compressorjs'; |
| 67 | + | ||
| 68 | +// 创建图片压缩函数 | ||
| 69 | +function compressImage(inputFile, outputFormat, maxSize, quality) { | ||
| 70 | + return new Promise((resolve, reject) => { | ||
| 71 | + // 使用 Compressor 类来处理图片压缩 | ||
| 72 | + new Compressor(inputFile, { | ||
| 73 | + quality: quality, // 图片质量 | ||
| 74 | + maxWidth: maxSize, // 图片最大宽度 | ||
| 75 | + maxHeight: maxSize, // 图片最大高度 | ||
| 76 | + convertSize: maxSize * 1024, // 转换大小,单位为字节 | ||
| 77 | + success(result) { | ||
| 78 | + // 压缩成功后的处理 | ||
| 79 | + resolve(result); | ||
| 80 | + }, | ||
| 81 | + error(err) { | ||
| 82 | + // 压缩失败后的处理 | ||
| 83 | + reject(err); | ||
| 84 | + }, | ||
| 85 | + }); | ||
| 86 | + }); | ||
| 87 | +} | ||
| 67 | 88 | ||
| 68 | const $route = useRoute(); | 89 | const $route = useRoute(); |
| 69 | const $router = useRouter(); | 90 | const $router = useRouter(); |
| ... | @@ -191,13 +212,7 @@ const createImage = () => { | ... | @@ -191,13 +212,7 @@ const createImage = () => { |
| 191 | 212 | ||
| 192 | const upload_loading = ref(false); | 213 | const upload_loading = ref(false); |
| 193 | 214 | ||
| 194 | -const compressImg = (file) => { // 图片压缩 | 215 | +const beforeRead = async (file) => { |
| 195 | - return shrinkImage(file, { | ||
| 196 | - quality: 15 | ||
| 197 | - }); | ||
| 198 | -} | ||
| 199 | - | ||
| 200 | -const beforeRead = (file) => { | ||
| 201 | if (file.type.indexOf('image') < 0) { | 216 | if (file.type.indexOf('image') < 0) { |
| 202 | showToast('请上传图片格式'); | 217 | showToast('请上传图片格式'); |
| 203 | return false; | 218 | return false; |
| ... | @@ -208,7 +223,20 @@ const beforeRead = (file) => { | ... | @@ -208,7 +223,20 @@ const beforeRead = (file) => { |
| 208 | // return false; | 223 | // return false; |
| 209 | // } | 224 | // } |
| 210 | 225 | ||
| 211 | - return compressImg(file); | 226 | + const inputFile = file; // 获取用户选择的文件 |
| 227 | + const outputFormat = 'image/png'; // 输出格式 | ||
| 228 | + const maxSize = 800; // 图片最大尺寸 | ||
| 229 | + const quality = 0.8; // 图片质量 | ||
| 230 | + | ||
| 231 | + return await compressImage(inputFile, outputFormat, maxSize, quality) | ||
| 232 | + .then((compressedFile) => { | ||
| 233 | + // 压缩成功,处理压缩后的文件 | ||
| 234 | + return compressedFile; | ||
| 235 | + }) | ||
| 236 | + .catch((error) => { | ||
| 237 | + // 压缩失败,处理错误 | ||
| 238 | + console.error('压缩失败', error); | ||
| 239 | + }); | ||
| 212 | }; | 240 | }; |
| 213 | 241 | ||
| 214 | const afterRead = async (res) => { | 242 | const afterRead = async (res) => { | ... | ... |
| ... | @@ -640,6 +640,11 @@ | ... | @@ -640,6 +640,11 @@ |
| 640 | "resolved" "https://mirrors.cloud.tencent.com/npm/bluebird/-/bluebird-3.7.2.tgz" | 640 | "resolved" "https://mirrors.cloud.tencent.com/npm/bluebird/-/bluebird-3.7.2.tgz" |
| 641 | "version" "3.7.2" | 641 | "version" "3.7.2" |
| 642 | 642 | ||
| 643 | +"blueimp-canvas-to-blob@^3.29.0": | ||
| 644 | + "integrity" "sha512-0pcSSGxC0QxT+yVkivxIqW0Y4VlO2XSDPofBAqoJ1qJxgH9eiUDLv50Rixij2cDuEfx4M6DpD9UGZpRhT5Q8qg==" | ||
| 645 | + "resolved" "https://mirrors.cloud.tencent.com/npm/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.29.0.tgz" | ||
| 646 | + "version" "3.29.0" | ||
| 647 | + | ||
| 643 | "boolbase@^1.0.0": | 648 | "boolbase@^1.0.0": |
| 644 | "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" | 649 | "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" |
| 645 | "resolved" "https://mirrors.cloud.tencent.com/npm/boolbase/-/boolbase-1.0.0.tgz" | 650 | "resolved" "https://mirrors.cloud.tencent.com/npm/boolbase/-/boolbase-1.0.0.tgz" |
| ... | @@ -912,6 +917,19 @@ | ... | @@ -912,6 +917,19 @@ |
| 912 | "resolved" "https://mirrors.cloud.tencent.com/npm/common-tags/-/common-tags-1.8.2.tgz" | 917 | "resolved" "https://mirrors.cloud.tencent.com/npm/common-tags/-/common-tags-1.8.2.tgz" |
| 913 | "version" "1.8.2" | 918 | "version" "1.8.2" |
| 914 | 919 | ||
| 920 | +"compress-imgs@^1.0.1": | ||
| 921 | + "integrity" "sha512-k61fyqMIlzvl8N2l3Dcoudkxk0QYknU6xcGgRapF2LgcbCjlrpr+L54mS2pQf1miqogEU4YMIqTS9dqdEN5g1w==" | ||
| 922 | + "resolved" "https://mirrors.cloud.tencent.com/npm/compress-imgs/-/compress-imgs-1.0.1.tgz" | ||
| 923 | + "version" "1.0.1" | ||
| 924 | + | ||
| 925 | +"compressorjs@^1.2.1": | ||
| 926 | + "integrity" "sha512-+geIjeRnPhQ+LLvvA7wxBQE5ddeLU7pJ3FsKFWirDw6veY3s9iLxAQEw7lXGHnhCJvBujEQWuNnGzZcvCvdkLQ==" | ||
| 927 | + "resolved" "https://mirrors.cloud.tencent.com/npm/compressorjs/-/compressorjs-1.2.1.tgz" | ||
| 928 | + "version" "1.2.1" | ||
| 929 | + dependencies: | ||
| 930 | + "blueimp-canvas-to-blob" "^3.29.0" | ||
| 931 | + "is-blob" "^2.1.0" | ||
| 932 | + | ||
| 915 | "concat-map@0.0.1": | 933 | "concat-map@0.0.1": |
| 916 | "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | 934 | "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" |
| 917 | "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" | 935 | "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" |
| ... | @@ -1783,6 +1801,11 @@ | ... | @@ -1783,6 +1801,11 @@ |
| 1783 | dependencies: | 1801 | dependencies: |
| 1784 | "binary-extensions" "^2.0.0" | 1802 | "binary-extensions" "^2.0.0" |
| 1785 | 1803 | ||
| 1804 | +"is-blob@^2.1.0": | ||
| 1805 | + "integrity" "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==" | ||
| 1806 | + "resolved" "https://mirrors.cloud.tencent.com/npm/is-blob/-/is-blob-2.1.0.tgz" | ||
| 1807 | + "version" "2.1.0" | ||
| 1808 | + | ||
| 1786 | "is-ci@^3.0.0": | 1809 | "is-ci@^3.0.0": |
| 1787 | "integrity" "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==" | 1810 | "integrity" "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==" |
| 1788 | "resolved" "https://mirrors.cloud.tencent.com/npm/is-ci/-/is-ci-3.0.1.tgz" | 1811 | "resolved" "https://mirrors.cloud.tencent.com/npm/is-ci/-/is-ci-3.0.1.tgz" |
| ... | @@ -2390,6 +2413,11 @@ | ... | @@ -2390,6 +2413,11 @@ |
| 2390 | dependencies: | 2413 | dependencies: |
| 2391 | "aggregate-error" "^3.0.0" | 2414 | "aggregate-error" "^3.0.0" |
| 2392 | 2415 | ||
| 2416 | +"pako@^1.0.5": | ||
| 2417 | + "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" | ||
| 2418 | + "resolved" "https://mirrors.cloud.tencent.com/npm/pako/-/pako-1.0.11.tgz" | ||
| 2419 | + "version" "1.0.11" | ||
| 2420 | + | ||
| 2393 | "pako@^2.0.4": | 2421 | "pako@^2.0.4": |
| 2394 | "integrity" "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" | 2422 | "integrity" "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" |
| 2395 | "resolved" "https://mirrors.cloud.tencent.com/npm/pako/-/pako-2.1.0.tgz" | 2423 | "resolved" "https://mirrors.cloud.tencent.com/npm/pako/-/pako-2.1.0.tgz" |
| ... | @@ -2496,6 +2524,11 @@ | ... | @@ -2496,6 +2524,11 @@ |
| 2496 | "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" | 2524 | "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" |
| 2497 | "version" "2.3.1" | 2525 | "version" "2.3.1" |
| 2498 | 2526 | ||
| 2527 | +"picture-compressor-plus@^1.2.4": | ||
| 2528 | + "integrity" "sha512-Nqh1eVAgw2mcq8SBxAUbtIQdGlFGkV5KpvUefy8KoTBG1GW/rENXAy7mF+QQe3CiYPfsV3C79bxE4hCLbPnmLA==" | ||
| 2529 | + "resolved" "https://mirrors.cloud.tencent.com/npm/picture-compressor-plus/-/picture-compressor-plus-1.2.4.tgz" | ||
| 2530 | + "version" "1.2.4" | ||
| 2531 | + | ||
| 2499 | "pify@^2.2.0": | 2532 | "pify@^2.2.0": |
| 2500 | "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" | 2533 | "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" |
| 2501 | "resolved" "https://mirrors.cloud.tencent.com/npm/pify/-/pify-2.3.0.tgz" | 2534 | "resolved" "https://mirrors.cloud.tencent.com/npm/pify/-/pify-2.3.0.tgz" |
| ... | @@ -3181,6 +3214,13 @@ | ... | @@ -3181,6 +3214,13 @@ |
| 3181 | "resolved" "https://mirrors.cloud.tencent.com/npm/untildify/-/untildify-4.0.0.tgz" | 3214 | "resolved" "https://mirrors.cloud.tencent.com/npm/untildify/-/untildify-4.0.0.tgz" |
| 3182 | "version" "4.0.0" | 3215 | "version" "4.0.0" |
| 3183 | 3216 | ||
| 3217 | +"upng-js@^2.1.0": | ||
| 3218 | + "integrity" "sha512-d3xzZzpMP64YkjP5pr8gNyvBt7dLk/uGI67EctzDuVp4lCZyVMo0aJO6l/VDlgbInJYDY6cnClLoBp29eKWI6g==" | ||
| 3219 | + "resolved" "https://mirrors.cloud.tencent.com/npm/upng-js/-/upng-js-2.1.0.tgz" | ||
| 3220 | + "version" "2.1.0" | ||
| 3221 | + dependencies: | ||
| 3222 | + "pako" "^1.0.5" | ||
| 3223 | + | ||
| 3184 | "upper-case-first@^2.0.2": | 3224 | "upper-case-first@^2.0.2": |
| 3185 | "integrity" "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==" | 3225 | "integrity" "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==" |
| 3186 | "resolved" "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz" | 3226 | "resolved" "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz" | ... | ... |
-
Please register or login to post a comment