From 95556498f766b110e997c5d0d59ef03929e853ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=8C=E5=B0=8F=E8=B7=AF?= <44311619+STDSuperman@users.noreply.github.com> Date: Wed, 23 Nov 2022 09:42:40 +0800 Subject: [PATCH] :sparkles: Feature: support multiple config (#1016) --- public/i18n/en.yml | 3 + public/i18n/zh-CN.yml | 3 + public/i18n/zh-TW.yml | 3 + src/renderer/components/ConfigForm.vue | 24 ++- src/renderer/layouts/Main.vue | 10 +- src/renderer/pages/UploaderConfigPage.vue | 226 ++++++++++++++++++++++ src/renderer/pages/picbeds/index.vue | 40 +++- src/renderer/router/index.ts | 7 +- src/renderer/utils/uploader.ts | 11 ++ src/universal/types/i18n.d.ts | 3 + 10 files changed, 312 insertions(+), 18 deletions(-) create mode 100644 src/renderer/pages/UploaderConfigPage.vue create mode 100644 src/renderer/utils/uploader.ts diff --git a/public/i18n/en.yml b/public/i18n/en.yml index 02bc69f..966f034 100644 --- a/public/i18n/en.yml +++ b/public/i18n/en.yml @@ -109,6 +109,9 @@ SETTINGS_SET_DEFAULT_PICBED: Set Default Picbed SETTINGS_NOT_CONFIG_OPTIONS: Not Config Options SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: Use Builtin Clipboard to Upload SETTINGS_CHOOSE_LANGUAGE: Choose Language +UPLOADER_CONFIG_NAME: Configuration Name +UPLOADER_CONFIG_PLACEHOLDER: Please Enter Configuration Name +SELECTED_SETTING_HINT: Selected # shortcut-page diff --git a/public/i18n/zh-CN.yml b/public/i18n/zh-CN.yml index 9e32884..4ac67da 100644 --- a/public/i18n/zh-CN.yml +++ b/public/i18n/zh-CN.yml @@ -110,6 +110,9 @@ SETTINGS_NOT_CONFIG_OPTIONS: 暂无配置项 SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: 使用内置剪贴板上传 SETTINGS_CHOOSE_LANGUAGE: 选择语言 BUILTIN_CLIPBOARD_TIPS: 使用内置剪贴板函数而不是调用脚本获取剪贴板图片 +UPLOADER_CONFIG_NAME: 图床配置名 +UPLOADER_CONFIG_PLACEHOLDER: 请输入配置名称 +SELECTED_SETTING_HINT: 已选中 # shortcut-page diff --git a/public/i18n/zh-TW.yml b/public/i18n/zh-TW.yml index 1d702f8..0a242af 100644 --- a/public/i18n/zh-TW.yml +++ b/public/i18n/zh-TW.yml @@ -110,6 +110,9 @@ SETTINGS_NOT_CONFIG_OPTIONS: 暫無設定選項 SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: 使用內建剪貼簿上傳 SETTINGS_CHOOSE_LANGUAGE: 選擇語言 BUILTIN_CLIPBOARD_TIPS: 使用內建剪貼簿函數而不是調用腳本取得剪貼簿內的照片 +UPLOADER_CONFIG_NAME: 圖床配置名 +UPLOADER_CONFIG_PLACEHOLDER: 請輸入配置名稱 +SELECTED_SETTING_HINT: 已選中 # shortcut-page diff --git a/src/renderer/components/ConfigForm.vue b/src/renderer/components/ConfigForm.vue index 9b5bc55..234f3bc 100644 --- a/src/renderer/components/ConfigForm.vue +++ b/src/renderer/components/ConfigForm.vue @@ -7,6 +7,18 @@ ref="form" size="mini" > + + + + (this.getConfigType()) + const config = await this.getCurConfigFormData() + const configId = this.$route.params.configId + this.ruleForm = Object.assign({}, config) if (val.length > 0) { this.configList = cloneDeep(val).map((item) => { + if (!configId) return item let defaultValue = item.default !== undefined ? item.default : item.type === 'checkbox' @@ -138,6 +152,12 @@ export default class extends Vue { }) } } + + async getCurConfigFormData () { + const configId = this.$route.params.configId + const curTypeConfigList = await this.getConfig(`uploader.${this.id}.configList`) || [] + return curTypeConfigList.find(i => i._id === configId) || {} + } } diff --git a/src/renderer/pages/picbeds/index.vue b/src/renderer/pages/picbeds/index.vue index b8b4dd9..f9d9623 100644 --- a/src/renderer/pages/picbeds/index.vue +++ b/src/renderer/pages/picbeds/index.vue @@ -1,7 +1,7 @@