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==