diff --git a/package.json b/package.json index b387a70f..7563c717 100644 --- a/package.json +++ b/package.json @@ -42,9 +42,9 @@ "upload-dist": "node ./scripts/upload-dist-to-r2.cjs" }, "dependencies": { - "@aws-sdk/client-s3": "^3.958.0", - "@aws-sdk/lib-storage": "^3.958.0", - "@aws-sdk/s3-request-presigner": "^3.958.0", + "@aws-sdk/client-s3": "^3.962.0", + "@aws-sdk/lib-storage": "^3.962.0", + "@aws-sdk/s3-request-presigner": "^3.962.0", "@nodelib/fs.walk": "^3.0.1", "@octokit/rest": "^22.0.1", "@piclist/i18n": "^2.0.0", @@ -95,7 +95,7 @@ "@types/js-yaml": "^4.0.9", "@types/lodash-es": "^4.17.12", "@types/multer": "^2.0.0", - "@types/node": "^24.10.1", + "@types/node": "^25.0.3", "@types/semver": "^7.7.1", "@types/tunnel": "^0.0.7", "@types/upyun": "^3.4.3", @@ -141,7 +141,7 @@ "vite": "^7.3.0", "vitest": "^4.0.16", "vue-eslint-parser": "^10.2.0", - "vue-i18n": "^11.2.7", + "vue-i18n": "^11.2.8", "vue-router": "^4.6.4", "vue-tsc": "^3.2.1", "vue3-lazyload": "^0.3.8" diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 5be54410..833990c7 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -10,13 +10,12 @@ import type { IConfig } from 'piclist' import { onBeforeMount, onMounted } from 'vue' import UIServiceProvider from '@/components/ui/UIServiceProvider.vue' +import { useAppStore } from '@/hooks/useAppStore' import { useATagClick } from '@/hooks/useATagClick' import { useStore } from '@/hooks/useStore' import { getConfig } from '@/utils/dataSender' import { pageReloadCount } from '@/utils/global' -import { useAppStore } from './hooks/useAppStore' - useATagClick() const store = useStore() @@ -40,7 +39,7 @@ onMounted(async () => { diff --git a/src/renderer/components/ui/UIServiceProvider.vue b/src/renderer/components/ui/UIServiceProvider.vue index 4395972a..235591ce 100644 --- a/src/renderer/components/ui/UIServiceProvider.vue +++ b/src/renderer/components/ui/UIServiceProvider.vue @@ -75,7 +75,6 @@ const showConfirm = (options: ConfirmOptions): Promise => { } onMounted(() => { - // Initialize message service const { setMessageService } = useMessage() if (messageRef.value) { setMessageService({ diff --git a/src/renderer/hooks/useMessage.ts b/src/renderer/hooks/useMessage.ts index 7ddba0df..fb1d4ada 100644 --- a/src/renderer/hooks/useMessage.ts +++ b/src/renderer/hooks/useMessage.ts @@ -11,41 +11,37 @@ interface MessageService { const messageServiceRef = ref(null) +const msgHelper = ( + message: string, + type: 'success' | 'error' | 'warning' | 'info', + options?: Partial, +) => { + if (messageServiceRef.value) { + return messageServiceRef.value[type](message, options) + } + console.warn('Message service not initialized') + return '' +} + export function useMessage() { const setMessageService = (service: MessageService) => { messageServiceRef.value = service } const success = (message: string, options?: Partial) => { - if (messageServiceRef.value) { - return messageServiceRef.value.success(message, options) - } - console.warn('Message service not initialized') - return '' + return msgHelper(message, 'success', options) } const error = (message: string, options?: Partial) => { - if (messageServiceRef.value) { - return messageServiceRef.value.error(message, options) - } - console.warn('Message service not initialized') - return '' + return msgHelper(message, 'error', options) } const warning = (message: string, options?: Partial) => { - if (messageServiceRef.value) { - return messageServiceRef.value.warning(message, options) - } - console.warn('Message service not initialized') - return '' + return msgHelper(message, 'warning', options) } const info = (message: string, options?: Partial) => { - if (messageServiceRef.value) { - return messageServiceRef.value.info(message, options) - } - console.warn('Message service not initialized') - return '' + return msgHelper(message, 'info', options) } return { diff --git a/yarn.lock b/yarn.lock index f0e1966d..0559b512 100644 --- a/yarn.lock +++ b/yarn.lock @@ -146,16 +146,16 @@ "@smithy/util-waiter" "^4.2.5" tslib "^2.6.2" -"@aws-sdk/client-s3@^3.958.0": - version "3.958.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.958.0.tgz#768ac034a4a1d846f52a08dccb1cb0be4b812a4f" - integrity sha512-ol8Sw37AToBWb6PjRuT/Wu40SrrZSA0N4F7U3yTkjUNX0lirfO1VFLZ0hZtZplVJv8GNPITbiczxQ8VjxESXxg== +"@aws-sdk/client-s3@^3.962.0": + version "3.962.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.962.0.tgz#0d6b504731efa2dff41303e2c72487e5b0816074" + integrity sha512-I2/1McBZCcM3PfM4ck8D6gnZR3K7+yl1fGkwTq/3ThEn9tdLjNwcdgTbPfxfX6LoecLrH9Ekoo+D9nmQ0T261w== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" "@aws-sdk/core" "3.957.0" - "@aws-sdk/credential-provider-node" "3.958.0" + "@aws-sdk/credential-provider-node" "3.962.0" "@aws-sdk/middleware-bucket-endpoint" "3.957.0" "@aws-sdk/middleware-expect-continue" "3.957.0" "@aws-sdk/middleware-flexible-checksums" "3.957.0" @@ -414,15 +414,15 @@ "@smithy/types" "^4.9.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.958.0": - version "3.958.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.958.0.tgz#35ed4282688f58995e8783779385e1824fded0ab" - integrity sha512-u7twvZa1/6GWmPBZs6DbjlegCoNzNjBsMS/6fvh5quByYrcJr/uLd8YEr7S3UIq4kR/gSnHqcae7y2nL2bqZdg== +"@aws-sdk/credential-provider-ini@3.962.0": + version "3.962.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.962.0.tgz#243c5bb15143d649bfb66d6dc12bc1e1233fe9e1" + integrity sha512-h0kVnXLW2d3nxbcrR/Pfg3W/+YoCguasWz7/3nYzVqmdKarGrpJzaFdoZtLgvDSZ8VgWUC4lWOTcsDMV0UNqUQ== dependencies: "@aws-sdk/core" "3.957.0" "@aws-sdk/credential-provider-env" "3.957.0" "@aws-sdk/credential-provider-http" "3.957.0" - "@aws-sdk/credential-provider-login" "3.958.0" + "@aws-sdk/credential-provider-login" "3.962.0" "@aws-sdk/credential-provider-process" "3.957.0" "@aws-sdk/credential-provider-sso" "3.958.0" "@aws-sdk/credential-provider-web-identity" "3.958.0" @@ -434,10 +434,10 @@ "@smithy/types" "^4.11.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-login@3.958.0": - version "3.958.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.958.0.tgz#b2e1bf09ebe76360d650b3fd5109464b2dad4320" - integrity sha512-sDwtDnBSszUIbzbOORGh5gmXGl9aK25+BHb4gb1aVlqB+nNL2+IUEJA62+CE55lXSH8qXF90paivjK8tOHTwPA== +"@aws-sdk/credential-provider-login@3.962.0": + version "3.962.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.962.0.tgz#510c7950549d141fcc3405201a4f988e00769550" + integrity sha512-kHYH6Av2UifG3mPkpPUNRh/PuX6adaAcpmsclJdHdxlixMCRdh8GNeEihq480DC0GmfqdpoSf1w2CLmLLPIS6w== dependencies: "@aws-sdk/core" "3.957.0" "@aws-sdk/nested-clients" "3.958.0" @@ -466,14 +466,14 @@ "@smithy/types" "^4.9.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.958.0": - version "3.958.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.958.0.tgz#f3fd4941f7649aeae88ce9289c1b7a95303b78d2" - integrity sha512-vdoZbNG2dt66I7EpN3fKCzi6fp9xjIiwEA/vVVgqO4wXCGw8rKPIdDUus4e13VvTr330uQs2W0UNg/7AgtquEQ== +"@aws-sdk/credential-provider-node@3.962.0": + version "3.962.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.962.0.tgz#860e545fafc0c9bd585c9284a477298fea0d841c" + integrity sha512-CS78NsWRxLa+nWqeWBEYMZTLacMFIXs1C5WJuM9kD05LLiWL32ksljoPsvNN24Bc7rCSQIIMx/U3KGvkDVZMVg== dependencies: "@aws-sdk/credential-provider-env" "3.957.0" "@aws-sdk/credential-provider-http" "3.957.0" - "@aws-sdk/credential-provider-ini" "3.958.0" + "@aws-sdk/credential-provider-ini" "3.962.0" "@aws-sdk/credential-provider-process" "3.957.0" "@aws-sdk/credential-provider-sso" "3.958.0" "@aws-sdk/credential-provider-web-identity" "3.958.0" @@ -575,10 +575,10 @@ stream-browserify "3.0.0" tslib "^2.6.2" -"@aws-sdk/lib-storage@^3.958.0": - version "3.958.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.958.0.tgz#522933af25c262af146723129bbab44baddda9d9" - integrity sha512-cd8CTiJ165ep2DKTc2PHHhVCxDn3byv10BXMGn+lkDY3KwMoatcgZ1uhFWCBuJvsCUnSExqGouJN/Q0qgjkWtg== +"@aws-sdk/lib-storage@^3.962.0": + version "3.962.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.962.0.tgz#b556741d91f714c94726990133d4ee78152e36f3" + integrity sha512-Ai5gWRQkzsUMQ6NPoZZoiLXoQ6/yPRcR4oracIVjyWcu48TfBpsRgbqY/5zNOM55ag1wPX9TtJJGOhK3TNk45g== dependencies: "@smithy/abort-controller" "^4.2.7" "@smithy/middleware-endpoint" "^4.4.1" @@ -959,10 +959,10 @@ "@smithy/types" "^4.9.0" tslib "^2.6.2" -"@aws-sdk/s3-request-presigner@^3.958.0": - version "3.958.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.958.0.tgz#ad41eb7d24586cb511b57c1483acf137b1e9c686" - integrity sha512-bFKsofead/fl3lyhdES+aNo+MZ+qv1ixSPSsF8O1oj6/KgGE0t1UH9AHw2vPq6iSQMTeEuyV0F5pC+Ns40kBgA== +"@aws-sdk/s3-request-presigner@^3.962.0": + version "3.962.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.962.0.tgz#3f72f1bb13f07f802cc145ff9adf48a664163940" + integrity sha512-tyxsGfLY4NSohLrJsFGXbE3j8jguWK+hdGaUQSD1gJPvmC0B82qOyJ7WBIJLWgTabU3fiF/I9EGXjzR2rKr8jQ== dependencies: "@aws-sdk/signature-v4-multi-region" "3.957.0" "@aws-sdk/types" "3.957.0" @@ -4393,10 +4393,10 @@ dependencies: undici-types "~6.21.0" -"@types/node@^24.10.1": - version "24.10.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.4.tgz#9d27c032a1b2c42a4eab8fb65c5856a8b8e098c4" - integrity sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg== +"@types/node@^25.0.3": + version "25.0.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.3.tgz#79b9ac8318f373fbfaaf6e2784893efa9701f269" + integrity sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA== dependencies: undici-types "~7.16.0" @@ -12125,7 +12125,7 @@ vue-i18n@^10.0.0: "@intlify/shared" "10.0.8" "@vue/devtools-api" "^6.5.0" -vue-i18n@^11.2.7: +vue-i18n@^11.2.8: version "11.2.8" resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-11.2.8.tgz#f431b583134776dcf59e59250c5231e4eaed8404" integrity sha512-vJ123v/PXCZntd6Qj5Jumy7UBmIuE92VrtdX+AXr+1WzdBHojiBxnAxdfctUFL+/JIN+VQH4BhsfTtiGsvVObg==