Files
lckt-server/README.md

174 lines
4.1 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.

# 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认证中间件
- 跨域处理中间件
- 操作日志中间件
- 限流中间件