From a56906867855d472188f6868814014636b0eccc7 Mon Sep 17 00:00:00 2001 From: Kuingsmile <96409857+Kuingsmile@users.noreply.github.com> Date: Sat, 10 Jan 2026 10:10:00 +0800 Subject: [PATCH] :sparkles: Feature(custom): imporve page loading performance and remove duplicated init call --- src/main/events/remotes/menu.ts | 4 +- src/main/utils/getPicBeds.ts | 9 +- src/renderer/App.vue | 14 +- .../components/ImageProcessSetting.vue | 71 ++- src/renderer/components/NavigationPage.vue | 544 +----------------- src/renderer/components/PerPicbedSetting.vue | 5 +- src/renderer/components/UnifiedConfigForm.vue | 432 +------------- .../components/css/NavigationPage.css | 518 +++++++++++++++++ .../components/css/UnifiedConfigForm.css | 381 ++++++++++++ src/renderer/components/ui/TitleBar.vue | 2 +- src/renderer/hooks/useGlobal.ts | 44 ++ src/renderer/hooks/useStore.ts | 7 - src/renderer/i18n/locales/en.json | 2 + src/renderer/i18n/locales/zh-CN.json | 2 + src/renderer/i18n/locales/zh-TW.json | 2 + src/renderer/pages/Gallery.vue | 5 +- src/renderer/pages/MiniPage.vue | 2 +- src/renderer/pages/PicGoSetting.vue | 18 +- src/renderer/pages/Plugin.vue | 9 +- src/renderer/pages/Upload.vue | 66 +-- src/renderer/pages/UploaderConfigPage.vue | 13 +- src/renderer/utils/global.ts | 18 - 22 files changed, 1092 insertions(+), 1076 deletions(-) create mode 100644 src/renderer/components/css/NavigationPage.css create mode 100644 src/renderer/components/css/UnifiedConfigForm.css create mode 100644 src/renderer/hooks/useGlobal.ts delete mode 100644 src/renderer/hooks/useStore.ts delete mode 100644 src/renderer/utils/global.ts diff --git a/src/main/events/remotes/menu.ts b/src/main/events/remotes/menu.ts index 9bb4548f..114bf0c7 100644 --- a/src/main/events/remotes/menu.ts +++ b/src/main/events/remotes/menu.ts @@ -136,7 +136,7 @@ const buildMainPageMenu = (win: BrowserWindow) => { } const buildSecondPicBedMenu = () => { - const picBeds = getPicBeds() + const picBeds = getPicBeds().picBeds const secondUploader = picgo.getConfig(configPaths.picBed.secondUploader) const defaultSecondUploaderId = picgo.getConfig(configPaths.picBed.secondUploaderId) const currentPicBedName = picBeds.find(item => item.type === secondUploader)?.name @@ -189,7 +189,7 @@ const buildSecondPicBedMenu = () => { } const buildPicBedListMenu = () => { - const picBeds = getPicBeds() + const picBeds = getPicBeds().picBeds const currentPicBed = picgo.getConfig(configPaths.picBed.uploader) const currentPicBedName = picBeds.find(item => item.type === currentPicBed)?.name const picBedConfigList = picgo.getConfig('uploader') diff --git a/src/main/utils/getPicBeds.ts b/src/main/utils/getPicBeds.ts index 94b6a0e6..3a6fffb7 100644 --- a/src/main/utils/getPicBeds.ts +++ b/src/main/utils/getPicBeds.ts @@ -4,6 +4,13 @@ import { configPaths } from '~/utils/configPaths' const getPicBeds = () => { const picBedTypes = picgo.helper.uploader.getIdList() + const defaultPicBed = + picgo.getConfig(configPaths.picBed.uploader) || + picgo.getConfig(configPaths.picBed.current) || + 'smms' + const defaultConfig = picgo.getConfig(`picBed.${defaultPicBed}`) || {} + const defaultId = defaultConfig._id || '' + const defaultConfigName = defaultConfig._configName || '' const picBedFromDB = picgo.getConfig(configPaths.picBed.list) || [] const picBeds = picBedTypes .map((item: string) => { @@ -20,7 +27,7 @@ const getPicBeds = () => { } return 0 }) as IPicBedType[] - return picBeds + return { picBeds, defaultPicBed, defaultId, defaultConfigName } } export default getPicBeds diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 833990c7..28f11c03 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -6,26 +6,20 @@ - + diff --git a/src/renderer/components/PerPicbedSetting.vue b/src/renderer/components/PerPicbedSetting.vue index 1d4da952..761eb4e7 100644 --- a/src/renderer/components/PerPicbedSetting.vue +++ b/src/renderer/components/PerPicbedSetting.vue @@ -112,9 +112,10 @@ import { Settings } from 'lucide-vue-next' import { computed, ref } from 'vue' import { useI18n } from 'vue-i18n' -import { picBedGlobal } from '@/utils/global' +import { usePicBed } from '@/hooks/useGlobal' const { t } = useI18n() +const { picBedG } = usePicBed() interface SelectOption { value: string | number @@ -166,7 +167,7 @@ const emit = defineEmits<{ const showSettings = ref(false) const availablePicbeds = computed(() => { - return picBedGlobal.value.map(picbed => ({ + return picBedG.value.map(picbed => ({ type: picbed.type, name: picbed.name, })) diff --git a/src/renderer/components/UnifiedConfigForm.vue b/src/renderer/components/UnifiedConfigForm.vue index 9743d5ab..51e7c0c5 100644 --- a/src/renderer/components/UnifiedConfigForm.vue +++ b/src/renderer/components/UnifiedConfigForm.vue @@ -1,6 +1,6 @@