2025-12-23 10:44:39 +08:00
2025-12-22 23:51:21 +08:00
2025-12-22 23:51:21 +08:00
2025-12-22 23:51:21 +08:00
2025-12-22 23:51:21 +08:00
2025-12-22 23:51:21 +08:00
2025-12-22 23:51:21 +08:00
2025-12-22 23:51:21 +08:00
2025-12-22 23:51:21 +08:00

一体化游戏运营平台

项目概述

一体化游戏运营平台是一个基于 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

手动部署

  1. 构建前端代码
cd frontend
npm install
npm run build
  1. 构建后端代码
cd backend
npm install
npm run build
  1. 启动服务
node dist/index.js

文档

  • docs/数据库迁移/MySQL_迁移说明.md - MySQL 迁移说明
  • docs/开发指南/ - 开发相关文档
  • docs/部署指南/ - 部署相关文档

许可证

MIT

Description
No description provided
Readme 151 KiB
Languages
Vue 59.6%
TypeScript 37%
CSS 1.6%
JavaScript 0.8%
Dockerfile 0.8%
Other 0.2%