From 99ca865cebed6d267efbc0035e322f4045d1fb94 Mon Sep 17 00:00:00 2001 From: terwer Date: Tue, 21 Feb 2023 22:58:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BB=9F=E4=B8=80=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 99 +++++++++--------------- components/transport/ClearData.vue | 88 +++++++++++++++++++++ components/transport/ExportData.vue | 77 ++++++++++++++++++ components/transport/ImportData.vue | 75 ++++++++++++++++++ components/transport/TransportSelect.vue | 23 +++++- layouts/default/DefaultFooter.vue | 15 ++-- locales/en_US.ts | 17 ++++ locales/zh_CN.ts | 17 ++++ 8 files changed, 341 insertions(+), 70 deletions(-) create mode 100644 components/transport/ClearData.vue create mode 100644 components/transport/ExportData.vue create mode 100644 components/transport/ImportData.vue diff --git a/components.d.ts b/components.d.ts index 5098b40b..ff899cad 100644 --- a/components.d.ts +++ b/components.d.ts @@ -1,75 +1,50 @@ -/* - * Copyright (c) 2023, Terwer . All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Terwer designates this - * particular file as subject to the "Classpath" exception as provided - * by Terwer in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Terwer, Shenzhen, Guangdong, China, youweics@163.com - * or visit www.terwer.space if you need additional information or have any - * questions. - */ - /* eslint-disable */ /* prettier-ignore */ // @ts-nocheck // Generated by unplugin-vue-components // Read more: https://github.com/vuejs/core/pull/3399 -import "@vue/runtime-core"; +import '@vue/runtime-core' export {} -declare module "@vue/runtime-core" { +declare module '@vue/runtime-core' { export interface GlobalComponents { - ElAlert: typeof import("element-plus/es")["ElAlert"] - ElAutocomplete: typeof import("element-plus/es")["ElAutocomplete"] - ElButton: typeof import("element-plus/es")["ElButton"] - ElButtonGroup: typeof import("element-plus/es")["ElButtonGroup"] - ElCard: typeof import("element-plus/es")["ElCard"] - ElCheckbox: typeof import("element-plus/es")["ElCheckbox"] - ElCheckboxGroup: typeof import("element-plus/es")["ElCheckboxGroup"] - ElCol: typeof import("element-plus/es")["ElCol"] - ElContainer: typeof import("element-plus/es")["ElContainer"] - ElDatePicker: typeof import("element-plus/es")["ElDatePicker"] - ElDialog: typeof import("element-plus/es")["ElDialog"] - ElForm: typeof import("element-plus/es")["ElForm"] - ElFormItem: typeof import("element-plus/es")["ElFormItem"] - ElHeader: typeof import("element-plus/es")["ElHeader"] - ElIcon: typeof import("element-plus/es")["ElIcon"] - ElInput: typeof import("element-plus/es")["ElInput"] - ElMain: typeof import("element-plus/es")["ElMain"] - ElOption: typeof import("element-plus/es")["ElOption"] - ElPageHeader: typeof import("element-plus/es")["ElPageHeader"] - ElPagination: typeof import("element-plus/es")["ElPagination"] - ElPopover: typeof import("element-plus/es")["ElPopover"] - ElRadio: typeof import("element-plus/es")["ElRadio"] - ElRadioGroup: typeof import("element-plus/es")["ElRadioGroup"] - ElRow: typeof import("element-plus/es")["ElRow"] - ElSelect: typeof import("element-plus/es")["ElSelect"] - ElSkeleton: typeof import("element-plus/es")["ElSkeleton"] - ElSwitch: typeof import("element-plus/es")["ElSwitch"] - ElTable: typeof import("element-plus/es")["ElTable"] - ElTableColumn: typeof import("element-plus/es")["ElTableColumn"] - ElTabPane: typeof import("element-plus/es")["ElTabPane"] - ElTabs: typeof import("element-plus/es")["ElTabs"] - ElTag: typeof import("element-plus/es")["ElTag"] - ElTooltip: typeof import("element-plus/es")["ElTooltip"] - ElTreeSelect: typeof import("element-plus/es")["ElTreeSelect"] + ElAlert: typeof import('element-plus/es')['ElAlert'] + ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete'] + ElButton: typeof import('element-plus/es')['ElButton'] + ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup'] + ElCard: typeof import('element-plus/es')['ElCard'] + ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] + ElCol: typeof import('element-plus/es')['ElCol'] + ElContainer: typeof import('element-plus/es')['ElContainer'] + ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] + ElDialog: typeof import('element-plus/es')['ElDialog'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] + ElHeader: typeof import('element-plus/es')['ElHeader'] + ElIcon: typeof import('element-plus/es')['ElIcon'] + ElInput: typeof import('element-plus/es')['ElInput'] + ElMain: typeof import('element-plus/es')['ElMain'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElPageHeader: typeof import('element-plus/es')['ElPageHeader'] + ElPagination: typeof import('element-plus/es')['ElPagination'] + ElPopover: typeof import('element-plus/es')['ElPopover'] + ElRadio: typeof import('element-plus/es')['ElRadio'] + ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] + ElRow: typeof import('element-plus/es')['ElRow'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElSkeleton: typeof import('element-plus/es')['ElSkeleton'] + ElSwitch: typeof import('element-plus/es')['ElSwitch'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElTabPane: typeof import('element-plus/es')['ElTabPane'] + ElTabs: typeof import('element-plus/es')['ElTabs'] + ElTag: typeof import('element-plus/es')['ElTag'] + ElTooltip: typeof import('element-plus/es')['ElTooltip'] + ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] } export interface ComponentCustomProperties { - vLoading: typeof import("element-plus/es")["ElLoadingDirective"] + vLoading: typeof import('element-plus/es')['ElLoadingDirective'] } } diff --git a/components/transport/ClearData.vue b/components/transport/ClearData.vue new file mode 100644 index 00000000..ed796318 --- /dev/null +++ b/components/transport/ClearData.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/components/transport/ExportData.vue b/components/transport/ExportData.vue new file mode 100644 index 00000000..5fc77e05 --- /dev/null +++ b/components/transport/ExportData.vue @@ -0,0 +1,77 @@ + + + + + + + diff --git a/components/transport/ImportData.vue b/components/transport/ImportData.vue new file mode 100644 index 00000000..f6e1da5b --- /dev/null +++ b/components/transport/ImportData.vue @@ -0,0 +1,75 @@ + + + + + + + diff --git a/components/transport/TransportSelect.vue b/components/transport/TransportSelect.vue index 633df424..5174bcec 100644 --- a/components/transport/TransportSelect.vue +++ b/components/transport/TransportSelect.vue @@ -24,5 +24,26 @@ --> + + diff --git a/layouts/default/DefaultFooter.vue b/layouts/default/DefaultFooter.vue index fa81fc42..e0b07308 100644 --- a/layouts/default/DefaultFooter.vue +++ b/layouts/default/DefaultFooter.vue @@ -44,7 +44,7 @@ }} . - + {{ $t("setting.conf.transport") }} @@ -66,7 +66,7 @@ @@ -89,24 +89,23 @@ import { onMounted, ref } from "vue" import { LogFactory } from "~/utils/logUtil" import { isInSiyuanWidget } from "~/utils/platform/siyuan/siyuanUtil" import { goToPage } from "~/utils/otherlib/ChromeUtil" -import { version } from "../../package.json" import { isBrowser } from "~/utils/browserUtil" import { nowYear } from "~/utils/dateUtil" import SetIndex from "~/components/set/SetIndex.vue" import TransportSelect from "~/components/transport/TransportSelect.vue" import { DeviceType, DeviceUtil } from "~/utils/deviceUtil" +import { version } from "../../package.json" const logger = LogFactory.getLogger("layouts/default/DefaultFooter") const isDark = useDark() const toggleDark = useToggle(isDark) -const v = ref("0.0.3") - const transportFormVisible = ref(false) const generalSettingFormVisible = ref(false) const isChrome = ref(false) +const v = ref(version) const goGithub = () => { window.open("https://github.com/terwer/src-sy-post-publisher") @@ -120,13 +119,15 @@ const newWin = () => { goToPage("/blog/index.html") } +const openTransportSetting = () => { + transportFormVisible.value = true +} + const openGeneralSetting = () => { generalSettingFormVisible.value = true } const initConf = () => { - v.value = version - const deviceType = DeviceUtil.getDevice() if ( deviceType === DeviceType.DeviceType_Chrome_Extension || diff --git a/locales/en_US.ts b/locales/en_US.ts index 316ee502..8d57dde7 100644 --- a/locales/en_US.ts +++ b/locales/en_US.ts @@ -492,4 +492,21 @@ export default { "setting.picgo.plugin.nowork": "Nowork", "setting.picgo.plugin.nouse": "Nouse", "setting.picgo.plugin.update.success": "Update success", + + "setting.conf.import.syp": "Import pendant configuration", + "setting.conf.import.picgo": "Import picgo configuration", + "setting.conf.export.syp": "Export pendant configuration", + "setting.conf.export.picgo": "Export picgo configuration", + "setting.conf.import.syp.tip": + "Please select effective historical backup JSON files for import. Note: The pendant configuration will be replaced.", + "setting.conf.import.picgo.tip": + "Please select effective historical backup JSON files for import. Note: PICGO configuration will be replaced directly. For the compatibility of configuration, please uninstall all plug -in and perform the picgo configuration export operation. Uninstall the PICGO plugin will not delete the plug -in configuration, only the plug -in file and the plug -in registration record will be deleted. Please rest assured.", + "setting.conf.export.syp.tip": + "The corresponding JSON configuration file will be exported, and configuration backups are strongly recommended. In principle, support is compatible. If there is any compatibility problem, it will be specifically explained.", + "setting.conf.export.picgo.tip": + "The corresponding JSON configuration file will be exported, and configuration backups are strongly recommended. In principle, support is compatible. If there is any compatibility problem, it will be specifically explained.", + "setting.conf.clear.syp": "Clear pendant configuration", + "setting.conf.clear.picgo": "Clear picgo configuration", + "setting.conf.clear.tip": + "Clear configuration cannot be restored, please do it carefully. It is strongly recommended to backup configuration first.", } diff --git a/locales/zh_CN.ts b/locales/zh_CN.ts index b8d0e4db..5d26fa28 100644 --- a/locales/zh_CN.ts +++ b/locales/zh_CN.ts @@ -490,4 +490,21 @@ export default { "setting.picgo.plugin.nowork": "不兼容", "setting.picgo.plugin.nouse": "不可用", "setting.picgo.plugin.update.success": "更新成功", + + "setting.conf.import.syp": "导入挂件配置", + "setting.conf.import.picgo": "导入PicGO配置", + "setting.conf.export.syp": "导出挂件配置", + "setting.conf.export.picgo": "导出PicGO配置", + "setting.conf.import.syp.tip": + "请选择有效的历史备份json文件进行导入。注意:挂件配置会进行配置替换。", + "setting.conf.import.picgo.tip": + "请选择有效的历史备份json文件进行导入。注意:PicGO配置会直接进行文件替换。为了配置的兼容性,请卸载所有插件之后,进行PicGO配置导出操作。卸载PicGO插件不会删除插件配置,只会删除插件文件以及插件注册记录。请放心卸载。", + "setting.conf.export.syp.tip": + "将导出对应的json配置文件,强烈建议定期进行配置备份。原则上支持向后兼容。如有不兼容问题,会特别说明。", + "setting.conf.export.picgo.tip": + "将导出对应的json配置文件,强烈建议定期进行配置备份。原则上支持向后兼容。如有不兼容问题,会特别说明。", + "setting.conf.clear.syp": "清空挂件配置", + "setting.conf.clear.picgo": "清空PicGO配置", + "setting.conf.clear.tip": + "清空配置不可恢复,请谨慎操作。强烈建议先备份配置。", }