39 lines
783 B
TypeScript
39 lines
783 B
TypeScript
// stores/user.ts
|
|
import { defineStore } from 'pinia'
|
|
|
|
export const useUserStore = defineStore('user', () => {
|
|
const isLoggedIn = ref(false)
|
|
const token = ref('')
|
|
|
|
// 模拟登录
|
|
function login(userToken: string) {
|
|
isLoggedIn.value = true
|
|
token.value = userToken
|
|
// 可以存储到 localStorage
|
|
localStorage.setItem('token', userToken)
|
|
}
|
|
|
|
// 登出
|
|
function logout() {
|
|
isLoggedIn.value = false
|
|
token.value = ''
|
|
localStorage.removeItem('token')
|
|
}
|
|
|
|
// 检查登录状态
|
|
function checkLoginStatus() {
|
|
const savedToken = localStorage.getItem('token')
|
|
if (savedToken) {
|
|
isLoggedIn.value = true
|
|
token.value = savedToken
|
|
}
|
|
}
|
|
|
|
return {
|
|
isLoggedIn,
|
|
token,
|
|
login,
|
|
logout,
|
|
checkLoginStatus
|
|
}
|
|
}) |