# fast_gin
**Repository Path**: wxd_ops/fast_gin
## Basic Information
- **Project Name**: fast_gin
- **Description**: fastgin脚手架(包含配置文件初始化等操作)
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-01-18
- **Last Updated**: 2025-01-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Go语言, Gin
## README
#golang 版本
```yaml
1.21.2
```
# 项目介绍
1、此代码是基于 gin 框架开发的一款轻量化脚手架
2、在开发新项目,每次都需要去做一些相同的操作,例如读取配置文件,写路由,连接 gorm,这样很繁琐,因此该款脚手架可减少在开发过程中的这部分操作
# 功能
1、配置 yaml 文件的读取
2、引入 logrus 日志框架,记录 info、error 日志到不同的日志文件
3、gorm 连接 mysql,支持 pgsql、sqlite,目前仅支持 mysql,后续更新后续两种数据库
4、引入 flag 命令行参数绑定,支持命令行创建用户、迁移表结构、读取不同的配置文件
5、自动生成日志目录及文件
6、引入 jwt 中间件
7、用户通用列表分页查询
8、密码认证
9、引入图片验证码,用户登录时需要输入验证码
10、用户登录,支持图形验证码、校验密码
11、用户登出,将登出的 token 保存到 redis,过期时间同 token 过期时间
12、图片上传至对应目录,支持校验图片名相同、内容不同时上传;支持校验图片名相同、内容相同
13、上传图片设置了白名单及图片大小限制
# 项目运行
```go
go mod tidy
go run main.go
```
# 目录说明
| 目录名 | 解释 |
| ------------- | -------------------------- |
| api | api 接口的存放目录 |
| config | 配置各类结构体 struct 目录 |
| core | 初始化操作 |
| flags | 命令行参数 |
| global | 全局变量 |
| middleware | gin 的中间件 |
| models | 数据表结构 |
| routers | 路由入口 |
| service | 服务 |
| utils | 工具目录 |
| main.go | 入口文件 |
| settings.yaml | 配置文件 |
# 演示--通过 ApiPost 调用接口测试
## 0、ApiPost 开放地址
https://console-docs.apipost.cn/preview/580897879322da37/670c4a12730c5291
## 1、命令行参数示例
### 1.1、帮助命令 -h

### 1.2、迁移表结构
```go
go run main.go -db
```
### 1.3、创建用户
```go
go run main.go -m 表名 -t 动作
```

### 1.4、查看版本
```go
go run main.go -v
```
## 2、启动代码

## 3、创建图片验证码


## 4、用户登录

## 5、查看用户列表

## 6、上传图片

## 7、用户登出


# 待完善
1、引入 rbac 权限
2、完善用户创建、用户删除
3、修改日志输出 bug
....