docs: 修改了一些pinia使用时用到pinia实例的情况
This commit is contained in:
parent
83351edc48
commit
14afa2e92c
@ -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
19
src/store/config/index.ts
Normal 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;
|
||||||
@ -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: [], // 有访问权限的一维路由数组
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -26,6 +26,7 @@ export const useUserInfoStore = defineStore("user-info", {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
persist: {
|
persist: {
|
||||||
key: "user-info"
|
key: "user-info",
|
||||||
|
storage: localStorage
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -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"]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user