feat: pinia缓存依赖修改

This commit is contained in:
wf 2024-04-28 14:28:26 +08:00
parent 0b39e81952
commit 83351edc48
8 changed files with 15 additions and 38 deletions

View File

@ -25,7 +25,7 @@
"dc-admin": "link:", "dc-admin": "link:",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "^2.1.7", "pinia": "^2.1.7",
"pinia-plugin-persist": "^1.0.0", "pinia-plugin-persistedstate": "^3.2.1",
"vue": "^3.4.21", "vue": "^3.4.21",
"vue-i18n": "10.0.0-alpha.3", "vue-i18n": "10.0.0-alpha.3",
"vue-router": "^4.3.0" "vue-router": "^4.3.0"

32
pnpm-lock.yaml generated
View File

@ -10,9 +10,9 @@ dependencies:
pinia: pinia:
specifier: ^2.1.7 specifier: ^2.1.7
version: 2.1.7(typescript@5.4.3)(vue@3.4.21) version: 2.1.7(typescript@5.4.3)(vue@3.4.21)
pinia-plugin-persist: pinia-plugin-persistedstate:
specifier: ^1.0.0 specifier: ^3.2.1
version: 1.0.0(pinia@2.1.7)(vue@3.4.21) version: 3.2.1(pinia@2.1.7)
vue: vue:
specifier: ^3.4.21 specifier: ^3.4.21
version: 3.4.21(typescript@5.4.3) version: 3.4.21(typescript@5.4.3)
@ -3842,19 +3842,12 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/pinia-plugin-persist@1.0.0(pinia@2.1.7)(vue@3.4.21): /pinia-plugin-persistedstate@3.2.1(pinia@2.1.7):
resolution: {integrity: sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw==} resolution: {integrity: sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==}
peerDependencies: peerDependencies:
'@vue/composition-api': ^1.0.0
pinia: ^2.0.0 pinia: ^2.0.0
vue: ^2.0.0 || >=3.0.0
peerDependenciesMeta:
'@vue/composition-api':
optional: true
dependencies: dependencies:
pinia: 2.1.7(typescript@5.4.3)(vue@3.4.21) pinia: 2.1.7(typescript@5.4.3)(vue@3.4.21)
vue: 3.4.21(typescript@5.4.3)
vue-demi: 0.12.5(vue@3.4.21)
dev: false dev: false
/pinia@2.1.7(typescript@5.4.3)(vue@3.4.21): /pinia@2.1.7(typescript@5.4.3)(vue@3.4.21):
@ -5137,21 +5130,6 @@ packages:
fsevents: 2.3.3 fsevents: 2.3.3
dev: true dev: true
/vue-demi@0.12.5(vue@3.4.21):
resolution: {integrity: sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
peerDependencies:
'@vue/composition-api': ^1.0.0-rc.1
vue: ^3.0.0-0 || ^2.6.0
peerDependenciesMeta:
'@vue/composition-api':
optional: true
dependencies:
vue: 3.4.21(typescript@5.4.3)
dev: false
/vue-demi@0.14.7(vue@3.4.21): /vue-demi@0.14.7(vue@3.4.21):
resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
engines: {node: '>=12'} engines: {node: '>=12'}

View File

@ -4,13 +4,12 @@ import App from "@/App.vue";
import ArcoVue from "@arco-design/web-vue"; import ArcoVue from "@arco-design/web-vue";
import router from "@/router/index"; import router from "@/router/index";
import pinia from "@/store/index"; import pinia from "@/store/index";
import piniaPluginPersist from "pinia-plugin-persist";
import "virtual:svg-icons-register"; import "virtual:svg-icons-register";
import "@arco-design/web-vue/dist/arco.css"; import "@arco-design/web-vue/dist/arco.css";
// 额外引入图标库 // 额外引入图标库
import ArcoVueIcon from "@arco-design/web-vue/es/icon"; import ArcoVueIcon from "@arco-design/web-vue/es/icon";
// 引入i18n
import i18n from "@/lang/index"; import i18n from "@/lang/index";
pinia.use(piniaPluginPersist);
const app = createApp(App); const app = createApp(App);
app.use(ArcoVue, { app.use(ArcoVue, {
componentPrefix: "arco" componentPrefix: "arco"

View File

View File

@ -1,9 +1,11 @@
// https://pinia.vuejs.org/zh/ // https://pinia.vuejs.org/zh/
// store/index.js // store/index.js
import { createPinia } from "pinia"; import { createPinia } from "pinia";
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
// 创建 // 创建
const pinia = createPinia(); const pinia = createPinia();
pinia.use(piniaPluginPersistedstate);
// 导出 // 导出
export default pinia; export default pinia;

View File

@ -4,7 +4,7 @@ import { defineStore } from "pinia";
* *
* @methods setCollapsed * @methods setCollapsed
*/ */
export const useThemeConfig = defineStore("themeConfig", { export const useThemeConfig = defineStore("theme-config", {
state: (): any => ({ state: (): any => ({
collapsed: false, // 是否折叠菜单 collapsed: false, // 是否折叠菜单
refreshPage: true, // 刷新页面 refreshPage: true, // 刷新页面
@ -12,7 +12,7 @@ export const useThemeConfig = defineStore("themeConfig", {
}), }),
actions: { actions: {
// 折叠菜单 // 折叠菜单
async setCollapsed(data: boolean) { setCollapsed(data: boolean) {
this.collapsed = data; this.collapsed = data;
}, },
// 刷新页面 // 刷新页面
@ -25,7 +25,6 @@ export const useThemeConfig = defineStore("themeConfig", {
} }
}, },
persist: { persist: {
enabled: true, // 开启数据缓存-默认缓存全部数据 key: "theme-config"
key: "themeConfig"
} }
}); });

View File

@ -5,7 +5,7 @@ import { defineStore } from "pinia";
* @methods setToken token * @methods setToken token
* @methods logOut 退 * @methods logOut 退
*/ */
export const useUserInfoStore = defineStore("userInfo", { export const useUserInfoStore = defineStore("user-info", {
state: (): any => ({ state: (): any => ({
account: { account: {
username: "", username: "",
@ -26,7 +26,6 @@ export const useUserInfoStore = defineStore("userInfo", {
} }
}, },
persist: { persist: {
enabled: true, // 开启数据缓存-默认缓存全部数据 key: "user-info"
key: "userInfo"
} }
}); });

2
src/vite-env.d.ts vendored
View File

@ -5,4 +5,4 @@ declare module "*.vue" {
export default component; export default component;
} }
declare module "pinia-plugin-persist"; declare module "vue-i18n";