This commit is contained in:
oneao committed 2025-11-03 17:30:08 +08:00
1 parent 458f0cd6ac
commit 2347d55823
8 files changed
+299 -150

No files matched your search

@@ -0,0 +1,33 @@
// store/userStore.ts
import AsyncStorage from '@react-native-async-storage/async-storage'
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
logout: () => void
isLoggedIn: () => boolean
}
export 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 })
},
isLoggedIn: () => !!get().token,
}),
{
name: 'user-storage',
storage: createJSONStorage(() => AsyncStorage),
},
),
)