Files
huangguo_server/README.md
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

106 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` — 部署调度服务(测试环境)