# LineFunQueue 小程序项目 ## 项目概述 LineFunQueue是一款面向排队场景的微信小程序,提供多种互动小游戏,帮助用户在排队等待过程中消遣时间、增进社交互动。产品采用"轻交互、重线下沟通"理念,鼓励用户在现实场景中进行面对面互动。 ### 核心理念 - **场景化社交**:针对排队、候车、候诊等等待场景 - **即开即玩**:无需繁琐注册,扫码即可加入游戏 - **线下互动**:促进陌生人面对面交流,打破社交隔阂 - **简单有趣**:低门槛规则,高参与度玩法 ## 项目结构 ``` miniprogram-lineforfun/ ├── client/ # 小程序客户端 │ ├── config/ # 配置文件 │ ├── src/ # 源代码 │ │ ├── app.config.ts # 应用配置 │ │ ├── app.scss # 全局样式 │ │ ├── app.ts # 应用入口 │ │ ├── index.html # HTML模板 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 通用组件 │ │ ├── constants/ # 常量定义 │ │ ├── hooks/ # 自定义Hooks │ │ ├── interfaces/ # 类型定义 │ │ ├── pages/ # 页面 │ │ ├── services/ # 服务 │ │ ├── store/ # 状态管理 │ │ ├── styles/ # 样式文件 │ │ └── utils/ # 工具函数 │ └── package.json # 依赖配置 ├── cloud/ # 云开发目录 │ ├── functions/ # 云函数 │ │ ├── login/ # 登录相关 │ │ ├── room/ # 房间管理 │ │ ├── games/ # 游戏逻辑 │ │ └── pay/ # 支付相关 │ └── database/ # 数据库结构 └── README.md # 项目说明 ``` ## 技术架构 ### 前端技术栈 - **框架**:Taro 4.x - **UI库**:React + TypeScript - **样式**:Sass - **构建工具**:Vite - **状态管理**:React Hooks ### 后端技术栈 - **服务器**:微信云开发 - **数据库**:云开发数据库 - **存储**:云开发存储 - **计算**:云函数 ## 开发环境搭建 ### 前端开发环境 1. 安装Node.js (v16+) 2. 安装包管理工具pnpm ```bash npm install -g pnpm ``` 3. 安装项目依赖 ```bash cd client pnpm install ``` 4. 启动开发服务器 ```bash pnpm dev:weapp ``` 5. 使用微信开发者工具打开项目 ### 后端开发环境 1. 创建微信云开发环境 2. 配置云函数和数据库 3. 部署云函数 ```bash cd cloud/functions npm install ``` ## 核心功能模块 ### 游戏广场 - 浏览全部游戏 - 分类筛选 - 搜索游戏 ### 房间系统 - 创建房间 - 加入房间 - 管理玩家 ### 游戏模块 - 海龟汤(主持人视图/玩家视图) - 更多游戏模板 ### 用户系统 - 登录/注册 - 个人中心 - 游戏历史 ## 游戏规则说明 ### 海龟汤 海龟汤是一种解谜游戏,主持人给出一个奇怪的场景(汤面),玩家通过提问和推理,尝试理解事件背后的真相(汤底)。游戏流程: 1. 主持人宣读谜题开头(汤面) 2. 玩家提问(只能问是非问题) 3. 主持人回答"是"、"否"或"无关" 4. 玩家持续提问直到猜出答案 5. 主持人揭晓谜底(汤底) ## 如何开发新游戏 1. 在 `client/src/pages/games` 创建新游戏目录 2. 添加主持人和玩家视图组件 3. 在 `client/src/services/game.ts` 添加游戏服务类 4. 在 `cloud/functions/games` 添加对应云函数 5. 在游戏广场中添加游戏卡片 6. 更新路由配置 ## 部署说明 ### 小程序部署 1. 构建生产版本 ```bash cd client pnpm build:weapp ``` 2. 使用微信开发者工具上传版本 3. 提交审核并发布 ### 云函数部署 1. 在微信开发者工具中上传并部署云函数 2. 配置云函数触发器和权限 ## 项目维护 ### 版本控制 - 使用Git管理代码 - 遵循分支管理规范 - 提交前进行代码审查 ### 测试 - 组件单元测试 - 页面交互测试 - 真机兼容性测试 ### 性能优化 - 减少包大小 - 优化渲染性能 - 减少网络请求 ## 开发规范 ### 代码风格 - 使用ESLint和Prettier维护代码质量 - 遵循TypeScript类型定义 - 使用函数组件和Hooks ### 命名规范 - 组件:大驼峰命名(GameCard) - 文件夹:小写短横线(game-plaza) - 常量:全大写下划线(MAX_PLAYERS) - 函数:小驼峰(fetchGames) ### 注释规范 - 组件头部添加用途注释 - 复杂逻辑添加说明注释 - 函数添加参数和返回值注释 ## 联系方式 如有问题或建议,请联系项目负责人。