diff --git a/public/i18n/en.yml b/public/i18n/en.yml index ac0f8636..642aace7 100644 --- a/public/i18n/en.yml +++ b/public/i18n/en.yml @@ -108,6 +108,8 @@ GALLERY_MATCHED: ' Matched: ' UPLOAD_PAGE_COPY_UPLOAD_API: Copy Upload API UPLOAD_PAGE_IMAGE_PROCESS_NAME: Image Processing UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: Image Processing Settings +UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST: Skip Process Ext List +UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS: Enter the file extensions to skip processing, separated by commas (e.g., jpg,png,gif) UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: Add Watermark UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: Watermark Type UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: Text diff --git a/public/i18n/zh-CN.yml b/public/i18n/zh-CN.yml index 8e56cc30..64899c65 100644 --- a/public/i18n/zh-CN.yml +++ b/public/i18n/zh-CN.yml @@ -108,6 +108,8 @@ GALLERY_MATCHED: ' 匹配到: ' UPLOAD_PAGE_COPY_UPLOAD_API: 复制上传API UPLOAD_PAGE_IMAGE_PROCESS_NAME: 图片处理 UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: 图片处理设置 +UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST: 跳过处理的文件扩展名列表 +UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS: "请填写需要跳过处理的文件扩展名列表, 以英文逗号分隔, 如: jpg,png,gif" UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: 是否添加水印 UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: 水印类型 UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: 文字 diff --git a/public/i18n/zh-TW.yml b/public/i18n/zh-TW.yml index c5219bae..c61d095b 100644 --- a/public/i18n/zh-TW.yml +++ b/public/i18n/zh-TW.yml @@ -108,6 +108,8 @@ GALLERY_MATCHED: ' 匹配到: ' UPLOAD_PAGE_COPY_UPLOAD_API: 複製上傳API UPLOAD_PAGE_IMAGE_PROCESS_NAME: 圖片處理 UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: 圖片處理設置 +UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST: 跳過處理的文件擴展名列表 +UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS: "請填寫需要跳過處理的文件擴展名列表, 以英文逗號分隔, 如: jpg,png,gif" UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: 是否添加水印 UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: 水印類型 UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: 文字 diff --git a/src/renderer/components/ImageProcessSetting.vue b/src/renderer/components/ImageProcessSetting.vue index ab916f36..2bab77f0 100644 --- a/src/renderer/components/ImageProcessSetting.vue +++ b/src/renderer/components/ImageProcessSetting.vue @@ -6,6 +6,12 @@ size="default" :model="waterMarkForm" > + + +
+ {{ $T('UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS') }} +
+
@@ -189,6 +195,7 @@ const waterMarkForm = reactive({ watermarkImagePath: '', watermarkPosition: 'southeast' }) + const compressForm = reactive({ quality: 100, isConvert: false, @@ -207,8 +214,13 @@ const compressForm = reactive({ }) const formatConvertObj = ref('{}') +const skipProcessForm = reactive({ + skipProcessExtList: 'zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz' +}) + const waterMarkFormKeys = Object.keys(waterMarkForm) as (keyof typeof waterMarkForm)[] const compressFormKeys = Object.keys(compressForm) as (keyof typeof compressForm)[] +const skipProcessFormKeys = Object.keys(skipProcessForm) as (keyof typeof skipProcessForm)[] const switchStyle = '--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;' @@ -226,12 +238,14 @@ function handleSaveConfig() { compressForm.formatConvertObj = formatConvertObjFilter saveConfig(configPaths.buildIn.compress, toRaw(compressForm)) saveConfig(configPaths.buildIn.watermark, toRaw(waterMarkForm)) + saveConfig(configPaths.buildIn.skipProcess, toRaw(skipProcessForm)) closeDialog() } async function initData() { const compress = await getConfig(configPaths.buildIn.compress) const watermark = await getConfig(configPaths.buildIn.watermark) + const skipProcess = await getConfig(configPaths.buildIn.skipProcess) if (compress) { compressFormKeys.forEach(key => { compressForm[key] = compress[key] ?? compressForm[key] @@ -252,6 +266,11 @@ async function initData() { }) waterMarkForm.watermarkColor = watermark.watermarkColor === '' ? '#CCCCCC73' : watermark.watermarkColor } + if (skipProcess) { + skipProcessFormKeys.forEach(key => { + skipProcessForm[key] = skipProcess[key] ?? skipProcessForm[key] + }) + } } function closeDialog() { diff --git a/src/universal/types/i18n.d.ts b/src/universal/types/i18n.d.ts index 72ecba69..2ef44779 100644 --- a/src/universal/types/i18n.d.ts +++ b/src/universal/types/i18n.d.ts @@ -105,6 +105,8 @@ interface ILocales { UPLOAD_PAGE_COPY_UPLOAD_API: string UPLOAD_PAGE_IMAGE_PROCESS_NAME: string UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: string + UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST: string + UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS: string UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: string UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: string UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: string diff --git a/src/universal/utils/configPaths.ts b/src/universal/utils/configPaths.ts index efe18cad..7f4bd3fe 100644 --- a/src/universal/utils/configPaths.ts +++ b/src/universal/utils/configPaths.ts @@ -180,7 +180,8 @@ export const configPaths = { buildIn: { compress: 'buildIn.compress', watermark: 'buildIn.watermark', - rename: 'buildIn.rename' + rename: 'buildIn.rename', + skipProcess: 'buildIn.skipProcess' }, debug: 'debug', PICGO_ENV: 'PICGO_ENV'