🐛 Fix(custom): fix format convert bug

This commit is contained in:
Kuingsmile 2024-01-29 17:56:20 -08:00
parent d87a014ff2
commit ea82600797
4 changed files with 35 additions and 23 deletions

View File

@ -68,7 +68,7 @@
"multer": "^1.4.5-lts.1", "multer": "^1.4.5-lts.1",
"node-ssh-no-cpu-features": "^1.0.1", "node-ssh-no-cpu-features": "^1.0.1",
"nodejs-file-downloader": "^4.12.1", "nodejs-file-downloader": "^4.12.1",
"piclist": "^1.7.8", "piclist": "^1.7.9",
"pinia": "^2.1.7", "pinia": "^2.1.7",
"pinia-plugin-persistedstate": "^3.2.0", "pinia-plugin-persistedstate": "^3.2.0",
"proxy-agent": "^5.0.0", "proxy-agent": "^5.0.0",

View File

@ -1477,7 +1477,7 @@
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC')" :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC')"
> >
<el-input <el-input
v-model="compressForm.formatConvertObj" v-model="formatConvertObj"
placeholder="{&quot;jpg&quot;: &quot;png&quot;, &quot;png&quot;: &quot;jpg&quot;}" placeholder="{&quot;jpg&quot;: &quot;png&quot;, &quot;png&quot;: &quot;jpg&quot;}"
type="textarea" type="textarea"
:autosize="{ minRows: 2, maxRows: 4}" :autosize="{ minRows: 2, maxRows: 4}"
@ -1692,6 +1692,8 @@ const waterMarkForm = reactive<any>({
watermarkPosition: 'southeast' watermarkPosition: 'southeast'
}) })
const formatConvertObj = ref('{}')
const compressForm = reactive<any>({ const compressForm = reactive<any>({
quality: 100, quality: 100,
isConvert: false, isConvert: false,
@ -1706,8 +1708,7 @@ const compressForm = reactive<any>({
rotateDegree: 0, rotateDegree: 0,
isRemoveExif: false, isRemoveExif: false,
isFlip: false, isFlip: false,
isFlop: false, isFlop: false
formatConvertObj: '{}'
}) })
function closeDialog () { function closeDialog () {
@ -1715,17 +1716,18 @@ function closeDialog () {
} }
function handleSaveConfig () { function handleSaveConfig () {
let formatConvertObj = {} let iformatConvertObj = {}
try { try {
formatConvertObj = JSON.parse(compressForm.formatConvertObj) iformatConvertObj = JSON.parse(formatConvertObj.value)
} catch (error) { } catch (error) {
} }
const formatConvertObjEntries = Object.entries(formatConvertObj) const formatConvertObjEntries = Object.entries(iformatConvertObj)
const formatConvertObjEntriesFilter = formatConvertObjEntries.filter((item: any) => { const formatConvertObjEntriesFilter = formatConvertObjEntries.filter((item: any) => {
return imageExtList.includes(item[0]) && availableFormat.includes(item[1]) return imageExtList.includes(item[0]) && availableFormat.includes(item[1])
}) })
const formatConvertObjFilter = Object.fromEntries(formatConvertObjEntriesFilter) const formatConvertObjFilter = Object.fromEntries(formatConvertObjEntriesFilter)
compressForm.formatConvertObj = JSON.stringify(formatConvertObjFilter) formatConvertObj.value = JSON.stringify(formatConvertObjFilter)
compressForm.formatConvertObj = formatConvertObjFilter
saveConfig('buildIn.compress', toRaw(compressForm)) saveConfig('buildIn.compress', toRaw(compressForm))
saveConfig('buildIn.watermark', toRaw(waterMarkForm)) saveConfig('buildIn.watermark', toRaw(waterMarkForm))
closeDialog() closeDialog()
@ -1750,9 +1752,13 @@ async function initForm () {
compressForm.isFlip = compress.isFlip ?? false compressForm.isFlip = compress.isFlip ?? false
compressForm.isFlop = compress.isFlop ?? false compressForm.isFlop = compress.isFlop ?? false
try { try {
compressForm.formatConvertObj = JSON.stringify(compress.formatConvertObj ?? {}) if (typeof compress.formatConvertObj === 'object') {
formatConvertObj.value = JSON.stringify(compress.formatConvertObj)
} else {
formatConvertObj.value = compress.formatConvertObj ?? '{}'
}
} catch (error) { } catch (error) {
compressForm.formatConvertObj = '{}' formatConvertObj.value = '{}'
} }
} }
if (watermark) { if (watermark) {

View File

@ -308,7 +308,7 @@
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC')" :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC')"
> >
<el-input <el-input
v-model="compressForm.formatConvertObj" v-model="formatConvertObj"
placeholder="{&quot;jpg&quot;: &quot;png&quot;, &quot;png&quot;: &quot;jpg&quot;}" placeholder="{&quot;jpg&quot;: &quot;png&quot;, &quot;png&quot;: &quot;jpg&quot;}"
type="textarea" type="textarea"
:autosize="{ minRows: 2, maxRows: 4}" :autosize="{ minRows: 2, maxRows: 4}"
@ -516,26 +516,28 @@ const compressForm = reactive<any>({
rotateDegree: 0, rotateDegree: 0,
isRemoveExif: false, isRemoveExif: false,
isFlip: false, isFlip: false,
isFlop: false, isFlop: false
formatConvertObj: '{}'
}) })
const formatConvertObj = ref('{}')
function closeDialog () { function closeDialog () {
imageProcessDialogVisible.value = false imageProcessDialogVisible.value = false
} }
function handleSaveConfig () { function handleSaveConfig () {
let formatConvertObj = {} let iformatConvertObj = {}
try { try {
formatConvertObj = JSON.parse(compressForm.formatConvertObj) iformatConvertObj = JSON.parse(formatConvertObj.value)
} catch (error) { } catch (error) {
} }
const formatConvertObjEntries = Object.entries(formatConvertObj) const formatConvertObjEntries = Object.entries(iformatConvertObj)
const formatConvertObjEntriesFilter = formatConvertObjEntries.filter((item: any) => { const formatConvertObjEntriesFilter = formatConvertObjEntries.filter((item: any) => {
return imageExtList.includes(item[0]) && availableFormat.includes(item[1]) return imageExtList.includes(item[0]) && availableFormat.includes(item[1])
}) })
const formatConvertObjFilter = Object.fromEntries(formatConvertObjEntriesFilter) const formatConvertObjFilter = Object.fromEntries(formatConvertObjEntriesFilter)
compressForm.formatConvertObj = JSON.stringify(formatConvertObjFilter) formatConvertObj.value = JSON.stringify(formatConvertObjFilter)
compressForm.formatConvertObj = formatConvertObjFilter
saveConfig('buildIn.compress', toRaw(compressForm)) saveConfig('buildIn.compress', toRaw(compressForm))
saveConfig('buildIn.watermark', toRaw(waterMarkForm)) saveConfig('buildIn.watermark', toRaw(waterMarkForm))
closeDialog() closeDialog()
@ -560,9 +562,13 @@ async function initData () {
compressForm.isFlip = compress.isFlip ?? false compressForm.isFlip = compress.isFlip ?? false
compressForm.isFlop = compress.isFlop ?? false compressForm.isFlop = compress.isFlop ?? false
try { try {
compressForm.formatConvertObj = JSON.stringify(compress.formatConvertObj ?? {}) if (typeof compress.formatConvertObj === 'object') {
formatConvertObj.value = JSON.stringify(compress.formatConvertObj)
} else {
formatConvertObj.value = compress.formatConvertObj ?? '{}'
}
} catch (error) { } catch (error) {
compressForm.formatConvertObj = '{}' formatConvertObj.value = '{}'
} }
} }
if (watermark) { if (watermark) {

View File

@ -12392,10 +12392,10 @@ performance-now@^2.1.0:
resolved "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" resolved "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
piclist@^1.7.8: piclist@^1.7.9:
version "1.7.8" version "1.7.9"
resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.7.8.tgz#7d013354608a9d45a52e1947b0591c3a60b6a37e" resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.7.9.tgz#1677f63c0596d0b23fd082ce4a3f10c6b4f7244a"
integrity sha512-GXHGpq03J7aZKDJ/fMvuUrOy+aeE5g9mFObhfKRE2p89IPbv/Y1ll9OcQkjf8wcqWPdC1240u5p+GOMyUgr2Dg== integrity sha512-+H32vNqfe3bCNhkreEJXzWT4fUOyPntNxCPjeo5btxAhbaVEfP8GwXA1XfX8NrJb3ml6sQzIk26FrQ2bzK+Bwg==
dependencies: dependencies:
"@aws-sdk/client-s3" "3.421.0" "@aws-sdk/client-s3" "3.421.0"
"@aws-sdk/lib-storage" "3.421.0" "@aws-sdk/lib-storage" "3.421.0"