项目介绍

一款 Go 语言基于GoFrame、Vue、ElementUI、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式,同时为了敏捷快速开发,框架特地集成了代码生成器,完全自主研发了自定义GO后端服务模板和前端Vue自定义模板,可以根据已建好的表结构,可以快速的一键生成整个模块的所有代码和增删改查等等功能业务,真正实现了低代码开发方式,极大的节省了人力成本的同时提高了开发效率,缩短了研发周期,是一款真正意义上实现组件化、可插拔式的敏捷开发框架。

项目特点

  • 模块化、松耦合
  • 模块丰富、开箱即用
  • 简洁易用、快速接入
  • 文档详尽、易于维护
  • 自顶向下、体系化设计
  • 统一框架、统一组件、降低选择成本
  • 开发规范、设计模式、代码分层模型
  • 强大便捷的开发工具链
  • 完善的本地中文化支持
  • 设计为团队及企业使用

内置模块

  • 用户管理:用于维护管理系统的用户,常规信息的维护与账号设置。
  • 角色管理:角色菜单管理与权限分配、设置角色所拥有的菜单权限。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 职级管理:主要管理用户担任的职级。
  • 岗位管理:主要管理用户担任的岗位。
  • 部门管理:主要管理系统组织架构,对组织架构进行统一管理维护。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 字典管理:对系统中常用的较为固定的数据进行统一维护。
  • 配置管理:对系统的常规配置信息进行维护,网站配置管理功能进行统一维护。
  • 城市管理:统一对全国行政区划进行维护,对其他模块提供行政区划数据支撑。
  • 友链管理:对系统友情链接、合作伙伴等相关外链进行集成维护管理的模块。
  • 个人中心:主要是对当前登录用户的个人信息进行便捷修改的功能。
  • 广告管理:主要对各终端的广告数据进行管理维护。
  • 站点栏目:主要对大型系统网站等栏目进行划分和维护的模块。
  • 会员管理:对各终端注册的会员进行统一的查询与管理的模块。
  • 网站配置:对配置管理模块的数据源动态解析与统一维护管理的模块。
  • 通知公告:系统通知公告信息发布维护。
  • 代码生成:一键生成模块CRUD的功能,包括后端Go和前端Vue等相关代码。
  • 案例演示:常规代码生成器一键生成后的演示案例。

软件信息

  • 软件名称:EasyGoAdmin敏捷开发框架GoFrame+EleVue版本
  • 官网网址:http://www.easygoadmin.vip
  • 文档网址:http://docs.goframe.elevue.easygoadmin.vip

系统演示

演示地址:http://manage.goframe.elevue.easygoadmin.vip

版本说明

版本名称 版本说明 版本地址
GoFrame+Layui混编版 采用GoFrame、Layui等框架研发 https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_Layui
Beego+Layui混编版 采用Beego、Layui等框架研发 https://gitee.com/easygoadmin/EasyGoAdmin_Beego_Layui
Gin+Layui混编版 采用Gin、Layui等框架研发 https://gitee.com/easygoadmin/EasyGoAdmin_Gin_Layui
Iris+Layui混编版 采用Iris、Layui等框架研发 https://gitee.com/easygoadmin/EasyGoAdmin_Iris_Layui
Revel+Layui混编版 采用Revel、Layui等框架研发 https://gitee.com/easygoadmin/EasyGoAdmin_Revel_Layui
Echo+Layui混编版 采用Echo、Layui等框架研发 https://gitee.com/easygoadmin/EasyGoAdmin_Echo_Layui
GoFrame+EleVue前后端分离版 采用GoFrame、Vue、ElementUI等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_EleVue
Beego+EleVue前后端分离版 采用Beego、Vue、ElementUI等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Beego_EleVue
Gin+EleVue前后端分离版 采用Gin、Vue、ElementUI等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Gin_EleVue
Iris+EleVue前后端分离版 采用Iris、Vue、ElementUI等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Iris_EleVue
Revel+EleVue前后端分离版 采用Revel、Vue、ElementUI等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Revel_EleVue
Echo+EleVue前后端分离版 采用Echo、Vue、ElementUI等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Echo_EleVue
GoFrame+AntdVue前后端分离版 采用GoFrame、Vue、AntDesign等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_AntdVue
Beego+AntdVue前后端分离版 采用Beego、Vue、AntDesign等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Beego_AntdVue
Gin+AntdVue前后端分离版 采用Gin、Vue、AntDesign等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Gin_AntdVue
Iris+AntdVue前后端分离版 采用Iris、Vue、AntDesign等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Iris_AntdVue
Revel+AntdVue前后端分离版 采用Revel、Vue、AntDesign等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Revel_AntdVue
Echo+AntdVue前后端分离版 采用Echo、Vue、AntDesign等框架研发前后端分离版本 https://gitee.com/easygoadmin/EasyGoAdmin_Echo_AntdVue

