# 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 ![输入图片说明](https://foruda.gitee.com/images/1737342486743950667/636f4e66_10968336.png "ME1737342465044.png") ### 1.2、迁移表结构 ```go go run main.go -db ``` ### 1.3、创建用户 ```go go run main.go -m 表名 -t 动作 ``` ![输入图片说明](https://foruda.gitee.com/images/1737342722183749474/01472e71_10968336.png "屏幕截图") ### 1.4、查看版本 ```go go run main.go -v ``` ## 2、启动代码 ![输入图片说明](https://foruda.gitee.com/images/1737342794145734716/ab243f17_10968336.png "屏幕截图") ## 3、创建图片验证码 ![输入图片说明](https://foruda.gitee.com/images/1737342836041969883/07a4df49_10968336.png "屏幕截图") ![输入图片说明](https://foruda.gitee.com/images/1737342849316110592/f3ff6c0b_10968336.png "屏幕截图") ## 4、用户登录 ![输入图片说明](https://foruda.gitee.com/images/1737342915595709906/d24697f7_10968336.png "屏幕截图") ## 5、查看用户列表 ![输入图片说明](https://foruda.gitee.com/images/1737342993494519711/e9808a4f_10968336.png "屏幕截图") ## 6、上传图片 ![输入图片说明](https://foruda.gitee.com/images/1737343069867424946/dd634b91_10968336.png "屏幕截图") ## 7、用户登出 ![输入图片说明](https://foruda.gitee.com/images/1737343133134399927/b44cccd8_10968336.png "屏幕截图") ![输入图片说明](https://foruda.gitee.com/images/1737343193156822693/28dff9f5_10968336.png "屏幕截图") # 待完善 1、引入 rbac 权限
2、完善用户创建、用户删除
3、修改日志输出 bug
....