# playGame **Repository Path**: yu-you/play-game ## Basic Information - **Project Name**: playGame - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-21 - **Last Updated**: 2025-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 线下陪玩平台 - PlayGame 一个连接用户与线下陪玩师,提供安全、便捷、个性化的综合性陪伴服务的O2O平台。 ## 📋 项目结构 ``` playGame/ ├── api/ # 后端服务(Midway.js + PostgreSQL + Prisma) ├── user-app/ # 用户端(uni-app) ├── companion-app/ # 陪玩师端(uni-app) ├── docker-compose.yml # 数据库配置 └── PRODUCT_PLAN.md # 产品设计方案 ``` --- ## 🚀 快速开始(按步骤执行即可) ### 第一步:环境准备 **必需软件(请依次安装):** 1. **Node.js**(v16及以上) - 下载:https://nodejs.org/ - 安装后验证:在命令行输入 `node -v`,应显示版本号 2. **Docker Desktop**(用于运行数据库) - 下载:https://www.docker.com/products/docker-desktop/ - 安装后启动 Docker Desktop 应用 3. **Git**(用于代码管理) - 下载:https://git-scm.com/ --- ### 第二步:获取项目代码 打开命令行工具(Windows用户按 `Win+R` 输入 `cmd`),执行: ```bash # 克隆项目 git clone https://gitee.com/yu-you/play-game.git # 进入项目目录 cd play-game ``` --- ### 第三步:启动数据库 在项目根目录(play-game文件夹)执行: ```bash # 启动PostgreSQL数据库 docker-compose up -d ``` **验证数据库是否启动成功:** ```bash docker ps ``` 应该看到一个名为 `playgame-postgres` 的容器在运行。 **数据库连接信息:** - 主机:localhost - 端口:5432 - 用户名:playgame - 密码:playgame123 - 数据库名:playgame --- ### 第四步:启动后端服务 ```bash # 1. 进入后端目录 cd api # 2. 安装依赖(首次运行需要,约需要2-5分钟) npm install # 3. 初始化数据库(创建表结构) npx prisma migrate dev # 4. 启动后端开发服务器 npm run dev ``` **看到以下提示说明启动成功:** ``` ✔ Your awesome APP launched - Local: http://127.0.0.1:7001 ``` **后端服务地址:** http://localhost:7001 --- ### 第五步:启动前端(用户端) **打开新的命令行窗口**,执行: ```bash # 1. 回到项目根目录 cd .. # 2. 进入用户端目录 cd user-app # 3. 安装依赖(首次运行需要) npm install # 4. 启动开发服务器 npm run dev:h5 ``` **看到以下提示说明启动成功:** ``` VITE ready in xxx ms > Local: http://localhost:5173/ ``` 在浏览器打开 http://localhost:5173/ 即可查看用户端界面。 --- ### 第六步:启动前端(陪玩师端) **再打开一个新的命令行窗口**,执行: ```bash # 1. 进入陪玩师端目录 cd companion-app # 2. 安装依赖(首次运行需要) npm install # 3. 启动开发服务器 npm run dev:h5 ``` --- ## 📝 日常开发流程 **每次开发时按以下顺序启动:** ```bash # 窗口1:启动数据库(如果已经启动可跳过) docker-compose up -d # 窗口2:启动后端 cd api npm run dev # 窗口3:启动用户端 cd user-app npm run dev:h5 # 窗口4:启动陪玩师端(可选) cd companion-app npm run dev:h5 ``` **停止所有服务:** ```bash # 停止前端和后端:在各自命令行窗口按 Ctrl+C # 停止数据库 docker-compose down ``` --- ## 🛠 常用命令 ### 数据库操作 ```bash # 启动数据库 docker-compose up -d # 停止数据库 docker-compose down # 查看数据库日志 docker-compose logs -f postgres # 进入数据库命令行 docker exec -it playgame-postgres psql -U playgame -d playgame ``` ### Prisma 数据库管理 ```bash cd api # 查看数据库可视化界面 npx prisma studio # 创建新的数据库迁移 npx prisma migrate dev --name 描述 # 重置数据库(慎用!会删除所有数据) npx prisma migrate reset ``` ### 后端开发 ```bash cd api # 开发模式(热重载) npm run dev # 代码检查 npm run lint # 运行测试 npm run test ``` --- ## 🌐 部署到生产环境 ### 准备工作 1. 购买服务器(推荐腾讯云轻量应用服务器,2核4G) 2. 准备域名并备案 3. 准备微信公众号的 AppID 和 AppSecret ### 部署步骤 **1. 服务器环境安装** 登录服务器后执行: ```bash # 安装 Node.js curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs # 安装 Docker curl -fsSL https://get.docker.com | sh sudo systemctl start docker # 安装 Git sudo apt-get install git -y # 安装 PM2(进程管理工具) sudo npm install -g pm2 ``` **2. 部署后端** ```bash # 克隆代码 git clone https://gitee.com/yu-you/play-game.git cd play-game # 启动数据库 docker-compose up -d # 安装后端依赖 cd api npm install --production # 执行数据库迁移 npx prisma migrate deploy # 构建项目 npm run build # 使用PM2启动 pm2 start npm --name "playgame-api" -- run start pm2 save pm2 startup ``` **3. 配置Nginx反向代理** ```nginx server { listen 80; server_name your-domain.com; location /api { proxy_pass http://127.0.0.1:7001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` --- ## ❓ 常见问题 ### 1. Docker 启动失败? **Windows用户:** - 确保 Docker Desktop 已经启动 - 检查是否启用了 WSL 2 **端口被占用:** ```bash # 修改 docker-compose.yml 中的端口 ports: - "5433:5432" # 改用5433端口 ``` ### 2. npm install 报错? **切换国内镜像源:** ```bash npm config set registry https://registry.npmmirror.com ``` ### 3. 数据库连接失败? **检查连接字符串:** ```bash # api/.env 文件 DATABASE_URL="postgresql://playgame:playgame123@localhost:5432/playgame" ``` --- ## 📞 联系方式 - 项目仓库:https://gitee.com/yu-you/play-game - 产品文档:查看 [PRODUCT_PLAN.md](./PRODUCT_PLAN.md) --- ## 📄 License MIT License