项目结构

├── app             // 应用目录
│   ├── controller  // 控制器
│   ├── dao         // DAO层
│   ├── model       // 模型层
│   └── service     // 服务层
│   └── utils       // 系统工具
├── boot
├── config          // 系统配置
├── docker
├── document        // 文档目录
├── i18n            // 国际化
├── library         // 类库
├── packed
├── public          // 资源目录
├── router          // 路由
├── template        // 自定义模板
├── Dockerfile
├── go.mod
└── main.go

路由注册

func init() {s := g.Server()// 跨域处理s.Use(middleware.CORS)// 登录验证中间件s.Use(middleware.CheckLogin)// 操作日志中间件s.Use(middleware.OperLog)// 登录日志中间件s.Use(middleware.LoginLog)/* 文件上传 */s.Group("/upload", func(group *ghttp.RouterGroup) {// 上传图片group.POST("/uploadImage", controller.Upload.UploadImage)})/* 登录注册 */s.Group("/", func(group *ghttp.RouterGroup) {group.GET("/", controller.Login.Login)group.ALL("/login", controller.Login.Login)group.GET("/captcha", controller.Login.Captcha)group.ALL("/updateUserInfo", controller.Index.UpdateUserInfo)group.ALL("/updatePwd", controller.Index.UpdatePwd)group.GET("/logout", controller.Index.Logout)})s.Group("index", func(group *ghttp.RouterGroup) {group.GET("/menu", controller.Index.Menu)group.GET("/user", controller.Index.User)})/* 用户管理 */s.Group("user", func(group *ghttp.RouterGroup) {group.GET("/list", controller.User.List)group.GET("/detail", controller.User.Detail)group.POST("/add", controller.User.Add)group.PUT("/update", controller.User.Update)group.DELETE("/delete/:ids", controller.User.Delete)group.PUT("/status", controller.User.Status)group.PUT("/resetPwd", controller.User.ResetPwd)group.GET("/checkUser", controller.User.CheckUser)})/* 职级管理 */s.Group("level", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Level.List)group.POST("/add", controller.Level.Add)group.PUT("/update", controller.Level.Update)group.DELETE("/delete/:ids", controller.Level.Delete)group.PUT("/status", controller.Level.Status)group.GET("/getLevelList", controller.Level.GetLevelList)})/* 岗位路由 */s.Group("position", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Position.List)group.POST("/add", controller.Position.Add)group.PUT("/update", controller.Position.Update)group.DELETE("/delete/:ids", controller.Position.Delete)group.PUT("/status", controller.Position.Status)group.GET("/getPositionList", controller.Position.GetPositionList)})/* 角色路由 */s.Group("role", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Role.List)group.POST("/add", controller.Role.Add)group.PUT("/update", controller.Role.Update)group.DELETE("/delete/:ids", controller.Role.Delete)group.PUT("/status", controller.Role.Status)group.GET("/getRoleList", controller.Role.GetRoleList)})/* 角色菜单权限 */s.Group("rolemenu", func(group *ghttp.RouterGroup) {group.GET("/index", controller.RoleMenu.Index)group.POST("/save", controller.RoleMenu.Save)})/* 部门管理 */s.Group("dept", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Dept.List)group.POST("/add", controller.Dept.Add)group.PUT("/update", controller.Dept.Update)group.DELETE("/delete/:ids", controller.Dept.Delete)group.GET("/getDeptList", controller.Dept.GetDeptList)})/* 菜单管理 */s.Group("menu", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Menu.List)group.GET("/detail", controller.Menu.Detail)group.POST("/add", controller.Menu.Add)group.PUT("/update", controller.Menu.Update)group.DELETE("/delete/:ids", controller.Menu.Delete)})/* 操作日志 */s.Group("operlog", func(group *ghttp.RouterGroup) {group.GET("/list", controller.OperLog.List)})/* 登录日志 */s.Group("loginlog", func(group *ghttp.RouterGroup) {group.GET("/list", controller.LoginLog.List)group.DELETE("/delete/:ids", controller.LoginLog.Delete)})/* 城市管理 */s.Group("city", func(group *ghttp.RouterGroup) {group.GET("/list", controller.City.List)group.POST("/add", controller.City.Add)group.PUT("/update", controller.City.Update)group.DELETE("/delete/:ids", controller.City.Delete)group.POST("/getChilds", controller.City.GetChilds)})/* 字典管理 */s.Group("dict", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Dict.List)group.POST("/add", controller.Dict.Add)group.PUT("/update", controller.Dict.Update)group.DELETE("/delete/:ids", controller.Dict.Delete)})/* 字典项管理 */s.Group("dictdata", func(group *ghttp.RouterGroup) {group.GET("/list", controller.DictData.List)group.POST("/add", controller.DictData.Add)group.PUT("/update", controller.DictData.Update)group.DELETE("/delete/:ids", controller.DictData.Delete)})/* 配置管理 */s.Group("config", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Config.List)group.POST("/add", controller.Config.Add)group.PUT("/update", controller.Config.Update)group.DELETE("/delete/:ids", controller.Config.Delete)})/* 配置项管理 */s.Group("configdata", func(group *ghttp.RouterGroup) {group.GET("/list", controller.ConfigData.List)group.POST("/add", controller.ConfigData.Add)group.PUT("/update", controller.ConfigData.Update)group.DELETE("/delete/:ids", controller.ConfigData.Delete)group.PUT("/status", controller.ConfigData.Status)})/* 友链管理 */s.Group("link", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Link.List)group.POST("/add", controller.Link.Add)group.PUT("/update", controller.Link.Update)group.DELETE("/delete/:ids", controller.Link.Delete)group.PUT("/status", controller.Link.Status)})/* 站点管理 */s.Group("item", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Item.List)group.POST("/add", controller.Item.Add)group.PUT("/update", controller.Item.Update)group.DELETE("/delete/:ids", controller.Item.Delete)group.PUT("/status", controller.Item.Status)group.GET("/getItemList", controller.Item.GetItemList)})/* 栏目管理 */s.Group("itemcate", func(group *ghttp.RouterGroup) {group.GET("/list", controller.ItemCate.List)group.POST("/add", controller.ItemCate.Add)group.PUT("/update", controller.ItemCate.Update)group.DELETE("/delete/:ids", controller.ItemCate.Delete)//group.GET("/getCateTreeList", controller.ItemCate.GetCateTreeList)group.GET("/getCateList", controller.ItemCate.GetCateList)})/* 广告位管理 */s.Group("adsort", func(group *ghttp.RouterGroup) {group.GET("/list", controller.AdSort.List)group.POST("/add", controller.AdSort.Add)group.PUT("/update", controller.AdSort.Update)group.DELETE("/delete/:ids", controller.AdSort.Delete)group.GET("/getAdSortList", controller.AdSort.GetAdSortList)})/* 广告管理 */s.Group("ad", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Ad.List)group.POST("/add", controller.Ad.Add)group.PUT("/update", controller.Ad.Update)group.DELETE("/delete/:ids", controller.Ad.Delete)group.PUT("/status", controller.Ad.Status)})/* 通知管理 */s.Group("notice", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Notice.List)group.POST("/add", controller.Notice.Add)group.PUT("/update", controller.Notice.Update)group.DELETE("/delete/:ids", controller.Notice.Delete)group.PUT("/status", controller.Notice.Status)})/* 网站设置 */s.Group("configweb", func(group *ghttp.RouterGroup) {group.GET("/index", controller.ConfigWeb.Index)group.PUT("/save", controller.ConfigWeb.Save)})/* 会员等级 */s.Group("memberlevel", func(group *ghttp.RouterGroup) {group.GET("/list", controller.MemberLevel.List)group.POST("/add", controller.MemberLevel.Add)group.PUT("/update", controller.MemberLevel.Update)group.DELETE("/delete/:ids", controller.MemberLevel.Delete)group.GET("/getMemberLevelList", controller.MemberLevel.GetMemberLevelList)})/* 会员管理 */s.Group("member", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Member.List)group.POST("/add", controller.Member.Add)group.PUT("/update", controller.Member.Update)group.DELETE("/delete/:ids", controller.Member.Delete)group.PUT("/status", controller.Member.Status)})/* 统计分析 */s.Group("analysis", func(group *ghttp.RouterGroup) {group.GET("/index", controller.Analysis.Index)})/* 代码生成器 */s.Group("generate", func(group *ghttp.RouterGroup) {group.GET("/list", controller.Generate.List)group.POST("/generate", controller.Generate.Generate)group.POST("/batchGenerate", controller.Generate.BatchGenerate)})
}

