1 Star 0 Fork 0

diogoxiang / go-web-mini

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
web
Loading...
README
MIT

go-web-mini

Go + Vue开发的管理系统脚手架, 前后端分离, 仅包含项目开发的必需部分, 基于角色的访问控制(RBAC), 分包合理, 精简易于扩展。 后端Go包含了gin、 gorm、 jwt和casbin等的使用, 前端Vue基于vue-element-admin开发: https://github.com/gnimli/go-web-mini-ui.git

Go version Gin version Gorm version License

特性

  • Gin 一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter, 速度提高了近40倍
  • MySQL 采用的是MySql数据库
  • Jwt 使用JWT轻量级认证, 并提供活跃用户Token刷新功能
  • Casbin Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型
  • Gorm 采用Gorm 2.0版本开发, 包含一对多、多对多、事务等操作
  • Validator 使用validator v10做参数校验, 严密校验前端传入参数
  • Lumberjack 设置日志文件大小、保存数量、保存时间和压缩等
  • Viper Go应用程序的完整配置解决方案, 支持配置热更新
  • GoFunk 包含大量的Slice操作方法的工具包

中间件

  • AuthMiddleware 权限认证中间件 -- 处理登录、登出、无状态token校验
  • RateLimitMiddleware 基于令牌桶的限流中间件 -- 限制用户的请求次数
  • OperationLogMiddleware 操作日志中间件 -- 记录所有用户操作
  • CORSMiddleware -- 跨域中间件 -- 解决跨域问题
  • CasbinMiddleware 访问控制中间件 -- 基于Casbin RBAC, 精细控制接口访问

项目截图

登录 用户管理 角色管理 角色权限 菜单管理 API管理

项目结构概览

├─common # casbin mysql zap validator 等公共资源
├─config # viper读取配置
├─controller # controller层,响应路由请求的方法
├─dto # 返回给前端的数据结构
├─middleware # 中间件
├─model # 结构体模型
├─repository # 数据库操作
├─response # 常用返回封装,如Success、Fail
├─routes # 所有路由
├─util # 工具方法
└─vo # 接收前端请求的数据结构

前端Vue项目

go-web-mini-ui https://github.com/gnimli/go-web-mini-ui.git

swagger 文档生成

 swag init

客户端生成

docker run --rm -v $(pwd):/local swaggerapi/swagger-codegen-cli generate -i /local/docs/swagger.json -l go -o /local/client

TODO

  • 增加图片服务器
  • 增加promtail-loki-grafana日志监控系统
  • 增加swagger文档

MIT License

Copyright (c) 2021 gnimli

MIT License Copyright (c) 2021 gnimli Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Go : Gin+Vue 开发的管理系统脚手架 展开 收起
Go 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/diogoxiang/go-web-mini.git
git@gitee.com:diogoxiang/go-web-mini.git
diogoxiang
go-web-mini
go-web-mini
master

搜索帮助