# LineFunQueue(排队互动小游戏合集)产品说明 ## 一、产品概述 LineFunQueue是一款面向排队场景的微信小程序,提供多种互动小游戏,帮助用户在排队等待过程中消遣时间、增进社交互动。产品采用"轻交互、重线下沟通"理念,鼓励用户在现实场景中进行面对面互动。 ### 核心理念 - **场景化社交**:针对排队、候车、候诊等等待场景 - **即开即玩**:无需繁琐注册,扫码即可加入游戏 - **线下互动**:促进陌生人面对面交流,打破社交隔阂 - **简单有趣**:低门槛规则,高参与度玩法 ### 用户角色与画像 - **主持人**:景区工作人员、餐厅服务员、活动组织者,负责创建房间、选择游戏、掌控游戏进程 - **玩家**:排队等待的游客、聚会成员,参与游戏并尝试解谜 ## 二、核心功能模块 - **游戏广场**:浏览全部游戏,快速筛选适合的游戏类型 - **房间系统**:一键创建或加入房间,自动生成分享码 - **游戏互动**:主持与参与互动、游戏进程控制、结果分享 - **用户管理**:微信登录、个人资料、游戏历史 - **付费系统**:体验增强型付费模式,非核心功能付费,确保免费用户完整体验 ## 三、游戏架构设计(可扩展) ### 游戏接口规范 所有游戏必须实现以下标准接口: ```typescript interface Game { gameId: string; // 游戏唯一标识 gameName: string; // 游戏名称 gameDescription: string; // 游戏描述 minPlayers: number; // 最少玩家数 maxPlayers: number; // 最多玩家数 timeEstimate: string; // 预计游戏时长 // 游戏初始化 initialize: (roomId: string, hostId: string) => Promise; // 开始游戏 start: (roomId: string) => Promise; // 结束游戏 end: (roomId: string) => Promise; // 获取主持人视图 getHostView: (roomId: string, userId: string) => Promise; // 获取玩家视图 getPlayerView: (roomId: string, userId: string) => Promise; // 处理用户行为 handleAction: (roomId: string, userId: string, action: UserAction) => Promise; } ``` ### 海龟汤游戏实现 ```typescript interface TurtleSoupGame extends Game { // 特有属性 questions: TurtleSoupQuestion[]; currentQuestion: TurtleSoupQuestion; playerAnswers: Record; // 特有方法 revealClue: (roomId: string, clueId: string) => Promise; answerQuestion: (roomId: string, userId: string, answer: string) => Promise; transferHost: (roomId: string, newHostId: string) => Promise; } interface TurtleSoupQuestion { question_id: string; category: string; 汤面: string; 汤底: string; 关联IP?: string; 难度等级: number; 游戏时长: string; 适合人数: string; 关键线索: Array<{类型: string, 值: string}>; 引导问题: string[]; 是否付费: boolean; 创建时间: string; } ``` ## 四、付费系统设计 ### 付费原则 - **完整免费体验**:所有核心功能和游戏内容均可免费体验 - **高效付费模式**:所有付费内容均采用按小时计费,随开随关 - **差异化付费点**:主持人和玩家有不同的付费重点 - **即时价值**:付费后立即提升体验,无需等待 ### 付费内容 #### 主持人付费点:主题解锁 - **经典解谜**:基础主题,免费使用 - **环球影城**:特色主题,20元/小时 - **迪士尼奇幻**:特色主题,15元/小时 - **奇幻冒险**:特色主题,12元/小时 #### 玩家付费点:解谜工具 - **解题助手**:智能分析问题并提供有效提示,8元/小时 - **思路引导器**:分析当前思路,指引正确方向,6元/小时 - **关键词提示**:提供解题关键词,5元/小时 - **高级解谜套装**:包含全部工具,15元/小时(优惠套餐) ## 五、数据结构 ### 用户数据 ```typescript interface User { userId: string; // 微信OpenID nickName: string; // 昵称 avatarUrl: string; // 头像URL gender: number; // 性别 gameHistory: GameHistoryItem[]; // 游戏历史 premiumUser: boolean; // 是否付费用户 createdAt: Date; // 创建时间 lastLoginAt: Date; // 最后登录时间 } interface GameHistoryItem { gameId: string; // 游戏ID roomId: string; // 房间ID role: 'host' | 'player'; // 角色 result: string; // 结果 playedAt: Date; // 游戏时间 } ``` ### 房间数据 ```typescript interface Room { roomId: string; // 房间ID roomCode: string; // 房间码 hostId: string; // 主持人ID gameId: string; // 当前游戏ID players: Player[]; // 玩家列表 status: 'waiting' | 'playing' | 'ended'; // 房间状态 gameData: any; // 游戏数据(根据不同游戏类型有不同结构) createdAt: Date; // 创建时间 updatedAt: Date; // 更新时间 } interface Player { userId: string; // 用户ID nickName: string; // 昵称 avatarUrl: string; // 头像 role: 'host' | 'player'; // 角色 status: 'online' | 'offline'; // 状态 joinedAt: Date; // 加入时间 } ``` ## 六、技术架构设计 ### 开发框架与工具 - 前端框架:Taro 3.x - 后端服务:微信云开发 - 数据库:云开发数据库 - 存储:云开发存储 - 云函数:处理业务逻辑 ### 项目目录结构 ``` miniprogram-lineforfun/ ├── client/ # 小程序客户端 │ ├── config/ # 配置文件 │ ├── src/ # 源代码 │ │ ├── app.config.ts # 应用配置 │ │ ├── app.scss # 全局样式 │ │ ├── app.ts # 应用入口 │ │ ├── index.html # HTML模板 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 通用组件 │ │ │ ├── base/ # 基础组件 │ │ │ ├── game/ # 游戏相关组件 │ │ │ └── room/ # 房间相关组件 │ │ ├── constants/ # 常量定义 │ │ ├── hooks/ # 自定义Hooks │ │ ├── interfaces/ # 类型定义 │ │ ├── pages/ # 页面 │ │ │ ├── game-plaza/ # 游戏广场 │ │ │ ├── login/ # 登录页 │ │ │ ├── game-detail/ # 游戏详情页 │ │ │ ├── room/ # 房间页面 │ │ │ │ ├── create/ # 创建房间 │ │ │ │ └── join/ # 加入房间 │ │ │ ├── games/ # 游戏页面 │ │ │ │ ├── turtle-soup/ # 海龟汤游戏 │ │ │ │ │ ├── host/ # 主持人视图 │ │ │ │ │ └── player/ # 玩家视图 │ │ │ │ └── [game-template]/ # 游戏模板 │ │ │ └── profile/ # 个人中心 │ │ ├── services/ # 服务 │ │ │ ├── api.ts # API接口 │ │ │ ├── cloud.ts # 云开发服务 │ │ │ └── game.ts # 游戏服务 │ │ ├── store/ # 状态管理 │ │ ├── styles/ # 样式文件 │ │ └── utils/ # 工具函数 │ └── package.json # 依赖配置 ├── cloud/ # 云开发目录 │ ├── functions/ # 云函数 │ │ ├── login/ # 登录相关 │ │ ├── room/ # 房间管理 │ │ ├── games/ # 游戏逻辑 │ │ │ ├── common/ # 通用游戏逻辑 │ │ │ └── turtle-soup/ # 海龟汤游戏逻辑 │ │ └── pay/ # 支付相关 │ └── database/ # 数据库结构 │ └── db_structure.json # 数据库结构定义 └── README.md # 项目说明 ``` ## 七、云开发接口设计 ### 游戏中心相关 - getGameList: 获取游戏列表 - getGameDetail: 获取游戏详情 - favoriteGame: 收藏游戏 - getRecommendedGames: 获取推荐游戏 ### 房间相关 - createRoom: 创建房间 - joinRoom: 加入房间 - leaveRoom: 离开房间 - transferHost: 转让主持人 - getRoomInfo: 获取房间信息 - updateRoomStatus: 更新房间状态 - generateShareCode: 生成分享码和链接 ### 游戏互动相关 - startGame: 开始游戏 - endGame: 结束游戏 - gameAction: 处理游戏内操作 - getGameStatus: 获取游戏状态 ## 八、原型页面说明 ### 页面列表 1. **游戏广场**:浏览全部游戏 2. **游戏详情**:查看游戏介绍和规则 3. **创建房间**:设置房间参数 4. **加入房间**:输入房间号加入游戏 5. **等待房间-主持人**:设置游戏主题和难度 6. **等待房间-玩家**:等待游戏开始 7. **海龟汤-主持人**:主持人控制游戏进程 8. **海龟汤-玩家**:玩家解谜界面 9. **游戏历史**:查看历史游戏记录 10. **个人中心**:个人信息与设置 ### 使用说明 1. 打开`index.html`查看所有原型页面 2. 支持不同缩放级别和布局方式 3. 各页面之间可通过链接互相跳转 4. 所有原型页面均为静态HTML,可直接在浏览器中打开 ### 当前原型特点 - 主持人等待房间专注于主题选择和游戏设置 - 玩家和主持人有差异化的付费点 - 所有付费内容采用按小时计费模式 - 简化的页面流程和操作逻辑 - 游戏历史记录支持断线重连 --- © 2023 LineFunQueue 排队互动游戏平台