// ========== 用户 ========== export interface IUser { id: string phone?: string nickname?: string avatar?: string bio?: string motto?: string privacy: PrivacyLevel points: number createdAt: string } // ========== 打卡 ========== export interface ICheckInItem { id: string userId: string name: string icon?: string category: CheckInCategory dailyGoal?: string cycleType: CycleType privacy: PrivacyLevel status: ItemStatus createdAt: string } export interface ICheckInRecord { id: string itemId: string userId: string checkDate: string status: RecordStatus note?: string images?: string[] } // ========== 枚举 ========== export type CheckInCategory = | 'study' | 'health' | 'habit' | 'hobby' | 'goal' export type CycleType = | 'daily' | 'weekly' | 'every_other_day' | 'custom' export type PrivacyLevel = 1 | 2 | 3 // 1 = public, 2 = friends_only, 3 = private export type ItemStatus = 'active' | 'paused' | 'archived' | 'deleted' export type RecordStatus = 'normal' | 'makeup' export type Rarity = 'bronze' | 'silver' | 'gold' // ========== 社交 ========== export interface IGroup { id: string name: string cover?: string intro?: string type: 'public' | 'private' maxMember: number } // ========== API 响应 ========== export interface ApiResponse { code: number message: string data?: T }