特别鸣谢

感谢GoFrame、Vue、ElementUI等优秀开源项目。

版权声明

本文章版权归作者所有,未经作者允许禁止任何转载、采集,作者保留一切追究的权利;

golang后台管理系统GoFrame+Vue+ElementUI框架搭建教程相关推荐

  1. 电商后台管理系统(一)项目搭建

    电商后台管理系统(一)项目搭建 前言 一.服务器端框架搭建 1. 安装ThinkJS命令 2. 创建项目及运行项目命令 3. 项目结构 二.前端框架搭建 三.MySQL数据库搭建 总结 前言 新开的坑 ...

  2. 2023微信社区小程序+APP+后台,附带超详细完整搭建教程【源码+教程】

    2023微信社区小程序+APP+后台,附带超详细完整搭建教程[源码+教程] 微信授权登陆正常,小程序和APP带后台 手机号登陆正常,发帖,建圈子.发活动. 微信小程序是一种轻量级的应用程序,可以在微信 ...

  3. 快速简洁的Vue+Electron项目搭建教程

    Vue+Electron项目搭建教程 最近写一个项目,需要使用Electron集成Vue,特此记录搭建过程 Vue+Electron 常用搭建方式 在之前,通常我们会使用electron-vue脚手架 ...

  4. PHP在线考试平台管理系统源码带文字搭建教程

    PHP在线考试平台管理系统源码带文字搭建教程和操作手册 技术架构 PHP7.2 + Thinkphp6 + React + UmiJs + nginx + mysql5.7 cnetos7以上 + 宝 ...

  5. springboot+vue +ElementUI前后端分离框架搭建教程

    项目介绍 一款 Java 语言基于 SpringBoot2.x.MybatisPlus.Vue.ElementUI.MySQL等框架精心打造的一款前后端分离框架,致力于实现模块化.组件化.可插拔的前后 ...

  6. Vue+ElementUI前后端分离框架搭建教程

    项目介绍 一款 Java 语言基于 SpringBoot2.x.MybatisPlus.Vue.ElementUI.MySQL等框架精心打造的一款前后端分离框架,致力于实现模块化.组件化.可插拔的前后 ...

  7. 后台管理系统-前端Vue项目搭建

    后台管理系统简介 从本章节开始我们将逐渐完成一套后台管理系统的搭建过程. 前端技术 Vue3.2 , 后端搭建使用Spring Cloud Alibaba. 1.Vue项目初始化 我们使用Vue ui ...

  8. 基于webpack搭建的vue element-ui框架

    花了1天多的时间, 终于把这个框架搭建起来了. 好了, 不多说了, 直接进入主题了. 前提是安装了nodejs,至于怎么安装, 网上都有教程. 这里就不多说了, 这边使用的IDE是idea. 1.在E ...

  9. 基于Go语言GoFrame+Vue+ElementUI的OA办公系统

    项目介绍 一款 Go 语言基于GoFrame.Vue.ElementUI.MySQL等框架精心打造的一款模块化.插件化.高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统,本着简化开 ...

