175 lines
2.8 KiB
Markdown
175 lines
2.8 KiB
Markdown
# 一体化游戏运营平台
|
|
|
|
## 项目概述
|
|
|
|
一体化游戏运营平台是一个基于 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. 克隆项目
|
|
|
|
```bash
|
|
git clone <项目地址>
|
|
cd MHXY_Web
|
|
```
|
|
|
|
### 2. 配置环境变量
|
|
|
|
#### 后端环境变量
|
|
|
|
在 `backend` 目录下创建 `.env` 文件:
|
|
|
|
```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` 文件:
|
|
|
|
```env
|
|
VITE_API_BASE_URL=http://localhost:3000
|
|
```
|
|
|
|
### 3. 使用 Docker 启动项目
|
|
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
### 4. 直接启动项目
|
|
|
|
#### 后端启动
|
|
|
|
```bash
|
|
cd backend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
#### 前端启动
|
|
|
|
```bash
|
|
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` 检查代码规范
|
|
|
|
### 数据库迁移
|
|
|
|
```bash
|
|
cd backend
|
|
npm run typeorm migration:generate -- -n <迁移名称>
|
|
npm run typeorm migration:run
|
|
```
|
|
|
|
## 部署指南
|
|
|
|
### 使用 Docker Compose 部署
|
|
|
|
```bash
|
|
docker-compose up -d --build
|
|
```
|
|
|
|
### 手动部署
|
|
|
|
1. 构建前端代码
|
|
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
2. 构建后端代码
|
|
|
|
```bash
|
|
cd backend
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
3. 启动服务
|
|
|
|
```bash
|
|
node dist/index.js
|
|
```
|
|
|
|
## 文档
|
|
|
|
- `docs/数据库迁移/MySQL_迁移说明.md` - MySQL 迁移说明
|
|
- `docs/开发指南/` - 开发相关文档
|
|
- `docs/部署指南/` - 部署相关文档
|
|
|
|
## 许可证
|
|
|
|
MIT
|