18b65d4635094e36a22f62fb7dfe4a6be4b457a8
一体化游戏运营平台
项目概述
一体化游戏运营平台是一个基于 Vue 3 + Node.js + MySQL 的全栈项目,用于管理游戏运营相关的功能。
技术栈
前端
- Vue 3 + TypeScript
- Vite
- Element Plus
后端
- Node.js + Express
- TypeScript
- TypeORM
- MySQL 8.4
容器化
- Docker
- Docker Compose
项目结构
├── backend/ # 后端代码
├── frontend/ # 前端代码
├── sql/ # 数据库脚本
├── docs/ # 项目文档
├── docker/ # Docker 配置
└── docker-compose.yml # Docker Compose 配置
快速开始
1. 克隆项目
git clone <项目地址>
cd MHXY_Web
2. 配置环境变量
后端环境变量
在 backend 目录下创建 .env 文件:
# 服务器配置
PORT=3000
HOST=0.0.0.0
# 数据库配置
DB_HOST=database
DB_PORT=3306
DB_NAME=mhxy_web
DB_USER=root
DB_PASSWORD=password
# JWT配置
JWT_SECRET=your_jwt_secret_key_here
JWT_EXPIRES_IN=24h
JWT_REFRESH_SECRET=your_jwt_refresh_secret_key_here
JWT_REFRESH_EXPIRES_IN=7d
# 游戏服务端API配置
GAME_API_URL=http://your_game_server_url/tool/http
GAME_PSK=THIS_IS_A_32_BYTE_FIXED_PSK!!!!! # 必须是32字节固定长度
# 日志配置
LOG_LEVEL=info
# 环境配置
NODE_ENV=production
前端环境变量
在 frontend 目录下创建 .env 文件:
VITE_API_BASE_URL=http://localhost:3000
3. 使用 Docker 启动项目
docker-compose up -d
4. 直接启动项目
后端启动
cd backend
npm install
npm run dev
前端启动
cd frontend
npm install
npm run dev
数据库配置
项目使用 MySQL 8.4 数据库,主要配置文件:
sql/init_mysql.sql- 数据库初始化脚本backend/src/config/typeorm.config.ts- TypeORM 配置
开发指南
代码规范
- 使用 TypeScript 编写代码
- 遵循 ESLint 和 Prettier 配置
- 提交代码前运行
npm run lint检查代码规范
数据库迁移
cd backend
npm run typeorm migration:generate -- -n <迁移名称>
npm run typeorm migration:run
部署指南
使用 Docker Compose 部署
docker-compose up -d --build
手动部署
- 构建前端代码
cd frontend
npm install
npm run build
- 构建后端代码
cd backend
npm install
npm run build
- 启动服务
node dist/index.js
文档
docs/数据库迁移/MySQL_迁移说明.md- MySQL 迁移说明docs/开发指南/- 开发相关文档docs/部署指南/- 部署相关文档
许可证
MIT
Description
Languages
Vue
59.6%
TypeScript
37%
CSS
1.6%
JavaScript
0.8%
Dockerfile
0.8%
Other
0.2%