174 lines
4.1 KiB
Markdown
174 lines
4.1 KiB
Markdown
# LCKT 后端服务
|
||
|
||
基于 Gin-Vue-Admin 框架开发的全栈开发基础平台后端服务,提供完整的用户管理、权限控制、内容管理等功能。
|
||
|
||
## 🚀 项目特性
|
||
|
||
- **现代化技术栈**: 基于 Go 1.23 + Gin + GORM + Redis + MySQL
|
||
- **完整的权限系统**: 基于 Casbin 的 RBAC 权限控制
|
||
- **丰富的业务模块**: 用户管理、订单系统、内容管理、通知系统等
|
||
- **多数据库支持**: MySQL、PostgreSQL、SQLite、SQL Server、Oracle
|
||
- **多种存储方案**: 阿里云OSS、腾讯云COS、七牛云、MinIO等
|
||
- **微信生态集成**: 微信支付、微信公众号
|
||
- **API文档**: 集成 Swagger 自动生成API文档
|
||
- **容器化部署**: 支持 Docker 部署
|
||
|
||
## 📋 功能模块
|
||
|
||
### 系统管理
|
||
- 用户管理 (User Management)
|
||
- 角色权限 (Role & Permission)
|
||
- 菜单管理 (Menu Management)
|
||
- API管理 (API Management)
|
||
- 操作日志 (Operation Log)
|
||
- 字典管理 (Dictionary)
|
||
|
||
### 业务功能
|
||
- 用户系统 (App User System)
|
||
- 订单管理 (Order Management)
|
||
- 兑换码系统 (Redeem Code)
|
||
- 文章管理 (Article Management)
|
||
- 分类管理 (Category Management)
|
||
- 横幅管理 (Banner Management)
|
||
- 通知系统 (Notice System)
|
||
- VIP会员 (VIP System)
|
||
- 机器人管理 (Bot Management)
|
||
|
||
### 工具功能
|
||
- 文件上传下载 (File Upload/Download)
|
||
- 代码生成器 (Code Generator)
|
||
- 表单生成器 (Form Builder)
|
||
- Excel导入导出 (Excel Import/Export)
|
||
- 验证码 (Captcha)
|
||
## 🏗️ 项
|
||
目结构
|
||
|
||
```shell
|
||
├── api # API接口层
|
||
│ └── v1 # v1版本API
|
||
├── config # 配置文件结构体
|
||
├── core # 核心组件初始化
|
||
├── docs # Swagger文档
|
||
├── global # 全局变量
|
||
├── initialize # 系统初始化
|
||
├── middleware # 中间件
|
||
├── model # 数据模型
|
||
│ ├── request # 请求结构体
|
||
│ └── response # 响应结构体
|
||
├── resource # 静态资源
|
||
│ ├── excel # Excel文件
|
||
│ ├── page # 页面模板
|
||
│ └── template # 代码模板
|
||
├── router # 路由
|
||
├── service # 业务逻辑层
|
||
├── source # 初始化数据
|
||
├── task # 定时任务
|
||
└── utils # 工具函数
|
||
├── timer # 定时器
|
||
└── upload # 文件上传
|
||
```
|
||
|
||
## 🛠️ 技术栈
|
||
|
||
### 后端框架
|
||
- **Gin**: 高性能的Go Web框架
|
||
- **GORM**: Go语言ORM库
|
||
- **Casbin**: 权限管理库
|
||
- **Viper**: 配置管理
|
||
- **Zap**: 高性能日志库
|
||
- **JWT**: 身份认证
|
||
- **Redis**: 缓存和会话存储
|
||
|
||
### 数据库支持
|
||
- MySQL
|
||
- PostgreSQL
|
||
- SQLite
|
||
- SQL Server
|
||
- Oracle
|
||
- MongoDB
|
||
|
||
### 对象存储
|
||
- 阿里云OSS
|
||
- 腾讯云COS
|
||
- 七牛云
|
||
- MinIO
|
||
- AWS S3
|
||
- Cloudflare R2
|
||
- 华为云OBS
|
||
|
||
### 第三方集成
|
||
- 微信支付
|
||
- 微信公众号
|
||
- 阿里云短信
|
||
- 邮件发送#
|
||
# 🚀 快速开始
|
||
|
||
### 环境要求
|
||
- Go 1.23+
|
||
- MySQL 5.7+
|
||
- Redis 5.0+
|
||
|
||
### 安装依赖
|
||
```bash
|
||
go mod tidy
|
||
```
|
||
|
||
### 配置文件
|
||
复制配置文件并修改相关配置:
|
||
```bash
|
||
cp config.yaml.example config.yaml
|
||
```
|
||
|
||
主要配置项:
|
||
- 数据库连接信息
|
||
- Redis连接信息
|
||
- JWT密钥
|
||
- 对象存储配置
|
||
- 微信相关配置
|
||
|
||
### 运行项目
|
||
```bash
|
||
# 开发环境
|
||
go run main.go
|
||
|
||
# 生产环境
|
||
go build -o server main.go
|
||
./server
|
||
```
|
||
|
||
### Docker 部署
|
||
```bash
|
||
# 构建镜像
|
||
docker build -t lckt-server .
|
||
|
||
# 运行容器
|
||
docker run -d -p 8888:8888 --name lckt-server lckt-server
|
||
```
|
||
|
||
## 📖 API 文档
|
||
|
||
项目集成了 Swagger 自动生成API文档,启动项目后访问:
|
||
```
|
||
http://localhost:8888/swagger/index.html
|
||
```
|
||
|
||
## 🔧 开发指南
|
||
|
||
### 代码生成
|
||
项目内置代码生成器,可以快速生成CRUD代码:
|
||
1. 配置数据表结构
|
||
2. 使用代码生成器生成相关文件
|
||
3. 根据业务需求调整生成的代码
|
||
|
||
### 权限控制
|
||
基于 Casbin 实现的 RBAC 权限控制:
|
||
- 用户 (User)
|
||
- 角色 (Role)
|
||
- 权限 (Permission)
|
||
- 菜单 (Menu)
|
||
|
||
### 中间件
|
||
- JWT认证中间件
|
||
- 跨域处理中间件
|
||
- 操作日志中间件
|
||
- 限流中间件 |