docs: 修改了一些pinia使用时用到pinia实例的情况

This commit is contained in:
wf 2024-04-28 18:19:17 +08:00
parent 83351edc48
commit 14afa2e92c
7 changed files with 30 additions and 9 deletions

View File

@ -105,7 +105,6 @@
import Notice from "@/layout/components/Header/components/notice/index.vue"; import Notice from "@/layout/components/Header/components/notice/index.vue";
import Breadcrumb from "@/layout/components/Header/components/breadcrumb/index.vue"; import Breadcrumb from "@/layout/components/Header/components/breadcrumb/index.vue";
import myImage from "@/assets/img/my-image.jpg"; import myImage from "@/assets/img/my-image.jpg";
import pinia from "@/store/index";
import { useI18n } from "vue-i18n"; import { useI18n } from "vue-i18n";
import { Modal } from "@arco-design/web-vue"; import { Modal } from "@arco-design/web-vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
@ -114,7 +113,7 @@ import { useUserInfoStore } from "@/store/modules/user-info";
import { useThemeConfig } from "@/store/modules/theme-config"; import { useThemeConfig } from "@/store/modules/theme-config";
const i18n = useI18n(); const i18n = useI18n();
const router = useRouter(); const router = useRouter();
const themeStore = useThemeConfig(pinia); const themeStore = useThemeConfig();
const { collapsed, language } = storeToRefs(themeStore); const { collapsed, language } = storeToRefs(themeStore);
const onCollapsed = () => { const onCollapsed = () => {
@ -129,6 +128,7 @@ const onLange = (e: string) => {
themeStore.setLanguage("en-US"); themeStore.setLanguage("en-US");
} }
i18n.locale.value = language.value; i18n.locale.value = language.value;
console.log("国际化", language.value);
}; };
const logOut = () => { const logOut = () => {
@ -139,7 +139,7 @@ const logOut = () => {
closable: true, closable: true,
onBeforeOk: async () => { onBeforeOk: async () => {
try { try {
const store = useUserInfoStore(pinia); const store = useUserInfoStore();
await store.logOut(); await store.logOut();
router.replace("/login"); router.replace("/login");
return true; return true;

19
src/store/config/index.ts Normal file
View File

@ -0,0 +1,19 @@
import { PersistedStateOptions } from "pinia-plugin-persistedstate";
/**
* @description pinia
* @param {String} key name
* @param {Array} paths state name
* @return persist
* */
const piniaPersistConfig = (key: string, paths?: string[]) => {
const persist: PersistedStateOptions = {
key,
storage: localStorage,
// storage: sessionStorage,
paths
};
return persist;
};
export default piniaPersistConfig;

View File

@ -9,7 +9,7 @@ import { defineStore } from "pinia";
* @methods setCurrentRoute * @methods setCurrentRoute
* @methods removeTabsList tabs页的指定路由 * @methods removeTabsList tabs页的指定路由
*/ */
export const useRoutesListStore = defineStore("routeList", { export const useRoutesListStore = defineStore("route-list", {
state: (): any => ({ state: (): any => ({
routeTree: [], // 有访问权限的路由树 routeTree: [], // 有访问权限的路由树
routeList: [], // 有访问权限的一维路由数组 routeList: [], // 有访问权限的一维路由数组

View File

@ -1,8 +1,9 @@
import { defineStore } from "pinia"; import { defineStore } from "pinia";
/** /**
* *
* @methods setCollapsed * @methods setCollapsed
* @methods setRefreshPage
* @methods setLanguage
*/ */
export const useThemeConfig = defineStore("theme-config", { export const useThemeConfig = defineStore("theme-config", {
state: (): any => ({ state: (): any => ({
@ -25,6 +26,7 @@ export const useThemeConfig = defineStore("theme-config", {
} }
}, },
persist: { persist: {
key: "theme-config" key: "theme-config",
storage: localStorage
} }
}); });

View File

@ -26,6 +26,7 @@ export const useUserInfoStore = defineStore("user-info", {
} }
}, },
persist: { persist: {
key: "user-info" key: "user-info",
storage: localStorage
} }
}); });

View File

@ -49,7 +49,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { Message } from "@arco-design/web-vue"; import { Message } from "@arco-design/web-vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import pinia from "@/store/index";
import { useUserInfoStore } from "@/store/modules/user-info"; import { useUserInfoStore } from "@/store/modules/user-info";
const router = useRouter(); const router = useRouter();
const form = ref({ const form = ref({
@ -115,7 +114,7 @@ const verifyCodeChange = (code: string) => (verify.value.verifyCode = code);
const onSubmit = ({ errors }: any) => { const onSubmit = ({ errors }: any) => {
if (errors) return; if (errors) return;
// //
let stores = useUserInfoStore(pinia); let stores = useUserInfoStore();
let account = { let account = {
username: form.value.username, username: form.value.username,
roles: ["admin"] roles: ["admin"]