基于 SecondMe API 的多人对话博弈游戏,1名BOSS vs 1-2名玩家,通过三轮对话抢夺红包。
游戏玩法: 1名BOSS vs 1-2名玩家,3轮对话博弈 胜负判定: 好感度系统(0-100分),达到80分获胜 核心特色:
技术栈:
# 1. 克隆项目
git clone <repository-url>
cd secondme-app
# 2. 配置环境变量
cp .env.local.example .env.local
# 编辑 .env.local,配置 SECONDME_API_BASE_URL
# 3. 使用快速启动脚本
./quick-start.sh up # 启动服务
./quick-start.sh full-test # 运行完整测试
# 4. 访问应用
open http://localhost:3000
# 启动服务
docker compose up -d
# 查看日志
docker compose logs -f
# 停止服务
docker compose down
# 1. 安装依赖
npm install
# 2. 配置环境变量
cp .env.local.example .env.local
# 3. 启动开发服务器
npm run dev
# 4. 访问 http://localhost:3000
# 运行完整测试
./quick-start.sh full-test
# 或分步测试
./quick-start.sh up # 启动服务
./quick-start.sh test # 测试 API
./quick-start.sh status # 查看状态
# 1. 开发登录
curl -X POST http://localhost:3000/api/auth/dev-login \
-H "Content-Type: application/json" \
-d '{"username": "test_user"}'
# 2. 创建游戏
curl -X POST http://localhost:3000/api/games/create \
-H "Content-Type: application/json" \
-d '{
"playerId": "user_id",
"selectedCards": ["uncle_generous", "aunt_warm", "cousin_smart"],
"difficulty": "medium"
}'
# 3. 发送消息
curl -X POST http://localhost:3000/api/games/chat \
-H "Content-Type: application/json" \
-d '{
"gameId": "game_id",
"playerId": "user_id",
"message": "阿姨过年好!",
"round": 1
}'
# 4. 查询排行榜
curl http://localhost:3000/api/leaderboard
# 5. 查询历史记录
curl "http://localhost:3000/api/history?playerId=user_id"
# 安装 wscat
npm install -g wscat
# 连接 WebSocket
wscat -c ws://localhost:3000/api/socket
# 发送消息
{
"event": "game:join",
"data": {
"gameId": "game_id",
"playerId": "user_id"
}
}
./quick-start.sh up # 启动服务
./quick-start.sh down # 停止服务
./quick-start.sh status # 查看状态
./quick-start.sh logs # 查看日志
./quick-start.sh test # 测试 API
./quick-start.sh full-test # 完整测试
./quick-start.sh rebuild # 重建服务
./quick-start.sh cleanup # 清理数据
./quick-start.sh help # 显示帮助
docker compose up -d # 启动
docker compose down # 停止
docker compose logs -f # 日志
docker compose ps # 状态
docker compose up -d --build # 重建
docker compose down -v # 清理
npm run dev # 开发服务器
npm run build # 构建应用
npm run start # 启动生产服务器
npm run lint # 运行 ESLint
| 变量名 | 说明 | 默认值 |
|---|---|---|
SECONDME_API_BASE_URL | SecondMe API 地址 | https://app-api.mindos.com |
NEXT_PUBLIC_APP_URL | 应用访问地址 | http://localhost:3000 |
secondme-app/ ├── src/ │ ├── app/ # Next.js 页面和 API │ │ ├── api/ # API 路由 │ │ │ ├── auth/ # 认证接口 │ │ │ ├── games/ # 游戏接口 │ │ │ ├── leaderboard/ # 排行榜 │ │ │ ├── history/ # 历史记录 │ │ │ └── socket/ # WebSocket │ │ ├── game/ # 游戏页面 │ │ ├── leaderboard/ # 排行榜页面 │ │ └── layout.tsx # 布局组件 │ ├── components/ # React 组件 │ └── lib/ # 工具库 │ ├── db.ts # 数据库配置 │ ├── secondme.ts # SecondMe API 客户端 │ └── types.ts # TypeScript 类型 ├── data/ # SQLite 数据库 ├── Dockerfile # 生产镜像 ├── Dockerfile.dev # 开发镜像 ├── docker-compose.yml # Docker Compose 配置 ├── quick-start.sh # 快速启动脚本 └── *.md # 文档
MVP 版本: 100% 完成 🎉
验收标准: ✅ 全部达成
如遇到问题,请查看:
欢迎提交 Issue 和 Pull Request!
MIT License
./quick-start.sh up
访问 http://localhost:3000 开始你的 AI 亲戚红包挑战赛!