@@ -0,0 +1,105 @@
|
||||
# 91porn-server
|
||||
|
||||
Go 语言后端服务项目,基于 Gin 框架
|
||||
|
||||
## 架构
|
||||
|
||||
单仓库多服务(Monorepo),包含 3 个独立可部署的服务:
|
||||
|
||||
| 服务 | 入口 | 端口 | 说明 |
|
||||
|------|------|------|------|
|
||||
| **app** | `app/main.go` | 8182 | 面向客户端的 API 服务(移动端/APP) |
|
||||
| **web** | `web/main.go` | - | 后台管理系统 API |
|
||||
| **skd** | `skd/main.go` | - | 定时任务/后台 Job 调度服务 |
|
||||
|
||||
根目录 `main.go` 仅用于 Swagger 文档生成(端口 20114)。
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
├── app/ # APP 端服务
|
||||
│ ├── api/ # 接口处理层
|
||||
│ ├── router/ # 路由定义
|
||||
│ ├── service/ # 业务逻辑层
|
||||
│ ├── middleware/ # APP 专用中间件
|
||||
│ ├── config/ # APP 配置
|
||||
│ └── proto/ # 请求/响应结构体
|
||||
├── web/ # 后台管理端服务
|
||||
│ ├── api/ # 接口处理层
|
||||
│ ├── router/ # 路由定义
|
||||
│ ├── service/ # 业务逻辑层
|
||||
│ ├── middleware/ # Web 专用中间件
|
||||
│ ├── config/ # Web 配置
|
||||
│ └── proto/ # 请求/响应结构体
|
||||
├── skd/ # 调度任务服务
|
||||
│ ├── job/ # 定时任务定义
|
||||
│ ├── service/ # 任务业务逻辑
|
||||
│ ├── once/ # 一次性脚本
|
||||
│ └── config/ # 调度配置
|
||||
├── models/ # 数据模型层(数据库表结构、缓存模型)
|
||||
├── common/ # 公共模块
|
||||
│ ├── db/ # 数据库连接
|
||||
│ ├── redis/ # Redis 客户端
|
||||
│ ├── cache/ cachev2/ # 缓存层
|
||||
│ ├── kafka/ # Kafka 消息队列
|
||||
│ ├── elastic/ # Elasticsearch
|
||||
│ ├── log/ # 日志
|
||||
│ ├── conf/ # 配置加载
|
||||
│ ├── tg/ # Telegram 机器人通知
|
||||
│ ├── email/ sms/ # 邮件/短信通知
|
||||
│ ├── filter/ # 内容过滤
|
||||
│ ├── dataReport/ # 数据上报
|
||||
│ ├── datacenter/ # 数据中心
|
||||
│ ├── aiMate/ aiService/# AI 功能
|
||||
│ ├── laosiji/ # 老司机模块
|
||||
│ ├── store/ # 对象存储
|
||||
│ └── ... # 其他工具模块
|
||||
├── middleware/ # 通用中间件(CORS、IP、UA、请求ID)
|
||||
├── generate/ # 代码生成
|
||||
├── script/ # 脚本
|
||||
└── swagger/ # Swagger 文档
|
||||
```
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **Web 框架**:Gin
|
||||
- **ORM**:GORM
|
||||
- **数据库**:MySQL
|
||||
- **搜索引擎**:Elasticsearch
|
||||
- **缓存**:Redis
|
||||
- **消息队列**:Kafka (Sarama)
|
||||
- **对象存储**:AWS S3
|
||||
- **API 文档**:Swagger (swaggo)
|
||||
- **部署**:Docker + Shell 脚本
|
||||
|
||||
## 业务功能
|
||||
|
||||
- 用户体系(注册/登录/JWT 鉴权/VIP)
|
||||
- 视频/媒体管理(上传/播放/标签/搜索)
|
||||
- 支付系统(充值/提现/钱包/金币)
|
||||
- 社区功能(评论/关注/点赞/排行榜)
|
||||
- IM 即时通讯(群组/消息)
|
||||
- AI 功能(换脸/脱衣/文生图/文生视频/文生小说)
|
||||
- 运营工具(活动/公告/签到/任务/兑换码)
|
||||
- 广告系统
|
||||
- 裸聊/代充
|
||||
- 后台管理(用户管理/内容审核/数据统计/配置管理)
|
||||
|
||||
## 构建与部署
|
||||
|
||||
```bash
|
||||
# 构建
|
||||
make build
|
||||
|
||||
# 测试
|
||||
make test
|
||||
|
||||
# Docker 构建
|
||||
make docker
|
||||
```
|
||||
|
||||
生产部署脚本:
|
||||
- `app_update_prod.sh` — 部署 APP 服务
|
||||
- `web_update_prod.sh` — 部署 Web 后台服务
|
||||
- `skd_update_prod.sh` — 部署调度服务
|
||||
- `skd_update_test.sh` — 部署调度服务(测试环境)
|
||||
Reference in New Issue
Block a user