# 光映 **Repository Path**: trident-mall/trident-live ## Basic Information - **Project Name**: 光映 - **Description**: 三叉戟直播,包含【接口、管理平台PC版、管理平台桌面版、前端PC版、前端小程序版、前端桌面版】 技术栈:golang、gin、mysql、redis、minio、es、mongo、electron、vue3、vite、ts、pinia - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-23 - **Last Updated**: 2026-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Trident Live 直播平台前后端分离项目,包含 Go 语言开发的后端 API 服务和 Vue/TypeScript 开发的前端 PC 端应用。 ## 项目介绍 Trident Live 是一个功能完善的直播平台系统,采用前后端分离架构。后端基于 Go 语言开发,提供高效的接口服务;前端采用 Vite + TypeScript + Vue 3 构建,提供流畅的用户体验。 ### 技术栈 **后端 (live-api)** - Go 1.18 - Gin Web 框架 - GORM 数据库 ORM - Redis 缓存 - MongoDB 文档数据库 - Elasticsearch 搜索服务 - RabbitMQ 消息队列 - Nacos/Consul/Etcd 配置中心 - Sentinel 限流熔断 - Jaeger 链路追踪 **前端 (live-frontend-pc)** - Vue 3 - TypeScript - Vite - Pinia 状态管理 - SCSS 样式 - Socket.IO 实时通信 ## 目录结构 ``` trident-live/ ├── live-api/ # 后端 API 服务 │ ├── controllers/ # 控制器层 │ │ ├── v1/ # v1 版本接口 │ │ │ ├── IndexController.go │ │ │ └── UserController.go │ │ └── v2/ # v2 版本接口 │ │ └── IndexController.go │ ├── models/ # 数据模型 │ │ ├── BaseModel.go │ │ ├── UserModel.go │ │ └── UserAlbumModel.go │ ├── routers/ # 路由配置 │ │ └── ApiRouter.go │ ├── middlewares/ # 中间件 │ │ ├── CorsMiddleware.go │ │ ├── FrontendAuthMiddleware.go │ │ ├── IsolationMiddleware.go │ │ ├── MgrAuthMiddleware.go │ │ ├── ParseArgsMiddleware.go │ │ ├── RecoveryMiddleware.go │ │ └── ZapLoggerMiddleware.go │ ├── utils/ # 工具函数 │ │ ├── appInit.go # 应用初始化 │ │ ├── captcha.go # 验证码 │ │ ├── consulConfigCenter.go │ │ ├── customTime.go # 自定义时间类型 │ │ ├── etcdConfigCenter.go │ │ ├── helpers.go # 辅助函数 │ │ ├── mongo.go # MongoDB 操作 │ │ ├── mysqlDB.go # MySQL 连接 │ │ ├── mysqlJsonLog.go # JSON 日志 │ │ ├── nacosConfigCenter.go │ │ ├── pluginElasticSearch.go │ │ ├── rabbit.go # RabbitMQ 消息队列 │ │ ├── reliabilityRabbit.go │ │ ├── sentinel.go # 限流熔断 │ │ ├── token.go # JWT 令牌 │ │ └── zapLogger.go # 日志配置 │ ├── config/ # 配置文件 │ │ ├── app.yml │ │ ├── circuitbreaker.yml │ │ ├── consul.yml │ │ ├── database.yml │ │ ├── email.yml │ │ ├── es.yml │ │ ├── etcd.yml │ │ ├── limiter.yml │ │ ├── mongo.yml │ │ ├── nacos.yml │ │ ├── rabbit.yml │ │ ├── redis.yml │ │ ├── sentinel.yaml │ │ ├── sms.yml │ │ └── wx.yml │ ├── constants/ # 常量定义 │ ├── main.go # 入口文件 │ ├── Dockerfile │ └── docker-compose.yaml │ └── live-frontend-pc/ # 前端 PC 端 ├── src/ │ ├── apis/ # API 接口 │ ├── components/ # 公共组件 │ ├── views/ # 页面视图 │ ├── stores/ # Pinia 状态管理 │ ├── router/ # 路由配置 │ ├── utils/ # 工具函数 │ ├── styles/ # 样式文件 │ └── types/ # TypeScript 类型 ├── public/ # 静态资源 ├── package.json ├── vite.config.ts └── Dockerfile ``` ## 功能特性 ### 后端 API - 用户认证:登录、注册、验证码、Token 刷新 - 用户管理:用户信息编辑、密码修改、用户列表 - 中间件支持:CORS、认证授权、请求解析、日志记录、异常恢复 - 分布式缓存:Redis 缓存支持 - 消息队列:RabbitMQ 可靠消息投递 - 搜索服务:Elasticsearch 全文搜索 - 配置中心:支持 Nacos、Consul、Etcd - 限流熔断:Sentinel 保护服务稳定性 ### 前端 PC 端 - 用户登录注册 - 视频播放与列表 - 视频详情与评论 - 用户中心功能 - 弹幕展示 - 响应式布局 ## 快速开始 ### 前置要求 - Go 1.18+ - Node.js 16+ - MySQL 5.7+ - Redis - MongoDB - Elasticsearch - RabbitMQ ### 后端启动 ```bash cd live-api # 安装依赖 go mod download # 配置环境 cp config/app.yml.example config/app.yml # 编辑配置文件 # 启动服务 go run main.go --env development ``` ### 前端启动 ```bash cd live-frontend-pc # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build ``` ## Docker 部署 ### 后端服务 ```bash cd live-api docker build -t trident-live-api . docker run -d -p 8080:8080 --name live-api trident-live-api ``` ### 前端服务 ```bash cd live-frontend-pc docker build -t trident-live-frontend . docker run -d -p 80:80 --name live-frontend trident-live-frontend ``` ### Docker Compose 一键部署 ```bash # 后端 cd live-api docker-compose up -d # 前端 cd live-frontend-pc docker-compose up -d ``` ## 配置说明 后端配置文件位于 `live-api/config/` 目录: | 文件 | 说明 | |------|------| | app.yml | 应用基本配置 | | database.yml | 数据库连接配置 | | redis.yml | Redis 连接配置 | | mongo.yml | MongoDB 配置 | | rabbit.yml | RabbitMQ 配置 | | es.yml | Elasticsearch 配置 | | nacos.yml | Nacos 配置 | | consul.yml | Consul 配置 | | etcd.yml | Etcd 配置 | | limiter.yml | 限流配置 | | circuitbreaker.yml | 熔断配置 | | sentinel.yaml | Sentinel 配置 | | email.yml | 邮件服务配置 | | sms.yml | 短信服务配置 | | wx.yml | 微信配置 | ## 贡献指南 欢迎提交 Issue 和 Pull Request。 ## 许可证 MIT License