Files
blog-vue/src/store/store.js
2025-10-16 16:52:08 +08:00

50 lines
883 B
JavaScript

import { ref, reactive } from "vue";
import { defineStore } from "pinia";
export const userInfoStore = defineStore(
"userInfo",
() => {
const token = ref(null);
const user = reactive({
u_id: "",
u_name: "",
u_avatar: "@/assets/defaultavatar.jpg",
u_account: "",
role: "",
});
const clearUserInfo = () => {
this.token.value = null;
this.user = {
u_id: "",
u_name: "",
u_avatar: "@/assets/defaultavatar.jpg",
u_account: "",
role: "",
};
};
return {
token,
user,
clearUserInfo,
};
},
{
persist: {
key: "userInfo",
storage: localStorage,
paths: ["token", "user"],
},
}
);
export const messagePointStore = defineStore("message", () => {
const hasNewMessage = ref(false);
return {
hasNewMessage,
};
});