项目介绍

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

项目特点

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

内置模块

  • 用户管理:用于维护管理系统的用户,常规信息的维护与账号设置。
  • 角色管理:角色菜单管理与权限分配、设置角色所拥有的菜单权限。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 职级管理:主要管理用户的职级。
  • 岗位管理:主要管理用户担任职务。
  • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  • 字典管理:对系统中常用的较为固定的数据进行统一维护。
  • 配置管理:对系统的常规配置信息进行维护,网站配置管理功能进行统一维护。
  • 通知公告:系统通知公告信息发布维护。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 代码生成:一键生成模块CRUD的功能,包括后端Go和前端Vue等相关代码。
  • 案例演示:常规代码生成器一键生成后的演示案例。

软件信息

  • 软件名称:EasyGoAdmin敏捷开发框架Beego+EleVue版本

系统演示

账号密码操作权限
admin123456演示环境无法进行修改删除操作

版本说明

版本名称版本说明版本地址
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
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
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

项目结构

easygoadmin
|-- conf
|   `-- app.conf
|-- controllers
|   `-- default.go
|-- main.go
|-- models
|-- routers
|   `-- router.go
|-- static
|   |-- css
|   |-- img
|   `-- js
|-- tests
|   `-- default_test.go
`-- views
    `-- index.tpl

路由注册

func main() {
	orm.Debug = true
	// 启动应用
	beego.Run()
}

func init() {

	// 跨域解决方案
	beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
		// 允许访问所有源
		AllowAllOrigins: true,
		// 可选参数"GET", "POST", "PUT", "DELETE", "OPTIONS" (*为所有)
		AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
		// 指的是允许的Header的种类
		AllowHeaders: []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
		// 公开的HTTP标头列表
		ExposeHeaders: []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
		// 如果设置,则允许共享身份验证凭据,例如cookie
		AllowCredentials: true,
	}))

	// 登录验证中间件
	middleware.CheckLogin()

	// 系统登录
	//beego.Router("/", &controllers.IndexController{}, "get:Index")
	beego.Router("/login", &controllers.LoginController{}, "post:Login")
	beego.Router("/captcha", &controllers.LoginController{}, "get:Captcha")
	beego.Router("/updateUserInfo", &controllers.IndexController{}, "put:UpdateUserInfo")
	beego.Router("/updatePwd", &controllers.IndexController{}, "put:UpdatePwd")
	beego.Router("/logout", &controllers.IndexController{}, "get:Logout")

	// 系统主页
	beego.Router("/index/menu", &controllers.IndexController{}, "get:Menu")
	beego.Router("/index/user", &controllers.IndexController{}, "get:User")

	// 普通图片上传
	beego.Router("/upload/uploadImage", &controllers.UploadController{}, "post:UploadImage")

	// 职级管理
	beego.Router("/level/list", &controllers.LevelController{}, "get:List")
	beego.Router("/level/detail/:id", &controllers.LevelController{}, "get:Detail")
	beego.Router("/level/add", &controllers.LevelController{}, "post:Add")
	beego.Router("/level/update", &controllers.LevelController{}, "put:Update")
	beego.Router("/level/delete/:id", &controllers.LevelController{}, "delete:Delete")
	beego.Router("/level/status", &controllers.LevelController{}, "put:Status")
	beego.Router("/level/getLevelList", &controllers.LevelController{}, "get:GetLevelList")

	// 岗位管理
	beego.Router("/position/list", &controllers.PositionController{}, "get:List")
	beego.Router("/position/detail/:id", &controllers.PositionController{}, "get:Detail")
	beego.Router("/position/add", &controllers.PositionController{}, "post:Add")
	beego.Router("/position/update", &controllers.PositionController{}, "put:Update")
	beego.Router("/position/delete/:id", &controllers.PositionController{}, "delete:Delete")
	beego.Router("/position/status", &controllers.PositionController{}, "put:Status")
	beego.Router("/position/getPositionList", &controllers.PositionController{}, "get:GetPositionList")

	// 角色管理
	beego.Router("/role/list", &controllers.RoleController{}, "get:List")
	beego.Router("/role/detail/:id", &controllers.RoleController{}, "get:Detail")
	beego.Router("/role/add", &controllers.RoleController{}, "post:Add")
	beego.Router("/role/update", &controllers.RoleController{}, "put:Update")
	beego.Router("/role/delete/:id", &controllers.RoleController{}, "delete:Delete")
	beego.Router("/role/status", &controllers.RoleController{}, "put:Status")
	beego.Router("/role/getRoleList", &controllers.RoleController{}, "get:GetRoleList")
}

特别鸣谢

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

版权声明

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