🎨 新增兑换码功能,新增vip过期检测定时任务
This commit is contained in:
218
README.md
218
README.md
@@ -1,54 +1,174 @@
|
||||
## server项目结构
|
||||
# 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
|
||||
│ └── v1
|
||||
├── config
|
||||
├── core
|
||||
├── docs
|
||||
├── global
|
||||
├── initialize
|
||||
│ └── internal
|
||||
├── middleware
|
||||
├── model
|
||||
│ ├── request
|
||||
│ └── response
|
||||
├── packfile
|
||||
├── resource
|
||||
│ ├── excel
|
||||
│ ├── page
|
||||
│ └── template
|
||||
├── router
|
||||
├── service
|
||||
├── source
|
||||
└── utils
|
||||
├── timer
|
||||
└── upload
|
||||
├── 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 # 文件上传
|
||||
```
|
||||
|
||||
| 文件夹 | 说明 | 描述 |
|
||||
| ------------ | ----------------------- | --------------------------- |
|
||||
| `api` | api层 | api层 |
|
||||
| `--v1` | v1版本接口 | v1版本接口 |
|
||||
| `config` | 配置包 | config.yaml对应的配置结构体 |
|
||||
| `core` | 核心文件 | 核心组件(zap, viper, server)的初始化 |
|
||||
| `docs` | swagger文档目录 | swagger文档目录 |
|
||||
| `global` | 全局对象 | 全局对象 |
|
||||
| `initialize` | 初始化 | router,redis,gorm,validator, timer的初始化 |
|
||||
| `--internal` | 初始化内部函数 | gorm 的 longger 自定义,在此文件夹的函数只能由 `initialize` 层进行调用 |
|
||||
| `middleware` | 中间件层 | 用于存放 `gin` 中间件代码 |
|
||||
| `model` | 模型层 | 模型对应数据表 |
|
||||
| `--request` | 入参结构体 | 接收前端发送到后端的数据。 |
|
||||
| `--response` | 出参结构体 | 返回给前端的数据结构体 |
|
||||
| `packfile` | 静态文件打包 | 静态文件打包 |
|
||||
| `resource` | 静态资源文件夹 | 负责存放静态文件 |
|
||||
| `--excel` | excel导入导出默认路径 | excel导入导出默认路径 |
|
||||
| `--page` | 表单生成器 | 表单生成器 打包后的dist |
|
||||
| `--template` | 模板 | 模板文件夹,存放的是代码生成器的模板 |
|
||||
| `router` | 路由层 | 路由层 |
|
||||
| `service` | service层 | 存放业务逻辑问题 |
|
||||
| `source` | source层 | 存放初始化数据的函数 |
|
||||
| `utils` | 工具包 | 工具函数封装 |
|
||||
| `--timer` | timer | 定时器接口封装 |
|
||||
| `--upload` | oss | oss接口封装 |
|
||||
## 🛠️ 技术栈
|
||||
|
||||
### 后端框架
|
||||
- **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认证中间件
|
||||
- 跨域处理中间件
|
||||
- 操作日志中间件
|
||||
- 限流中间件
|
||||
Reference in New Issue
Block a user