最新文章

  1. VMware下安装Ubuntu不支持1920X1080分辨率问题
  2. 知识图谱学习笔记-风控知识图谱设计
  3. SQLite AND/OR 运算符(http://www.w3cschool.cc/sqlite/sqlite-and-or-clauses.html)
  4. 进程控制 (二) Others
  5. github团队合作
  6. 确定一个整数是否是2的幂
  7. Apache Flume 简介
  8. linux中proc文件系统 -- ldd3读书笔记
  9. linux系统权限和用户
  10. C语言教材市场的分析
  11. 系统性能测试实施流程
  12. ant design中Button与button点击事件
  13. android 表情工厂,表情工厂安卓版
  14. workbench与SolidWorks联合划分六面体网格
  15. 【历史上的今天】7 月 29 日:Win10 七周年;微软和雅虎的搜索协议;微软发行 NT 4.0
  16. python转写java踩坑记录
  17. C#如何在list中添加序号
  18. c语言中如何用sqar函数,简易函数信号发生器设计_毕业论文.doc
  19. 点击图片 实现放大功能
  20. mac 怎样切换 node 版本 , 如何安装oh-my-zsh

热门文章

  1. 2006世界杯32强人体彩绘队服样式(法国)
  2. Tesla – 2010年度回顾
  3. React-Native版本更新功能和获取商店应用版本信息
  4. 深度解析:Java为什么能够长盛不衰?
  5. 未来十年微软长盛不衰的两项战略
  6. 游戏动画专业介绍及发展
  7. 【转】[教程]在 win7 / win8 下安装苹果系统 (懒人版)
  8. 龙芯拟发布多款芯片 支持多路互联的中国芯诞生
  9. Mac从零搭建开发环境
  10. 喵的Unity游戏开发之路 - 对象持久化