wuzj 6ac41431ec line for fun před 2 týdny
..
components 6ac41431ec line for fun před 2 týdny
css 6ac41431ec line for fun před 2 týdny
pages 6ac41431ec line for fun před 2 týdny
.DS_Store 6ac41431ec line for fun před 2 týdny
README.md 6ac41431ec line for fun před 2 týdny
index.html 6ac41431ec line for fun před 2 týdny
request.md 6ac41431ec line for fun před 2 týdny

README.md

LineFunQueue(排队互动小游戏合集)产品说明

一、产品概述

LineFunQueue是一款面向排队场景的微信小程序,提供多种互动小游戏,帮助用户在排队等待过程中消遣时间、增进社交互动。产品采用"轻交互、重线下沟通"理念,鼓励用户在现实场景中进行面对面互动。

核心理念

  • 场景化社交:针对排队、候车、候诊等等待场景
  • 即开即玩:无需繁琐注册,扫码即可加入游戏
  • 线下互动:促进陌生人面对面交流,打破社交隔阂
  • 简单有趣:低门槛规则,高参与度玩法

用户角色与画像

  • 主持人:景区工作人员、餐厅服务员、活动组织者,负责创建房间、选择游戏、掌控游戏进程
  • 玩家:排队等待的游客、聚会成员,参与游戏并尝试解谜

二、核心功能模块

  • 游戏广场:浏览全部游戏,快速筛选适合的游戏类型
  • 房间系统:一键创建或加入房间,自动生成分享码
  • 游戏互动:主持与参与互动、游戏进程控制、结果分享
  • 用户管理:微信登录、个人资料、游戏历史
  • 付费系统:体验增强型付费模式,非核心功能付费,确保免费用户完整体验

三、游戏架构设计(可扩展)

游戏接口规范

所有游戏必须实现以下标准接口:

interface Game {
  gameId: string;          // 游戏唯一标识
  gameName: string;        // 游戏名称
  gameDescription: string; // 游戏描述
  minPlayers: number;      // 最少玩家数
  maxPlayers: number;      // 最多玩家数
  timeEstimate: string;    // 预计游戏时长
  
  // 游戏初始化
  initialize: (roomId: string, hostId: string) => Promise<boolean>;
  
  // 开始游戏
  start: (roomId: string) => Promise<boolean>;
  
  // 结束游戏
  end: (roomId: string) => Promise<GameResult>;
  
  // 获取主持人视图
  getHostView: (roomId: string, userId: string) => Promise<HostViewData>;
  
  // 获取玩家视图
  getPlayerView: (roomId: string, userId: string) => Promise<PlayerViewData>;
  
  // 处理用户行为
  handleAction: (roomId: string, userId: string, action: UserAction) => Promise<ActionResult>;
}

海龟汤游戏实现

interface TurtleSoupGame extends Game {
  // 特有属性
  questions: TurtleSoupQuestion[];
  currentQuestion: TurtleSoupQuestion;
  playerAnswers: Record<string, string>;
  
  // 特有方法
  revealClue: (roomId: string, clueId: string) => Promise<boolean>;
  answerQuestion: (roomId: string, userId: string, answer: string) => Promise<AnswerResult>;
  transferHost: (roomId: string, newHostId: string) => Promise<boolean>;
}

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元/小时(优惠套餐)

五、数据结构

用户数据

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;        // 游戏时间
}

房间数据

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 排队互动游戏平台