代码拉取完成,页面将自动刷新
同步操作将从 Lyric/gin-admin 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
温馨提醒:为了达到更好的演示效果,这里给出了拥有最高权限的用户,请手下留情,只操作自己新增的数据,不要动平台本身的数据!谢谢!
)RESTful API
设计规范 & 基于接口的编程规范GIN
框架,提供了丰富的中间件支持(JWTAuth、CORS、RequestLogger、RequestRateLimiter、TraceID、CasbinEnforce、Recover、GZIP)Casbin
的 RBAC 访问控制模型 -- 权限控制可以细粒度到按钮 & 接口
Gorm
的数据库存储WIRE
的依赖注入 -- 依赖注入本身的作用是解决了各个模块间层级依赖繁琐的初始化过程Logrus & Context
实现了日志输出,通过结合 Context 实现了统一的 TraceID/UserID 等关键字段的输出(同时支持日志钩子写入到Gorm
)JWT
的用户认证 -- 基于 JWT 的黑名单验证机制Swaggo
自动生成 Swagger
文档 -- 独立于接口的 mock 实现net/http/httptest
标准包实现了 API 的单元测试go mod
的依赖管理(国内源可使用:https://goproxy.cn/)go get -u github.com/cosmtrek/air
go get -u github.com/google/wire/cmd/wire
go get -u github.com/swaggo/swag/cmd/swag
也可以使用国内源:https://gitee.com/lyric/gin-admin
$ git clone https://github.com/LyricTian/gin-admin
$ cd gin-admin
# 使用AIR工具运行
$ air
# OR 基于Makefile运行
$ make start
# OR 使用go命令运行
$ go run cmd/gin-admin/main.go web -c ./configs/config.toml -m ./configs/model.conf --menu ./configs/menu.yaml
启动成功之后,可在浏览器中输入地址进行访问:http://127.0.0.1:10088/swagger/index.html
swagger
文档# 基于Makefile
make swagger
# OR 使用swag命令
swag init --generalInfo ./cmd/${APP}/main.go --output ./internal/app/swagger
# 基于Makefile
make wire
# OR 使用wire命令
wire gen ./internal/app
该项目是利用业余时间进行开发的,开发思路主要是源于自己的项目积累及个人思考,如果您有更好的想法和建议请与我进行沟通,一起探讨,畅聊技术人生,相互学习,一起进步。我非常期待!下面是我的微信二维码(如果此项目对您提供了帮助也可以请作者喝杯咖啡 (* ̄︶ ̄),聊表心意,一起星巴克「续杯」~嘿嘿 ):
Copyright (c) 2020 Lyric
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。