| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import {defineStore} from "pinia";
- import type {LoginUser, User} from "../type";
- import {computed, reactive} from "vue";
- export const useLoginUserStore = defineStore('loginUser', ()=>{
- //state
- const loginUser = reactive<LoginUser>({
- 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
- })
|