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