初始化工程

This commit is contained in:
筱野
2025-08-10 21:09:19 +08:00
commit 42c71f5d13
30 changed files with 12882 additions and 0 deletions

58
src/store/userStore.ts Normal file
View File

@@ -0,0 +1,58 @@
import { create } from 'zustand'
// 用户统计信息
export interface UserStats {
requestCount: number
matchesCreated: number
matchesJoined: number
lastActiveTime: string
}
// Store 状态接口
interface UserState {
userStats: UserStats
incrementRequestCount: () => void
resetUserStats: () => void
}
// 创建适配 Zustand 4.x 的 store
export const useUserStore = create<UserState>()((set) => ({
// 初始状态
userStats: {
requestCount: 0,
matchesCreated: 0,
matchesJoined: 0,
lastActiveTime: new Date().toISOString()
},
// Actions
incrementRequestCount: () => {
console.log('store: incrementRequestCount 被调用')
set((state) => ({
userStats: {
...state.userStats,
requestCount: state.userStats.requestCount + 1,
lastActiveTime: new Date().toISOString()
}
}))
},
resetUserStats: () => {
console.log('store: resetUserStats 被调用')
set({
userStats: {
requestCount: 0,
matchesCreated: 0,
matchesJoined: 0,
lastActiveTime: new Date().toISOString()
}
})
}
}))
// 简单的 hooks
export const useUserStats = () => useUserStore((state) => state.userStats)
export const useUserActions = () => useUserStore((state) => ({
incrementRequestCount: state.incrementRequestCount,
resetUserStats: state.resetUserStats
}))