Feature: complete i18n support for manage func

This commit is contained in:
萌萌哒赫萝
2023-03-20 18:41:28 +08:00
parent 2b09217f55
commit a473e25469
11 changed files with 1323 additions and 317 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -10,16 +10,16 @@
>
<el-tab-pane
name="login"
label="已保存配置"
:label="$T('MANAGE_LOGIN_PAGE_PANE_NAME')"
style="width: 100%;overflow-y: scroll;height: calc(100vh - 50px);"
>
<el-alert
v-loading="isLoading"
title="已设置配置列表,点击图标和别名可查看配置详情,点击进入可查看文件页面,点击删除可删除配置"
:title="$T('MANAGE_LOGIN_PAGE_PANE_DESC')"
type="success"
show-icon
center
element-loading-text="导入配置..."
:element-loading-text="$T('MANAGE_LOGIN_PAGE_PANE_LOADING')"
:element-loading-spinner="svg"
element-loading-svg-view-box="0, 0, 150, 150"
/>
@@ -52,12 +52,12 @@
>
<el-table-column
prop="key"
label="配置项"
:label="$T('MANAGE_LOGIN_PAGE_PANE_KEY_NAME')"
width="100"
/>
<el-table-column
prop="value"
label="配置值"
:label="$T('MANAGE_LOGIN_PAGE_PANE_KEY_VALUE')"
/>
</el-table>
<template #reference>
@@ -83,7 +83,7 @@
plain
@click="handleConfigClick(item)"
>
进入
{{ $T('MANAGE_LOGIN_PAGE_PANE_ENTER') }}
</el-button>
<el-button
type="warning"
@@ -91,7 +91,7 @@
plain
@click="handleConfigRemove(item.alias)"
>
删除
{{ $T('MANAGE_LOGIN_PAGE_PANE_DELETE') }}
</el-button>
</el-button-group>
</el-card>
@@ -173,7 +173,7 @@
<el-select
v-else-if="supportedPicBedList[item.icon].configOptions[option].type === 'select'"
v-model="configResult[item.icon + '.' + option]"
placeholder="请选择"
:placeholder="$T('MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER')"
>
<el-option
v-for="i in Object.entries(supportedPicBedList[item.icon].configOptions[option].selectOptions)"
@@ -192,7 +192,7 @@
placement="top"
:disabled="currentAliasList.length === 0"
>
导入
{{ $T('MANAGE_LOGIN_PAGE_PANE_IMPORT') }}
<template #dropdown>
<el-dropdown-item
v-for="i in currentAliasList"
@@ -210,7 +210,7 @@
plain
@click="handleConfigChange(item.icon)"
>
保存
{{ $T('MANAGE_LOGIN_PAGE_PANE_SAVE') }}
</el-button>
<el-button
type="danger"
@@ -219,12 +219,12 @@
plain
@click="handleConfigReset(item.icon)"
>
重置
{{ $T('MANAGE_LOGIN_PAGE_PANE_RESET') }}
</el-button>
</div>
<br>
<el-alert
title="已有配置,单击可复制对应单元格数据"
:title="$T('MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE')"
type="success"
center
:closable="false"
@@ -262,6 +262,7 @@ import { useManageStore } from '../store/manageStore'
import { formObjToTableData, svg } from '../utils/common'
import { getConfig as getPicBedsConfig } from '@/utils/dataSender'
import { formatEndpoint } from '~/main/manage/utils/common'
import { T as $T } from '@/i18n'
const activeName = ref('login')
const configResult:IStringKeyMap = reactive({})
@@ -351,22 +352,22 @@ const handleConfigChange = async (name: string) => {
const resultKey = name + '.' + key
if (supportedPicBedList[name].configOptions[key].required) {
if (supportedPicBedList[name].configOptions[key].type !== 'boolean' && !configResult[resultKey]) {
ElMessage.error(`请填写 ${supportedPicBedList[name].configOptions[key].description}`)
ElMessage.error(`${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A')} ${supportedPicBedList[name].configOptions[key].description}`)
return
}
}
if (key === 'alias' && configResult[resultKey] !== undefined && !reg.test(configResult[resultKey])) {
ElMessage.error('别名只能包含中文、英文、数字、下划线和中划线')
ElMessage.error($T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE'))
return
}
if (key === 'itemsPerPage' && configResult[resultKey] !== undefined && (configResult[resultKey] < 20 || configResult[resultKey] > 1000)) {
ElMessage.error('每页数量必须在20-1000之间')
ElMessage.error($T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE'))
return
}
if ((key === 'customUrl') && configResult[resultKey] !== undefined && configResult[resultKey] !== '') {
if (name !== 'upyun') {
if (!/^https?:\/\//.test(configResult[resultKey])) {
ElMessage.error('自定义域名必须以http://或https://开头')
ElMessage.error($T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE'))
return
}
}
@@ -418,8 +419,8 @@ const handleConfigChange = async (name: string) => {
if (aliasList.includes(resultMap.alias)) {
ElNotification(
{
title: '通知',
message: `已覆盖别名为${resultMap.alias}的配置`,
title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE')}${resultMap.alias}`,
type: 'warning',
duration: 500,
customClass: 'notification',
@@ -429,8 +430,8 @@ const handleConfigChange = async (name: string) => {
} else {
ElNotification(
{
title: '通知',
message: `已保存别名为${resultMap.alias}的配置`,
title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B')}${resultMap.alias}`,
type: 'success',
duration: 2000,
customClass: 'notification',
@@ -453,8 +454,8 @@ const handleConfigRemove = (name: string) => {
removeConfig('picBed', name)
ElNotification(
{
title: '通知',
message: `已删除别名为${name}的配置`,
title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C')}${name}`,
type: 'success',
duration: 2000,
customClass: 'notification',
@@ -467,8 +468,8 @@ const handleConfigRemove = (name: string) => {
} catch (error) {
ElNotification(
{
title: '通知',
message: `删除别名为${name}的配置失败`,
title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D')}${name}${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E')}`,
type: 'error',
duration: 2000,
customClass: 'notification',
@@ -500,7 +501,7 @@ const getAllConfigAliasArray = async () => {
const handleCellClick = (row:any, column:any) => {
navigator.clipboard.writeText(row[column.property])
ElMessage.success(`已复制${row[column.property]}`)
ElMessage.success(`${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS')}${row[column.property]}`)
}
const handleReferenceClick = (url: string) => shell.openExternal(url)

View File

@@ -12,7 +12,8 @@
</el-icon>
<span
style="position: absolute; right: 0; top: 0; margin-right: 20px; font-size: 0.8em; color: #fff;"
>同步删除云端
>
{{ $T('GALLERY_SYNC_DELETE') }}
<el-switch
v-model="deleteCloud"
:active-text="$T('SETTINGS_OPEN')"
@@ -432,14 +433,14 @@ function remove (item: ImgInfo) {
ALLApi.delete(item).then((value: boolean) => {
if (value) {
ElNotification({
title: '通知',
message: `${item.fileName} 云端删除成功`,
title: $T('GALLERY_SYNC_DELETE_NOTICE_TITLE'),
message: `${item.fileName} ${$T('GALLERY_SYNC_DELETE_NOTICE_SUCCEED')}`,
type: 'success'
})
} else {
ElNotification({
title: '通知',
message: `${item.fileName} 云端删除失败`,
title: $T('GALLERY_SYNC_DELETE_NOTICE_TITLE'),
message: `${item.fileName} ${$T('GALLERY_SYNC_DELETE_NOTICE_FAILED')}`,
type: 'error'
})
}
@@ -533,15 +534,15 @@ function multiRemove () {
ALLApi.delete(file).then((value: boolean) => {
if (value) {
ElNotification({
title: '通知',
message: `${file.fileName} 云端删除成功`,
title: $T('GALLERY_SYNC_DELETE'),
message: `${file.fileName} ${$T('GALLERY_SYNC_DELETE_NOTICE_SUCCEED')}`,
type: 'success',
duration: multiRemoveNumber > 5 ? 1000 : 2000
})
} else {
ElNotification({
title: '通知',
message: `${file.fileName} 云端删除失败`,
title: $T('GALLERY_SYNC_DELETE'),
message: `${file.fileName} ${$T('GALLERY_SYNC_DELETE_NOTICE_FAILED')}`,
type: 'error',
duration: multiRemoveNumber > 5 ? 1000 : 2000
})

View File

@@ -559,7 +559,7 @@
<el-dialog
v-model="imageProcessDialogVisible"
title="图片处理设置"
:title="$T('UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE')"
width="50%"
draggable
center
@@ -572,7 +572,9 @@
size="default"
:model="waterMarkForm"
>
<el-form-item label="是否添加水印">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM')"
>
<el-switch
v-model="waterMarkForm.isAddWatermark"
active-color="#13ce66"
@@ -581,20 +583,20 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="水印类型"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE')"
>
<el-radio-group v-model="waterMarkForm.watermarkType">
<el-radio label="text">
文字
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT') }}}
</el-radio>
<el-radio label="image">
图片
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE') }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="是否全屏水印"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM')"
>
<el-switch
v-model="waterMarkForm.isFullScreenWatermark"
@@ -604,7 +606,7 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="水印角度"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE')"
>
<el-input-number
v-model="waterMarkForm.watermarkDegree"
@@ -613,19 +615,19 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
label="水印文字"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT')"
>
<el-input v-model="waterMarkForm.watermarkText" />
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
label="水印字体路径(留空默认黑体,第一次需下载字体文件)"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH')"
>
<el-input v-model="waterMarkForm.watermarkFontPath" />
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="水印占原图比例"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO')"
>
<el-input-number
v-model="waterMarkForm.watermarkScaleRatio"
@@ -636,7 +638,7 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
label="水印颜色,请从取色器中选择"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR')"
>
<el-color-picker
v-model="waterMarkForm.watermarkColor"
@@ -645,13 +647,13 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'image'"
label="水印图片路径(留空使用默认图片)"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMPATH')"
>
<el-input v-model="waterMarkForm.watermarkImagePath" />
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="水印位置"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION')"
>
<el-radio-group
v-model="waterMarkForm.watermarkPosition"
@@ -665,14 +667,18 @@
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否移除Eixf信息">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF')"
>
<el-switch
v-model="compressForm.isRemoveExif"
active-color="#13ce66"
inactive-color="#ff4949"
/>
</el-form-item>
<el-form-item label="压缩质量">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_QUALITY')"
>
<el-input-number
v-model="compressForm.quality"
:min="0"
@@ -680,7 +686,9 @@
:step="1"
/>
</el-form-item>
<el-form-item label="是否转换格式">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT')"
>
<el-switch
v-model="compressForm.isConvert"
active-color="#13ce66"
@@ -689,7 +697,7 @@
</el-form-item>
<el-form-item
v-show="compressForm.isConvert"
label="选择转换目的格式"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT')"
>
<el-select v-model="compressForm.convertFormat">
<el-option
@@ -700,7 +708,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="是否按固定尺寸调整图片">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE')"
>
<el-switch
v-model="compressForm.isReSize"
active-color="#13ce66"
@@ -709,7 +719,7 @@
</el-form-item>
<el-form-item
v-show="compressForm.isReSize"
label="调整尺寸宽度"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH')"
>
<el-input-number
v-model="compressForm.reSizeWidth"
@@ -718,14 +728,16 @@
</el-form-item>
<el-form-item
v-show="compressForm.isReSize"
label="调整尺寸高度"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT')"
>
<el-input-number
v-model="compressForm.reSizeHeight"
:min="0"
/>
</el-form-item>
<el-form-item label="是否按比例调整尺寸,优先级高于固定尺寸">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT')"
>
<el-switch
v-model="compressForm.isReSizeByPercent"
active-color="#13ce66"
@@ -734,7 +746,7 @@
</el-form-item>
<el-form-item
v-show="compressForm.isReSizeByPercent"
label="调整尺寸比例, 输入50表示50%"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT')"
>
<el-input-number
v-model="compressForm.reSizePercent"
@@ -742,7 +754,7 @@
/>
</el-form-item>
<el-form-item
label="是否旋转"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE')"
>
<el-switch
v-model="compressForm.isRotate"
@@ -752,7 +764,7 @@
</el-form-item>
<el-form-item
v-show="compressForm.isRotate"
label="旋转角度"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE')"
>
<el-input-number
v-model="compressForm.rotateDegree"
@@ -764,10 +776,10 @@
type="primary"
@click="handelSaveConfig"
>
保存
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM') }}
</el-button>
<el-button @click="closeDialog">
取消
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_CANCEL') }}
</el-button>
</el-form-item>
</el-form>
@@ -797,15 +809,15 @@ import { invokeToMain } from '@/manage/utils/dataSender'
const imageProcessDialogVisible = ref(false)
const waterMarkPositionMap = new Map([
['north', '上'],
['northeast', '右上'],
['southeast', '右下'],
['south', '下'],
['southwest', '左下'],
['northwest', '左上'],
['west', '左'],
['east', '右'],
['centre', '中']
['north', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP')],
['northeast', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT')],
['southeast', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT')],
['south', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM')],
['southwest', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT')],
['northwest', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT')],
['west', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT')],
['east', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT')],
['centre', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER')]
])
const availableFormat = ['avif', 'dz', 'fits', 'gif', 'heif', 'input', 'jpeg', 'jpg', 'jp2', 'jxl', 'magick', 'openslide', 'pdf', 'png', 'ppm', 'raw', 'svg', 'tiff', 'tif', 'v', 'webp']

View File

@@ -37,6 +37,7 @@
<script lang="ts" setup>
import { RENAME_FILE_NAME } from '#/events/constants'
import { sendToMain } from '@/utils/dataSender'
import { T as $T } from '@/i18n/index'
import {
ipcRenderer,
IpcRendererEvent

View File

@@ -119,6 +119,7 @@ import { ipcRenderer, IpcRendererEvent } from 'electron'
import { TOGGLE_SHORTKEY_MODIFIED_MODE } from '#/events/constants'
import { onBeforeUnmount, onBeforeMount, ref, watch } from 'vue'
import { getConfig, sendToMain } from '@/utils/dataSender'
import { T as $T } from '@/i18n'
const list = ref<IShortKeyConfig[]>([])
const keyBindingVisible = ref(false)

View File

@@ -34,7 +34,7 @@
style="margin-left: 6px"
@click="handleImageProcess"
>
图片处理
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_NAME') }}
</el-button>
</div>
<div
@@ -133,7 +133,7 @@
</el-row>
<el-dialog
v-model="imageProcessDialogVisible"
title="图片处理设置"
:title="$T('UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE')"
width="50%"
draggable
center
@@ -146,7 +146,9 @@
size="default"
:model="waterMarkForm"
>
<el-form-item label="是否添加水印">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM')"
>
<el-switch
v-model="waterMarkForm.isAddWatermark"
active-color="#13ce66"
@@ -155,20 +157,20 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="水印类型"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE')"
>
<el-radio-group v-model="waterMarkForm.watermarkType">
<el-radio label="text">
文字
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT') }}
</el-radio>
<el-radio label="image">
图片
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE') }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="是否全屏水印"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM')"
>
<el-switch
v-model="waterMarkForm.isFullScreenWatermark"
@@ -178,7 +180,7 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="水印角度"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE')"
>
<el-input-number
v-model="waterMarkForm.watermarkDegree"
@@ -187,19 +189,19 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
label="水印文字"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT')"
>
<el-input v-model="waterMarkForm.watermarkText" />
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
label="水印字体路径(留空默认黑体,第一次需下载字体文件)"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH')"
>
<el-input v-model="waterMarkForm.watermarkFontPath" />
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="水印占原图比例"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO')"
>
<el-input-number
v-model="waterMarkForm.watermarkScaleRatio"
@@ -210,7 +212,7 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
label="水印颜色,请从取色器中选择"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR')"
>
<el-color-picker
v-model="waterMarkForm.watermarkColor"
@@ -219,13 +221,13 @@
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'image'"
label="水印图片路径(留空使用默认图片)"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMPATH')"
>
<el-input v-model="waterMarkForm.watermarkImagePath" />
</el-form-item>
<el-form-item
v-show="waterMarkForm.isAddWatermark"
label="水印位置"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION')"
>
<el-radio-group
v-model="waterMarkForm.watermarkPosition"
@@ -239,14 +241,18 @@
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否移除Eixf信息">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF')"
>
<el-switch
v-model="compressForm.isRemoveExif"
active-color="#13ce66"
inactive-color="#ff4949"
/>
</el-form-item>
<el-form-item label="压缩质量">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_QUALITY')"
>
<el-input-number
v-model="compressForm.quality"
:min="0"
@@ -254,7 +260,9 @@
:step="1"
/>
</el-form-item>
<el-form-item label="是否转换格式">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT')"
>
<el-switch
v-model="compressForm.isConvert"
active-color="#13ce66"
@@ -263,7 +271,7 @@
</el-form-item>
<el-form-item
v-show="compressForm.isConvert"
label="选择转换目的格式"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT')"
>
<el-select v-model="compressForm.convertFormat">
<el-option
@@ -274,7 +282,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="是否按固定尺寸调整图片">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE')"
>
<el-switch
v-model="compressForm.isReSize"
active-color="#13ce66"
@@ -283,7 +293,7 @@
</el-form-item>
<el-form-item
v-show="compressForm.isReSize"
label="调整尺寸宽度"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH')"
>
<el-input-number
v-model="compressForm.reSizeWidth"
@@ -292,14 +302,16 @@
</el-form-item>
<el-form-item
v-show="compressForm.isReSize"
label="调整尺寸高度"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT')"
>
<el-input-number
v-model="compressForm.reSizeHeight"
:min="0"
/>
</el-form-item>
<el-form-item label="是否按比例调整尺寸,优先级高于固定尺寸">
<el-form-item
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT')"
>
<el-switch
v-model="compressForm.isReSizeByPercent"
active-color="#13ce66"
@@ -308,7 +320,7 @@
</el-form-item>
<el-form-item
v-show="compressForm.isReSizeByPercent"
label="调整尺寸比例, 输入50表示50%"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT')"
>
<el-input-number
v-model="compressForm.reSizePercent"
@@ -316,7 +328,7 @@
/>
</el-form-item>
<el-form-item
label="是否旋转"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE')"
>
<el-switch
v-model="compressForm.isRotate"
@@ -326,7 +338,7 @@
</el-form-item>
<el-form-item
v-show="compressForm.isRotate"
label="旋转角度"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE')"
>
<el-input-number
v-model="compressForm.rotateDegree"
@@ -338,10 +350,10 @@
type="primary"
@click="handelSaveConfig"
>
保存
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM') }}
</el-button>
<el-button @click="closeDialog">
取消
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_CANCEL') }}
</el-button>
</el-form-item>
</el-form>
@@ -376,15 +388,15 @@ const $router = useRouter()
const imageProcessDialogVisible = ref(false)
const waterMarkPositionMap = new Map([
['north', '上'],
['northeast', '右上'],
['southeast', '右下'],
['south', '下'],
['southwest', '左下'],
['northwest', '左上'],
['west', '左'],
['east', '右'],
['centre', '中']
['north', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP')],
['northeast', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT')],
['southeast', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT')],
['south', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM')],
['southwest', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT')],
['northwest', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT')],
['west', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT')],
['east', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT')],
['centre', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER')]
])
const availableFormat = ['avif', 'dz', 'fits', 'gif', 'heif', 'input', 'jpeg', 'jpg', 'jp2', 'jxl', 'magick', 'openslide', 'pdf', 'png', 'ppm', 'raw', 'svg', 'tiff', 'tif', 'v', 'webp']

View File

@@ -54,6 +54,46 @@ interface ILocales {
COPY_LINK_SUCCEED: string
BATCH_COPY_LINK_SUCCEED: string
FILE_RENAME: string
GALLERY_SYNC_DELETE: string
GALLERY_SYNC_DELETE_NOTICE_TITLE: string
GALLERY_SYNC_DELETE_NOTICE_SUCCEED: string
GALLERY_SYNC_DELETE_NOTICE_FAILED: string
UPLOAD_PAGE_IMAGE_PROCESS_NAME: string
UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: string
UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: string
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: string
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: string
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE: string
UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM: string
UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE: string
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT: string
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH: string
UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO: string
UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR: string
UPLOAD_PAGE_IMAGE_PROCESS_WMPATH: string
UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION: string
UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF: string
UPLOAD_PAGE_IMAGE_PROCESS_QUALITY: string
UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT: string
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT: string
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE: string
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH: string
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT: string
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT: string
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT: string
UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE: string
UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE: string
UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM: string
UPLOAD_PAGE_IMAGE_PROCESS_CANCEL: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER: string
SETTINGS: string
SETTINGS_OPEN_CONFIG_FILE: string
SETTINGS_CLICK_TO_OPEN: string
@@ -404,6 +444,205 @@ interface ILocales {
MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: string
MANAGE_CONSTANT_WEBDAV_EXPLAIN: string
MANAGE_CONSTANT_WEBDAV_REFER_TEXT: string
MANAGE_LOGIN_PAGE_PANE_NAME: string
MANAGE_LOGIN_PAGE_PANE_DESC: string
MANAGE_LOGIN_PAGE_PANE_LOADING: string
MANAGE_LOGIN_PAGE_PANE_KEY_NAME: string
MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: string
MANAGE_LOGIN_PAGE_PANE_ENTER: string
MANAGE_LOGIN_PAGE_PANE_DELETE: string
MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER: string
MANAGE_LOGIN_PAGE_PANE_IMPORT: string
MANAGE_LOGIN_PAGE_PANE_SAVE: string
MANAGE_LOGIN_PAGE_PANE_RESET: string
MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: string
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: string
MANAGE_BUCKET_PAGE_LOADING_TEXT: string
MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: string
MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER: string
MANAGE_BUCKET_PAGE_UPLOAD_FILES_TOOLTIP: string
MANAGE_BUCKET_PAGE_UPLOAD_FROM_URL_TOOLTIP: string
MANAGE_BUCKET_PAGE_CREATE_FOLDER_TOOLTIP: string
MANAGE_BUCKET_PAGE_DOWNLOAD_TOOLTIP: string
MANAGE_BUCKET_PAGE_BATCH_RENAME_TOOLTIP: string
MANAGE_BUCKET_PAGE_BATCH_COPY_URL_TOOLTIP: string
MANAGE_BUCKET_PAGE_COPY_FILE_INFO_TOOLTIP: string
MANAGE_BUCKET_PAGE_FORCE_REFRESH_TOOLTIP: string
MANAGE_BUCKET_PAGE_SEARCH_PLACEHOLDER: string
MANAGE_BUCKET_PAGE_ROOT_FOLDER: string
MANAGE_BUCKET_PAGE_FILE_NUMBER: string
MANAGE_BUCKET_PAGE_FILE_SIZE: string
MANAGE_BUCKET_PAGE_SELECT_ALL: string
MANAGE_BUCKET_PAGE_SELECT_NONE: string
MANAGE_BUCKET_PAGE_SELECT_INVERT: string
MANAGE_BUCKET_DOWNLOAD_BTN: string
MANAGE_BUCKET_DELETE_BTN: string
MANAGE_BUCKET_SORT_TITLE: string
MANAGE_BUCKET_SORT_NAME: string
MANAGE_BUCKET_SORT_SIZE: string
MANAGE_BUCKET_SORT_TYPE: string
MANAGE_BUCKET_SORT_TIME: string
MANAGE_BUCKET_SORT_SELECTED: string
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: string
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: string
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: string
MANAGE_BUCKET_URL_FORMAT_CUSTOM: string
MANAGE_BUCKET_URL_FORMAT_PRESIGN: string
MANAGE_BUCKET_FILE_INFO_TITLE: string
MANAGE_BUCKET_FILE_INFO_COPY_TIPS: string
MANAGE_BUCKET_FILE_LIST_LOADING: string
MANAGE_BUCKET_FILE_LIST_DOWNLOAD_PRE: string
MANAGE_BUCKET_KEEP_FOLDER_STRUCTURE: string
MANAGE_BUCKET_NOT_KEEP_FOLDER_STRUCTURE: string
MANAGE_BUCKET_UPLOAD_AREA_TITLE: string
MANAGE_BUCKET_UPLOAD_AREA_TEXT: string
MANAGE_BUCKET_UPLOAD_AREA_BTN_LOADING: string
MANAGE_BUCKET_UPLOAD_AREA_BTN: string
MANAGE_BUCKET_UPLOAD_AREA_CLEAR: string
MANAGE_BUCKET_UPLOAD_AREA_STATUS_UPLOADING: string
MANAGE_BUCKET_UPLOAD_AREA_COPY_TASK: string
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_UPLOADED_TASK: string
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_ALL_TASK: string
MANAGE_BUCKET_UPLOAD_AREA_SUCCESS: string
MANAGE_BUCKET_UPLOAD_AREA_FAILED: string
MANAGE_BUCKET_DOWNLOAD_PAGE_TITLE: string
MANAGE_BUCKET_DOWNLOADING: string
MANAGE_BUCKET_DOWNLOAD_COPY_TASK: string
MANAGE_BUCKET_DOWNLOAD_CLEAR_DOWNLOADED_TASK: string
MANAGE_BUCKET_DOWNLOAD_CLEAR_ALL_TASK: string
MANAGE_BUCKET_DOWNLOAD_OPEN_FOLDER: string
MANAGE_BUCKET_DOWNLOAD_SUCCESS: string
MANAGE_BUCKET_DOWNLOAD_FAILED: string
MANAGE_BUCKET_MARKDOWN_PREVIEW: string
MANAGE_BUCKET_PLAY: string
MANAGE_BUCKET_RENAME_FILE: string
MANAGE_BUCKET_RENAME_FILE_INPUT_A: string
MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS: string
MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER: string
MANAGE_BUCKET_RENAME_FILE_INPUT_B: string
MANAGE_BUCKET_RENAME_FILE_TABLE_IID: string
MANAGE_BUCKET_RENAME_FILE_EXT: string
MANAGE_BUCKET_RENAME_FILE_EXT_TIPS: string
MANAGE_BUCKET_RENAME_FILE_EXT_YES: string
MANAGE_BUCKET_RENAME_FILE_EXT_NO: string
MANAGE_BUCKET_RENAME_FILE_CANCEL: string
MANAGE_BUCKET_RENAME_FILE_CONFIRM: string
MANAGE_BUCKET_COPY_SUCCESS: string
MANAGE_BUCKET_START_LOADING_MESSAGE: string
MANAGE_BUCKET_END_LOADING_MESSAGE_FAIL: string
MANAGE_BUCKET_CHANGE_CUSTOM_URL_TITLE: string
MANAGE_BUCKET_CHANGE_CUSTOM_URL_MSG: string
MANAGE_BUCKET_LAST_PAGE_TITLE: string
MANAGE_BUCKET_LAST_PAGE_MSG: string
MANAGE_BUCKET_GET_LIST_FAIL_TITLE: string
MANAGE_BUCKET_GET_LIST_FAIL_MSG: string
MANAGE_BUCKET_GET_LIST_FAIL_MSG2: string
MANAGE_BUCKET_GET_LIST_FAIL_MSG3: string
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TITLE: string
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TIP: string
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CONFIRM: string
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CANCEL: string
MANAGE_BUCKET_DOWNLOAD_FOLDER_SUCCESS: string
MANAGE_BUCKET_DOWNLOAD_FOLDER_FAIL: string
MANAGE_BUCKET_DOWNLOAD_FOLDER_CANCEL: string
MANAGE_BUCKET_CREATE_FOLDER_BOX_TITLE: string
MANAGE_BUCKET_CREATE_FOLDER_BOX_TIP: string
MANAGE_BUCKET_CREATE_FOLDER_BOX_CONFIRM: string
MANAGE_BUCKET_CREATE_FOLDER_BOX_CANCEL: string
MANAGE_BUCKET_CREATE_FOLDER_ERROR_MSG: string
MANAGE_BUCKET_CREATE_FOLDER_SUCCESS: string
MANAGE_BUCKET_CREATE_FOLDER_FAIL: string
MANAGE_BUCKET_UPLOAD_URL_ERROR_MSQ: string
MANAGE_BUCKET_UPLOAD_URL_NOT_TITLE: string
MANAGE_BUCKET_UPLOAD_URL_NOT_MSG: string
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG: string
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2: string
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3: string
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A: string
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B: string
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C: string
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM: string
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL: string
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_A: string
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_B: string
MANAGE_BUCKET_BATCH_RENAME_CANCEL: string
MANAGE_BUCKET_BATCH_COPY_INFO_ERROR_MSG: string
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_A: string
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_B: string
MANAGE_BUCKET_BATCH_COPY_URL_ERROR_MSG: string
MANAGE_BUCKET_BATCH_COPY_URL_MSG_A: string
MANAGE_BUCKET_BATCH_COPY_URL_MSG_B: string
MANAGE_BUCKET_CANCEL_LOADING_TITLE: string
MANAGE_BUCKET_CANCEL_LOADING_MSG: string
MANAGE_BUCKET_CANCEL_LOADING_CONFIRM: string
MANAGE_BUCKET_CANCEL_LOADING_CANCEL: string
MANAGE_BUCKET_CANCEL_LOADING_SUCCESS: string
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_TITLE: string
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_MSG: string
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CONFIRM: string
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CANCEL: string
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_SUCCESS: string
MANAGE_BUCKET_GET_FILE_BS_NOT_TITLE: string
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG: string
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG2: string
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_A: string
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_B: string
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_MSG: string
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CONFIRM: string
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CANCEL: string
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_TITLE: string
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG: string
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2: string
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG3: string
MANAGE_BUCKET_BATCH_DELETE_CANCEL: string
MANAGE_BUCKET_DELETE_CONFIRM_TITLE: string
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER: string
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER_A: string
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FILE: string
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_C: string
MANAGE_BUCKET_DELETE_CONFIRM_MSG: string
MANAGE_BUCKET_DELETE_CONFIRM_CONFIRM: string
MANAGE_BUCKET_DELETE_CONFIRM_CANCEL: string
MANAGE_BUCKET_DELETE_ERROR_MSG_TITLE: string
MANAGE_BUCKET_DELETE_ERROR_MSG_MSG: string
MANAGE_BUCKET_DELETE_SUCCESS: string
MANAGE_BUCKET_DELETE_FAIL: string
MANAGE_BUCKET_DELETE_CANCEL: string
MANAGE_BUCKET_RENAME_INFO_MSG: string
MANAGE_BUCKET_RENAME_ERROR_MSG: string
MANAGE_BUCKET_DOWNLOAD_COLUMN_FILENAME: string
MANAGE_BUCKET_DOWNLOAD_COLUMN_FINISHTIME: string
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS: string
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_SUCCESS: string
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_FAIL: string
MANAGE_BUCKET_UPLOAD_COLUMN_FILENAME: string
MANAGE_BUCKET_UPLOAD_COLUMN_TARGETFILEPATH: string
MANAGE_BUCKET_UPLOAD_COLUMN_FINISHTIME: string
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS: string
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_SUCCESS: string
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_FAIL: string
MANAGE_BUCKET_DOWNLOADING_COLUMN_FILENAME: string
MANAGE_BUCKET_DOWNLOADING_COLUMN_PROGRESS: string
MANAGE_BUCKET_UPLOADING_COLUMN_FILENAME: string
MANAGE_BUCKET_UPLOADING_COLUMN_PROGRESS: string
MANAGE_BUCKET_UPLOADED_COLUMN_FILENAME: string
MANAGE_BUCKET_UPLOADED_COLUMN_FILESIZE: string
MANAGE_BUCKET_UPLOADED_COLUMN_FILENUM: string
MANAGE_BUCKET_FILE_COLUMN_FILENAME: string
MANAGE_BUCKET_FILE_COLUMN_COPY_URL: string
MANAGE_BUCKET_FILE_COLUMN_INFO: string
MANAGE_BUCKET_FILE_COLUMN_FILESIZE: string
MANAGE_BUCKET_FILE_COLUMN_TIME: string
PLUGIN_INSTALL_SUCCEED: string
PLUGIN_INSTALL_FAILED: string
PLUGIN_UNINSTALL_SUCCEED: string