Files
Market-Front/src/stores/UserStore.ts

36 lines
659 B
TypeScript
Raw Normal View History

2025-08-01 17:52:35 +08:00
import { ref } from "vue";
import { defineStore } from "pinia";
import type { UserInfo } from "@/types/user";
2025-08-01 17:52:35 +08:00
export const useUserStore = defineStore(
"user",
() => {
const token = ref<string>("");
const userInfo = ref<UserInfo | null>(null);
2025-08-01 17:52:35 +08:00
const setToken = (newToken: string) => {
token.value = newToken;
};
const setUserInfo = (info: UserInfo) => {
userInfo.value = info;
};
const clearUserInfo = () => {
token.value = "";
userInfo.value = null;
};
2025-08-01 17:52:35 +08:00
return {
token,
userInfo,
2025-08-01 17:52:35 +08:00
setToken,
setUserInfo,
clearUserInfo,
2025-08-01 17:52:35 +08:00
};
},
{
persist: true,
},
);