Golang Go语言中基于 Gin + Vue + Element UI 的前后端分离权限管理系统

发布于 1周前 作者 yibo5220 来自 Go语言

Golang Go语言中基于 Gin + Vue + Element UI 的前后端分离权限管理系统

go-admin

基于 Gin + Vue + Element UI 的前后端分离权限管理系统

项目地址:

Githubhttps://github.com/wenjianzhang/go-admin

码云https://gitee.com/mydearzwj/go-admin

同步更新

✨ 特性

  • 遵循 RESTful API 设计规范

  • 基于 GIN WEB API 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、追踪 ID 等)

  • 基于 Casbin 的 RBAC 访问控制模型

  • JWT 认证

  • 支持 Swagger 文档(基于 swaggo)

  • 基于 GORM 的数据库存储,可扩展多种类型数据库

  • 配置文件简单的模型映射,快速能够得到想要的配置

  • TODO: 单元测试

🎁 内置

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  9. 登录日志:系统登录日志记录查询包含登录异常。
  10. 系统接口:根据业务代码自动生成相关的 api 接口文档。

🔗 在线体验

admin / 123456

演示地址:http://www.zhangwj.com

📦 本地开发

step 1:

git clone https://e.coding.net/wenjianzhang/go-admin.git

step 2:

cd ./goadmin/src/goadmin

step 3:

go build

step 4:

vi ./config/setting.yml (更改 isinit 和数据库连接)

step 5:

./goadmin

文档生成

swag init  

如果没有 swag 命令 go get 安装一下即可

go get -u github.com/swaggo/swag/cmd/swag

交叉编译

env GOOS=windows GOARCH=amd64 go build main.go

or

env GOOS=linux GOARCH=amd64 go build main.go

qq 技术交流群: 74520518


更多关于Golang Go语言中基于 Gin + Vue + Element UI 的前后端分离权限管理系统的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

30 回复

看起来不错,赞

更多关于Golang Go语言中基于 Gin + Vue + Element UI 的前后端分离权限管理系统的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


先 star 一个慢慢看

楼主是不是还有一个 java 的叫做若依?我们公司都用来做了一个项目了

我参考了这个项目。

字典数据是用来做什么用的谁解释下,我看到好几个后台都有这个,但是不知道干什么用的

egg.js+nuxt.js 挺好撸管理后台的,我已经撸几个了

字典数据主要用来解决数据复用的问题,比如常见的一些下拉选择框数据什么的不可能都写死

纯好奇,这种脱离业务的权限管理有什么意义?

老哥你主页的网站是要搞事情。。。

先 mark 之后看一下,最近在开发公司内部的一个系统

已 star. 弱弱问下, 右侧的 tab 在切换的时候能不能做到不刷新, 抱持之前的数据状态?

#9 原文:“zjsxwc 老哥你主页的网站是要搞事情。。。”
回复:汗😓我这个域名暂时不知道用来干嘛,直接让他转跳了百度没毛病啊

希望能顺手做个极小的 app,演示一下如何配合运行。

哦,是个脚手架。
挺好的,可惜我前后端用的库都不一样。

脚手架 方便起新项目

star 了 学习学习

star 了 明天学习学习

用 gin 可以编译成单文件发布到线上么

目前项目中配置文件还是需要单独发布

后续会考虑的,谢谢

使用 keep-live,vue-element-admin 里面的组件是有的,楼主的前端代码貌似不是最新的

前端代码有一段时间了,先稳定下来,在做更新

你做的这个和我之前发的项目技术栈差不多
https://www.v2ex.com/t/652360

也是 gin+vue+elementui,只不过我这个是用 typescript 写的

可以一起学习交流

看看分离的如何

楼主的脚手架整理得很不错。
不过 go 项目的模块划分,一般不用这类 mvc 风格的架构,而是按功能职责拆分的。像很多 go 的开源项目,一个功能模块就是一个目录,比如 moby 项目下面就按功能分成 daemon 、container 等。
两种风格没有绝对好坏,也可以揉合在一起。不过 go 项目最佳实践通常是后者,这种架构风格,很多时候便于单个模块从单体应用中分离出来,成为微服务。
可以看看这篇文章的模块拆分小节
https://draveness.me/golang-101

谢谢!从其他语言转过来,编码风格上难免遗留了之前的编码风格,后续是需要改善的难免误导他人😀

针对您提到的基于Gin+Vue+Element UI的前后端分离权限管理系统,以下是一些专业回复内容:

该系统是Go语言开发中非常流行的一个架构组合。Gin作为Go语言的高性能Web框架,提供了丰富的中间件支持,非常适合构建RESTful API。Vue.js则是一款流行的前端JavaScript框架,结合Element UI可以快速构建美观且易用的用户界面。

前后端分离的设计使得该系统具有更好的可维护性和扩展性。后端主要负责数据处理和业务逻辑,前端则专注于用户界面和交互。这种分离不仅提高了开发效率,也使得前后端团队可以独立工作,互不干扰。

在权限管理方面,该系统通常基于RBAC(基于角色的访问控制)模型进行设计,可以灵活配置角色和权限,实现细粒度的访问控制。此外,JWT(JSON Web Token)等鉴权机制也常被用于保障系统的安全性。

总的来说,基于Gin+Vue+Element UI的前后端分离权限管理系统是一个强大且灵活的架构组合,非常适合构建企业级后台管理系统。如果您正在考虑构建此类系统,建议深入研究这些技术,并参考相关的开源项目和文档,以更好地掌握其实现方式和最佳实践。

回到顶部