// 用户数据接口
export interface User {
  userId: string;        // 微信OpenID
  nickName: string;      // 昵称
  avatarUrl: string;     // 头像URL
  gender: number;        // 性别
  gameHistory: GameHistoryItem[];  // 游戏历史
  premiumUser: boolean;  // 是否付费用户
  createdAt: Date;       // 创建时间
  lastLoginAt: Date;     // 最后登录时间
}

// 游戏历史记录项
export interface GameHistoryItem {
  gameId: string;        // 游戏ID
  roomId: string;        // 房间ID
  roomCode: string;      // 房间码
  gameName: string;      // 游戏名称
  role: 'host' | 'player'; // 角色
  result: string;        // 结果
  playedAt: Date;        // 游戏时间
  duration: number;      // 游戏时长(分钟)
  status: 'playing' | 'completed' | 'interrupted'; // 游戏状态
}

// 房间数据接口
export interface Room {
  roomId: string;        // 房间ID
  roomCode: string;      // 房间码
  hostId: string;        // 主持人ID
  gameId: string;        // 当前游戏ID
  gameName: string;      // 游戏名称
  players: Player[];     // 玩家列表
  status: 'waiting' | 'playing' | 'ended'; // 房间状态
  gameData: any;         // 游戏数据（根据不同游戏类型有不同结构）
  createdAt: Date;       // 创建时间
  updatedAt: Date;       // 更新时间
  maxPlayers: number;    // 最大玩家数量
  theme?: string;        // 游戏主题
  difficulty?: string;   // 游戏难度
}

// 玩家数据接口
export interface Player {
  userId: string;        // 用户ID
  nickName: string;      // 昵称
  avatarUrl: string;     // 头像
  role: 'host' | 'player'; // 角色
  status: 'online' | 'offline'; // 状态
  joinedAt: Date;        // 加入时间
  isReady?: boolean;     // 是否准备好
}

// 游戏基础接口
export interface Game {
  gameId: string;          // 游戏唯一标识
  gameName: string;        // 游戏名称
  gameDescription: string; // 游戏描述
  minPlayers: number;      // 最少玩家数
  maxPlayers: number;      // 最多玩家数
  timeEstimate: string;    // 预计游戏时长
  coverImage: string;      // 封面图片
  tags: string[];          // 标签
  category: string;        // 分类
  rating: number;          // 评分
  playCount: number;       // 游玩次数
  themes?: string[];       // 可用主题
}

// 海龟汤问题接口
export interface TurtleSoupQuestion {
  questionId: string;      // 问题ID
  category: string;        // 类别
  title: string;           // 汤面
  answer: string;          // 汤底
  relatedIP?: string;      // 关联IP
  difficultyLevel: number; // 难度等级
  estimatedTime: string;   // 游戏时长
  suitablePlayersCount: string; // 适合人数
  keyClues: Array<{type: string, value: string}>; // 关键线索
  guidingQuestions: string[]; // 引导问题
  isPremium: boolean;      // 是否付费
  createdAt: string;       // 创建时间
}

// 海龟汤游戏接口
export interface TurtleSoupGameData {
  currentQuestion: TurtleSoupQuestion;
  playerAnswers: Record<string, string>;
  revealedClues: string[];
  gameState: 'waiting' | 'playing' | 'revealing' | 'completed';
  startTime: Date;
  endTime?: Date;
}

// 用户操作结果接口
export interface ActionResult {
  success: boolean;
  message?: string;
  data?: any;
} 