import {defineStore} from "pinia"; import type {LoginUser, User} from "../type"; import {computed, reactive} from "vue"; export const useLoginUserStore = defineStore('loginUser', ()=>{ //state const loginUser = reactive({ isLogin: false, user:{ id:"", name:"未登录", role:"guest" } }) //getters const userId = computed(()=>{ return loginUser.user?.id }) //actions function updateUser(user:User):void { loginUser.user = {...user} } function loginSuccess(user:User):void { updateUser(user) loginUser.isLogin = true; } function logoutUser():void { loginUser.isLogin = false; } return{ //States loginUser, //Getters userId, //Actions updateUser, loginSuccess, logoutUser, } },{ // ✅ 启用持久化 persist: true })