From c938e5b7703f0435b27947d0a426e7132b632894 Mon Sep 17 00:00:00 2001 From: YGXB_net Date: Tue, 2 Sep 2025 12:31:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6=E5=92=8C=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8C=81=E4=B9=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/package-lock.json | 46 ++++++++ web/package.json | 1 + web/src/App.vue | 9 +- web/src/main.ts | 3 +- web/src/router/index.ts | 4 +- web/src/stores/counter.ts | 7 +- web/src/views/TokenDetailView.vue | 59 ++++++++-- ...{TokenListView.vue => TokenManageView.vue} | 110 +++++++++++------- 8 files changed, 180 insertions(+), 59 deletions(-) rename web/src/views/{TokenListView.vue => TokenManageView.vue} (52%) diff --git a/web/package-lock.json b/web/package-lock.json index c18b42d..63b7c4f 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -11,6 +11,7 @@ "axios": "^1.11.0", "element-plus": "^2.11.1", "pinia": "^3.0.3", + "pinia-plugin-persistedstate": "^4.5.0", "vue": "^3.5.18", "vue-router": "^4.5.1" }, @@ -2083,6 +2084,12 @@ } } }, + "node_modules/deep-pick-omit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/deep-pick-omit/-/deep-pick-omit-1.2.1.tgz", + "integrity": "sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw==", + "license": "MIT" + }, "node_modules/default-browser": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", @@ -2126,6 +2133,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -2135,6 +2148,12 @@ "node": ">=0.4.0" } }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -3074,6 +3093,33 @@ } } }, + "node_modules/pinia-plugin-persistedstate": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.5.0.tgz", + "integrity": "sha512-QTkP1xJVyCdr2I2p3AKUZM84/e+IS+HktRxKGAIuDzkyaKKV48mQcYkJFVVDuvTxlI5j6X3oZObpqoVB8JnWpw==", + "license": "MIT", + "dependencies": { + "deep-pick-omit": "^1.2.1", + "defu": "^6.1.4", + "destr": "^2.0.5" + }, + "peerDependencies": { + "@nuxt/kit": ">=3.0.0", + "@pinia/nuxt": ">=0.10.0", + "pinia": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@pinia/nuxt": { + "optional": true + }, + "pinia": { + "optional": true + } + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", diff --git a/web/package.json b/web/package.json index 010b01f..c8a798c 100644 --- a/web/package.json +++ b/web/package.json @@ -17,6 +17,7 @@ "axios": "^1.11.0", "element-plus": "^2.11.1", "pinia": "^3.0.3", + "pinia-plugin-persistedstate": "^4.5.0", "vue": "^3.5.18", "vue-router": "^4.5.1" }, diff --git a/web/src/App.vue b/web/src/App.vue index 5d4a921..8b50d87 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -1,6 +1,7 @@