307 lines
7.1 KiB
Markdown
307 lines
7.1 KiB
Markdown
# 开发者部署平台 (Developer Platform)
|
||
|
||
## 项目简介
|
||
|
||
开发者部署平台是一个面向开发者的软件授权和验证管理平台,提供开发者官网展示、产品功能介绍、产品定价方案、开发者后台管理系统以及代理商后台管理系统。
|
||
|
||
## 功能模块
|
||
|
||
### 1. 开发者官网展示
|
||
- 平台介绍页面
|
||
- 功能特性展示
|
||
- 快速入门指南
|
||
- 开发者社区入口
|
||
|
||
### 2. 产品功能介绍
|
||
- 授权验证功能
|
||
- 用户管理功能
|
||
- 数据统计功能
|
||
- API 接口说明
|
||
|
||
### 3. 产品定价方案
|
||
- 套餐价格展示
|
||
- 功能对比表
|
||
- 免费试用入口
|
||
- 在线购买流程
|
||
|
||
### 4. 开发者后台管理系统
|
||
- 应用管理
|
||
- 卡密管理
|
||
- 用户管理
|
||
- 设备管理
|
||
- 版本管理
|
||
- 云端数据管理
|
||
- 风控管理
|
||
- 财务管理
|
||
- 工单系统
|
||
- 日志记录
|
||
|
||
### 5. 代理商后台管理系统
|
||
- 代理授权管理
|
||
- 卡密权限配置
|
||
- 余额充值
|
||
- 佣金管理
|
||
- 数据统计
|
||
|
||
## 技术架构
|
||
|
||
### 前端
|
||
- **框架**: Vue 3 + TypeScript
|
||
- **构建工具**: Vite
|
||
- **UI 组件库**: shadcn-vue
|
||
- **样式**: Tailwind CSS
|
||
- **状态管理**: Pinia
|
||
- **路由**: Vue Router
|
||
|
||
### 后端
|
||
- **语言**: Go 1.21+
|
||
- **Web 框架**: Gin
|
||
- **数据库**: MySQL 8.0
|
||
- **缓存**: Redis
|
||
- **ORM**: GORM
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
developer-platform/
|
||
├── frontend/ # 前端项目
|
||
│ ├── src/
|
||
│ │ ├── pages/ # 页面组件
|
||
│ │ │ ├── developer/ # 开发者后台页面
|
||
│ │ │ │ ├── applications/ # 应用管理
|
||
│ │ │ │ ├── cards/ # 卡密管理
|
||
│ │ │ │ ├── users/ # 用户管理
|
||
│ │ │ │ ├── devices/ # 设备管理
|
||
│ │ │ │ ├── versions/ # 版本管理
|
||
│ │ │ │ ├── cloud-constants/ # 云端常量
|
||
│ │ │ │ ├── cloud-variables/ # 云端变量
|
||
│ │ │ │ ├── dynamic-code/ # 云端函数
|
||
│ │ │ │ ├── risk-control/ # 风控管理
|
||
│ │ │ │ ├── agent-apps/ # 代理授权
|
||
│ │ │ │ ├── finance/ # 财务管理
|
||
│ │ │ │ ├── tickets/ # 工单系统
|
||
│ │ │ │ └── logs/ # 日志记录
|
||
│ │ │ └── index.vue # 官网首页
|
||
│ │ ├── components/ # 公共组件
|
||
│ │ ├── router/ # 路由配置
|
||
│ │ ├── stores/ # 状态管理
|
||
│ │ └── services/ # API 服务
|
||
│ └── package.json
|
||
├── backend/ # 后端项目
|
||
│ ├── cmd/ # 应用入口
|
||
│ ├── internal/
|
||
│ │ ├── router/ # 路由配置
|
||
│ │ │ ├── developer/ # 开发者路由
|
||
│ │ │ ├── app/ # 应用 API 路由
|
||
│ │ │ └── extension/ # 扩展路由
|
||
│ │ ├── middleware/ # 中间件
|
||
│ │ ├── model/ # 数据模型
|
||
│ │ ├── service/ # 业务逻辑
|
||
│ │ └── config/ # 配置管理
|
||
│ └── go.mod
|
||
├── database/ # 数据库文件
|
||
│ ├── schema.sql # 数据库结构
|
||
│ └── seeds.sql # 初始数据
|
||
└── docker-compose.yml # Docker 编排文件
|
||
```
|
||
|
||
## 快速开始
|
||
|
||
### 环境要求
|
||
|
||
- Node.js >= 22.15
|
||
- pnpm >= 10
|
||
- Go >= 1.21
|
||
- MySQL >= 8.0
|
||
- Redis >= 7.0
|
||
|
||
### 本地开发
|
||
|
||
#### 1. 克隆项目
|
||
|
||
```bash
|
||
git clone <repository-url>
|
||
cd developer-platform
|
||
```
|
||
|
||
#### 2. 启动后端服务
|
||
|
||
```bash
|
||
cd backend
|
||
cp config.yaml.example config.yaml
|
||
# 修改 config.yaml 中的数据库和 Redis 配置
|
||
go mod download
|
||
go run cmd/main.go
|
||
```
|
||
|
||
#### 3. 启动前端服务
|
||
|
||
```bash
|
||
cd frontend
|
||
pnpm install
|
||
pnpm dev
|
||
```
|
||
|
||
#### 4. 访问应用
|
||
|
||
- 前端地址: http://localhost:5173
|
||
- 后端 API: http://localhost:8080
|
||
|
||
### Docker 部署
|
||
|
||
```bash
|
||
# 构建并启动所有服务
|
||
docker-compose up -d
|
||
|
||
# 查看服务状态
|
||
docker-compose ps
|
||
|
||
# 查看日志
|
||
docker-compose logs -f
|
||
|
||
# 停止服务
|
||
docker-compose down
|
||
```
|
||
|
||
## 数据库配置
|
||
|
||
### 创建数据库
|
||
|
||
```sql
|
||
CREATE DATABASE developer_platform DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
```
|
||
|
||
### 导入数据结构
|
||
|
||
```bash
|
||
mysql -u root -p developer_platform < database/schema.sql
|
||
mysql -u root -p developer_platform < database/seeds.sql
|
||
```
|
||
|
||
## 环境变量
|
||
|
||
### 后端环境变量
|
||
|
||
| 变量名 | 说明 | 默认值 |
|
||
|--------|------|--------|
|
||
| APP_ENV | 运行环境 | development |
|
||
| DATABASE_HOST | 数据库地址 | localhost |
|
||
| DATABASE_PORT | 数据库端口 | 3306 |
|
||
| DATABASE_NAME | 数据库名称 | developer_platform |
|
||
| DATABASE_USERNAME | 数据库用户名 | root |
|
||
| DATABASE_PASSWORD | 数据库密码 | - |
|
||
| REDIS_HOST | Redis 地址 | localhost |
|
||
| REDIS_PORT | Redis 端口 | 6379 |
|
||
|
||
## 部署文档
|
||
|
||
### 传统部署
|
||
|
||
1. **准备服务器**
|
||
- 操作系统: Ubuntu 20.04+ / CentOS 7+
|
||
- 内存: 最低 2GB,推荐 4GB+
|
||
- CPU: 最低 2 核,推荐 4 核+
|
||
- 存储: 最低 20GB,推荐 50GB+
|
||
|
||
2. **安装依赖**
|
||
```bash
|
||
# 安装 Node.js
|
||
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
||
sudo apt-get install -y nodejs
|
||
|
||
# 安装 pnpm
|
||
npm install -g pnpm
|
||
|
||
# 安装 Go
|
||
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
|
||
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
|
||
export PATH=$PATH:/usr/local/go/bin
|
||
|
||
# 安装 MySQL
|
||
sudo apt-get install mysql-server
|
||
|
||
# 安装 Redis
|
||
sudo apt-get install redis-server
|
||
```
|
||
|
||
3. **部署后端**
|
||
```bash
|
||
cd backend
|
||
go build -o developer-platform cmd/main.go
|
||
./developer-platform
|
||
```
|
||
|
||
4. **部署前端**
|
||
```bash
|
||
cd frontend
|
||
pnpm install
|
||
pnpm build
|
||
# 使用 Nginx 托管 dist 目录
|
||
```
|
||
|
||
### Docker 部署
|
||
|
||
```bash
|
||
# 构建镜像
|
||
docker build -t developer-platform-frontend ./frontend
|
||
docker build -t developer-platform-backend ./backend
|
||
|
||
# 运行容器
|
||
docker-compose up -d
|
||
```
|
||
|
||
### Kubernetes 部署
|
||
|
||
提供完整的 Kubernetes 部署配置文件,支持:
|
||
- Deployment 配置
|
||
- Service 配置
|
||
- Ingress 配置
|
||
- ConfigMap 和 Secret 配置
|
||
- 持久化存储配置
|
||
|
||
## 数据隔离说明
|
||
|
||
本平台与企业官网平台完全独立:
|
||
- 独立的数据库实例
|
||
- 独立的 Redis 缓存
|
||
- 独立的后端服务
|
||
- 独立的前端应用
|
||
- 无数据共享和依赖
|
||
|
||
## 安全性保障
|
||
|
||
1. **数据加密**: 敏感数据采用 AES 加密存储
|
||
2. **身份认证**: JWT Token 认证机制
|
||
3. **权限控制**: 基于角色的访问控制 (RBAC)
|
||
4. **SQL 注入防护**: 使用 ORM 框架防止 SQL 注入
|
||
5. **XSS 防护**: 前端输入输出过滤
|
||
6. **CSRF 防护**: Token 验证机制
|
||
7. **API 密钥管理**: 安全的 API 密钥生成和管理
|
||
|
||
## 开发者工具
|
||
|
||
### SDK 支持
|
||
|
||
提供多语言 SDK:
|
||
- JavaScript/TypeScript SDK
|
||
- Python SDK
|
||
- Go SDK
|
||
- Java SDK
|
||
|
||
### API 文档
|
||
|
||
完整的 RESTful API 文档,支持:
|
||
- OpenAPI 3.0 规范
|
||
- Swagger UI 在线文档
|
||
- Postman 集合
|
||
|
||
## 许可证
|
||
|
||
MIT License
|
||
|
||
## 联系方式
|
||
|
||
- 作者: viaeon
|
||
- 邮箱: support@example.com
|
||
- 文档: https://docs.example.com
|