Feature(custom): add support of skip process

This commit is contained in:
Kuingsmile
2025-06-09 17:36:34 +08:00
parent 3a25da94e7
commit 0f75afeacf
6 changed files with 29 additions and 1 deletions

View File

@@ -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

View File

@@ -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: 文字

View File

@@ -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: 文字

View File

@@ -6,6 +6,12 @@
size="default"
:model="waterMarkForm"
>
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST')">
<el-input v-model="skipProcessForm.skipProcessExtList" type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" />
<div class="text-xs text-gray-500">
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS') }}
</div>
</el-form-item>
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM')">
<el-switch v-model="waterMarkForm.isAddWatermark" :style="switchStyle" />
</el-form-item>
@@ -189,6 +195,7 @@ const waterMarkForm = reactive<IBuildInWaterMarkOptions>({
watermarkImagePath: '',
watermarkPosition: 'southeast'
})
const compressForm = reactive<IBuildInCompressOptions>({
quality: 100,
isConvert: false,
@@ -207,8 +214,13 @@ const compressForm = reactive<IBuildInCompressOptions>({
})
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<any>(configPaths.buildIn.compress)
const watermark = await getConfig<any>(configPaths.buildIn.watermark)
const skipProcess = await getConfig<any>(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() {

View File

@@ -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

View File

@@ -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'