u
This commit is contained in:
1 parent
6849579652
commit
d60be4a75b
24 files changed
+463
-179
No files matched your search
@@ -4,26 +4,22 @@ import { create } from 'zustand'
|
||||
import { createJSONStorage, persist } from 'zustand/middleware'
|
||||
|
||||
interface UserState {
|
||||
userInfo: { userId: string, username: string } | null
|
||||
token: string | null
|
||||
setUserInfo: (userInfo: UserState['userInfo']) => void
|
||||
setToken: (token: string) => void
|
||||
userInfo: UserInfo | null
|
||||
setUserInfo: (userInfo: UserInfo | null) => void
|
||||
logout: () => void
|
||||
isLoggedIn: () => boolean
|
||||
}
|
||||
|
||||
export const useUserStore = create<UserState>()(
|
||||
const useUserStore = create<UserState>()(
|
||||
persist(
|
||||
(set, get) => ({
|
||||
userInfo: null,
|
||||
token: null,
|
||||
setUserInfo: userInfo => set({ userInfo }),
|
||||
setToken: token => set({ token }),
|
||||
logout: () => {
|
||||
console.log('当前 token:', get().token)
|
||||
set({ userInfo: null, token: null })
|
||||
console.log('当前 token:', get().userInfo?.token)
|
||||
set({ userInfo: null })
|
||||
},
|
||||
isLoggedIn: () => !!get().token,
|
||||
isLoggedIn: () => !!get().userInfo?.token,
|
||||
}),
|
||||
{
|
||||
name: 'user-storage',
|
||||
@@ -31,3 +27,6 @@ export const useUserStore = create<UserState>()(
|
||||
},
|
||||
),
|
||||
)
|
||||
const userStore = useUserStore
|
||||
|
||||
export { userStore, useUserStore }
|
||||
Reference in new issue
Block a user