Feature: optimize memory use and loading and searching speed of manage page for 30 fold

This commit is contained in:
萌萌哒赫萝
2023-09-11 07:25:42 -07:00
parent 5392d9e9e7
commit fb070e7740
18 changed files with 462 additions and 402 deletions
+2 -1
View File
@@ -676,7 +676,7 @@ MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: 'e.g. bucket1'
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration
MANAGE_LOGIN_PAGE_PANE_NAME: Saved Config MANAGE_LOGIN_PAGE_PANE_NAME: Saved Config
MANAGE_LOGIN_PAGE_PANE_DESC: Click on the icon or alias to view details, Enter to view the file page, Delete to remove the configuration MANAGE_LOGIN_PAGE_PANE_DESC: Click on the icon or alias to view details
MANAGE_LOGIN_PAGE_PANE_LOADING: Importing... MANAGE_LOGIN_PAGE_PANE_LOADING: Importing...
MANAGE_LOGIN_PAGE_PANE_KEY_NAME: Configuration MANAGE_LOGIN_PAGE_PANE_KEY_NAME: Configuration
MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: Value MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: Value
@@ -725,6 +725,7 @@ MANAGE_BUCKET_SORT_SIZE: Size
MANAGE_BUCKET_SORT_TYPE: Type MANAGE_BUCKET_SORT_TYPE: Type
MANAGE_BUCKET_SORT_TIME: Time MANAGE_BUCKET_SORT_TIME: Time
MANAGE_BUCKET_SORT_SELECTED: Selected status MANAGE_BUCKET_SORT_SELECTED: Selected status
MANAGE_BUCKET_INIT: Init
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: Please enter URL(s), support multiple URLs separated by line breaks MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: Please enter URL(s), support multiple URLs separated by line breaks
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: Confirm MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: Confirm
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: Cancel MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: Cancel
+2 -1
View File
@@ -680,7 +680,7 @@ MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: 此处不可修改,仅为软件兼容性
MANAGE_LOGIN_PAGE_PANE_NAME: 已保存配置 MANAGE_LOGIN_PAGE_PANE_NAME: 已保存配置
MANAGE_LOGIN_PAGE_PANE_DESC: 点击图标和别名可查看详情,点击进入可查看文件页面,点击删除可删除配置 MANAGE_LOGIN_PAGE_PANE_DESC: 点击图标和别名可查看详情
MANAGE_LOGIN_PAGE_PANE_LOADING: 导入配置... MANAGE_LOGIN_PAGE_PANE_LOADING: 导入配置...
MANAGE_LOGIN_PAGE_PANE_KEY_NAME: 配置项 MANAGE_LOGIN_PAGE_PANE_KEY_NAME: 配置项
MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: MANAGE_LOGIN_PAGE_PANE_KEY_VALUE:
@@ -729,6 +729,7 @@ MANAGE_BUCKET_SORT_SIZE: 大小
MANAGE_BUCKET_SORT_TYPE: 类型 MANAGE_BUCKET_SORT_TYPE: 类型
MANAGE_BUCKET_SORT_TIME: 时间 MANAGE_BUCKET_SORT_TIME: 时间
MANAGE_BUCKET_SORT_SELECTED: 选中状态 MANAGE_BUCKET_SORT_SELECTED: 选中状态
MANAGE_BUCKET_INIT: 初始化
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: 请输入URL,支持多个URL,以换行分隔 MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: 请输入URL,支持多个URL,以换行分隔
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: 确定 MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: 确定
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: 取消 MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: 取消
+2 -1
View File
@@ -676,7 +676,7 @@ MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: '例如:bucket1'
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量 MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量
MANAGE_LOGIN_PAGE_PANE_NAME: 已保存配置 MANAGE_LOGIN_PAGE_PANE_NAME: 已保存配置
MANAGE_LOGIN_PAGE_PANE_DESC: 點擊圖標和別名可查看詳情,點擊進入可查看檔案頁面,點擊刪除可刪除配置 MANAGE_LOGIN_PAGE_PANE_DESC: 點擊圖標和別名可查看詳情
MANAGE_LOGIN_PAGE_PANE_LOADING: 導入配置... MANAGE_LOGIN_PAGE_PANE_LOADING: 導入配置...
MANAGE_LOGIN_PAGE_PANE_KEY_NAME: 配置項 MANAGE_LOGIN_PAGE_PANE_KEY_NAME: 配置項
MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: MANAGE_LOGIN_PAGE_PANE_KEY_VALUE:
@@ -725,6 +725,7 @@ MANAGE_BUCKET_SORT_SIZE: 大小
MANAGE_BUCKET_SORT_TYPE: 類型 MANAGE_BUCKET_SORT_TYPE: 類型
MANAGE_BUCKET_SORT_TIME: 時間 MANAGE_BUCKET_SORT_TIME: 時間
MANAGE_BUCKET_SORT_SELECTED: 選取狀態 MANAGE_BUCKET_SORT_SELECTED: 選取狀態
MANAGE_BUCKET_INIT: 初始化
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: 請輸入 URL,支援多個 URL,以換行分隔 MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: 請輸入 URL,支援多個 URL,以換行分隔
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: 確定 MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: 確定
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: 取消 MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: 取消
+8
View File
@@ -10,6 +10,7 @@ import {
import { import {
createProtocol createProtocol
} from 'vue-cli-plugin-electron-builder/lib' } from 'vue-cli-plugin-electron-builder/lib'
import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'
import beforeOpen from '~/main/utils/beforeOpen' import beforeOpen from '~/main/utils/beforeOpen'
import ipcList from '~/main/events/ipcList' import ipcList from '~/main/events/ipcList'
import busEventList from '~/main/events/busEventList' import busEventList from '~/main/events/busEventList'
@@ -137,6 +138,13 @@ class LifeCycle {
const readyFunction = async () => { const readyFunction = async () => {
console.log('on ready') console.log('on ready')
createProtocol('picgo') createProtocol('picgo')
if (isDevelopment && !process.env.IS_TEST) {
try {
await installExtension(VUEJS_DEVTOOLS)
} catch (e: any) {
console.error('Vue Devtools failed to install:', e.toString())
}
}
windowManager.create(IWindowList.TRAY_WINDOW) windowManager.create(IWindowList.TRAY_WINDOW)
windowManager.create(IWindowList.SETTING_WINDOW) windowManager.create(IWindowList.SETTING_WINDOW)
const isAutoListenClipboard = db.get('settings.isAutoListenClipboard') || false const isAutoListenClipboard = db.get('settings.isAutoListenClipboard') || false
+6
View File
@@ -36,6 +36,8 @@
class="item" class="item"
effect="dark" effect="dark"
placement="right" placement="right"
:persistent="false"
teleported
> >
<template #content> <template #content>
<span <span
@@ -60,6 +62,8 @@
v-else-if="item.type === 'list' && item.choices" v-else-if="item.type === 'list' && item.choices"
v-model="ruleForm[item.name]" v-model="ruleForm[item.name]"
:placeholder="item.message || item.name" :placeholder="item.message || item.name"
:persistent="false"
teleported
> >
<el-option <el-option
v-for="choice in item.choices" v-for="choice in item.choices"
@@ -74,6 +78,8 @@
:placeholder="item.message || item.name" :placeholder="item.message || item.name"
multiple multiple
collapse-tags collapse-tags
:persistent="false"
teleported
> >
<el-option <el-option
v-for="choice in item.choices" v-for="choice in item.choices"
@@ -39,6 +39,8 @@
v-else-if="item.type === 'list' && item.choices" v-else-if="item.type === 'list' && item.choices"
v-model="ruleForm[item.name]" v-model="ruleForm[item.name]"
:placeholder="item.message || item.name" :placeholder="item.message || item.name"
:persistent="false"
teleported
> >
<el-option <el-option
v-for="choice in item.choices" v-for="choice in item.choices"
@@ -53,6 +55,8 @@
:placeholder="item.message || item.name" :placeholder="item.message || item.name"
multiple multiple
collapse-tags collapse-tags
:persistent="false"
teleported
> >
<el-option <el-option
v-for="choice in item.choices" v-for="choice in item.choices"
@@ -9,6 +9,8 @@
effect="dark" effect="dark"
:content="props.tooltips" :content="props.tooltips"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon style="margin-left: 4px"> <el-icon style="margin-left: 4px">
<QuestionFilled /> <QuestionFilled />
+2
View File
@@ -213,6 +213,8 @@
v-model="choosedPicBedForQRCode" v-model="choosedPicBedForQRCode"
multiple multiple
collapse-tags collapse-tags
:persistent="false"
teleported
> >
<el-option <el-option
v-for="item in picBed" v-for="item in picBed"
File diff suppressed because it is too large Load Diff
+14 -7
View File
@@ -6,15 +6,16 @@
stretch stretch
style="height: calc(100vh - 50px);width: 100%;overflow-x: hidden;" style="height: calc(100vh - 50px);width: 100%;overflow-x: hidden;"
tab-position="left" tab-position="left"
lazy
@tab-change="getExistingConfig(activeName)" @tab-change="getExistingConfig(activeName)"
> >
<el-tab-pane <el-tab-pane
name="login" name="login"
:label="$T('MANAGE_LOGIN_PAGE_PANE_NAME')" :label="$T('MANAGE_LOGIN_PAGE_PANE_NAME')"
style="width: 100%;overflow-y: scroll;height: calc(100vh - 50px);" style="width: 100%;overflow-y: scroll;height: calc(100vh - 50px);"
lazy
> >
<el-alert <el-alert
v-loading="isLoading"
:title="$T('MANAGE_LOGIN_PAGE_PANE_DESC')" :title="$T('MANAGE_LOGIN_PAGE_PANE_DESC')"
type="success" type="success"
show-icon show-icon
@@ -42,6 +43,8 @@
placement="top" placement="top"
:width="300" :width="300"
trigger="click" trigger="click"
:persistent="false"
teleported
> >
<el-table <el-table
:data="formObjToTableData(item.config)" :data="formObjToTableData(item.config)"
@@ -75,6 +78,8 @@
:content="item.alias" :content="item.alias"
placement="top" placement="top"
:disabled="isNeedToShorten(item.alias)" :disabled="isNeedToShorten(item.alias)"
:persistent="false"
teleported
> >
{{ isNeedToShorten(item.alias) ? safeSliceF(item.alias, 17) + '...' : item.alias }} {{ isNeedToShorten(item.alias) ? safeSliceF(item.alias, 17) + '...' : item.alias }}
</el-tooltip> </el-tooltip>
@@ -152,6 +157,8 @@
effect="dark" effect="dark"
:content="supportedPicBedList[item.icon].configOptions[option].tooltip" :content="supportedPicBedList[item.icon].configOptions[option].tooltip"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon <el-icon
color="#409EFF" color="#409EFF"
@@ -169,8 +176,7 @@
<el-switch <el-switch
v-else-if="supportedPicBedList[item.icon].configOptions[option].type === 'boolean'" v-else-if="supportedPicBedList[item.icon].configOptions[option].type === 'boolean'"
v-model="configResult[item.icon + '.' + option]" v-model="configResult[item.icon + '.' + option]"
active-color="#13ce66" style="--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
<el-input <el-input
v-else-if="supportedPicBedList[item.icon].configOptions[option].type === 'number'" v-else-if="supportedPicBedList[item.icon].configOptions[option].type === 'number'"
@@ -181,6 +187,8 @@
v-else-if="supportedPicBedList[item.icon].configOptions[option].type === 'select'" v-else-if="supportedPicBedList[item.icon].configOptions[option].type === 'select'"
v-model="configResult[item.icon + '.' + option]" v-model="configResult[item.icon + '.' + option]"
:placeholder="$T('MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER')" :placeholder="$T('MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER')"
:persistent="false"
teleported
> >
<el-option <el-option
v-for="i in Object.entries(supportedPicBedList[item.icon].configOptions[option].selectOptions)" v-for="i in Object.entries(supportedPicBedList[item.icon].configOptions[option].selectOptions)"
@@ -198,6 +206,7 @@
style="margin-left: 10vw" style="margin-left: 10vw"
placement="top" placement="top"
:disabled="currentAliasList.length === 0" :disabled="currentAliasList.length === 0"
teleported
> >
{{ $T('MANAGE_LOGIN_PAGE_PANE_IMPORT') }} {{ $T('MANAGE_LOGIN_PAGE_PANE_IMPORT') }}
<template #dropdown> <template #dropdown>
@@ -298,7 +307,6 @@ import { T as $T } from '@/i18n'
const manageStore = useManageStore() const manageStore = useManageStore()
const router = useRouter() const router = useRouter()
const isLoading = ref(false)
const activeName = ref('login') const activeName = ref('login')
const configResult:IStringKeyMap = reactive({}) const configResult:IStringKeyMap = reactive({})
@@ -820,9 +828,8 @@ async function transUpToManage (config: IUploaderConfigListItem, picBedName: str
importedNewConfig[alias] = resultMap importedNewConfig[alias] = resultMap
} }
onMounted(async () => { onMounted(() => {
await getCurrentConfigList() getCurrentConfigList()
getAllConfigAliasArray()
}) })
</script> </script>
+6
View File
@@ -27,6 +27,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_MAIN_PAGE_NEW_BUCKET')" :content="$T('MANAGE_MAIN_PAGE_NEW_BUCKET')"
placement="right" placement="right"
:persistent="false"
teleported
popper-class="layout__menu__button__divider__tooltip" popper-class="layout__menu__button__divider__tooltip"
> >
<el-icon <el-icon
@@ -143,6 +145,7 @@
<el-dialog <el-dialog
v-model="picBedSwitchDialogVisible" v-model="picBedSwitchDialogVisible"
top="30vh" top="30vh"
append-to-body
> >
<div <div
class="choice-cos" class="choice-cos"
@@ -195,6 +198,7 @@
<el-drawer <el-drawer
v-model="nweBucketDrawerVisible" v-model="nweBucketDrawerVisible"
class="layout__addNewBucket" class="layout__addNewBucket"
append-to-body
> >
<el-form <el-form
label-position="top" label-position="top"
@@ -240,6 +244,8 @@
v-if="newBucketConfig[currentPicBedName].configOptions[option].component === 'select'" v-if="newBucketConfig[currentPicBedName].configOptions[option].component === 'select'"
v-model="newBucketConfigResult[currentPicBedName+'.'+option]" v-model="newBucketConfigResult[currentPicBedName+'.'+option]"
size="large" size="large"
:persistent="false"
teleported
> >
<el-option <el-option
v-for="item in Object.keys(newBucketConfig[currentPicBedName].configOptions[option].options)" v-for="item in Object.keys(newBucketConfig[currentPicBedName].configOptions[option].options)"
+38 -36
View File
@@ -34,6 +34,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_AUTO_FRESH_TIPS')" :content="$T('MANAGE_SETTING_AUTO_FRESH_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -43,9 +45,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.isAutoRefresh" v-model="form.isAutoRefresh"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleIsAutoRefreshChange" @change="handleIsAutoRefreshChange"
/> />
</el-form-item> </el-form-item>
@@ -66,6 +66,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_CLEAR_CACHE_TIPS')" :content="$T('MANAGE_SETTING_CLEAR_CACHE_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -78,6 +80,8 @@
:confirm-button-text="$T('CONFIRM')" :confirm-button-text="$T('CONFIRM')"
:cancel-button-text="$T('CANCEL')" :cancel-button-text="$T('CANCEL')"
hide-icon hide-icon
:persistent="false"
teleported
@confirm="handleClearDb" @confirm="handleClearDb"
> >
<template #reference> <template #reference>
@@ -101,9 +105,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.isShowThumbnail" v-model="form.isShowThumbnail"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleIsShowThumbnailChange" @change="handleIsShowThumbnailChange"
/> />
</el-form-item> </el-form-item>
@@ -117,11 +119,9 @@
</template> </template>
<el-switch <el-switch
v-model="form.isShowList" v-model="form.isShowList"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
:active-text="$T('MANAGE_SETTING_SHOW_FILE_LIST_TYPE_LIST')" :active-text="$T('MANAGE_SETTING_SHOW_FILE_LIST_TYPE_LIST')"
:inactive-text="$T('MANAGE_SETTING_SHOW_FILE_LIST_TYPE_CARD')" :inactive-text="$T('MANAGE_SETTING_SHOW_FILE_LIST_TYPE_CARD')"
active-color="#13ce66"
inactive-color="orange"
@change="handleIsShowListChange" @change="handleIsShowListChange"
/> />
</el-form-item> </el-form-item>
@@ -135,6 +135,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_FORCE_CUSTOM_URL_HTTPS_TIPS')" :content="$T('MANAGE_SETTING_FORCE_CUSTOM_URL_HTTPS_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -144,9 +146,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.isForceCustomUrlHttps" v-model="form.isForceCustomUrlHttps"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleIsForceCustomUrlHttpsChange" @change="handleIsForceCustomUrlHttpsChange"
/> />
</el-form-item> </el-form-item>
@@ -160,6 +160,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_ENCODE_URL_WHEN_COPY_TIPS')" :content="$T('MANAGE_SETTING_ENCODE_URL_WHEN_COPY_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -169,9 +171,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.isEncodeUrl" v-model="form.isEncodeUrl"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleIsEncodeUrlChange" @change="handleIsEncodeUrlChange"
/> />
</el-form-item> </el-form-item>
@@ -185,6 +185,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_UPLOAD_TIPS')" :content="$T('MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_UPLOAD_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -194,9 +196,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.isUploadKeepDirStructure" v-model="form.isUploadKeepDirStructure"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleIsUploadKeepDirStructureChange" @change="handleIsUploadKeepDirStructureChange"
/> />
</el-form-item> </el-form-item>
@@ -212,6 +212,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_FILE_TIPS')" :content="$T('MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_FILE_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -221,9 +223,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.isDownloadFileKeepDirStructure" v-model="form.isDownloadFileKeepDirStructure"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleIsDownloadFileKeepDirStructureChange" @change="handleIsDownloadFileKeepDirStructureChange"
/> />
</el-form-item> </el-form-item>
@@ -239,6 +239,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_FILE_TIPS')" :content="$T('MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_FILE_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -248,9 +250,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.isDownloadFolderKeepDirStructure" v-model="form.isDownloadFolderKeepDirStructure"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleIsDownloadFolderKeepDirStructureChange" @change="handleIsDownloadFolderKeepDirStructureChange"
/> />
</el-form-item> </el-form-item>
@@ -264,6 +264,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS')" :content="$T('MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -290,6 +292,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_SEARCH_IGNORE_CASE_TIPS')" :content="$T('MANAGE_SETTING_SEARCH_IGNORE_CASE_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -299,9 +303,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.isIgnoreCase" v-model="form.isIgnoreCase"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleisIgnoreCaseChange" @change="handleisIgnoreCaseChange"
/> />
</el-form-item> </el-form-item>
@@ -315,6 +317,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_TIMESTAMP_RENAME_TIPS')" :content="$T('MANAGE_SETTING_TIMESTAMP_RENAME_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -324,9 +328,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.timestampRename" v-model="form.timestampRename"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleTimestampRenameChange" @change="handleTimestampRenameChange"
/> />
</el-form-item> </el-form-item>
@@ -340,6 +342,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_RANDOM_STRING_RENAME_TIPS')" :content="$T('MANAGE_SETTING_RANDOM_STRING_RENAME_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -349,9 +353,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.randomStringRename" v-model="form.randomStringRename"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleRandomStringRenameChange" @change="handleRandomStringRenameChange"
/> />
</el-form-item> </el-form-item>
@@ -365,6 +367,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_SETTING_CUSTOM_RENAME_TIPS')" :content="$T('MANAGE_SETTING_CUSTOM_RENAME_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon> <el-icon>
<InfoFilled /> <InfoFilled />
@@ -374,9 +378,7 @@
</template> </template>
<el-switch <el-switch
v-model="form.customRename" v-model="form.customRename"
style="position:absolute;right: 0;" style="position:absolute;right: 0;--el-switch-on-color: #13ce66;--el-switch-off-color: #ff4949;"
active-color="#13ce66"
inactive-color="#ff4949"
@change="handleCustomRenameChange" @change="handleCustomRenameChange"
/> />
</el-form-item> </el-form-item>
+14 -1
View File
@@ -42,6 +42,8 @@
size="small" size="small"
style="width: 100%" style="width: 100%"
:placeholder="$T('CHOOSE_SHOWED_PICBED')" :placeholder="$T('CHOOSE_SHOWED_PICBED')"
:persistent="false"
teleported
> >
<el-option <el-option
v-for="item in picBed" v-for="item in picBed"
@@ -60,6 +62,7 @@
start-placeholder="Start date" start-placeholder="Start date"
end-placeholder="End date" end-placeholder="End date"
size="small" size="small"
teleported
/> />
</el-col> </el-col>
<el-col :span="1"> <el-col :span="1">
@@ -75,6 +78,8 @@
size="small" size="small"
style="width: 100%" style="width: 100%"
:placeholder="$T('CHOOSE_PASTE_FORMAT')" :placeholder="$T('CHOOSE_PASTE_FORMAT')"
:persistent="false"
teleported
@change="handlePasteStyleChange" @change="handlePasteStyleChange"
> >
<el-option <el-option
@@ -91,6 +96,8 @@
size="small" size="small"
style="width: 100%" style="width: 100%"
placeholder="Choose" placeholder="Choose"
:persistent="false"
teleported
@change="handleUseShortUrlChange" @change="handleUseShortUrlChange"
> >
<el-option <el-option
@@ -102,7 +109,9 @@
</el-select> </el-select>
</el-col> </el-col>
<el-col :span="2"> <el-col :span="2">
<el-dropdown> <el-dropdown
teleported
>
<el-button <el-button
size="small" size="small"
type="primary" type="primary"
@@ -328,6 +337,8 @@
effect="dark" effect="dark"
:content="$T('MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS')" :content="$T('MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon <el-icon
color="#409EFF" color="#409EFF"
@@ -352,6 +363,8 @@
effect="light" effect="light"
placement="right" placement="right"
width="280" width="280"
:persistent="false"
teleported
> >
<template #reference> <template #reference>
<el-icon <el-icon
+33 -23
View File
@@ -18,6 +18,7 @@
stretch stretch
style="height: calc(100vh - 50px);width: 100%;overflow-x: hidden;top: 50px;position: absolute;" style="height: calc(100vh - 50px);width: 100%;overflow-x: hidden;top: 50px;position: absolute;"
tab-position="left" tab-position="left"
lazy
> >
<el-tab-pane <el-tab-pane
name="system" name="system"
@@ -43,6 +44,8 @@
size="small" size="small"
style="width: 50%" style="width: 50%"
:placeholder="$T('SETTINGS_CHOOSE_LANGUAGE')" :placeholder="$T('SETTINGS_CHOOSE_LANGUAGE')"
:persistent="false"
teleported
@change="handleLanguageChange" @change="handleLanguageChange"
> >
<el-option <el-option
@@ -61,6 +64,8 @@
size="small" size="small"
style="width: 50%" style="width: 50%"
:placeholder="$T('SETTINGS_START_MODE')" :placeholder="$T('SETTINGS_START_MODE')"
:persistent="false"
teleported
@change="handleStartModeChange" @change="handleStartModeChange"
> >
<el-option <el-option
@@ -299,6 +304,8 @@
size="small" size="small"
style="width: 50%" style="width: 50%"
:placeholder="$T('SETTINGS_AUTO_IMPORT_SELECT_PICBED')" :placeholder="$T('SETTINGS_AUTO_IMPORT_SELECT_PICBED')"
:persistent="false"
teleported
@change="handleAutoImportPicBedChange" @change="handleAutoImportPicBedChange"
> >
<el-option <el-option
@@ -434,6 +441,8 @@
size="small" size="small"
style="width: 50%" style="width: 50%"
:placeholder="$T('SETTINGS_SHORT_URL_SERVER')" :placeholder="$T('SETTINGS_SHORT_URL_SERVER')"
:persistent="false"
teleported
@change="handleShortUrlServerChange" @change="handleShortUrlServerChange"
> >
<el-option <el-option
@@ -487,6 +496,8 @@
effect="dark" effect="dark"
:content="$T('BUILTIN_CLIPBOARD_TIPS')" :content="$T('BUILTIN_CLIPBOARD_TIPS')"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon style="margin-left: 4px"> <el-icon style="margin-left: 4px">
<QuestionFilled /> <QuestionFilled />
@@ -864,6 +875,8 @@
effect="light" effect="light"
placement="right" placement="right"
width="350" width="350"
:persistent="false"
teleported
> >
<template #reference> <template #reference>
<el-icon <el-icon
@@ -958,6 +971,8 @@
multiple multiple
collapse-tags collapse-tags
style="width: 100%;" style="width: 100%;"
:persistent="false"
teleported
> >
<el-option <el-option
v-for="(value, key) of logLevel" v-for="(value, key) of logLevel"
@@ -1080,6 +1095,8 @@
<el-select <el-select
v-model="sync.type" v-model="sync.type"
style="width: 100%;" style="width: 100%;"
:persistent="false"
teleported
> >
<el-option <el-option
v-for="typeitem of syncType" v-for="typeitem of syncType"
@@ -1248,8 +1265,7 @@
> >
<el-switch <el-switch
v-model="waterMarkForm.isAddWatermark" v-model="waterMarkForm.isAddWatermark"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1271,8 +1287,7 @@
> >
<el-switch <el-switch
v-model="waterMarkForm.isFullScreenWatermark" v-model="waterMarkForm.isFullScreenWatermark"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1343,8 +1358,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isRemoveExif" v-model="compressForm.isRemoveExif"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1362,15 +1376,18 @@
> >
<el-switch <el-switch
v-model="compressForm.isConvert" v-model="compressForm.isConvert"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-show="compressForm.isConvert" v-show="compressForm.isConvert"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT')" :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT')"
> >
<el-select v-model="compressForm.convertFormat"> <el-select
v-model="compressForm.convertFormat"
:persistent="false"
teleported
>
<el-option <el-option
v-for="item in availableFormat" v-for="item in availableFormat"
:key="item" :key="item"
@@ -1384,8 +1401,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isFlip" v-model="compressForm.isFlip"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1393,8 +1409,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isFlop" v-model="compressForm.isFlop"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1402,8 +1417,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isReSize" v-model="compressForm.isReSize"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1430,8 +1444,7 @@
> >
<el-switch <el-switch
v-model="compressForm.skipReSizeOfSmallImg" v-model="compressForm.skipReSizeOfSmallImg"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1440,8 +1453,7 @@
> >
<el-switch <el-switch
v-model="compressForm.skipReSizeOfSmallImg" v-model="compressForm.skipReSizeOfSmallImg"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1449,8 +1461,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isReSizeByPercent" v-model="compressForm.isReSizeByPercent"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -1467,8 +1478,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isRotate" v-model="compressForm.isRotate"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
+6
View File
@@ -5,6 +5,8 @@
<el-tooltip <el-tooltip
:content="pluginListToolTip" :content="pluginListToolTip"
placement="right" placement="right"
:persistent="false"
teleported
> >
<el-icon <el-icon
class="el-icon-goods" class="el-icon-goods"
@@ -16,6 +18,8 @@
<el-tooltip <el-tooltip
:content="updateAllToolTip" :content="updateAllToolTip"
placement="left" placement="left"
:persistent="false"
teleported
> >
<el-icon <el-icon
class="el-icon-update" class="el-icon-update"
@@ -30,6 +34,8 @@
> >
<el-icon <el-icon
class="el-icon-download" class="el-icon-download"
:persistent="false"
teleported
@click="handleImportLocalPlugin" @click="handleImportLocalPlugin"
> >
<Download /> <Download />
+18 -23
View File
@@ -12,6 +12,8 @@
placement="top" placement="top"
effect="light" effect="light"
:content="$T('UPLOAD_VIEW_HINT')" :content="$T('UPLOAD_VIEW_HINT')"
:persistent="false"
teleported
> >
<span <span
id="upload-view-title" id="upload-view-title"
@@ -170,8 +172,7 @@
> >
<el-switch <el-switch
v-model="waterMarkForm.isAddWatermark" v-model="waterMarkForm.isAddWatermark"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -193,8 +194,7 @@
> >
<el-switch <el-switch
v-model="waterMarkForm.isFullScreenWatermark" v-model="waterMarkForm.isFullScreenWatermark"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -265,8 +265,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isRemoveExif" v-model="compressForm.isRemoveExif"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -284,15 +283,18 @@
> >
<el-switch <el-switch
v-model="compressForm.isConvert" v-model="compressForm.isConvert"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-show="compressForm.isConvert" v-show="compressForm.isConvert"
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT')" :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT')"
> >
<el-select v-model="compressForm.convertFormat"> <el-select
v-model="compressForm.convertFormat"
:persistent="false"
teleported
>
<el-option <el-option
v-for="item in availableFormat" v-for="item in availableFormat"
:key="item" :key="item"
@@ -306,8 +308,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isFlip" v-model="compressForm.isFlip"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -315,8 +316,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isFlop" v-model="compressForm.isFlop"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -324,8 +324,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isReSize" v-model="compressForm.isReSize"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -352,8 +351,7 @@
> >
<el-switch <el-switch
v-model="compressForm.skipReSizeOfSmallImg" v-model="compressForm.skipReSizeOfSmallImg"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -362,8 +360,7 @@
> >
<el-switch <el-switch
v-model="compressForm.skipReSizeOfSmallImg" v-model="compressForm.skipReSizeOfSmallImg"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -371,8 +368,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isReSizeByPercent" v-model="compressForm.isReSizeByPercent"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@@ -389,8 +385,7 @@
> >
<el-switch <el-switch
v-model="compressForm.isRotate" v-model="compressForm.isRotate"
active-color="#13ce66" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;"
inactive-color="#ff4949"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
+1
View File
@@ -68,6 +68,7 @@
placement="top" placement="top"
style="color: #fff; font-size: 12px;width: 100%;" style="color: #fff; font-size: 12px;width: 100%;"
:disabled="picBedConfigList.length === 0" :disabled="picBedConfigList.length === 0"
teleported
> >
{{ $T('MANAGE_LOGIN_PAGE_PANE_IMPORT') }} {{ $T('MANAGE_LOGIN_PAGE_PANE_IMPORT') }}
<template #dropdown> <template #dropdown>
+1
View File
@@ -683,6 +683,7 @@ interface ILocales {
MANAGE_BUCKET_SORT_TYPE: string MANAGE_BUCKET_SORT_TYPE: string
MANAGE_BUCKET_SORT_TIME: string MANAGE_BUCKET_SORT_TIME: string
MANAGE_BUCKET_SORT_SELECTED: string MANAGE_BUCKET_SORT_SELECTED: string
MANAGE_BUCKET_INIT: string
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: string MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: string
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: string MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: string
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: string MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: string