Files
my-bigScreen/screen-vue/src/stores/user.js
2026-03-05 22:32:39 +08:00

32 lines
780 B
JavaScript

import { defineStore } from 'pinia'
import { ref } from 'vue'
export const useUserStore = defineStore('user', () => {
const token = ref(localStorage.getItem('token') || '')
const loginUser = ref(JSON.parse(localStorage.getItem('loginUser')) || null)
const login = (userInfo) => {
token.value = userInfo.token
loginUser.value = userInfo.loginUser
localStorage.setItem('token', token.value)
localStorage.setItem('loginUser', JSON.stringify(loginUser.value))
}
const logout = () => {
token.value = ''
loginUser.value = null
localStorage.removeItem('token')
localStorage.removeItem('loginUser')
}
const isLoggedIn = () => {
return !!token.value
}
return {
token,
loginUser,
login,
logout,
isLoggedIn
}
})